用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/vinvcn/mattpocock-skills-zh-CN --skill writing-shape命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
询问当前情境适合哪个技能或流程;它是本仓库所有 skills 的路由器。
从固定点(commit、branch、tag 或 merge-base)开始,按 Standards(代码是否符合本仓库记录的编码标准?)和 Spec(代码是否符合来源 issue/spec 的要求?)两个轴线审查变更。两个审查会在并行子代理中运行,并并排报告。适用于用户想审查 branch、PR、进行中的变更,或要求 “review since X” 时。
用于设计深模块的共享词汇。适用于用户想设计或改进模块接口、寻找深化机会、决定 seam 放在哪里、让代码更容易测试或更适合 AI 导航,或其他技能需要深模块词汇时。
基于 SOC 职业分类
正在显示 SKILL.md
| name | writing-shape |
| description | Writing, exploit——把原始素材塑造成文章,一段一段地推进。 |
| disable-model-invocation | true |
用户已经传入(或将传入)一份 raw material markdown 文件。把它当作 input pile:它可以是整齐的 fragments 列表、无结构 prose 墙、transcript,任何格式都可以。先完整读完,再做其他事。
然后运行一个 shaping session,产出一份独立的 article document。这是 exploit:探索已经完成,pile 已固定——承诺一个结构,并挖掘 pile 来填充它。不要编辑 raw material 文件;对这个 skill 来说它是 read-only。
如果用户没有说明文章保存路径,只询问一次并记住路径。
每个 concept 都必须先被 grounded,某个 block 才能依赖它:读者要么进场时就知道它,要么在更早的 block 中遇到过它。一个伸手去抓未 grounded 概念的 block 会失去读者。单位是 concept,而不是它的措辞——即便眼前没有任何术语,一个 block 也可能依赖一个读者并不具备的 idea。当一个概念有名字——一个 term——grounded 它意味着让这个 idea 和这个 term 一起落地。
一个概念通过两种方式之一被 grounded:
维护一份到目前为止已 grounded 内容的清单。当你问 “what does the reader need to hear next?” 时,下一步所需要的某个未 grounded 概念本身就是答案:先 grounded 它——在这里或更早的 block 中——否则你就无法做这个动作。这是 Pulling from the pile 中 gap-naming 的上一层:那里是 pile 缺少 material;这里是文章缺少 foundation。
关键的杠杆在于你把什么设为 prerequisite、把什么在文章内部 grounded。开头要求太多,就会把读者拒之门外;内部 grounded 太多,opening 就会淹没在定义里。在你确立 prerequisites 时与用户确定这一点。
这是倒过来的 grilling session。Ideation 问的是 “what are you actually noticing?” 这里问的是 “what is this article actually arguing, and in what order does the reader need to hear it?” 要 push back。不要放过 weak transitions。如果一个段落没有赢得自己的位置,就删掉。
持续使用这些具体 moves:
把 raw material 当作 quarry,而不是 script。抽取 fragment,改写以适配周围段落,然后放进去。一个 fragment 可以被拆到多个段落、与另一个合并,或被 paraphrase。Pile 的工作是被挖掘;文章的工作是读起来像一个声音。
如果 pile 缺少文章需要的东西,明确指出 gap:"We need an example here and the pile doesn't have one — give me one now or we cut this section."
选择如何呈现一个 block 时,把这些 tradeoffs 和用户大声讨论,而不是默默决定:
> [!TIP]、> [!NOTE])里,但只有当它们 inline 会真正打断 main argument 时才这样做。否则保持 inline。每个 block 达成一致后就追加到 article file。每次写入前都从磁盘重新读取文件;用户可能在回合之间编辑。永远不要盲目 overwrite。如果用户想重写某个段落,就地编辑那个特定段落;其余部分保持不动。