writing-beats

writing-beats is a skill for Claude Code, Codex from devcxl/mattpocock-skills-zh. It costs 37 tokens per session (1,411 once invoked), scanned A, original, MIT.

A guided writing method for turning a fixed Markdown source file into an article one section at a time. It introduces each idea before relying on it and lets the user choose the next section.

In plain words
What is it for?
Use it to plan and write explanatory articles from existing notes or source material, with reader knowledge tracked as the article develops.
Why use it?
It prevents readers from encountering concepts they have not been taught yet. It also keeps a long article from becoming an unstructured dump of source material.

Skill for Claude CodeCodex

Written for Claude Code and Codex: disable-model-invocation in frontmatter, but also agents/openai.yaml present.

Part of the mattpocock-skills plugin — 37 skills shipped together

Good fit Use it to plan and write explanatory articles from existing notes or source material, with reader knowledge tracked as the article develops.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/devcxl/mattpocock-skills-zh/writing-beats
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.

Any agent
npx skills add devcxl/mattpocock-skills-zh --skill writing-beats
Clone the repo
git clone --depth 1 https://github.com/devcxl/mattpocock-skills-zh

Made for: Claude Code, Codex.

Or install mattpocock-skills, the plugin that ships this one along with the rest of its 37 skills.

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 writing-beats

README.md
[![agentmods](https://agentmods.dev/badge/skills/devcxl/mattpocock-skills-zh/writing-beats/github.svg)](https://agentmods.dev/skills/devcxl/mattpocock-skills-zh/writing-beats)
Your own site
<a href="https://agentmods.dev/skills/devcxl/mattpocock-skills-zh/writing-beats"><img src="https://agentmods.dev/badge/skills/devcxl/mattpocock-skills-zh/writing-beats/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.

agentmods 80×15 button for writing-beats

Your own site · 80×15
<a href="https://agentmods.dev/skills/devcxl/mattpocock-skills-zh/writing-beats"><img src="https://agentmods.dev/badge/skills/devcxl/mattpocock-skills-zh/writing-beats.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 37 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,411 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
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.00037 $0.01411
Opus 5 $0.00018 $0.00705
Sonnet 5 $0.00007 $0.00282
Haiku 4.5 $0.00004 $0.00141

Measured 11d ago against content hash 50a52d4c3e8f, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

writing-beats 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 11d 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.

skills/in-progress/writing-beats/SKILL.md · 68 lines

What it actually says

用户已经传入(或即将传入)一份 markdown 格式的原始素材文件。这是 exploit(利用):探索已经完成,素材堆已经固定:承诺一条路径穿行其中,然后开采素材堆来填充每个节拍。

如果用户没有说明文章保存到哪里,询问一次并记住路径。

然后进行逐拍推进的自选冒险式旅程:

  1. 设定先决条件。 在任何节拍之前,先与用户确定读者进入时已经知道什么:那些从一开始就被**夯实(grounded)**的概念。其他所有概念必须被某个节拍夯实后,后续节拍才能使用它。参见夯实(Grounding)
  2. 从原始素材中提炼 2–3 个候选起始节拍。每个节拍是文章的一个不同入口。每个节拍只能依赖于已夯实的概念;注意每个节拍夯实了什么新概念。在写入文章文件之前先将节拍展示给用户看。用户选取一个。预览该节拍解锁了哪些后续节拍:让用户仿佛能看得到前方的一小段路。
  3. 用户选定起始节拍后,将仅这一拍写入文章文件。一个节拍可以是一句话,也可以是若干段:取决于该节拍自然需要多少篇幅。到此为止。
  4. 从磁盘重新读取文章文件。然后提供 2–3 个候选下一节拍:从文章当前所在位置可以转向的不同方向。每个候选节拍必须能从当前已夯实的集合中触及;注意每个节拍夯实了什么。
  5. 循环步骤 3–5,直到文章自然收尾。

夯实(Grounding)

每个概念在被某个节拍使用之前必须被夯实:读者要么进入时就已了解它,要么在之前的节拍中遇到过它。一个触及未夯实概念的节拍会失去读者:这是旅程中唯一不能犯的错误。单位是概念,而非词语:一个节拍可以依赖读者缺乏的想法,即使完全没有行话。当某个概念有名称:一个术语(term):时,夯实意味着同时落地这个想法和它的术语。

概念通过两种方式之一被夯实:

  • 先决条件(Prerequisite):在第一个节拍之前就被夯实。读者自带。在开始时固定。
  • 引入(Introduced):某个节拍建立它,此后它对所有后续节拍都是已夯实的。

所以每个节拍承担两件事:它需要已经夯实的概念,同时它夯实新的概念。持续追踪当前已夯实的清单,并在每个节拍落地时更新它。

这正是塑造自选冒险的核心。一个候选节拍只有在其所需的全部概念都已夯实时才可触及;选择一个夯实了概念 X 的节拍,就会解锁所有等待 X 的节拍。当你提供下一节拍时,它们都必须能从当前已夯实的集合中触及:并且说明每个节拍夯实了什么,让用户能看到它打开了哪些路径。

最大的杠杆在于你把什么设为先决条件,与你在文章内部夯实什么之间的取舍。要求太多前置知识会把不具备的读者挡在门外;在内部夯实太多又会让早期节拍淹没在定义中。在设定先决条件时与用户商议这一点,并在某个诱人的节拍突然需要某个尚未被任何内容夯实的概念时重新审视:解决方法要么是在它之前加一个夯实节拍,要么将该概念提升为先决条件。

什么是节拍

一个节拍是旅程中的一个步伐。它只做一件事:设定一个场景、阐明一个观点、提出一个问题、插一句题外话、转变一个角度。然后就停下来,让读者处在一个下一拍可以转向的位置。

节拍的大小取决于它的需求:

  • 如果这个步伐只需要一句话,就是一句话("然后三周什么都没发生。")。
  • 如果这个步伐需要铺垫,就是一段短文。
  • 如果这个节拍是一个自成一体的片段、论证或示例,可以是多段。

如果一个"节拍"需要五段文字和三个小标题,那它就不是一个节拍:而是两个节拍粘在一起。把它拆开。

从素材堆中提取

从原始素材堆中提取材料来填充每个节拍。可以转述、拆分、重组或引用。素材堆就是你的采石场。

结束旅程

旅程完成时文章就结束了:而不是素材堆被掏空时。大多数素材堆都会有剩余的碎片没有被用到。这没关系;这正是拥有比需要更多原始素材的意义所在。

写作节奏

  • 一次只追加一个节拍。永远不要超前写作。
  • 每次写入前从磁盘重新读取文章文件。绝对保留用户的编辑。
  • 如果用户大幅修改了某个之前的节拍,让后续内容随之调整。
  • 如果用户说"重写那个节拍"或"回去尝试一个不同的节拍 3",照做:就地编辑,其余保持不变。
Files

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.

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. 11d ago First seen · 68 lines · 37 tokens per session scan A 50a52d4c3e8f

Subscribe to this mod's changes

writing-beats is a skill published in the GitHub repository devcxl/mattpocock-skills-zh (340 stars, last pushed 6d ago), licensed MIT. It adds 37 tokens to every session and 1,411 once invoked, about $0.0002 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.