Agent skill

Social Publish

by Ninglo in Ninglo/remotelab

根据用户明确的发布指令,将会话里的文字和配图适配并发布到已绑定的小红书和 X,保存逐平台回执、避免重复发布,处理一次性账号绑定和发布失败。普通聊天、只写草稿或只查资料时不发布。

MITAuto-check passed

Install Social Publish

skills CLI
$ npx skills add Ninglo/remotelab --skill social-publish -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Ninglo/remotelab social-publish --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Ninglo/remotelab.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/social-publish .claude/skills/social-publish && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
social-publish
GitHub stars
109
Token cost
~744 tokens
SKILL.md length
129 words
Files
8 (incl. scripts, references, assets)
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

根据用户明确的发布指令,将会话里的文字和配图适配并发布到已绑定的小红书和 X,保存逐平台回执、避免重复发布,处理一次性账号绑定和发布失败。普通聊天、只写草稿或只查资料时不发布。

  • Works in 7 steps: 读当前请求中明确要公开的内容和目标平台。默认保留原语言、事实、口吻,不补编经历、数… → 用当前消息 ID/requestId 和 Session ID 填入… → 写 input JSON。X 可以用一段 text(prepare… → …
  • SKILL.md covers 执行入口, 一条消息怎样处理, 输入形状 and 绑定与维护
  • Runs JavaScript scripts from its folder; calls node

What it does

Social Publish is an agent skill from Ninglo/remotelab. 根据用户明确的发布指令,将会话里的文字和配图适配并发布到已绑定的小红书和 X,保存逐平台回执、避免重复发布,处理一次性账号绑定和发布失败。普通聊天、只写草稿或只查资料时不发布。

Its SKILL.md is about 740 tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including scripts, reference files and assets (for example `agents/openai.yaml` and `references/providers.md`).

The repository describes itself as: AI workbench for super-individuals — orchestrate agents, recover context, and ship agentic-native apps. The licence is MIT.

Example prompts

  • “/social-publish”

Requirements

  • Node.js

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. 读当前请求中明确要公开的内容和目标平台。默认保留原语言、事实、口吻,不补编经历、数字或结论。普通聊天不会触发发布。用户要草稿时只 prepare;收到“发”“发布”“同步到”等明确指令才将 authorization 设置为…
  2. 用当前消息 ID/requestId 和 Session ID 填入 source;同一原请求重试继续使用同一 source,不能换 ID 绕过重复保护。按需从本轮 RemoteLab source-context 取得已核 personId 和消息引用。
  3. 写 input JSON。X 可以用一段 text(prepare 自动分串)或自行编排 thread,每段保守按 280 加权字符校验,中文通常每字计 2。小红书标题不超过 20 字,正文与标签合计不超过 1000…
  4. 先 prepare 并检查正文、目标、时间、图片。没有账号时仍完成可用的 manifest 和配图,准备绑定入口,明确还未真实发布。不要把当前任务要求账号的部分拆成反复追问。
  5. publish 先核对全部尚未发送平台的账号,再逐个平台发送并立刻落盘。成功的平台不会因另一平台失败而再次发。网络超时、崩溃或不明错误标为 uncertain,下次只回读;不能再次点击发布来探测结果。
  6. reconcile 是只读核对。X 要读回 Buffer 中同一条 post 的 sent 和外链;小红书要在绑定账号个人列表里找到新笔记,并读详情核对作者、标题和正文。submitted、scheduled、uncertain 都不能说成已公开。需要等待平台处理时,用既有…
  7. 回复逐平台结果与可访问链接;一个失败时说清原因和你已完成的部分。只有明确的输入拒绝可以在修正依据下使用 publish --retry-rejected;可在原授权内修正被拒绝平台的文案或图片,记录保留旧 manifest…

What it can do on your machine

Read from SKILL.md and the folder at commit 28f3e00. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 3 files in scripts/ (JavaScript), which the agent can run.

    Shell commands in SKILL.md call:

    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Social Publish loads about 744 tokens when it runs, and up to ~2.6k if it reads all its reference files. Until then it costs about 26 tokens; SKILL.md has 129 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~26
When it runs · the whole SKILL.md, loaded when a task matches
~744
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from Ninglo/remotelab at commit 28f3e00, republished under its MIT licence (© Ninglo). 129 words, ~744 tokens.

Download SKILL.mdSave it as .claude/skills/social-publish/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
social-publish
description
根据用户明确的发布指令,将会话里的文字和配图适配并发布到已绑定的小红书和 X,保存逐平台回执、避免重复发布,处理一次性账号绑定和发布失败。普通聊天、只写草稿或只查资料时不发布。

会话发布到小红书和 X

用户只需要在会话中给内容和发布意图,例如“把下面这段发到小红书和 X”。你负责整理内容、配图、执行、核对结果;已有绑定和本次发布授权不重复要求确认。账号属于当前请求者,按当前已核 Person 选择绑定,不能从 Unix 用户、Session 创建者或其他同事的登录状态推断。这个 Skill 可被正常自动发现,不要求用户记住 Skill 名。

执行入口

命令中的 SKILL_DIR 是本文件所在目录,使用它的真实路径。Node.js 18+,业务代码只依赖内置模块。

bash
node "$SKILL_DIR/scripts/publisher.mjs" status --person <personId>
node "$SKILL_DIR/scripts/publisher.mjs" prepare --file <input.json> --out <manifest.json>
node "$SKILL_DIR/scripts/render-cards.mjs" --file <manifest.json> --chrome <Chrome路径>
node "$SKILL_DIR/scripts/publisher.mjs" publish --file <manifest.json>
node "$SKILL_DIR/scripts/publisher.mjs" reconcile --file <manifest.json>

默认状态位于 ~/.config/social-publish/<personId>/,不在 Git 内;SOCIAL_PUBLISH_STATE_ROOT 可用于隔离测试。源码、文案和回执可复用,密钥、Cookie、浏览器档案不进仓库、不发到群里。

一条消息怎样处理

  1. 读当前请求中明确要公开的内容和目标平台。默认保留原语言、事实、口吻,不补编经历、数字或结论。普通聊天不会触发发布。用户要草稿时只 prepare;收到“发”“发布”“同步到”等明确指令才将 authorization 设置为 publish。一次授权覆盖同一内容的改写、排版和指定平台发布,无需增加逐平台批准。
  2. 用当前消息 ID/requestId 和 Session ID 填入 source;同一原请求重试继续使用同一 source,不能换 ID 绕过重复保护。按需从本轮 RemoteLab source-context 取得已核 personId 和消息引用。
  3. 写 input JSON。X 可以用一段 text(prepare 自动分串)或自行编排 thread,每段保守按 280 加权字符校验,中文通常每字计 2。小红书标题不超过 20 字,正文与标签合计不超过 1000 字。超过限制时由你适配,保留影响意思的细节,不静默截断。只提供文字时,用 render-cards 自动排出文字配图;用户提供的图按其原意使用。排版脚本只生成文字卡,不编造照片。
  4. 先 prepare 并检查正文、目标、时间、图片。没有账号时仍完成可用的 manifest 和配图,准备绑定入口,明确还未真实发布。不要把当前任务要求账号的部分拆成反复追问。
  5. publish 先核对全部尚未发送平台的账号,再逐个平台发送并立刻落盘。成功的平台不会因另一平台失败而再次发。网络超时、崩溃或不明错误标为 uncertain,下次只回读;不能再次点击发布来探测结果。
  6. reconcile 是只读核对。X 要读回 Buffer 中同一条 post 的 sent 和外链;小红书要在绑定账号个人列表里找到新笔记,并读详情核对作者、标题和正文。submitted、scheduled、uncertain 都不能说成已公开。需要等待平台处理时,用既有 RemoteLab Trigger 在明确期限内回读,不用前台 sleep,也不为每条消息创建常驻监控。
  7. 回复逐平台结果与可访问链接;一个失败时说清原因和你已完成的部分。只有明确的输入拒绝可以在修正依据下使用 publish --retry-rejected;可在原授权内修正被拒绝平台的文案或图片,记录保留旧 manifest 和修改原因,不要求用户重新确认。已发送、已提交或结果未知的平台内容和目标不能更换,也不会重发。X 提交后没有取得 providerId 的异常保留 uncertain;当前版本不能自动恢复该外链,先检查 Buffer 的真实记录再处理,不假装已完成。

输入形状

json
{
  "personId": "person_example",
  "source": {"sessionId": "session-id", "messageId": "original-message-id"},
  "authorization": "publish",
  "platforms": {
    "x": {"text": "要发布的文字"},
    "xiaohongshu": {"title": "标题", "content": "正文", "tags": [], "images": []}
  }
}

可选 publishAt 必须包含明确时区,且是未来时刻。小红书原生定时仅支持 1 小时到 14 天范围;不在范围内时用当前实例的 Trigger 到点执行,不偷换发布时间。X 原生定时交给 Buffer。排队成功与到时发布是两项结果。每个平台独立保存最终图片 SHA256,发布前检查图片没有被替换。

绑定与维护

读 references/providers.md 获取选型、当前协议和不可自动完成的登录步骤。绑定入口是 scripts/binding-server.mjs:复用本实例密码认证,且只允许配置的当前 Person;只提供登录和选账号,不提供网页公开发布按钮。平台登录二维码、密钥通过受保护网页处理,密钥不放 URL。

小红书每人单独的后台服务、Cookie 路径和 bearer token。启动与检查先读官方工具当前 help,不连接其他任务正在使用的浏览器。持久登录降低日常工作量,但账号安全验证、撤销授权与 Cookie 过期仍可能需要本人重新绑定;不能承诺永久零人工。需要恢复绑定时保留发布回执,恢复后先回读,不重发未知记录。

知乎目前不支持真实发布:不在默认目标里,也不借用其他账号或临时猜写入接口。用户明确要知乎时说明未接入,先完成已授权的小红书和 X。该边界不妨碍以后接入已有授权的正式适配器。

© Ninglo, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 7 other files (scripts, references, assets) in skills/social-publish of Ninglo/remotelab.

  • SKILL.md
  • agents/openai.yaml
  • assets/binding.html
  • references/providers.md
  • references/xiaohongshu-login-ready.patch
  • scripts/binding-server.mjs
  • scripts/publisher.mjs
  • scripts/render-cards.mjs

Open the folder on GitHubat commit 28f3e00

Compare with similar skills

Social Publish next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Social Publish compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Social Publish this skillNinglo/remotelab109—~744Automated safety check: PassMIT
Publishcode-yeongyu/oh-my-openagent70k—~5.5kAutomated safety check: WarnCustom licence
Publishyc-software/qm15k—~2.2kAutomated safety check: WarnMIT
PublishQ00/ouroboros6.2k—~2.7kAutomated safety check: PassMIT
PublishZimoLiao/scholaraio577—~727Automated safety check: PassMIT
Publishhashgraph-online/awesome-codex-plugins1.3k—~4.7kAutomated safety check: PassApache-2.0

Similar skills

  • Publish

    code-yeongyu/oh-my-openagent

    Publish oh-my-opencode to npm by triggering the GitHub Actions publish workflow and verifying its artifacts.

    70k GitHub stars~5.5k tokensUpdated today
    DevOps & CloudAuto-check: warnings
  • Publish

    yc-software/qm

    Publish a long-lived internal web app, site, or dashboard from the agent computer.

    15k GitHub stars~2.2k tokensUpdated yesterday
    DevOps & CloudAuto-check: warnings
  • Publish

    Q00/ouroboros

    Publish Seed specification as GitHub Issues for team-based project management

    6.2k GitHub stars~2.7k tokensUpdated 3 days ago
    Product & Project ManagementAuto-check passed
  • Publish

    ZimoLiao/scholaraio

    A skill your agent uses when the user says a paper, review, report, or LaTeX deliverable is final and wants it archived under published/ or exposed through the static published-paper site.

    577 GitHub stars~727 tokensUpdated 15 days ago
    Documents & OfficeAuto-check passed
  • Publish

    hashgraph-online/awesome-codex-plugins

    Put a Homie studio's site and games online on the studio's OWN Cloudflare account (Worker, D1 and public-room Durable Objects, with R2 storage only when added), run its site (the hub's sections in…

    1.3k GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed
  • Publish

    azoner/pyx12

    Tag a release and watch the GitHub release workflow publish to TestPyPI + PyPI

    190 GitHub stars~1.1k tokensUpdated 5 mo ago
    Auto-check: warnings

More from Ninglo/remotelab

  • Feishu Auth Request

    Ninglo/remotelab

    飞书调用缺权限时,区分 Bot 应用权限、用户 OAuth 和资源访问权限;为缺少的 Bot scope 生成单独的权限申请页。适用于 99991672、permissionviolations 或用户要求申请应用权限。

    109 GitHub stars~456 tokensUpdated today
    Auto-check passed

Questions about Social Publish

What does Social Publish do?

根据用户明确的发布指令,将会话里的文字和配图适配并发布到已绑定的小红书和 X,保存逐平台回执、避免重复发布,处理一次性账号绑定和发布失败。普通聊天、只写草稿或只查资料时不发布。. Social Publish is an agent skill from Ninglo/remotelab.

How do I install Social Publish in Claude Code?

Run `npx skills add Ninglo/remotelab --skill social-publish -a claude-code`. Or copy the skill folder (skills/social-publish in Ninglo/remotelab) into .claude/skills/social-publish in your project. Claude Code loads it when a task matches its description.

How do I install Social Publish in Codex?

Run `npx skills add Ninglo/remotelab --skill social-publish -a codex`. Or copy the skill folder (skills/social-publish in Ninglo/remotelab) into .agents/skills/social-publish in your project. Codex loads it when a task matches its description.

Can I use Social Publish in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Ninglo/remotelab --skill social-publish -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/social-publish, .gemini/skills/social-publish, .github/skills/social-publish and .opencode/skills/social-publish in your project.

What does Social Publish need to run?

Going by SKILL.md and its folder, Social Publish needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node). Our summary lists: Node.js.

Does Social Publish access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Social Publish safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Social Publish use?

Social Publish is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Social Publish use?

About 744 tokens (SKILL.md is roughly 3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.9k tokens, read only when the agent opens those files.

What are the alternatives to Social Publish?

Skills that share tags, products or a category with Social Publish: Publish (code-yeongyu/oh-my-openagent, 70k stars), Publish (yc-software/qm, 15k stars), Publish (Q00/ouroboros, 6.2k stars) and Publish (ZimoLiao/scholaraio, 577 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Social Publish?

Ninglo (a GitHub user) maintains it in Ninglo/remotelab, which has 109 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 10, 2026.

Source: Ninglo/remotelab on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.