用途:pflow-skill-add 是一个仅在手动调用时使用的元技能,负责创建新的 pflow 技能。它会分析已有技能的结构模式,为新建技能生成 SKILL.md 以及可选的脚本(scripts),并把新技能登记到 README.md 的 Skills 表中。
主要能力与流程:
- 获取上下文:运行 .agents/skills/pflow-skill-add/scripts/skill-add-context.sh,得到 JSON(包含 skills_dir 及 skills 列表,每项含 name、description、scripts)。
- 澄清需求:必须明确技能做什么以及何时触发;若含糊则必须询问,不得臆测,并提议 kebab-case 格式的名称。
- 生成:按模板写入 skills/<NAME>/SKILL.md 和可选的 skills/<NAME>/scripts/,并在 README.md 的 Skills 表中加一行。
- 校验:运行 .agents/skills/pflow-skill-add/scripts/skill-add-finalize.sh --name "<NAME>",返回 {status:"ok",skill_dir,scripts_chmod}。
- 任何失败(非零退出或 JSON 中 error 字段)时打印 ⚠️ <message> 并停止。
模板要点:新技能采用三阶段结构,阶段 1(准备,可选)用只读脚本收集数据输出 JSON;阶段 2 为智能体判断与创作;阶段 3(收尾,可选)用动作脚本按智能体输出改变状态并输出 JSON。Frontmatter 含 name、description(第三人称,说明做什么与何时用,≤1024 字符)、license: MIT、allowed-tools。SKILL.md 正文依次为错误处理、步骤、可选 Gotchas、可选 Format。
脚本约定:使用 bash,set -u,按 BASH_SOURCE 推导 SCRIPT_DIR、SKILL_DIR、ROOT_DIR;stdout 只输出一行 JSON,错误以 JSON 字段(error/status)而非 stderr 表达;可复用同类技能中的 json_escape、emit_error、load_dotenv 等辅助函数。
规则与限制:能做脚本的就必须做成脚本,智能体步骤只负责判断;SKILL.md 每行都应物有所值;allowed-tools 使用安装路径 .agents/skills/<name>/scripts/...;遇到边界情况要询问,不得猜测用户意图。资料未提供安装命令、价格、支持平台与运行效果等信息。