mcpField
W
writing-shape

writing-shape

github.com/polya20创意与媒体042 次安装24 周前更新
代码仓库

关于 writing-shape

通过有步骤的塑形对话,将存放原始素材的 Markdown 文件整理成独立文章。它逐段推进写作,同时不修改源文件。

主要功能

  1. 01完整读取源文件
  2. 02提供不同的文章开头选项
  3. 03逐段塑造文章
  4. 04边讨论边写入已确认内容
  5. 05保留文章文件中的编辑

适用场景

  1. 01根据笔记梳理文章结构
  2. 02从原始素材中确定文章角度
  3. 03将片段或访谈记录整理成文章

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/polya20/grill-me --skill writing-shape

安装后在 Claude Code 中输入/writing-shape确认已加载。

详细介绍

用户已经提供(或即将提供)一份 Markdown 原始素材文件。将其视为输入材料——内容可以是整理好的片段列表、杂乱无章的大段文字,也可以是文字记录。格式无关紧要。开始做任何其他事情之前,先从头到尾读完。

然后开展一场梳理讨论,生成一份独立的文章文档。不要编辑原始素材文件——本技能只能读取该文件。

如果用户没有说明文章的保存位置,就询问一次并记住路径。用户会在讨论过程中编辑文章文件;写入前务必重新读取,以保留他们的编辑。

写作流程

  1. 阅读素材。 完整读取输入文件,了解其中的内容。
  2. 拟定 2–3 个候选开篇。 每个开篇都应体现不同的文章论点或切入角度。展示所有候选,并让用户选择一个或组合成混合版本。选定的开篇将决定文章后续需要阐述什么。
  3. 逐段扩展。 确定开篇后,询问:“有了这个开篇,读者接下来需要听到什么?”从素材中提取内容来回答。讨论下一部分应采用段落、列表、表格、提示框、引文还是代码块。每种格式的选择都应经过审慎考虑,并且有充分理由。
  4. 边写边追加到文章文件。 不要攒到最后再一次性写入。每个段落或区块一经确定,就立即写入,让用户看到文章逐渐成形。
  5. 重复步骤 3,直到文章完成。 由用户决定何时完成。

对话方式

这是一场反向的深挖讨论。构思时,问题是“你究竟注意到了什么?”;现在要问的是“这篇文章究竟在论证什么?读者需要按什么顺序听到这些内容?”要敢于提出异议,不要放过薄弱的过渡。如果某段没有存在的必要,就删掉。

持续使用以下具体提问方式:

  • “这一段给读者带来了什么,而上一段没有?”
  • “如果删掉这部分,会有什么问题?”
  • “这里应该写成散文,还是改成列表?为什么要用散文?”
  • “这句话承担了两项任务——拆开,或者选一项。”
  • “开篇承诺了 X,但我们已经偏到 Y 了。要么重新串联,要么换个开篇。”

从素材中提取内容

把原始素材当作矿藏,而不是脚本。提取片段,调整表述以适应上下文,并将其放到合适的位置。一个片段可以拆分到多个段落中,也可以与其他片段合并,或改写成转述。素材的作用是供人开采;文章的作用是保持统一的叙述风格。

如果素材缺少文章所需的内容,要明确指出缺口:“这里需要一个示例,但素材里没有——现在给我一个,否则我们删掉这一节。”

必须实际讨论的格式选择

选择如何呈现某部分内容时,要和用户一起权衡以下取舍,而不是默默决定:

  • 散文还是列表。 散文适合展开论证;列表适合呈现并列项目。如果项目之间并非真正并列,散文更合适;如果它们确实并列,列表更便于快速浏览。
  • 行内还是提示框。 提示、警告和补充说明可以放在提示框中(> [!TIP]、> [!NOTE]),但只有在它们确实会打断主要论述时才这样做。否则就放在正文中。
  • 表格还是重复结构。 如果同一种结构以相同字段重复 3 次或更多次,就用表格;否则用带粗体引导语的散文。
  • 引用还是转述。 原文措辞本身很重要时就引用;只需保留观点时就转述。
  • 代码块还是行内代码。 多行内容、可运行代码或示例代码用代码块;单个词项或标识符用行内代码。

写作节奏

每个区块确定后,立即追加到文章文件中。每次写入前都要从磁盘重新读取文件——用户可能在两轮对话之间进行了编辑。切勿盲目覆盖。如果用户想重写某一段,只在原位置编辑该段,其他内容保持不变。

## 不在范围内
  • 从素材堆中挖掘不在其中的新片段(素材堆就是输入;如果内容不完整,请指出缺失之处,并让用户补充,或删去该部分)。
  • 编辑原始素材文件。
  • 发布内容、针对特定平台进行格式排版,或添加用户未要求的 frontmatter。

评论

支持 Markdown