SuperAPI AI 工具集

writing-skills

写作与研究

查看项目

更新于 10-16 02:12

技能介绍

用途

writing-skills 是一个技能编写专用工具,用于创建、审计、转换和维护 Claude Code 技能。它按照 reference/conventions.md 中的规范执行,定位为技能编写专家。

主要能力

该技能支持三种工作模式:

  • 创建(Create):创建新技能。创建前会搜索现有技能(Glob: plugins//skills//SKILL.md,并 Grep description 字段查找关键词重叠),若功能重叠超过 50% 则建议更新现有技能,低于 50% 才继续创建并说明理由。随后确定技能类型(Technique、Pattern、Reference、Coordination),阅读 reference/conventions.md,按 PICS + Workflow 结构编写 SKILL.md。
  • 审计(Audit):读取技能文件及所有 reference/ 文件,依据 reference/output-format.md 的审计清单,识别问题类别与根因(而非仅症状),提出具体修复方案,并通过子代理测试后再提交。
  • 转换(Convert):完整读取现有技能,依据 reference/conventions.md 的转换检查清单逐项应用,验证转换过程中无内容或逻辑丢失。

使用方式

通过 $ARGUMENTS 传入请求,工具根据关键词匹配模式:create / write / new skill 进入创建模式;audit / review / fix / "doesn't work" 进入审计模式;convert / transform / refactor to markdown 进入转换模式。

所有模式最终都执行验证步骤(Verify Skill):

  1. 验证 frontmatter:读取前 10 行,检查 YAML 是否有效、name 与 description 是否存在。
  2. 验证结构:Grep 查找 ## 标题,确认 PICS 各节是否齐全。
  3. 验证大小:行数是否少于 500,否则需外置内容。
  4. 验证规范:阅读 reference/conventions.md 并检查合规性。
  5. 对纪律约束型技能:按 reference/testing-with-subagents.md 启动 Task 子代理进行压力场景测试。

最后按 reference/output-format.md 格式化报告。

适用场景

适用于需要新建 Claude Code 技能、审查或修复已有技能、将技能转换为 markdown 约定格式,以及在交付前验证技能质量的场景。

约束与限制

始终要求:每次技能变更都需验证,不能仅凭概念分析交付;创建新技能前先搜索重复;遵循 reference/conventions.md 的黄金标准;对纪律约束型技能使用压力场景测试。

禁止:未经验证(frontmatter、结构、入口点)就交付技能;编写概括工作流的 description(会导致代理跳过正文);接受“我能看出修复是对的”而不测试。

该技能还列出了需要停止并遵循完整工作流的红旗信号,例如“我就快速创建一个技能”“我的足够不同”“只是小改动”“我能看出修复是对的”“模式分析显示……”“没时间测试”等,对应要求分别是先查重、重叠超 50% 则更新现有技能、小改动也会破坏技能、仍需测试、分析不等于验证、未测试的技能失败时更浪费时间。

参考材料

  • reference/conventions.md — 技能结构、PICS 布局、转换检查清单
  • reference/common-failures.md — 失败模式、反模式、修复
  • reference/output-format.md — 审计清单、问题类别
  • reference/testing-with-subagents.md — 纪律约束型技能的压力场景
  • reference/persuasion-principles.md — 规则执行类技能的语言模式
  • examples/output-example.md — 具体输出示例
  • examples/canonical-skill.md — 展示所有约定的带注释技能

接口

SkillAuditResult { check: string; status: PASS | WARN | FAIL; recommendation?: string }

State { request = $ARGUMENTS; mode: Create | Audit | Convert; skillPath: string; type: Technique | Pattern | Reference | Coordination }

入口点

match (mode) { Create => steps 2, 3, 7; Audit => steps 4, 7; Convert => steps 5, 7 }