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 florilegiumgit 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/florilegium)<a href="https://agentmods.dev/skills/anneheartrecord/charles-skill/florilegium"><img src="https://agentmods.dev/badge/skills/anneheartrecord/charles-skill/florilegium/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/florilegium"><img src="https://agentmods.dev/badge/skills/anneheartrecord/charles-skill/florilegium.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.00098 | $0.01759 |
| Opus 5 | $0.00049 | $0.00879 |
| Sonnet 5 | $0.00020 | $0.00352 |
| Haiku 4.5 | $0.00010 | $0.00176 |
Grade A, and why
tashanzhishi 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 10d 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 — 123 lines — stays where its author put it; the contents beside it link to each section on GitHub.
剪藏他人观点到「他山之石」(tashanzhishi)
Overview
把一个视频、播客或文章的内容,整理成一篇可以直接阅读的文章,存进 20-knowledge/他山之石/。
核心原则:产出的是给读者看的文章,不是观点汇总,也不是逐条「作者认为……」的清单。忠实于来源、把事实和推测分清、标注作者立场,但用流畅的文章呈现。这不是写用户自己署名的内容,所以不套用户文风、也不跑 de-ai-flavor。输出永远中文。
何时用 / 不用
用:用户给链接或粘贴文字稿,说要「剪藏到他山之石」「整理成他山之石文档」「归档这个观点」。 不用:用户要写自己署名的推文/文章(那是写作任务,走文风流程)。
输入两种来源
- 链接(YouTube/B站/播客等)→ 用 yt-dlp 抓元数据 + 字幕。
- 粘贴的文字/字幕/文章 → 直接用,跳过抓取。
流程
1. 拿到原文
链接来源,运行本目录的脚本:
bash ~/.claude/skills/tashanzhishi/fetch-transcript.sh "<链接>" # 默认读 Chrome 登录态
bash ~/.claude/skills/tashanzhishi/fetch-transcript.sh "<链接>" safari # 换浏览器:safari/brave/edge/firefox
它会打印一个临时目录路径,里面有 meta.txt(标题 ||| 作者 ||| 上传日期 ||| 链接 ||| 时长)和一个 .vtt 字幕文件。YouTube 现在要求登录态才能下字幕,脚本默认读 Chrome 的 cookies,所以需要在 Chrome 里登录过 YouTube。
把字幕清洗成纯文本再读:
python3 ~/.claude/skills/tashanzhishi/vtt2text.py "<那个目录>"/sub.*.vtt > /tmp/transcript.txt
vtt2text.py 会去掉时间轴、内联标签、HTML 实体,并合并自动字幕的滚动重复。然后用 Read 读 meta.txt 和 /tmp/transcript.txt。注意:视频结尾常有重复的「精彩片段」集锦,蒸馏时忽略那段。
2. 写成一篇可读文章
- 清洗自动字幕的识别错误、逐字空格、错的专有名词(公司名、人名、术语、英文缩写),但不改作者语气和立场。
- 用流畅的中文写成一篇文章,把读者当杂志读者:正常标点(用冒号、写完整句子),不要「短语。完整句。」这种断裂节奏,也不要「1. 作者认为 X」的清单堆叠。
- 按内容自然分几个
##小标题导航;attribution 自然融进句子(他算了笔账、她的观察是、他给了个尺子)。 - 事实与推测分清:可核实的当事实写,推测和判断点明是作者观点。结尾用一段「可信与存疑」的编辑提醒收尾。
- 可以摘 1 到 5 句原话金句融进正文,但别让全文变成摘抄。
3. 写文件
写到 20-knowledge/他山之石/<简洁中文标题>.md,文件名不含斜杠。captured 用 date +%F 的当天日期。结构见下。
文档结构(可读文章,不是观点汇总)
---
tags: [他山之石, <领域标签>]
source: <平台> · <作者/频道>
author: <作者,未知写"未注明">
url: <原始链接>
captured: <YYYY-MM-DD>
type: 他人观点
---
# <文章式标题>
> 来源与立场:一句话说清作者是谁、有没有带货/特定立场,哪里要打折看。
<开头一两句,把读者带进来。>
## <小标题>
<流畅文章正文,自然融入 attribution,事实与推测分清。>
## <小标题>
...
---
**可信与存疑**:哪些是可核实事实(回到原始来源核对),哪些是作者的推测/判断。
写完后
简单报告:写到哪个文件、抓取还是粘贴、有没有抓到字幕。不要同步到 X 或个人网站。
常见错误
| 错误 | 纠正 |
|---|---|
| 写成 bullet 观点汇总 / 「1. 作者认为…」 | 写成可直接阅读的文章 |
| 短语加句号的断裂标点 | 正常完整句子、该用冒号用冒号 |
| 用用户的犀利文风重写 | 保持中立可读,不套文风、不去 AI 味 |
| 把推测当事实写 | 事实归事实,推测点明是作者观点 |
| 漏掉作者的带货/立场 | 写进开头的「来源与立场」 |
| 字幕抓不到就编内容 | 让用户粘贴或换方案,绝不臆造 |
| 一篇塞多个来源 | 一个来源一篇 |
What ships with it
7 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.
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.
- 10d ago First seen · 123 lines · 98 tokens per session scan A 387430293f8b
tashanzhishi is a skill published in the GitHub repository anneheartrecord/charles-skill (3 stars, last pushed 1mo ago), licensed MIT. It adds 98 tokens to every session and 1,759 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
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…
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…
linker
Discovers missing cross-domain connections between knowledge documents and creates/updates connection wiki articles.
intake
Interactive Q&A capture of company knowledge into typed nodes in a company-brain vault. Sub-modes - vision (dictation-friendly six-phase flow), for-doc (document-driven interview that walks a target doc's sections), product, persona, competitor, competitor-ifu, competitor-clearance, competitor-snapshot, metric…
atomize
Ingest existing documents (markdown, plain text, Word .docx, PDF, interview transcripts, image screenshots) into typed company-brain nodes with provenance. Each ingested document lands as an immutable source node; extracted content becomes derived typed nodes linked via derivedfrom edges. Uses cb extract for binary…
query
Answer questions against a company-brain vault using staged retrieval, auto-injected pillars, typed edge traversal, and node-id citations. Profile-aware. Cites the graph as the source of truth; flags contradictions, staleness, and confidence.