关于 normalize-skill-for-claude
面向 Claude Code 的技能,用于依据其运行机制审查和规范技能。默认先生成 DAG 计划,只有明确要求时才执行重写。
主要功能
- 01基于运行机制审查技能
- 02生成 Markdown 和 JSON DAG 计划
- 03检查元数据与正文
- 04支持按需重写技能
- 05提供变更后验证
适用场景
- 01规划 Claude Code 技能更新
- 02检查元数据是否符合运行机制
- 03精简过长的技能正文
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ulpi-io/ skills --skill normalize-skill-for-claude安装后在 Claude Code 中输入/normalize-skill-for-claude确认已加载。
附带文件references/claude-skill-runtime.md
详细介绍
每项建议都必须以 Claude Code 的运行时行为为依据,而非个人偏好。
不可妥协的规则:
- 在规划或重写前,先阅读
references/claude-skill-runtime.md。 - 默认使用
--mode plan,除非用户明确要求立即重写。 - 将 frontmatter 视为影响最大的部分。Claude 首先根据元数据路由技能并分配预算。
- 让
SKILL.md专注于工作流。将冗长示例、框架变体和边缘情况目录移至references/或scripts/。 - 没有具体的运行时原因时,不要添加
context: fork、paths:或user-invocable: false。 - 绝不要给技能添加仅限 Agent 使用的 frontmatter。
tools、disallowedTools、skills、initialPrompt、permissionMode、maxTurns、background、memory、isolation、color和mcpServers属于 Agent,不属于技能。
为 Claude 规范化技能
输入
$target:技能目录或SKILL.md的直接路径$mode:可选。plan或rewrite。默认为plan
目标
生成经过 Claude Code 优化的技能,使其更易于自动调用、占用更少的提示词预算,并且执行更安全。除非用户明确要求直接重写,否则始终从创建针对该技能的 DAG 计划开始。
步骤 1:解析目标
- 接受技能目录或
SKILL.md的直接路径。 - 规范化为技能根目录,并确认
SKILL.md存在。 - 确定模式:
--mode rewrite表示先规划,再在同一次运行中重写- 未指定模式时使用
plan
- 检查当前技能:
SKILL.md的行数- 现有 frontmatter 字段
- 是否已存在
references/、scripts/或assets/ - 该技能看起来是仅供内部使用,还是可由用户调用
成功标准:明确技能的准确根目录、目标模式、当前文件结构以及可能的重写范围。
步骤 2:加载 Claude Code 技能运行时参考
在提出任何建议前,完整阅读 references/claude-skill-runtime.md。
从参考文档中提取以下约束:
- Claude 会优先根据 frontmatter 和简短描述来分配技能发现预算。
- 完整技能正文会在调用时加载,而非列出技能时加载。
- 当访问匹配的文件时,
paths:会激活条件技能。 context: fork会在派生的子 Agent 中运行技能,应谨慎使用。allowed-tools应尽可能缩小到所需的最低权限范围。- 重写技能时,只能使用技能原生 frontmatter,不能使用 Agent 原生头部字段。
如果此代码库包含 claude-code-source/,请使用参考文档中列出的确切源文件,在重写不常见的 frontmatter 前核实边缘情况。
成功标准:每项计划中的更改都能对应到具体的 Claude 运行时行为。
步骤 3:根据 Claude 的运行时审查当前技能
使用以下清单评估目标技能:
- 描述和触发质量
description是否说明了技能的功能、适用时机和示例触发短语?when_to_use是否缺失或不够完善?
- Frontmatter 完整性
- 添加
allowed-tools、arguments、argument-hint、user-invocable、paths、context或agent是否能改善运行时行为? - 是否存在必须移除或明确避免的仅适用于 Agent 的标头?
- 添加
- 正文大小和结构
- 正文是否包含了参考资料,而非核心工作流?
- 是否有庞大的示例、重复的清单,或应放入
references/的特定框架章节? - 结构内容审查:技能是否包含路由表(任务→参考资料映射)、个性/专业知识定义、编号规则集或关卡分类?这些是高信号内联内容,不是大量示例。为每项标记
PRESERVE-INLINE或EXTRACT-WITH-MANDATORY-LOAD。
- 调用类型
- 这是一个公开的斜杠命令、内部路由器,还是按条件启用的路径作用域辅助工具?
- 执行模型
context: fork是否有帮助?还是会割裂工作并要求流程中途与用户交互?
- 确定性优化机会
- 是否有重复的 shell 代码片段或脆弱的转换操作适合放入
scripts/?
- 是否有重复的 shell 代码片段或脆弱的转换操作适合放入
为每个问题分类:
ROUTING:元数据过弱,无法自动调用PROMPT:正文过长或冗余SAFETY:工具范围或执行模式过于宽泛STRUCTURE:应提取参考资料或脚本
成功标准:提供具体且有来源依据的审查,说明必须修改的内容及原因。
步骤 4:编写每项技能的 DAG 计划
创建以下两个文件:
.ulpi/plans/skills/<skill-name>-normalize-for-claude.md.ulpi/plans/skills/<skill-name>-normalize-for-claude.json
计划必须包含:
- 当前状态
- 行数
- 现有 frontmatter
- 当前文件夹
- 最大的臃肿内容区域
- Claude 运行时审查结果
- 将每项发现关联到
references/claude-skill-runtime.md中的来源引用
- 将每项发现关联到
- 目标状态
- 最终 frontmatter 结构
- 要保留、改写、创建或拆分的文件
- DAG 任务
- 重写 frontmatter
- 精简正文
- 提取参考资料
- 可选的脚本提取
- 验证
- 护栏
- 不得更改的内容
- 不得过度自动化的内容
- 验证
- 用于确认技能结构健全的具体命令或检查
每项 DAG 任务都应包含:
idtitlerationalefilesToModifyfilesToCreatedependenciesvalidation
成功标准:Markdown 和 JSON 计划描述相同的工作,并且可安全执行。
步骤 5:仅在用户要求时重写
如果模式为 plan,完成 DAG 产物后即停止。
如果模式为 rewrite:
- 先重写 frontmatter。
- 正文聚焦于:
- 输入
- 目标
- 工作流步骤
- 护栏
- 输出约定
- 将大篇幅内容移至
references/,但要遵守内容分类:- 大篇幅内容(移至参考资料):巨型示例、框架变体、边缘案例目录、冗长清单、前后代码示例
- 结构性内容(保留在正文中,或提取并附带强制加载指令):路由表(任务→参考资料映射)、EXTREMELY-IMPORTANT 中的编号护栏规则、门槛分类(BLOCK/CONCERN/OBSERVATION)、个性/专业知识章节
- 将任务类型映射到参考文件的路由表必须保留在正文中——它们是技能的主要导航界面。
- 具体的护栏列表(编号规则、始终/绝不)必须保留在 EXTREMELY-IMPORTANT 区块中,或在需要它们的步骤中添加强制加载指令——不能只用“参见参考资料”这种非强制提示。
- 将个性/专业知识提取到参考文件时,必须在会话开始时添加强制加载指令,而不能只在“何时加载参考资料”中提及。
- 只有在确实需要确定性、重复逻辑时才创建
scripts/。 - 保持生成的
SKILL.md简洁,便于后续编辑。
优先考虑以下重写结果:
description和when_to_use改为以触发条件为导向- 内部路由技能设为
user-invocable: false - 只有在按文件触发确实有帮助时,领域技能才添加
paths: - 只有在工作流是独立的分析/研究流程时,才使用
context: fork - 重写后的技能中不引入仅供 Agent 使用的标题
成功标准:重写后的技能在结构上更精简、路由更清晰,并且符合 Claude 的运行时行为。
步骤 6:验证结果
规划或重写后:
- 重新阅读最终的
SKILL.md。 - 确认正文没有重复参考文件的内容。
- 确认 frontmatter 字段经过有意选择,而非盲目照搬。
- 确认没有引入仅供 Agent 使用的标题。
- 确认
references/中的每个文件都由SKILL.md直接链接。 - 确认没有删除路由表、编号护栏规则或门槛分类,除非已提供替代内容。
- 确认计划或重写摘要指出了推动主要决策的 Claude 源锚点。
成功标准:人类或后续 Agent 无需猜测即可立即使用输出。
输出约定
始终报告:
Skill:目标路径和规范化根目录Mode:plan或rewriteTop runtime issues:最重要的 Claude 不匹配项Artifacts:计划或重写文件的确切路径Guardrails applied:3 至 5 条与 Claude 运行时行为相关的要点
如果使用了重写模式,还需报告:
- 哪些章节移至
references/ - 添加、移除或有意省略了哪些 frontmatter 字段
评论
支持 Markdown