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 cover-imagegit 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/cover-image)<a href="https://agentmods.dev/skills/anneheartrecord/charles-skill/cover-image"><img src="https://agentmods.dev/badge/skills/anneheartrecord/charles-skill/cover-image/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/anneheartrecord/charles-skill/cover-image"><img src="https://agentmods.dev/badge/skills/anneheartrecord/charles-skill/cover-image.svg" alt="Reviewed on agentmods" width="80" 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.00105 | $0.01837 |
| Opus 5 | $0.00053 | $0.00919 |
| Sonnet 5 | $0.00021 | $0.00367 |
| Haiku 4.5 | $0.00011 | $0.00184 |
Grade A, and why
cover-image 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 9d 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 — 79 lines — stays where its author put it; the contents beside it link to each section on GitHub.
封面图生成(cover-image)
第一性原则(骨架,先于一切排版)
封面是给人看的,标题大部分是给机器看的。
- 瀑布流里人的第一视觉落在面积最大的封面图上,封面文案决定 CTR。封面文案只对人:要抓睛、接地气,路线只有两条——引发好奇或产生共鸣。
- 标题的首要任务是搜索索引:在表达清楚的前提下覆盖尽可能多的核心关键搜索词、承接用户会输入的长尾问题(如「苹果手机如何设置捷径?」)。爆款常常是「封面抓人 + 标题读起来奇奇怪怪」,如「小学单词速记!单词脑图助记600词」——覆盖了【小学单词】【单词速记】【单词脑图】【助记】等一串搜索词。
- 本 skill 只负责封面这一半。绝不往封面文案里堆关键词;标题那一半交给
xhs-title/dbs-xhs-title(起标题)和xhs-keyword-strategy(关键词覆盖)。用户要「标题+封面」整套时,两条线分开做:封面走情绪,标题走搜索。
封面文案怎么写(核心工序)
封面上最大的那行是钩子(hook),不是文章标题。原标题降级为下方小字(--subtitle)或干脆交给标题线去做关键词版。
- 从原文挖真实的观点/金句,不凭空造、不标题党到失真。
- 每个钩子明确走一条路线并标注:
- 好奇路线:反常识、留悬念、直接抛扎眼结论(「一夫一妻,本就是反人性的」「去人才高地竞争,到人才洼地赚钱」)。
- 共鸣路线:说出目标读者心里那句没说出口的话,越口语越好(「不怕黑子,就怕没黑子」)。
- 接地气:口语、短句、具体名词;书面语和抽象大词一律毙掉。
- 形式约束:整句 ≤ ~14 字,用
|分两行、每行 ≤ ~7 字;用*词*高亮 2-3 个最扎眼的字。 - 默认给 4-6 个候选(好奇、共鸣两条路线各 2-3 个),标明路线,让用户挑,再定稿渲染。
- 自检:把候选放进想象中的瀑布流——旁边全是别人的封面,这句话能不能让手停下来?不能就重写。
渲染管线
HTML/内联CSS/SVG → 本机 Chrome headless 截图 → PNG,只用系统字体(Songti SC / Kaiti SC / Heiti SC),不联网、不用文生图模型,确定性、免费、风格一致。核心工具:render-cover.mjs(本目录)。
node ~/.agent-harness/skills/cover-image/render-cover.mjs \
--theme life \
--kicker "随笔 · 两性" \
--hook "一夫一妻|本就是*反人性*的" \
--subtitle "我对两性的理解" \
--out "/绝对路径/我对两性的理解-cover.png"
--hook必填:封面主角钩子,|分行、*词*高亮。--subtitle文章真实标题(渲染成「本文 · <标题>」小字),可省略。--kicker左上栏目标签、--byline左下中性描述、--brand右下角标,均可省略。--theme=invest|tech|life(省略默认 life);--out必填绝对路径。- 尺寸:默认 16:9(1600×900,输出 2x=3200×1800),适合博客/公众号/推文。小红书竖版可试
--width 1080 --height 1440(3:4),但排版按 16:9 调的,竖版渲染后必须目视检查字号和母题是否失衡。
三类主题(按文章内容选 theme)
共用近黑底 + 宋体标题骨架,靠强调色 + 母题区分:
| theme | 适用内容 | 强调色 | 母题 |
|---|---|---|---|
invest |
投资 · 商业 · 财富:简单致富、ETF、港卡/券商、止盈、生意/赚钱方法论 | 琥珀金 #d4a24e |
底部 K 线 + 趋势线 |
tech |
AI 与工程:Agent、Claude Code、K8S、Go、译文、AI 工作流 | 墨青 #5b8fb0 |
节点连线 + 细网格 + 等宽 kicker |
life |
人生与思考:两性、离职、职业感悟、注意力、认知/随笔 | 赭红 #c2724a |
毛笔横扫 |
他山之石/转载/翻译的稿子没有独立主题:按内容实际主题归进上面三类,且不署来源(用户会自己重写后再发)。--byline 只放非归属性中性描述(如「个人长文」)。
What ships with it
1 file 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.
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.
- 9d ago First seen · 79 lines · 105 tokens per session scan A 16f53f72ccc7
cover-image is a skill published in the GitHub repository anneheartrecord/charles-skill (3 stars, last pushed 1mo ago), licensed MIT. It adds 105 tokens to every session and 1,837 once invoked, about $0.0005 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
canvas
Create, inspect, and update Obsidian JSON Canvas boards with text, file, link, group, and edge nodes. Use for canvas status, canvas lists, visual maps, zones, spatial layouts, adding vault notes or media to a .canvas file, and requests such as create canvas, add to canvas, or put this on the canvas.
plannotator-visual-explainer
Generate self-contained HTML visualizations with Plannotator theming. Use for implementation plans, PR explainers, architecture diagrams, data tables, slide decks, and any visual explanation of technical concepts. Plans and PR explainers follow Plannotator's prescriptive approach; all other visual content delegates to…
json-canvas
Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections. Use when working with .canvas files, creating visual canvases, mind maps, flowcharts, or when the user mentions Canvas files in Obsidian.
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…
raytsystem-watch
Inspect video, audio, or supplied transcripts through raytsystem Tool Hub and return evidence-bound speech, visual, OCR, action, transition, and timeline findings. Use for /watch, a YouTube/Loom/public Zoom/direct media URL, a local video or audio file, a transcript, or requests such as "watch this video", "analyze…