Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add anneheartrecord/charles-skill --skill x-post-gategit clone --depth 1 https://github.com/anneheartrecord/charles-skillWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/anneheartrecord/charles-skill/x-post-gate)<a href="https://agentmods.dev/skills/anneheartrecord/charles-skill/x-post-gate"><img src="https://agentmods.dev/badge/skills/anneheartrecord/charles-skill/x-post-gate.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00275 | $0.01593 |
| Opus 5 | $0.00138 | $0.00796 |
| Sonnet 5 | $0.00055 | $0.00319 |
| Haiku 4.5 | $0.00028 | $0.00159 |
Grade A, and why
x-post-gate scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
X 发帖前「不发原则」自检门
在把一条推文交给 x-post 发布之前,先过这道门。目的不是拦一切,而是拦住发了也白发、甚至稀释账号定位的内容。宁可少发一条,不发一条没有判断、跟主线无关的流水。
清单的唯一真相:~/Documents/knowledge-base/40-dashboards/自媒体运营看板.html 里的 SELF_CHECK 对象(搜 const SELF_CHECK)。本 skill 是它的可执行副本,两边内容必须一致——若在看板改了四问或不发清单,同步改本文件;反之亦然。
输入
一条推文草稿(文件路径或直接粘贴的正文)。默认从 ~/Documents/knowledge-base/30-outputs/tweets/ 里的草稿取。
两道闸(顺序执行,任一判「不发」即停)
闸一:不发清单(黑名单,命中即打回或不发)
逐条核对草稿是否属于下面任一类。命中就不能直接发:
| # | 不发项 | 判定要点 | 处置 |
|---|---|---|---|
| 1 | 模型新闻评论(无一手实测) | 只是转述/点评某模型发布、跑分、更新,自己没上手实测 | 打回:补一手实测数据/截图再发,否则不发 |
| 2 | 纯工具搬运 | 只是「发现个好工具,链接给你」,没有自己的用法/判断 | 打回:加自己的使用场景 + 判断 |
| 3 | 配图流水账 | 晒图/晒生活/晒结果,无观点无信息增量 | 不发 |
| 4 | MBTI / 星座 | 命理、人格标签类娱乐内容 | 不发(硬拒) |
| 5 | 纯转发 | 只是转发他人内容,无自己的增量观点 | 不发 |
| 6 | 没有判断的资讯 | 只报「发生了什么」,不给「我怎么看」 | 打回:补判断 |
| 7 | 纯吐槽 | 只有情绪锐评,没落到理由/边界/动作 | 打回:锐评转判断(给理由 / 给边界 / 给动作) |
| 8 | 闲聊 / 体验卡 / 纯链接短推 | 无信息量的日常闲聊、体验卡、只甩个链接 | 不发 |
「打回改」和「不发」的区别:打回类是内容有底子但缺关键要素(实测/判断/用法),补上就能发;不发类是这类内容本身不该出现在这个账号。
闸二:发帖前四问 · 一票否决(四个都不占 → 别发)
过了闸一,再问这四个问题。只要一个都不占,就别发(反过来:至少命中一个才有资格发,命中越多越该发):
- 服务三条主线之一吗?(AI 落地 / 技术人的钱 / 大厂之外的路)
- 能让合适的人更理解我吗?(增加辨识度、露出真实的人)
- 露出判断了吗?(有没有自己的观点/取舍,而不只是信息搬运)
- 能把人带到下一步吗?(引发关注、收藏、私信、点进主页的动机)
裁决输出(固定格式)
跑完两道闸,输出:
裁决:发 / 打回改 / 不发
闸一·不发清单:通过 / 命中第 N 条「XX」
闸二·四问:命中 [1/2/3/4 哪几条],共 N 条
1 主线:命中(哪条主线)/ 不占
2 理解我:命中 / 不占
3 露出判断:命中 / 不占
4 带到下一步:命中 / 不占
理由:一句话说清为什么是这个档
改法(仅打回改时给):具体缺什么、怎么补
裁决规则:
- 闸一命中「不发」类 → 不发。
- 闸一命中「打回改」类 → 打回改(先不发)。
- 闸一通过,闸二四问全不占 → 不发(跟这个账号无关)。
- 闸一通过,闸二至少命中一问 → 发。
边界
- 本门只判「该不该发」,不判「文案好不好」。文风打磨走写作系统,开头优化走
dbs-hook,标题走xhs-title,去 AI 味走de-ai-flavor。 - 裁决「发」≠ 自动发布。发布永远是用户手动动作,或用户明确说发之后才走
x-post(先 dry-run 预览费用再确认)。 - 本门不改草稿正文,只给裁决和改法建议。
与工具包其它 skill 的衔接
x-hotspot-radar(出稿)→ x-post-gate(该不该发) → x-post(发布)。
复盘侧:发过的帖用 x-content-review 出周报/月报,A 档扩系列、C 档停选题,反过来影响以后什么该发。
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 82 lines · 275 tokens per session scan A ceac35e05988
x-post-gate is a skill published in the GitHub repository anneheartrecord/charles-skill (3 stars, last pushed 1mo ago), licensed MIT. It adds 275 tokens to every session and 1,593 once invoked, about $0.0014 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
agent-recall
Persistent compounding memory for AI agents. 5 default MCP tools: sessionstart, sessionend, remember, recall, check. Full surface (18 tools) available with --full flag. Two-verb model: inhale (sessionstart) and exhale (sessionend). Correction-first memory with decision trail tracking, watchfor warnings, palace rooms…
mykg
Run mykg knowledge-graph commands inside Claude Code from one slash command /mykg. The user describes intent in natural language (extract, append, sync, resume, approve, walkthrough, parse-docs, fetch-web, query); the skill parses intent, builds the right mykg CLI command from the live --help output, confirms, runs…
swarmvault
Use SwarmVault when the user needs a local-first knowledge vault that writes durable markdown, graph, search, dashboard, review, chat-session, context-pack, task-ledger, static AI export, retrieval, and MCP artifacts to disk from books, notes, transcripts, exports, datasets, slide decks, files, URLs, code, and…
engraph
Index and search document collections using hybrid semantic + graph + full-text search. Use when users need to search knowledge bases, find connections between documents, discover related content via link graphs, or query indexed markdown collections.
compiler
Scans knowledge/, analyzes documents, generates summaries/concepts/connections to wiki/ with reference graph. Updates existing articles instead of creating duplicates.
linker
Discovers missing cross-domain connections between knowledge documents and creates/updates connection wiki articles.