write-a-skill
以正确的技能结构、渐进式披露与打包资源来创建新的 agent 技能。适用于用户希望创建、编写或构建新的技能。
Best use case
write-a-skill is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
以正确的技能结构、渐进式披露与打包资源来创建新的 agent 技能。适用于用户希望创建、编写或构建新的技能。
Teams using write-a-skill should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/write-a-skill/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How write-a-skill Compares
| Feature / Agent | write-a-skill | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
以正确的技能结构、渐进式披露与打包资源来创建新的 agent 技能。适用于用户希望创建、编写或构建新的技能。
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 写作技能(Writing Skills)
## 流程(Process)
1. **收集需求** - 询问用户关于:
- 该技能覆盖的任务/领域是什么?
- 需要处理哪些具体使用场景?
- 是否需要可执行脚本,还是只提供说明即可?
- 是否需要附带参考资料?
2. **起草技能** - 创建:
- 简洁的 `SKILL.md` 主说明
- 若内容超过 500 行,补充额外参考文件
- 若需要确定性操作,再添加工具脚本
3. **与用户一起复核** - 展示草稿并询问:
- 这是否覆盖你的使用场景?
- 是否有遗漏或不清楚之处?
- 哪些章节需要更详细/更精简?
## 技能结构(Skill Structure)
```
skill-name/
├── SKILL.md # 主说明(必需)
├── REFERENCE.md # 详细文档(如需)
├── EXAMPLES.md # 使用示例(如需)
└── scripts/ # 工具脚本(如需)
└── helper.js
```
## SKILL.md 模板
```md
---
name: skill-name
description: 对能力的简短说明。适用于 [特定触发条件]。
---
# 技能名称
## 快速开始
[最小可用示例]
## 工作流
[包含检查清单的分步骤流程(适用于复杂任务)]
## 高级特性
[如需更详细内容:见 [REFERENCE.md](REFERENCE.md)]
```
## 描述要求(Description Requirements)
描述是你的 agent 在决定加载哪个技能时,**唯一会看到的内容**。它会与其他已安装技能一起展示在系统提示词中。agent 会读取这些描述,并根据用户请求选择最相关的技能。
**目标**:让 agent 只需要获得足够信息即可判断:
1. 该技能提供什么能力
2. 何时/为何触发它(具体关键词、上下文、文件类型等)
**格式要求**:
- 最多 1024 个字符
- 使用第三人称表述
- 第一句:做什么
- 第二句:使用“适用于 [特定触发条件]”
**良好示例**:
```
从 PDF 文件中提取文本与表格,填写表单并合并文档。适用于处理 PDF 文件,或用户提到 PDF、表单、文档提取等场景。
```
**不良示例**:
```
处理文档。
```
该不良示例无法让 agent 与其他文档类技能区分开来。
## 何时添加脚本(When to Add Scripts)
当需要以下情况时,添加工具脚本:
- 操作是确定性的(如校验、格式化)
- 同一段逻辑会被反复生成
- 错误需要显式处理
相较于生成代码,脚本可以节省 token,并提升稳定性与可预期性。
## 何时拆分文件(When to Split Files)
当出现以下情况时,将内容拆分到独立文件:
- `SKILL.md` 超过 100 行
- 内容属于不同领域(例如财务 vs 销售 schema)
- 高级特性很少需要
## 复核清单(Review Checklist)
起草完成后,请复核:
- [ ] 描述包含触发条件(例如“适用于...”)
- [ ] `SKILL.md` 行数少于 100
- [ ] 不包含时间敏感信息
- [ ] 术语前后一致
- [ ] 包含具体示例
- [ ] 引用内容只需一层(不要过度嵌套引用)Related Skills
write-a-prd
通过用户访谈、代码库探索与模块设计来编写 PRD(产品需求文档),然后以 GitHub issue 的形式提交。适用于用户希望编写 PRD、创建产品需求文档,或规划一个新功能。
ubiquitous-language
从当前对话中抽取 DDD 风格的“统一语言”术语表(ubiquitous language glossary),标记歧义,并提出规范的术语选择。保存为 `UBIQUITOUS_LANGUAGE.md`。适用于用户希望定义领域术语、构建术语表、固化用词并强化术语一致性,或提到 “domain model” / “DDD”(领域模型与 DDD)。
triage-issue
通过探索代码库对 Bug/Issue 进行排查归因,并基于 TDD 方式生成修复计划,同时创建对应的 GitHub issue。适用于用户报告了 bug、希望创建 issue、提到“triage”,或想调查并规划某个问题的修复方案。
tdd
使用 RED-GREEN-重构(red-green-refactor)循环进行测试驱动开发。适用于用户希望用 TDD 构建新功能或修复 bug,提到 “red-green-refactor”,希望使用集成测试,或询问“test-first development(先写测试)”。
request-refactor-plan
通过用户访谈创建一个详细的重构计划,并将其拆分成很小的提交(tiny commits),最后以 GitHub issue 的形式归档。适用于用户希望规划一次重构、创建重构 RFC,或把重构拆成安全的渐进步骤。
prd-to-plan
使用 tracer-bullet 竖向切片方法把 PRD 转换成多阶段的落地实施计划,并保存为本地 Markdown 文件(存放在 `./plans/`)。适用于用户希望把 PRD 拆分为多个阶段、生成实施计划、从 PRD 推导阶段计划,或提到 “tracer bullets”。
prd-to-issues
使用 tracer-bullet 竖向切片法,把 PRD 拆分成彼此独立、可以直接认领的 GitHub issues(并形成对应的实现工单)。适用于用户想把 PRD 转成 issues、创建实现任务,或把 PRD 拆成工作项。
improve-codebase-architecture
探索代码库以发现架构改进机会,重点让代码库更容易测试:通过“加深浅模块(deepening shallow modules)”的方式重构模块结构。适用于用户想改善架构、寻找可重构机会、整合强耦合模块、或让代码库更便于 AI 导航与理解。
grill-me
对用户在计划或设计方面进行“无情的质询”,直到形成共同理解,并逐一解决决策树中每个分支的依赖关系。适用于用户希望对某个计划进行压力测试、希望被严格追问他们的设计,或提到 “grill me(来烤我/质问我)”。
frontend-code-review
指导在项目中对前端代码(Next.js/React/TypeScript/Tailwind 等)进行结构、可维护性、性能与一致性审查,基于既定规则清单。适用于用户请求审查 .tsx/.ts/.js/.jsx 等前端文件或前端目录下的页面与组件。不用于后端代码(如 .py)。
edit-article
通过重组文章的段落结构、提升表达清晰度,并收紧措辞来编辑与改进文章。适用于用户希望编辑、修订或完善一份文章草稿。
design-an-interface
使用并行子 agent 为某个模块生成多个根本不同的接口设计。适用于用户希望设计某个 API、探索接口选项、对比模块形状(module shapes),或提到“design it twice(把它设计两遍)”。