social-media
Skill6 starsChanged 8 days agoMITView on GitHub
Prepare social images locally, or publish one post across the user's social accounts through shared Chromium. User instructions take precedence over this skill. For example, drafts only, a different platform set, or no translation replaces the matching default below. Image writes inside Git worktrees require the normal coordination gate. Browser actions and exports outside Git worktrees do not. - Images: for OpenGraph images, social size variants, cropping, padding, or compression, follow references/images.md. Use scripts/export-images.sh with a saved source image. This…
22 other projects use a version of this.
Adopted by
Most recently taken up by
- aronhy/marketing-skill-hubtheir own version, first seen Nov 8, 2026
- PaulRBerg/agent-skillsword for word, first seen Nov 1, 2026
- Anglesite/anglesite-skillstheir own version, first seen Oct 27, 2026
- genspark-ai/genofficetheir own version, first seen Oct 25, 2026
- Founderwithabs/SOLIDSFORYOUtheir own version, first seen Oct 25, 2026
- xhqing/CommunityManagerAgenttheir own version, first seen Oct 17, 2026
Used with
Projects with it also use newsletter.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
anshul-garg27Skillnewsletter
Create engaging email newsletters with subject lines, sections, and CTAs for Substack, Beehiiv, ConvertKit, or plain email
Also in 3 projects that use this
Other versions22 projects use a version of this.
Word for word · 1
- PaulRBerg/agent-skills★ 104100% same
Edited · 0
None found.
Wrote their own version · 21
- langchain-ai/deepagents★ 31ksame name
- genspark-ai/genoffice★ 12ksame name
- epicenter-md/epicenter★ 4.8ksame name
- EpicenterHQ/epicenter★ 4.8ksame name
- xyskywalker/Ripple★ 241same name
- aronhy/marketing-skill-hub★ 186same name
- Anglesite/anglesite-skills★ 15same name
- botlearn-ai/botlearn-skills★ 9same name
- OpenAnalystInc/10x-Team★ 8same name
- YepAPI/skills★ 8same name
11 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository44 other files it gives its agents.
- AGENTS.mdAGENTS.md
- agents-brainSkill
- agents-docsSkill
- agents-introspectionSkill
- agents-systemSkill
- ai-pruneSkill
- apple-device-integrationSkill
- brainstorm-with-meSkill
- chromium-browserSkill
- cli-castSkill
- cli-coingeckoSkill
- cli-ghSkill
- cli-justSkill
- codebase-designSkill
- code-polishSkill
- commitSkill
- copy-transcript-pathSkill
- effect-tsSkill
- evm-atlasSkill
- fresh-eyes-sweepSkill
- frontend-designSkill
- grill-meSkill
- html-playgroundSkill
- interview-meSkill
- large-file-refactorSkill
- naming-refactorSkill
- node-deps-bumperSkill
- orchestrationSkill
- pdfSkill
- release-bumperSkill
- repo-fanoutSkill
- repo-harmonizationSkill
- repo-renameSkill
- retroSkill
- skill-harmonizationSkill
- spreadsheetsSkill
- tailwind-cssSkill
- task-handoffSkill
- todo-archiveSkill
- tool-finderSkill
- vitestSkill
- wrap-upSkill
- writing-editorSkill
- yeetSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. 0 are common, 11 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 16 edited versions we read keep these.
11
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 31
Publish: follow the inputs and posting workflow below.
- Very specific: line 32
Refresh preview: when the user requests an updated link preview or uses refresh-preview, follow references/link-previews.md.
- Distinctive: line 41
Do not rewrite, shorten, add hashtags, or add emoji there.
- Distinctive: line 51
If a publishing request has no text, ask for it.
- Distinctive: line 65
Keep each composer's existing audience, visibility, and account selection.
- Distinctive: line 79
Read the platform notes: Read references/platforms.md completely.
- Distinctive: line 85
Ask for logins in one message: If one or more selected sites are logged out, name all of them in one message.
- Distinctive: line 91
Prepare Reddit suggestions: Read references/reddit-discovery.md.
- Distinctive: line 99
Do these steps for each platform:
- Distinctive: line 106
If the composer shows an over-limit counter or rejects the length, use the platform's overflow rule in references/platforms.md.
- Distinctive: line 118
If a submit result is uncertain, do not submit again first.
- Very specific: line 120
If a platform shows a captcha, a 2FA prompt, or a verification step, follow the chromium-browser human-gate procedure for that page.
- Distinctive: line 122
If a platform rejects the post after one retry, stop work on that platform.
“Common” is measured: kept by at least 6 in 10 of the 16 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Social Media
Prepare social images locally, or publish one post across the user's social accounts through shared Chromium. User instructions take precedence over this skill. For example, drafts only, a different platform set, or no translation replaces the matching default below. Image writes inside Git worktrees require the normal coordination gate. Browser actions and exports outside Git worktrees do not.
Routes
- Images: for OpenGraph images, social size variants, cropping, padding, or compression, follow references/images.md. Use scripts/export-images.sh with a saved source image. This local route does not require post text, a browser, publishing, or subreddit discovery.
- Publish: follow the inputs and posting workflow below.
- Refresh preview: when the user requests an updated link preview or uses
refresh-preview, follow references/link-previews.md. Use Browser Setup below. This route accepts a page URL and the target platform or existing post URL. It does not require new post text, cross-posting, or subreddit discovery.
Inputs
These inputs apply to publishing.
- Text: required. Treat supplied text as user-authored source copy. Post it verbatim on X, LinkedIn, and Farcaster. Do not rewrite, shorten, add hashtags, or add emoji there. Use the platform notes for Facebook translation and light Hacker News edits. Preserve the wording, structure, and length of Reddit source copy. Make only minimal edits under references/reddit-discovery.md.
- Media: optional images or one video, as absolute file paths on the browser host. Before you open the browser, confirm that each file exists and has an image or video type. If the user attached media without a usable path, ask for the path before you post anywhere.
- Link: optional URL. If the text does not already contain the link, append it on a new line at the end of the post text. For Reddit, follow the subreddit's link rules instead. Some subreddits permit links only in comments after post approval.
If a publishing request has no text, ask for it. Do not ask other questions when the defaults below cover the case.
Authority
A request to prepare images authorizes local exports. It does not authorize posting, deployment, or preview refresh.
A publishing request authorizes the posts and the platform-specific edits described below. Post directly. Do not add a confirmation gate. A preview-refresh request authorizes the cache refresh and requested URL edits on the specified posts. It does not authorize deletion or replacement posts unless the user requests them.
Reddit submissions remain drafts for manual posting. A publishing request also authorizes the link comment described in references/reddit-discovery.md, after the user's post is approved by the subreddit. A drafts-only request does not authorize comments.
Keep each composer's existing audience, visibility, and account selection. Do not change account settings, follow accounts, or engage with other posts.
Browser Setup
Load chromium-browser before you use the browser. Follow its page-ownership, live-tool, human-gate, and cleanup rules
for every page in this workflow. Do all website lookups and posts in that browser. Do not use WebFetch, curl, site APIs,
or other browsers.
Open one owned background page per platform and record each pageId. Calls to one MCP server run serially. Thus,
complete each platform before you start the next one.
Workflow
- Read the platform notes. Read references/platforms.md completely.
- Decide on Hacker News. Apply the suitability test in references/platforms.md. Record the decision and a one-sentence reason.
- Check logins. Open the home page of X, LinkedIn, Farcaster, and Facebook. If step 2 selected Hacker News, also open its home page. Take a snapshot of each page and look for a logged-in signal, such as a compose control or an account menu. A login form, a "Sign in" control, or a redirect to a login URL means that the user is logged out.
- Ask for logins in one message. If one or more selected sites are logged out, name all of them in one message. Ask the user to log in on those pages. Do not end the turn.
- Translate for Facebook. Translate the text into Romanian with the rules in references/platforms.md. If the text is already in Romanian, use it unchanged.
- Post. Post on the logged-in platforms in this order: X, LinkedIn, Farcaster, Facebook, and Hacker News when selected. For each platform, follow the composer procedure below.
- Prepare Reddit suggestions. Read references/reddit-discovery.md. Follow its discovery and drafting procedure. When applicable, complete its link-comment procedure after post approval.
- Clear the login gates. For each logged-out page, follow the
chromium-browserhuman-gate procedure. When the gate clears, post on that platform. - Clean up. Close only the pages that this task created.
Composer Procedure
Do these steps for each platform:
- Open the composer. Take a fresh snapshot. Use the identifiers from that snapshot.
- Enter the platform text. For a contenteditable composer, use
type_textorfill. Then take a snapshot and confirm that the composer shows the full text. Paragraph breaks must be intact, and the composer must not show duplicated or missing characters. - Attach the media with
upload_file. Wait until each upload finishes processing and the post button is enabled. - If the composer shows an over-limit counter or rejects the length, use the platform's overflow rule in references/platforms.md. If a link preview is stale, follow references/link-previews.md before submission. Preserve the supplied URL unless the user requested a preview refresh or authorized a URL change.
- Submit the post. Then read it back. Open the new post from the confirmation notice or from the user's own profile feed. Confirm that the text and media appear and record the post URL.
The live composer is authoritative for limits, controls, and labels. Platform interfaces change. Thus, when a named control is absent, find the equivalent control in a fresh snapshot. Do not guess from memory.
Failure and Retry
- If a submit result is uncertain, do not submit again first. Look for the post on the user's own profile feed. Retry only after you confirm that the post does not exist. A duplicate public post is worse than a missing post.
- If a platform shows a captcha, a 2FA prompt, or a verification step, follow the
chromium-browserhuman-gate procedure for that page. - If a platform rejects the post after one retry, stop work on that platform. Record the exact error and continue with the other platforms.
Final Report
For images, use the completion report in references/images.md. The report below applies to publishing.
Lead with one outcome line, such as "Posted on 4 of 5 platforms". Then give these sections:
- Posts: a table with these columns: platform, status, and verified post URL. For a skipped or failed platform, give the reason. Show the Romanian Facebook text in full.
- Hacker News: the decision and its reason. Give the item URL, or the existing item URL if Hacker News redirected to an earlier submission.
- Reddit: the ranked subreddit table and tailored drafts from references/reddit-discovery.md. Include any verified link-comment URL or the reason the comment remains pending.
- Other places: optional. From your own knowledge, you may suggest other sites, communities, newsletters, or aggregators that suit this post. Give each suggestion one reason. Label the section as unverified suggestions from general knowledge. Do not visit those sites.
Completion requires a verified post URL or a recorded reason for each platform, completed Reddit discovery and drafts, and closed task pages. When the Reddit link-comment procedure applies, also require a verified comment URL or a recorded reason that the comment remains pending.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

