Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Writing Shape

ASecurity

Writing, exploit : 将原始素材逐段塑形为一篇文章。

429 stars
0 votes
0 copies
0 views
Added 9/29/2026
ai-agents

Security Analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned 9/29/2026

$npx -y skills add devcxl/mattpocock-skills-zh --skill writing-shape --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Writing Shape?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Writing Shape
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/devcxl-writing-shape/badge)](https://www.skillsdirectory.com/skills/devcxl-writing-shape)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: writing-shape
description: Writing, exploit : 将原始素材逐段塑形为一篇文章。
disable-model-invocation: true
---

<what-to-do>

用户已经传入(或即将传入)一份 markdown 格式的原始素材文件。将其视为输入材料堆:可以是从整洁的碎片列表到一团无结构的文字墙再到一份转录稿的任何形式。格式不重要。在做任何其他事情之前从头读到尾。

然后进行一次塑造环节,生成一份独立的文章文档。这是 **exploit(利用)**:探索已经完成,素材堆已经固定:承诺一个结构,然后开采素材堆来填充它。不要编辑原始素材文件:它对本技能而言是只读的。

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

</what-to-do>

<supporting-info>

## 循环流程

1. **阅读材料堆。** 通读整个输入文件。形成对其中内容的感知。
2. **设定先决条件。** 与用户确定读者进入时已经知道什么:那些从一开始就被**夯实(grounded)**的概念。其他所有概念必须被某个块夯实后,后续块才能使用它。参见[夯实(Grounding)](#夯实grounding)。
3. **起草 2–3 个候选开头。** 每个开头应暗示文章的不同论点或角度。全部展示出来。让用户必须选择或组合一个混合版本。被选定的开头决定了文章剩余部分必须完成的任务。
4. **逐块推进。** 开头确定后,问"给定这个开头,读者接下来需要听到什么?"从材料堆中提取内容来回答。下一个块只能依赖于已夯实的概念,并且随着落地同时夯实新概念。就下一个块的形式进行争论:段落、列表、表格、标注框、引用还是代码块。每一次格式选择都应该是有意为之且站得住脚的。
5. **随时追加到文章文件。** 不要攒在一起。每个达成一致的段落或块立即写入,让用户能看到文章逐渐成型。
6. **循环步骤 4 直到文章完成。** 由用户决定何时完成。

## 夯实(Grounding)

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

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

- **先决条件(Prerequisite)**:在开头之前就被夯实。读者自带。在开始时固定。
- **引入(Introduced)**:某个块建立它,此后它对文章剩余部分都是已夯实的。

持续追踪当前已夯实的清单。当你问"读者接下来需要听到什么?"时,下一个动作需要的未夯实概念本身就是答案:先夯实它:在这里或在之前的块中:否则你无法做出该动作。这比[从材料堆中提取](#从材料堆中提取)的缺口命名高一个层级:那里是材料堆缺少素材;这里是文章缺少基础。

最大的杠杆在于你把什么设为先决条件,与你在文章内部夯实什么之间的取舍。要求太多前置知识会把读者挡在门外;在内部夯实太多又会让开头淹没在定义中。在设定先决条件时与用户商议这一点。

## 对话感

这是一个倒置的盘问环节。在构思时,问题是"你到底注意到了什么?"而这里的问题是"这篇文章到底在论证什么,以及读者需要以什么顺序来接收?"要顶回去。拒绝让薄弱的过渡蒙混过关。如果某一段不配占据那个位置,就砍掉。

持续使用的具体招数:

- "这段文字给读者提供了前一段没有提供的什么?"
- "如果我把这段删掉,什么会坏掉?"
- "这是散文,还是应该用列表?为什么是散文?"
- "这句话在同时做两件事:拆开还是只保留一件。"
- "开头承诺了 X。我们已经跑偏到了 Y。要么重新串联起来,要么修改开头。"

## 从材料堆中提取

将原始素材视为采石场,而非剧本。提取一个片段,改写以适配周围的段落,然后放入。一个片段可以被拆分到多个段落中、与另一个合并,或被转述。材料堆的任务是被开采;文章的任务是读起来像一个声音。

如果材料堆缺少文章需要的某些东西,明确指出缺口:"这里需要一个例子,材料堆里没有:现在给我一个,否则我们砍掉这一节。"

## 真正要进行的格式争论

在选择如何呈现一个块时,与用户一起大声权衡以下取舍,而不是暗自决定:

- **散文 vs. 列表。** 散文承载论证;列表承载并列项目。如果项目不是真正并列的,散文更好。如果是并列的,列表更快扫描。
- **内联 vs. 标注框。** 提示、警告和题外话放进标注框(`> [!TIP]`、`> [!NOTE]`):但仅限于它们真的会让主线论证跑偏的情况下。否则留在行内。
- **表格 vs. 重复结构。** 如果相同的结构以相同字段重复 3 次以上,用表格。否则用加粗引导句的散文。
- **引用 vs. 转述。** 当原文措辞本身有意义时引用。当只有想法重要时转述。
- **代码块 vs. 行内代码。** 多行、可运行或用于展示 → 代码块。单个 token 或标识符 → 行内。

## 写作节奏

每个块达成一致后就追加到文章文件。每次写入前从磁盘重新读取文件:用户可能在两轮之间编辑过。永远不要盲目覆盖。如果用户想重写某段,就地编辑该段;其余保持不变。

## 范围之外

- 挖掘不在材料堆中的新碎片(按"从材料堆中提取"处理缺口)。
- 编辑原始素材文件。
- 发布、针对特定平台格式化或添加用户未要求的 frontmatter。

</supporting-info>

Attribution

devcxldevcxl
View sourceSee grades on GitHubMore from devcxl →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698461 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →