mit einem Klick
tweet-content
// Pick a random item from the trading content collection and compose a tweet about it on X.
// Pick a random item from the trading content collection and compose a tweet about it on X.
Fetch a non-accessible paper PDF via Sci-Hub. Use when a paper is behind a paywall or not freely available. Accepts a DOI, paper URL, or arXiv ID.
Add a new research paper to the documentation collection. Use when user provides a URL to a paper or tweet linking to one.
Add a new code repository to the documentation collection. Use when user provides a URL to a GitHub, GitLab, Bitbucket, source repository, or a discussion linking to one.
Add a new book to the documentation collection. Use when user provides a URL to a book page or tweet linking to one.
Add a new blog post or article to the documentation collection. Use when user provides a URL to a blog post, article, or tweet linking to one.
| name | tweet-content |
| description | Pick a random item from the trading content collection and compose a tweet about it on X. |
| disable-model-invocation | true |
Pick a random item from the algorithmic trading content collection (papers, blog posts, AI/ML resources) and compose a tweet about it on X (Twitter).
Check browser is activated:
tabs_context_mcp to verify browser connectionclaude --chrome or type /chromeExtract all tweetable items from RST files: Read the following RST files and extract every entry (title, description, URL, author if present, and any "Mentioned by" discussion links):
source/learn/papers.rstsource/learn/ai-and-machine-learning.rstsource/learn/blog-posts.rstFor each entry, extract:
Read the paper/post/... lineWrite the full list as a Markdown file to the scratchpad directory at:
/private/tmp/claude/-Users-moo-code-docs/882c5ece-843e-4dd4-ab2c-94ca5a77e61c/scratchpad/tweetable-items.md
Format each item as:
## Title Here
- **URL**: https://...
- **Source**: papers.rst | ai-and-machine-learning.rst | blog-posts.rst
- **Author**: Name (if available)
- **Discussion**: [Mentioned by X](https://x.com/...) (if available)
- **Description**: Brief description...
Pick a random item: Select one item at random from the list. Tell the user which item was selected.
Capture the article screenshot: Use browser MCP to navigate to the article URL and save a screenshot. Steps:
navigate to open the article URLcomputer with action screenshot to capture the pagejavascript_tool:
// Get the screenshot as a data URL and trigger a download
// Alternatively, use the returned screenshot data from the computer tool
/private/tmp/claude/-Users-moo-code-docs/882c5ece-843e-4dd4-ab2c-94ca5a77e61c/scratchpad/tweet-image.pngscreencapture or fall back to a manual approachIf the page cannot be accessed (paywall, CAPTCHA), tell the user and proceed without an image.
Look up author Twitter handle: If the item has a known author, look up their Twitter/X handle:
source/learn/influencers.rst and match the author name to a listed handlesource/learn/influencers.rst@pedma7) for use in the tweetCreate tweet text: Write a concise two-line summary of the item suitable for a tweet. Guidelines:
Discussed by @handle here: <discussion_url>Save the tweet text to the scratchpad:
/private/tmp/claude/-Users-moo-code-docs/882c5ece-843e-4dd4-ab2c-94ca5a77e61c/scratchpad/tweet-text.txt
Open X compose and prepare the draft in browser: Use browser MCP to navigate to X and fill in the tweet compose form with text and image.
a. Navigate to X compose:
navigate to open https://x.com/compose/postb. Type the tweet text:
find to locate the tweet text input area (the contenteditable div in the compose dialog)computer with action click to focus the text inputcomputer with action type to type the tweet text character by characterjavascript_tool to set the text directly:
(() => {
const editor = document.querySelector('[data-testid="tweetTextarea_0"] [contenteditable="true"]');
if (!editor) return 'ERROR: Could not find tweet editor';
editor.focus();
// Use execCommand to trigger React's change detection
document.execCommand('insertText', false, TWEET_TEXT_HERE);
return 'OK';
})();
computer with action screenshotc. Attach the screenshot image (if one was captured in step 4):
find to locate the media upload button (the image/photo icon in the compose toolbar)computer with action click on the media upload buttonform_input or computer to interact with it/private/tmp/claude/-Users-moo-code-docs/882c5ece-843e-4dd4-ab2c-94ca5a77e61c/scratchpad/tweet-image.pngecho "/private/tmp/claude/-Users-moo-code-docs/882c5ece-843e-4dd4-ab2c-94ca5a77e61c/scratchpad/tweet-image.png" | pbcopy
d. Take a confirmation screenshot:
computer with action screenshot to capture the compose dialog with text and image readyStop and wait for user approval: Tell the user: