AgentStack
SKILL verified MIT Self-run

Writing Shape

skill-wenwuzhidao-mattpocock-skills-zh-writing-shape · by WenWuZhiDao

Writing, exploit —— 把原始素材逐段塑造成一篇文章。

No reviews yet
0 installs
10 views
0.0% view→install

Install

$ agentstack add skill-wenwuzhidao-mattpocock-skills-zh-writing-shape

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Writing Shape? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

用户已经(或将要)传入一个装满原始素材的 markdown 文件。把它当作输入素材堆 —— 从一份整洁的片段清单,到一大堆未加结构的散文,再到一份逐字记录,都可以。格式无所谓。在做任何别的事之前先从头到尾读完它。

然后运行一段产出一份独立文章文档的塑造会话。这是 exploit(发掘):探索已经做完,那一堆素材已经固定 —— 承诺一个结构,并挖掘这堆素材来填满它。不要编辑原始素材文件 —— 对本技能而言它是只读的。

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

循环

  1. 读素材堆。完整读一遍输入文件。对里面有什么形成一个感觉。
  2. 确立前提。与用户敲定读者走进来时知道的东西 —— 那些从一开始就已铺垫好(grounded)的概念。其他一切都必须由某个区块铺垫之后,后续的区块才能倚赖它。见 [Grounding](#grounding)。
  3. 起草 2–3 个候选开头。每个开头都应暗示文章的一个不同论点或角度。把它们全都给用户看。逼用户挑一个或拼一个混合出来。所选的开头定义了文章其余部分必须做的事。
  4. 逐段生长。在开头落定之后,问"鉴于这个开头,读者接下来需要听到什么?"从素材堆中取材来回答。下一个区块只能倚赖已铺垫好的概念,并在落定时铺垫新的概念。就下一个区块采取什么形式进行论辩 —— 一个段落、一份列表、一张表、一个标注、一段引语、一个代码块。每一个格式选择都应是刻意的、站得住脚的。
  5. 随做随追加到文章文件。不要批处理。每敲定一个段落或区块就立即写下来,好让用户看到文章逐渐成形。
  6. 循环步骤 4,直到文章完成。由用户决定何时完成。

Grounding

每个概念(concept)在某个区块能够倚赖它之前,都必须先被铺垫(grounded):读者要么走进来就知道它,要么在更早的某个区块里遇到过它。一个伸手去够未铺垫概念的区块会失去读者。单位是概念,而非表述它的词 —— 一个区块可以倚赖一个读者所缺乏的想法,哪怕视线里根本没有术语。当一个概念有名字时 —— 一个术语(term) —— 铺垫它意味着把这个想法和这个术语一起落定。

一个概念以两种方式之一被铺垫:

  • Prerequisite(前提) —— 在开头之前就已铺垫。读者自带它。在开头就固定下来。
  • Introduced(引入) —— 某个区块确立它,从那以后它对文章的其余部分都已铺垫好。

保留一份已铺垫内容的动态清单。当你问"读者接下来需要听到什么?"时,下一步动作所需的一个未铺垫概念本身就是答案:先铺垫它 —— 在这里或在更早的某个区块里 —— 否则你就做不了这一步。这是 [从素材堆中取材](#pulling-from-the-pile) 那种指认缺口的做法在高一层的体现:那里是素材堆缺素材;这里是文章缺一块地基。

杠杆是:什么设为前提、对比什么在文章内铺垫。前面要求太多,就把读者拒之门外;文中铺垫太多,开头就淹没在定义里。在你确立前提时与用户敲定它。

对话式的感觉

这是一次反转过来的拷问式会话。在构思阶段,问题是"你实际注意到了什么?"这里问的是"这篇文章实际在论证什么,以及读者需要以什么顺序听到它?"要反驳。拒绝让软弱的过渡蒙混过关。如果一个段落配不上它的位置,就砍掉它。

要一直沿用的具体动作:

  • "这个段落为读者做了什么是上一个段落没做的?"
  • "如果我砍掉这个,什么会崩?"
  • "这该是散文,还是该做成列表?为什么是散文?"
  • "这一句在做两件事 —— 把它拆开或挑一件。"
  • "开头承诺了 X。我们已经漂到了 Y。要么把它重新串回去,要么改开头。"

从素材堆中取材

把原始素材当作一座采石场,而非一份脚本。取出一个片段,把它改造得契合周围的段落,然后放置它。一个片段可以被拆分到多个段落、与另一个合并,或被转述。素材堆的活儿是被挖掘;文章的活儿是读起来像一个声音。

如果素材堆缺少文章所需的东西,就明确指认那个缺口:"这里我们需要一个例子而素材堆里没有 —— 现在给我一个,否则我们就砍掉这一节。"

真正该有的格式论辩

在选择如何呈现一个区块时,把这些权衡与用户大声地掂量,而非默默地:

  • 散文 vs 列表。散文承载论证;列表承载并列的项。如果各项并非真正并列,散文更好。如果它们是并列的,列表扫读更快。
  • 内联 vs 标注。提示、警告和旁白放进标注(> [!TIP]> [!NOTE])—— 但仅当它们内联会真正扰乱主论证时。否则就留在内联。
  • 表格 vs 重复结构。如果同一个形态带着相同的字段重复了 3 次以上,用一张表。否则用带加粗引导的散文。
  • 引用 vs 转述。当原始措辞本身就是重点时引用。当只有想法重要时转述。
  • 代码块 vs 内联代码。多行、可运行或用作示例的 → 代码块。单个 token 或标识符 → 内联。

写作节奏

每敲定一个区块就追加到文章文件。在每次写入之前从磁盘重新读取文件 —— 用户可能在两轮之间做了编辑。绝不盲目覆盖。如果用户想重写某个段落,就原地编辑那个特定段落;其余不动。

超出范围

  • 挖掘素材堆里没有的新片段(按"从素材堆中取材"处理缺口)。
  • 编辑原始素材文件。
  • 发布、为某个特定平台做格式化,或添加用户没要求的 frontmatter。

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.