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 jianshuo/claude-skills --skill wjs-x-improving-contentgit clone --depth 1 https://github.com/jianshuo/claude-skillsWrote 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/jianshuo/claude-skills/wjs-x-improving-content)<a href="https://agentmods.dev/skills/jianshuo/claude-skills/wjs-x-improving-content"><img src="https://agentmods.dev/badge/skills/jianshuo/claude-skills/wjs-x-improving-content/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/jianshuo/claude-skills/wjs-x-improving-content"><img src="https://agentmods.dev/badge/skills/jianshuo/claude-skills/wjs-x-improving-content.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00179 | $0.01791 |
| Opus 5 | $0.00089 | $0.00896 |
| Sonnet 5 | $0.00036 | $0.00358 |
| Haiku 4.5 | $0.00018 | $0.00179 |
Grade A, and why
wjs-x-improving-content 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 12d 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.
How it starts
The opening of the file, as written. The whole thing — 130 lines — stays where its author put it; the contents beside it link to each section on GitHub.
wjs-x-improving-content
把「写好推」当工程做:不断改 prompts/x/prompt.md,用 impression 数据看哪版最好,并挖出「什么内容特征和高 impression 相关」反哺下一版。是 [[wjs-x-increasing-follower]] 的孪生——那个测 profile→关注转化率,这个测 prompt→每条推的 impression。
Core Principle
impression 主要由源文章 / 话题决定,prompt 只是二阶因素。 一篇好文章配任何 prompt 都能爆。所以诚实地分两层看:
| 看什么 | 信号强度 | 怎么用 |
|---|---|---|
| prompt 版本对比(哪版 prompt 的推中位 impression 高) | 弱(被文章支配,需大量样本) | 方向性参考,攒够样本才下判决 |
| 内容特征(angle A/B/C、长度、钩子——prompt 直接控制的东西) | 较强(同样话题下,特征差异才显出 prompt 的手艺) | 真正反哺 prompt 的依据 |
所以:版本对比给方向,内容特征给抓手。 别把版本判决当因果。
判决用中位数不用均值(impression 极度长尾,一条爆款骗死均值);每版至少 5 条成熟推才下版本级判决;成熟窗 = 发布满 3 天(impression 还在涨的太新推不计入)。
回滚是一等公民:prompt 在 git 里,回滚 = git checkout <旧SHA> -- prompts/x/prompt.md。
版本 = prompt.md 的 git short-SHA
每条推归到哪版 prompt,按时间推导:推发布时间 T → prompts/x/prompt.md git 历史里时间 ≤ T 的最后一次提交 = 那条推用的版本。不用改 Action,历史推也能回填。早于 prompt 文件存在的推 → prompt_sha=null(pre-prompt)。
数据从哪来
每条推的 impression X API 不稳,靠 Content CSV 导出:x.com/i/account_analytics → Content 标签 → 导出 CSV(含 Post id / Impressions / Engagements …)→ 丢进 inbox/。Post id 就是 tweet_id,和发推历史对得上。
When This Skill Fires
- 「改 X 的 prompt」「哪版 prompt 最好」「什么内容 impression 高」「X 内容改进」
- 跑
/wjs-x-improving-content
When NOT to use
- 涨粉 / 改 profile → [[wjs-x-increasing-follower]]
- 只是发一条推 →
/wjs-tweeting-from-articles - 推广 skill →
/wjs-promoting-skills
Workflow
脚本在 scripts/,状态在 state/。先 cd 到 skill 目录。
Step 1 — 吃数据
python3 scripts/ingest-tweets.py /path/to/content.csv
join Content CSV + 发推历史(~/.claude/skills/wjs-tweeting-from-articles/state/history.jsonl,带 slug/angle)→ state/tweets.jsonl,按日期推导 prompt_sha,算 char_len 和 mature(≥3天)。upsert,重跑更长导出安全。
Step 2 — 挖内容特征(核心,立刻有用)
python3 scripts/analyze-content.py # 成熟推
python3 scripts/analyze-content.py --all # 含未成熟(angle 样本更全)
按 angle / 长度 / 来源拆 impression 中位数 + 互动率,列最高/最低推。这层告诉你 prompt 该往哪改。
Step 3 — 提一版 prompt 改动(带假设)
What ships with it
11 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- inbox/.gitignore 12 B
- scripts/_common.py 1.5 KB runs code
- scripts/analyze-content.py 4.1 KB runs code
- scripts/evaluate.py 3.1 KB runs code
- scripts/ingest-tweets.py 4.3 KB runs code
- scripts/ledger.py 2.9 KB runs code
- scripts/scoreboard.py 3.7 KB runs code
- state/.gitignore 6 B
- state/SCOREBOARD.md 1.1 KB
- state/tweets.jsonl 42 KB
- state/versions.jsonl 523 B
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.
- 12d ago First seen · 130 lines · 179 tokens per session scan A 7f15c896feef
wjs-x-improving-content is a skill published in the GitHub repository jianshuo/claude-skills (129 stars, last pushed 22d ago), licensed MIT. It adds 179 tokens to every session and 1,791 once invoked, about $0.0009 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-30.
Other skills, from other repositories
exploratory-data-analysis
Perform bounded, local exploratory analysis of explicitly supported scientific files. Use for redacted CSV/TSV/JSON profiles; optional NumPy, HDF5, FASTA/FASTQ, and basic image metadata inspection; missingness/leakage audits; outlier and transformation sensitivity; and rigorous EDA report scaffolds. Other domain…
google-ads-audit
Google Ads account audit and business context setup. Use for account-health audits and business-context setup. Trigger on "audit my ads", "ads audit", "set up my ads", "onboard", "account overview", "how's my account", "ads health check", "what should I fix in my ads", or when the user is new to NotFair and hasn't run…
data-charts-tako
Search and visualize the world's data - get charts, insights, and embeddable knowledge cards for finance, economics, demographics, sports, and more.
webhook-management
Configure and validate CCAM webhook targets across supported chat, incident, automation, and generic providers. Use when listing provider requirements, creating or updating a target, scoping it to alert rules, sending a test notification, reviewing delivery history, or deleting a target.
gesellschaftsrechtliche-satzungen-agb
Für Gesellschaftsrechtliche Satzungen AGB Abgrenzung: ordnet Norm, Beweislast und Gegenargument; Ergebnis: Prüfprodukt mit Risiko und nächstem Schritt. Fachgebiet: AGB-Recht-Prüfer. Route: gesellschaftsrechtliche-satzungen-agb.
master-yinguang
A reference-based assistant for questions about Yinguang and Pure Land Buddhism, a Buddhist tradition focused on faith, ethical living, and practice connected with rebirth in the Pure Land. It can answer in Yinguang’s historical teaching style.