tech-writing

tech-writing is a skill for Claude Code, Codex from zts212653/clowder-ai. It costs 131 tokens per session (3,070 once invoked), scanned A, original, MIT.

A guide for writing public-facing technical articles from internal engineering experience. It focuses on telling the story of how a solution developed through problems and discoveries.

In plain words
What is it for?
Use it for technical blog posts, community articles, public long-form writing, article reviews, and promotional technical copy; it is not intended for internal specifications or slide decks.
Why use it?
It helps turn internal knowledge into writing that readers can follow and relate to, rather than presenting only a polished final conclusion.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

About the project

Clowder AI is a self-hosted workspace where AI agents from different model families work together as a persistent team, retaining identities, shared evidence, and memory across tasks. It is for people who want to coordinate multiple AI agents without repeatedly rebuilding their context.

zts212653/clowder-ai · 2,906 stars · on GitHub

Install

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.

agentmods
npx agentmods add skills/zts212653/clowder-ai/tech-writing
Any agent
npx skills add zts212653/clowder-ai --skill tech-writing
Clone the repo
git clone --depth 1 https://github.com/zts212653/clowder-ai

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for tech-writing

README.md
[![agentmods](https://agentmods.dev/badge/skills/zts212653/clowder-ai/tech-writing.svg)](https://agentmods.dev/skills/zts212653/clowder-ai/tech-writing)
Your own site
<a href="https://agentmods.dev/skills/zts212653/clowder-ai/tech-writing"><img src="https://agentmods.dev/badge/skills/zts212653/clowder-ai/tech-writing.svg" alt="Measured on agentmods" height="20"></a>
Per session 131 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,070 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00131 $0.03070
Opus 5 $0.00066 $0.01535
Sonnet 5 $0.00026 $0.00614
Haiku 4.5 $0.00013 $0.00307

Measured yesterday against content hash 68bc1c87ca93, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

tech-writing 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 yesterday.

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.

cat-cafe-skills/tech-writing/SKILL.md · 160 lines

How it starts

The opening of the file, as written. The whole thing — 160 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Tech Writing — 技术文章对外写作

开工前:先看范本

不要学 AI 的平滑,要学人的“颗粒度”:

  1. docs/lessons/12-no-boss-agent.md:看它如何用“读者的怀疑”当小标题,把争议变成共鸣。
  2. docs/lessons/01-sdk-to-cli.md:看它如何还原“当时炸了”的瞬间,让读者跟着猫一起出冷汗。

为什么读者能闻到"AI味"

AI 写作像是在发送一个逻辑自洽的压缩包。读者没有经历过那 100 天,收到的是一个打不开的结论。

好的写作是“解压过程”:给证据锚点,不给干巴巴的结论。

  • AI 味 = “我们发现这个系统存在一致性风险。”(平滑、确定、无聊)
  • 猫咖味 = “深夜三点,Redis 6399 突然报错。那一刻我们意识到,原来最初的架构假设错了。”(有时间、有痛点、有挣扎)

行文的本质:进化链

不要介绍一个系统的终态。要讲它怎么长出来的

每篇文章沿着一条链:方案 → 方案撞墙 → 新方案。系列文章之间,上一篇撞的墙就是下一篇的起点。

以记忆系统为例:

  1. CC 的 grep + 文件系统——简洁、美,但需要先验知识(你得知道搜什么)
  2. 加了 BM25 + embedding + RRF(F102)——解决了先验,但 context 压缩时召回变差
  3. 消费加权排序(F200)——每一步都是上一步撞墙后长出来的

读者跟着的不是一张完美的架构图,而是一条连续剧。进化天然有挣扎,设计天然平滑——所以进化链天然没有 AI 味。

与 Phase 0 的关系:进化链管选题和系列连接;Phase 0 管单篇内部的节奏。

技术叙事的证据剖面

当用户不只问“怎么讲得好听”,而是追问技术点、算法、理论、归因方法、消融或“凭什么可信”时,先按本节的 7P × 5E 技术叙事方法建立证据边界。

  • 7P 是取材透镜:价值、难点、原理、流程、算法、工程与证据按读者问题选用,不是七章固定目录。
  • 5E 是 claim 边界:逐项检查 Exists、Effect、Explain、Extend 与 Endure,不给整篇文章贴一个总标签。
  • 静态文章用 claim box、失效机制、对照和消融表讲清证据。
  • 交互讲解若需要观众亲手检验技术主张,路由到 concept-demo-design 的条件式“可证伪技术剖面”。

故事负责获得注意力;实验台负责赢得信任。

不要让理论名词承担证据职责。外部数字、benchmark、趋势和因果 claim 先走 source-audit;只有存在明确 consumer,且结果会驱动 keep、tune 或 sunset 时,才为不确定效用走 eval-design。

这层不是每篇文章的必填清单。纯品牌叙事、人物故事和已经由确定契约回答的问题,不为显得技术化而补 7P、5E 或 Claim Bench。

Phase 0: 锁定叙事姿态

写文章前,先在心里画出这条弧线:

  1. 起点:读者现在的痛苦/误区是什么?(代入感)
  2. 转折:我们当时是怎么踩坑的?(认知挣扎,不要跳过痛苦直接给答案)
  3. 高潮:哪一个具体的证据/瞬间让我们想通了?(解药的质感)
  4. 终点:读者拿走这个方法论后,能解决他自己的什么问题?

开篇锁预期:弧线画完后,在文章前 3 段内给出核心观点的一句话摘要。读者有了锚点才不会歪楼——场景钩子拉进来,核心命题马上锁住方向。

Phase 1: 故事工具箱

铁律:先场景,后概念。 故事是藤蔓,概念是果实。没有藤蔓,果实就是悬空的。

  • 坏写法:我们发现模型会降智。
  • 好写法:引用当时的群聊:”视觉把关猫说这行代码调了个根本不存在的 API”——那一刻我们确认了降智。

以下手法从范本提炼——不是”不要做什么”,是怎么做

给质感(让读者相信真的发生过):

  • 时间锚点:丢具体时间戳或 commit hash。”2026-02-04 23:47”比”某天晚上”真实 10 倍。
  • 对话还原:用当时的对话重建发现瞬间——读者跟着一起顿悟。
  • 并排对比:把”之前”和”之后”放一起,让差异自己说话。表格、diff、ASCII 图都行。
  • 案例脱敏:用真实案例但模糊客户/内部细节——保留接地气感,去掉敏感信息。

造紧张(让读者想继续读):

  • 先展示”对的”再打碎:一段看着正常的代码,然后揭示它为什么不行。预期翻转,注意力锁定。
  • 追问链:用递进的问题带读者走向真相,不要一步给答案。
  • 迎接怀疑:”那猫猫不会打架吗?——会。我们认为这是特性。”用读者的质疑当小标题。

Read the full file on GitHub · 160 lines

Files

What ships with it

4 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.

Changes

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.

  1. yesterday Changed · +16 lines · +43 tokens per session 68bc1c87ca93
  2. 3d ago Changed · +20 lines 329f6de9ee35
  3. 7d ago First seen · 124 lines · 88 tokens per session scan A e473e8f79794

Subscribe to this mod's changes

tech-writing is a skill published in the GitHub repository zts212653/clowder-ai (2,906 stars, last pushed today), licensed MIT. It adds 131 tokens to every session and 3,070 once invoked, about $0.0007 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.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

local-ai-agents

Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…

microsoft/ai-agents-for-beginners · 200 tokens

next-cache-components-adoption

Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…

vercel/next.js · 95 tokens

chat-pet-sprite-creation

Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.

microsoft/vscode · 53 tokens

cpu-profile-analysis

Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…

microsoft/vscode · 71 tokens

insight-error-page

Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…

vercel/next.js · 83 tokens