publish
Skill3 starsChanged 34 days agoMITView on GitHub
Publish or schedule one post to several channels: pick channels, read limits, fit media, confirm with the person, publish, report permalinks.
60 other projects use a version of this.
Adopted by
Most recently taken up by
- jskswamy/skillstheir own version, first seen Nov 8, 2026
- ai-search-guru/getcito-worlds-first-open-source-aio-aeo-or-geo-tooltheir own version, first seen Nov 8, 2026
- Mharbulous/probanda-devtheir own version, first seen Nov 8, 2026
- hyperstructure/sandboxtheir own version, first seen Nov 8, 2026
- will-17173/telegram-clitheir own version, first seen Nov 8, 2026
- pche-broken-artist/forge-of-thoughttheir own version, first seen Nov 6, 2026
Used with
Projects with it also use create, render and 9 more.
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.
MicrosoftSkillcreate
Also in 4 projects that use this
suxrobGMSkillrender
Generate raster images (PNG, JPEG, WebP) from natural language prompts using Python rendering engines. Covers graphics, charts, layouts, and procedural art. Not for SVG output.
Also in 3 projects that use this
JaimeGBASkillingest
Digest an external source (article, paper, transcript, URL, book chapter) and integrate its content into the knowledge base
Also in 6 projects that use this
genomewalkerSkillexplore
RLM-style recursive memory exploration - dynamically navigate the memory graph
Also in 4 projects that use this
GoogleSkilltranslate
Translates a common phrase into one or more languages.
Also in 3 projects that use this
aakash-dharSkilloptimize
Analyzes code for performance issues including slow algorithms, memory leaks, unnecessary re-renders, database query problems, and resource bottlenecks. Use when the user says "this is slow", "optimize this", "performance issue", "why is this taking so long?", or "make this faster".
Also in 3 projects that use this
Other versions60 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 60
- code-yeongyu/oh-my-opencode★ 71ksame name
- code-yeongyu/oh-my-openagent★ 71ksame name
- garrytan/gbrain★ 32ksame name
- TencentCloud/Octop★ 12ksame name
- harbor-framework/harbor★ 6.9ksame name
- laude-institute/harbor★ 6.9ksame name
- Q00/ouroboros★ 6.3ksame name
- paean-ai/deeptide★ 1.1ksame name
- ZimoLiao/scholaraio★ 585same name
- ai-search-guru/getcito-worlds-first-open-source-aio-aeo-or-geo-tool★ 432same name
50 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 repository50 other files it gives its agents.
- automationsSkill
- commentsSkill
- hooksSkill
- ig-auditSkill
- ig-captionSkill
- ig-carouselSkill
- ig-dmSkill
- ig-humanSkill
- ig-profileSkill
- ig-reelSkill
- ig-storySkill
- ig-viralSkill
- inboxSkill
- linkedin-comment-drafterSkill
- linkedin-content-plannerSkill
- linkedin-employee-advocacySkill
- linkedin-engager-analyticsSkill
- linkedin-hook-extractorSkill
- linkedin-humanizerSkill
- linkedin-interviewerSkill
- linkedin-post-writerSkill
- linkedin-profile-optimizerSkill
- linkedin-reply-handlerSkill
- linkedin-repurposerSkill
- linkedin-thread-monitorSkill
- naver-ai-citeSkill
- naver-draftsSkill
- naver-engageSkill
- naver-keywordsSkill
- naver-postSkill
- performance-reviewSkill
- repurposeSkill
- schedule-weekSkill
- setupSkill
- threadsSkill
- troubleshootSkill
- voice-profileSkill
- yt-auditSkill
- yt-benchmarkSkill
- yt-chaptersSkill
- yt-commentSkill
- yt-editSkill
- yt-packageSkill
- yt-planSkill
- yt-retentionSkill
- yt-scriptSkill
- yt-seoSkill
- yt-shortsSkill
- yt-uploadSkill
- yt-viralSkill
The file
We split this skill into the rules it gives an agent
3 rules. 0 are common, 0 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 49 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 13
Rules: Write to limits from select_channels.
- Very specific: line 19
Write altText when you can see the image.
- Very specific: line 21
Publish: Call publish with accountIds, content, mediaIds, options, and wait: true so the response tells you whether it is really out.
“Common” is measured: kept by at least 6 in 10 of the 49 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
Publish
One post, one or more channels, now or at a set time. For YouTube uploads use yt-upload; for Naver Blog posts use naver-post; for a week of posts use schedule-week.
Procedure
- Channels. Call
select_channels. With no scope it returns the candidates: show them and let the person choose. With what they named (platform names, handles or account ids, orall), it returnsaccountIdsto pass topublishunchanged, plusskipped(expired or not-yet-live channels, with a sentence to read out and a reconnect link) andlimits, the tightest rules across the chosen channels. If it answersworkspace_required, show the workspaces it lists, ask which one, and passworkspaceIdon this and every later call. - Rules. Write to
limitsfromselect_channels. When you need one channel's rules or what it can do (media required, chains, comments, edits after publishing), readlist_platformsand its features table. Never write a limit from memory. - Channel settings. Open
references/<channel>.mdonly for the channels in this post (threads,instagram,facebook,youtube,tiktok,telegram,discord,pinterest,x,bluesky,naver_blog,ghost,wordpress). They say whichoptions.<channel>.*fields exist and which ones you must ask about. - Text. If a voice file exists at
~/.uplika/<workspace-slug>/voice.md, read it first; if not, write plainly and offer thevoice-profileskill afterwards. A channel can get its own text withoptions.<channel>.content. A long post on a channel that supports chains goes inthreadItems(first item is the root). - Media.
- With a terminal (Claude Code, Codex, OpenClaw, Hermes) and a local file:
media_presignwith the file name, type and size, PUT the bytes to the returneduploadUrlwith curl, thenmedia_complete. - Without a terminal (claude.ai, ChatGPT): a public https file goes through
media_from_url; a file on the person's device goes throughmedia_upload_link(give them the link, then pollmedia_upload_statusuntil it is ready). - Write
altTextwhen you can see the image. PassaiGeneratedwhen the media was made with AI.
- With a terminal (Claude Code, Codex, OpenClaw, Hermes) and a local file:
- Show and confirm. Before anything goes out, show the person the exact text per channel, the media, the channels and handles, and the time (now, or
scheduledAtwith its time zone). Publish only after they approve. A post they want to finish themselves can be saved withdraft: true. - Publish. Call
publishwithaccountIds,content,mediaIds,options, andwait: trueso the response tells you whether it is really out. For a later time passscheduledAt(ISO 8601 with offset). TikTok needsget_publish_optionsfirst (seereferences/tiktok.md). - Report. Call
get_postwith the returned id and give the person each channel's status and permalink. A target that failed has a reason: read it out, callget_helpwith its code, and offerretry_postonce the cause is fixed. A wait that times out is not a failure: the post is usually still going out, so check withget_postorlist_postsinstead of publishing again.
Things to know
- A scheduled post is kept by Uplika and sent at that time on every channel.
publish_nowsends a scheduled or draft post immediately. - To attach a comment-to-DM automation, the post must be live: for a scheduled post, create the automation after it goes out, with the
automationsskill and the published post id. - Posts that already went out can be changed on some channels only:
update_postrefuses where the channel has no edit, and the features table says which. - Deleting is
delete_post, after the person confirms, on their own posts only. - Naver Blog: call
bridge_statusfirst (the extension in their Chrome writes the post) and usenaver-post.
Tools
select_channels: candidates, chosen accountIds, skipped channels, tightest limitslist_platforms: per-channel rules and the features tableget_publish_options: TikTok only, before every TikTok postmedia_presign: upload slot when you can PUT bytes yourselfmedia_complete: confirm an upload from media_presignmedia_from_url: attach a public https image or videomedia_upload_link: let the person upload from their devicemedia_upload_status: wait for that upload to be readypublish: send or schedule (needs approval first)get_post: status, reasons and permalinks per channellist_posts: check what went out or is scheduledpublish_now: send a scheduled or draft post nowretry_post: retry failed targets after the cause is fixedupdate_post: change a post where the channel allows editsdelete_post: remove the person's own post after they confirmbridge_status: Naver Blog extension statusget_help: the answer for an error code
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.

