关于 skill-authoring-lifecycle
skill-authoring-lifecycle 是用于在 Skill Steward 市场创建、审核和验证可安装技能包的流程指南,面向维护者与贡献者。它覆盖从需求判断和资源规划到注册、评估及弃用改名的完整生命周期。
主要功能
- 01规划并创建技能包
- 02审核结构与 frontmatter
- 03检查脚本和资源
- 04验证注册表及评估流程
- 05处理技能弃用与改名
适用场景
- 01为市场新增可安装技能
- 02审查 SKILL.md 是否符合规范
- 03准备技能包发布或技能合并
MCP 相关
MCP 未在输入中说明。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ arenukvern/ mcp_flutter --skill skill-authoring-lifecycle安装后在 Claude Code 中输入/skill-authoring-lifecycle确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/cases/infra-request-dormant.yamlnew-marketplace-skill.yamlreferences/evals.mdsources.md详细介绍
技能编写生命周期
在 Skill Stewardard 市场中,于 skills/ 下添加、审查并验证可安装的技能包。
适用场景
- 用户希望在此仓库中新增技能
- 用户说“审查此技能”或“此 SKILL.md 是否有效?”
- 为兼容
npx skills初始化SKILL.md - PR 涉及
skills/*/SKILL.md
阶段 1:创建工作流
- 确认意图——此意图是否与现有技能重叠?如果它们服务于相同的高层目标,或属于同一生命周期的两个部分,则合并到现有技能中(ADR 0016)。
- 收集示例——编写 2–3 条应触发该技能的具体用户提示词,以及 1 条不应触发的提示词。仅当请求已提供清晰的使用模式时才跳过。
- 规划资源——确定该技能是否只需要说明、用于重复性或易出错操作的
scripts/、用于详细知识的references/,或用于模板/静态文件的assets/。 - 选择名称——使用
kebab-case,长度为 1–64 个字符,并符合 Agent Skills 规则(参见docs/STANDARDS.mdx)。 - 创建目录——
skills/{name}/(目录名称必须与 frontmatter 中的name相同)。 - 复制模板——从
templates/skill/SKILL.md复制;替换占位符。 - 编写描述——用简洁的一段文字说明功能和适用时机(用户会说的触发短语)。激活所需的路由信息应写在这里,而不应只放在正文的“适用场景”部分。
- 引用来源——从
templates/skill/references/sources.md创建references/sources.md;为用到的每项规范/仓库/论文添加一行。 - 编写正文——包含编号步骤、示例和输出格式;控制在 500 行以内。
- 评估——T1 行为关键型技能(参见 STANDARDS):添加
references/evals.md和至少 2 个evals/cases/*.yaml。其他技能可选添加evals.md。 - 可选元数据——仅在 Codex 应用 UI 元数据、调用策略或工具依赖有用时,添加
agents/openai.yaml。 - 可选资源——仅创建所需的
scripts/、references/和assets/目录;删除占位资源。 - 注册技能:
- 使用当前仓库架构,将技能 ID 添加到
skills.sh.json。 - 在根目录的
README.md技能表格中添加一行。
- 对棘手的技能进行前向测试——对于宽泛或易出错的工作流,使用全新的子 Agent/对话线程,并提供自然的用户提示词和原始材料。不要在验证提示词中泄露预期答案、疑似问题或计划中的修复方案。
Frontmatter 模板
---
name: {same-as-directory}
description: {capability + trigger phrases, 20-1024 chars}
license: MIT
type: governance
metadata:
author: skill-steward
version: "1.0.0"
category: {marketplace|multi-agent|...}
---
阶段 2:审查与审计清单
在合并或发布到 skills.sh 之前审查技能包。
技能内聚性
- 完整生命周期:技能涵盖完整流程(例如创建 + 验证),而不是迫使 Agent 在任务中途切换工具。
- 包含操作机制:抽象规则或文化指南与用于落实这些规则的操作工具一并提供。
结构
- 目录名称使用
kebab-case,并与 frontmatter 中的name相同 - 文件名必须为
SKILL.md(区分大小写) - 技能文件夹内不得有
README.md(请使用references/)
Frontmatter
-
name:1–64 个字符,仅含[a-z0-9-],不能以-开头或结尾,也不能包含-- -
description:1–1024 个字符,说明功能以及何时激活 - 如果不是仓库的 MIT 许可证,则设置
license - 设置
metadata.version和metadata.author - 如果技能需要 git、网络、docker 或特定产品,则设置
compatibility - 仅当 Codex 专属 UI/策略/依赖元数据有用时,才添加
agents/openai.yaml
正文
- 工作流清晰且有编号
- 少于约 500 行(否则拆分到
references/) - 相对文件链接最多深入一层
-
references/sources.md包含外部声明对应的 URL - 记录安装命令:
npx skills add arenukvern/skill_steward --skill <name>
脚本(如有)
- 存在 shebang(
bash或node) - bash 脚本使用
set -euo pipefail - 日志输出到 stderr,机器可读的输出输出到 stdout
- 已实际运行代表性脚本,或记录跳过原因
注册表(此仓库)
-
skills.sh.json中包含技能 ID - 根目录
README.md表格中包含对应行 -
pnpm run validate通过(没有sources.md警告) - T1 行为关键:
evals/cases/*.yaml+pnpm run eval
第 3 阶段:弃用与重命名(Changesets)
我们不会保留永久性的“墓碑”技能,因为它们会使仓库变得杂乱。相反,我们将技能重命名和合并视为破坏性 API 变更,并使用标准生态工具(Changesets)进行说明。
重命名或合并技能时:
- 安全地
rm -rf删除旧技能目录。 - 从
skills.sh.json和README.md中移除旧技能。 - 生成 changeset(
pnpm changeset)记录删除,或手动创建.changeset/skill-consolidation.md文件。清楚说明移除原因以及由哪个技能替代。 - 阅读变更日志的 Agent 和用户会自动看到重定向信息。
审查输出格式
请按以下格式报告:
## Summary
{pass | needs changes}
## Errors (blocking)
...
## Warnings
...
安装
npx skills add arenukvern/skill_steward --skill skill-authoring-lifecycle
来源
请参阅 references/sources.md。研究时,请遵循 skill-source-citations。
评论
支持 Markdown