One .zip per skill. Inside: SKILL.md with the intent and the frontmatter, and the code that runs in the page.
Settings → Personalize → Skills. This is Cowork's own skill library, shared across every chat.
Click Add and choose the file you just downloaded. Cowork installs it once; no CLAUDE.md, no per-project setup.
The skill stays available in every session. Cowork runs it in your own Chrome, riding the session you are already signed into.
Reply to a tweet on X/Twitter, via UI (posting via API -CreateTweet- does NOT work without the anti-bot signature: it returns 200 but silently drops the tweet; X protects writes).
{"text":"string (max 280)","tweetUrl":"string (tweet URL)"}{"posted":"bool"}Reply to a tweet on X/Twitter, via UI (posting via API -CreateTweet- does NOT work without the anti-bot signature: it returns 200 but silently drops the tweet; X protects writes). That's why it goes via UI, where X itself signs. PARAMS: tweetUrl (URL of the tweet to reply to) and text (max 280 unless Premium). Flow: navigate to the tweet, type into the inline composer (Draft.js contenteditable) and click Post. HEADS UP IRREVERSIBLE: posts a real public reply. Selectors: textarea [data-testid=tweetTextarea_0], button [data-testid=tweetButtonInline]. If the type doesn't land in the contenteditable, it can fail. Requires an X session.
Drive the rendered page with your browser (selectors are CSS; {{var}} = a param):
[data-testid="tweetTextarea_0"][data-testid="tweetTextarea_0"]{{text}} into [data-testid="tweetTextarea_0"][data-testid="tweetButtonInline"]Step 5 is the commit: it performs the write-irreversible action.
{
"expr": "#react-root",
"type": "dom"
}