使用 9 种内容模式和 10 条编辑原则评估并优化技能文件质量。适用于创建技能、完善技能内容或审计技能质量的场景。
Scanned 9/4/2026
Install to Claude Code
npx -y skills add shinpr/ai-coding-project-boilerplate --skill skill-optimization --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Skill Optimization?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/shinpr-skill-optimization-9568c7db)More formats (shields.io, HTML) on the badges page.
---
name: skill-optimization
description: 使用 9 种内容模式和 10 条编辑原则评估并优化技能文件质量。适用于创建技能、完善技能内容或审计技能质量的场景。
---
# 技能内容优化
## 核心理念
1. **基于发现**:每次变更都应解决一个已记录的问题,或遵循一个具名的项目专属来源
2. **具体化**:每种模式都提供检测标准和转换方法
3. **聚焦结构**:优化表达和组织方式;领域知识本身保持不变
4. **保留意图**:在改变结构、措辞、约束、上下文或示例之前,记录原始需求
5. **可追溯**:将每一处应用的变更关联到一个发现或具名的项目来源
6. **自包含**:确保每个纯技能在单独加载时都可独立执行;当每份副本都是独立执行所必需时,跨多个独立加载的纯技能之间的重复内容是合理的
## 内容优化模式
### P1:关键问题(必须修复)
会直接降低 LLM 使用该技能时执行准确性的问题。
#### BP-001:否定式指令 → 正向表达
| 检测 | 转换 |
|-----------|-----------|
| 技能指令中出现“不要”、“禁止”、“永远不要”、“避免” | 首先陈述期望的动作或允许的状态。仅当违反行为是不可逆的操作性动作、调用方通常无法恢复、且纯正向改写会模糊边界时,才保留明确的禁止性表述。将禁止性表述与安全替代方案以及允许跨越该边界的条件配对。可评审的质量策略应改写为正向形式。 |
**例外边界示例**:
- 允许保留:“将过期记录移至可恢复的归档区。除非用户明确授权永久删除,否则不要永久删除它们。”
- 改写为正向形式:“不要臆造问题” → “每个问题都应基于 BP 模式或 10 条原则”、“不要跳过 P1 问题” → “在每次评审中评估所有 P1 问题”、“存在 P1 问题时不要给 A 级” → “仅当 P1 数量为零时才给出 A 级”
质量策略、角色边界、评分标准和一般工作规则始终使用正向表达。调用方会校验、覆盖或丢弃的输出永远不是不可逆的。
**技能示例:**
- 修改前:“不要使用通用变量名”
- 修改后:“使用能反映用途的描述性变量名(例如 `userId` 而非 `x`)”
**为何对技能而言是关键问题**:仅有禁止性表述,会使可执行的目标状态无从确定。
#### BP-002:模糊指令 → 具体标准
| 检测 | 转换 |
|-----------|-----------|
| 模糊用词(“恰当”、“良好”、“合适”、“最佳”、“应当清晰”)遗留了一个预期成果所需的决策,且不同的合理解读会实质性改变执行或验证方式 | 按照下面的解决步骤,用**限制最少但足够充分的标准**来解决 |
| 未指定的格式、长度、范围、语气或成功标准,只要不同的合理解读同样能满足预期结果 | 视为可接受的灵活性;仅当只有一种解读符合要求时才添加约束(如下游使用方需要特定格式,参见 BP-003) |
**解决步骤**(针对第一行的发现):
1. 选择限制最少但足够充分的标准——即在排除最少有效行为的前提下,提供所需精确度的可衡量的 if-then 规则或阈值。
2. 记录其**精确度贡献**:它为预期结果所改进的可观测输出差异。
3. 记录其**约束成本**:它排除了原始意图中哪些本来有效的解决方案。
4. 只有当精确度贡献可识别、且约束成本仍保留原始意图时,才应用该标准。
5. 当输入或项目上下文无法确定该决策时,记录所需的来源,而不是凭空猜测。
**技能例外**:LLM 能从输入上下文中明确解决的表述(例如“用户遗留的空白之处”,当用户的提示词可供比对时)不算模糊——它描述的是确定性操作,而非主观判断。
**技能示例:**
- 修改前:“适当地处理错误”
- 修改后(标准来自具名来源):“遵循项目错误处理策略(docs/error-handling.md):对外部 API 调用、文件 I/O 和 JSON.parse 使用 try-catch 包裹;记录 error.name、error.stack 和时间戳;当调用方必须处理该错误时,携带上下文重新抛出。”
- 修改后(无可用来源):“将‘错误处理策略’记录为所需来源,而不是臆造 try-catch 目标、日志字段或阈值。”
**为何对技能而言是关键问题**:模糊指令会迫使模型在没有给定标准的情况下,选择一个影响结果的行为。
#### BP-003:缺失输出格式 → 结构化输出
| 检测 | 转换 |
|-----------|-----------|
| 技能描述了要做什么,但未说明预期的交付物格式 | 添加输出章节,定义输出使用方(解析、路由、比对、验证)所需的结构、字段和顺序,而非按惯例随意选择格式 |
对于技能评审,输出契约包含 BP-001 至 BP-009 的覆盖情况、稳定的发现 ID、严重程度、位置、引用依据、有依据的拒绝项、需保留的要求、未解决的输入,以及最终评级。对于技能创建,输出是完整的 `SKILL.md` 内容,加上任何所需的同目录引用文件或脚本。
**技能示例:**
- 修改前:“分析代码中的问题”
- 修改后(评审报告使用方所需的格式):“输出 `## Issues Found` 作为报告渲染器可解析的表格:| 严重程度 | 位置 | 描述 | 建议修复方案 |”
**为何对技能而言是关键问题**:结构化输出约束能减少幻觉,并使技能结果保持一致。
#### BP-009:无边界的工作生成 → 相称的工作量
| 检测 | 转换 |
|-----------|-----------|
| 一个发现、可能性或技术上有效的改进,在不改变结果、必需边界、真实使用方或必要证明的情况下变成了强制项 | 将其视为候选项;保留必需的工作,并允许无变更、复用以及有依据支持的拒绝 |
| 研究广度决定了实现或产物的范围 | 一旦预期结果可被观察到即停止;单纯的发现本身不应扩大工作范围 |
**为何对技能而言是关键问题**:能力强的模型会执行隐含的义务,因此缺乏支撑依据的可能性会凭空制造出并不能改善结果的工作。
### P2:高影响(应当修复)
处理后能提升技能有效性的问题。
#### BP-004:非结构化内容 → 有组织的格式
| 检测 | 转换 |
|-----------|-----------|
| 一大段文字没有标题分隔 | 应用标准章节顺序(见下文) |
| 一个章节中混杂了多个主题 | 拆分为各自独立的带标题章节 |
| 参考数据未使用表格呈现 | 将标准/模式列表转换为表格 |
**标准技能章节顺序:**
1. 上下文/前置条件
2. 核心概念(定义、模式)
3. 流程/方法论(分步说明)
4. 输出格式/示例
5. 质量检查清单
6. 参考资料
**条件性**:如果技能文件少于 30 行且只涉及单一主题,可跳过重新结构化。
#### BP-005:缺失或过多的上下文 → 必要且充分的上下文
| 检测 | 转换 |
|-----------|-----------|
| 技能假设了未言明的已知知识 | 添加“前置条件”章节,列出所需上下文 |
| 使用了领域术语但未加以定义 | 内联添加定义,或放入术语表。**技能例外**:属于 LLM 基础知识范围内的术语(广泛使用的技术术语、标准领域词汇)无需定义。只有项目专属术语、内部命名约定或常见 LLM 训练数据之外的领域行话才需要明确定义。 |
| 没有“何时使用”的指引 | 添加带具体场景的触发条件 |
| 对下游没有影响,且内容重复、会分散注意力或不可执行的上下文 | 将重复的事实浓缩为一条可操作的陈述;只有在需要提取出的事实时,才把原始背景信息保留在路径或引用之后;为项目专属事实标注来源 |
**技能示例:**
- 修改前:“迁移时应用绞杀者(strangler)模式”
- 修改后:“**前置条件**:存在具备可识别模块边界的现有单体应用。**何时使用**:在维持生产流量的同时替换遗留模块。”
#### BP-006:缺失或过多的流程控制 → 依据驱动的检查点
| 检测 | 转换 |
|-----------|-----------|
| 若缺少前置依据,后续动作将失效 | 添加检查点,指明所需依据和转换条件 |
| 权限、不可逆动作、机器读取的契约或完成证明是隐含的 | 将该边界明确化 |
| 一个可逆的选择被规定为强制路径 | 陈述目的、依据和选择标准;让模型自行选择路径 |
| 某检查点要求特定标签或产物,尽管存在语义等价的依据 | 除非机器读取方要求确切形式,否则应接受等价的依据 |
**关键洞察**:控制的是边界和所需依据,而非在两者之间预设的路径。
对于技能创建,依次使用三个检查点:
1. **分析检查点**:原始需求已记录、BP-001 至 BP-009 均已覆盖、每个问题都有依据、且没有未解决的输入阻碍工作的忠实完成。
2. **优化检查点**:每个发现都有一个已应用/已跳过的处理方式、每处变更均可追溯、且所有需保留的要求依然得到体现。
3. **平衡检查点**:意图保留、决策充分性、信息密度、约束必要性、工作量相称性和可追溯性均通过后,结果方为最终版本。
对于评审驱动的修复,以当前评审作为分析依据,并将优化检查点和平衡检查点应用于已接受的修复范围。
### P3:增强项(可以修复)
针对特定场景的渐进式改进。
#### BP-007:不必要或有偏差的示例 → 最小必要示例集
| 检测 | 转换 |
|-----------|-----------|
| 示例只是复述了 LLM 已知的行为 | 替换为简洁的规则或使用方所需的输出形态,并移除这些示例 |
| 示例编码了领域、产品或组织专属的映射关系、非显而易见的例外情况,或规则无法表达的边界 | 保留能覆盖这些映射关系的最小集合;将每个示例对应到它所消除的歧义 |
| 多个示例消除了相同的歧义,或所有示例都具有相同的表层模式 | 缩减为能覆盖所有情况的最小集合;仅当能消除不同的歧义时才添加新的示例 |
#### BP-008:不允许存在不确定性 → 明确的上报机制
| 检测 | 转换 |
|-----------|-----------|
| 技能要求始终给出确定性答案 | 将断言分类为已观察、已推断或未知;为模糊情况添加上报标准 |
| 没有“何时停止”的指引 | 当某个未知因素阻碍下一步时,在当前检查点停止,并指明继续所需的确切依据或用户决策 |
**技能示例:**
- 修改前:“确定根本原因”
- 修改后:“将根本原因分类为已观察、已推断或未知。当缺失的依据阻碍下一步时,在当前检查点停止,并指明继续所需的确切依据或用户决策。”
## 10 条技能编辑原则
针对技能内容的可衡量质量标准。每条原则都包含一个通过/未通过的测试。
| # | 原则 | 通过标准 | 未通过示例 |
|---|-----------|---------------|--------------|
| 1 | 上下文效率 | 每句话都提供非基础性知识、决策规则、必需边界或执行依据 | 复述基础行为,却没有给出对应的失败案例、评审发现或能体现执行影响的项目需求 |
| 2 | 去重 | 同一技能内,同一抽象层级的概念不应被解释两次。当每份副本都是独立执行所必需时,跨多个独立加载的纯技能之间的重复是合理的;应评估这些副本之间的语义一致性,而非将其替换为对同级技能的引用 | 同一条规则在同一技能中出现两次,却没有增加不同的执行作用 |
| 3 | 归类 | 相关标准集中在单一章节中(减少查阅次数) | 错误处理规则分散在 4 个章节中 |
| 4 | 可衡量性 | 标准指明了可观测的依据、确定性决策规则或有依据支撑的阈值 | “编写整洁的代码”,却没有可观测的判定条件 |
| 5 | 正向表达 | 指令陈述应当做什么(应用了 BP-001) | 将“只使用 X”写成“不要使用 any” |
| 6 | 记法一致 | 标题层级、列表样式、表格格式统一 | 同一上下文中混用 `-`、`*`、`1.` |
| 7 | 前置条件明确 | 项目专属及非基础性的前置条件均已陈述或提供链接;基础技术知识保持简洁 | 使用 "DI" 却未定义 Dependency Injection(依赖注入) |
| 8 | 优先级排序 | 最重要的条目在前,例外情况在后 | 边界情况排在常见模式之前 |
| 9 | 范围边界 | 明确说明该技能覆盖的范围,以及激活条件性内容的条件。一个纯技能应包含独立执行所需的全部上下文。跨技能引用仅保留给承担编排或技能选择角色的技能使用 | 某个纯技能因为另一个独立加载的技能中也包含某条可执行规则,就省略了该规则 |
| 10 | 工作量相称性 | 每一项必需的产物、测试、检查点或决策都应改变结果、边界、使用方结果或必要证明 | 要求实现所有发现或所有技术上有效的改进 |
## 参考资料
- **创建技能**:参见 [references/creation-guide.md](references/creation-guide.md) 了解生成流程和描述撰写指南
- **评审技能**:参见 [references/review-criteria.md](references/review-criteria.md) 了解评估流程和评级方式
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!