Communitygithub.com

gzb1128/skill-forge

Skill Forge:Claude Code 插件市场,用于代理文档、代码质量工作流和 OpenCode 自定义配置。

skill-forge 是什么?

Skill Forge 是一个专为 Claude Code 设计的插件管理技能,其核心功能是帮助用户系统性地将会话中的关键信息提炼并记录到 `AGENTS.md` 文件中。该技能严格遵循“不可推导性”原则,确保只记录那些无法通过阅读代码、git 历史或现有文档获得的知识,从而避免冗余。它提供了从候选洞察提取、分类、验证到最终提案的完整工作流,支持“隐藏知识”、“快速参考”、“规则”和“文档”等多种分类。该技能适用于需要精心维护 `AGENTS.md` 以持续提升 AI 代理(如 Claude Code)在特定项目中工作效率的开发者,它通过手动触发(`/agent-docs:learn`)来确保用户对每一次文件修改拥有完全的控制权。

兼容平台✓Claude Code~Codex CLI~Cursor✓OpenCode
npx skills add gzb1128/skill-forge

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

手动触发技能。 disable-model-invocation: true 可防止模型在任务进行中自动调用此工作流。从本插件安装后,请在会话结束时有意使用 /agent-docs:learn 触发。 请勿添加钩子、后台任务、自动触发行为、运行时存储、向量数据库、MCP 集成或外部记忆系统。

回顾本次会话中发生的内容,并为适当的 AGENTS.md 文件生成可验证、可审查的记忆提案。在用户看到提议的差异并明确批准之前,不要编辑文件。

不可推导性原则

仅记录无法从代码库本身推导出的信息。 在提议任何“隐藏知识”条目之前,请先问:

下一个代理或人类能否通过阅读代码、运行 git log 或检查现有文档来发现此信息?

如果可以,则不要将其记录为隐藏知识。标准很高。大多数知识应属于源代码、提交消息或现有文档,而不是 AGENTS.md。

第 1 步:提取候选洞察

回顾当前会话并列出候选洞察。候选洞察通常来自隐藏依赖、误导性故障、项目特定的变通方案、关键顺序、命令发现或文档空白。

不要立即写入。首先对每个候选进行分类。

第 2 步:分类候选

分类目标位置规则
隐藏知识最近的 AGENTS.md 中的 ## 隐藏知识 部分仅适用于不可推导的隐藏依赖、误导性错误、变通方案、古怪行为或关键顺序
快速参考根目录 AGENTS.md 的快速参考表构建、测试、检查、运行、代码生成、清理或其他常用命令
规则仅报告建议目标团队约定或硬性边界;不要通过 /agent-docs:learn 创建或修改 docs/rules/
文档仅报告建议目标更长的设计、故障排除、运行手册或库说明;不要通过 /agent-docs:learn 创建或修改文档
跳过不写入可推导、一次性、重复、过时、通用或无法验证

隐藏知识候选

只有通过不可推导性测试的候选才能成为隐藏知识:

  1. 隐藏依赖:必须同时更改但无明显关联的文件或模块。
  2. 误导性错误:指向错误位置或原因的错误消息。
  3. 变通方案和古怪行为:与标准模式不同的项目特定行为。
  4. 关键顺序:必须按特定顺序执行的操作。

跳过条件

跳过满足以下条件的候选:

  • 通过阅读源代码即可看到的代码模式、架构或文件结构。
  • git log 或 git blame 已记录的 Git 历史或近期更改。
  • 修复已写入代码且提交消息应包含上下文的调试解决方案。
  • 已存在于 AGENTS.md、docs/rules/ 或 README 中。
  • 标准语言或框架行为。
  • 属于快速参考而非隐藏知识的不明显命令。
  • 短暂的会话细节,包括临时失败的尝试。
  • 未经证实的声明。

第 3 步:验证每个保留的候选

每个保留的候选在提议之前都需要明确的证据:

候选提及内容验证证据
文件路径使用 ls 或读取文件确认路径存在
函数、类型、命令或符号使用搜索或语言感知查找确认存在
行为或约束运行最小的相关命令、检查源代码,或解释为什么直接执行不安全
现有的 AGENTS.md 内容读取目标部分并检查是否存在过时或重复的条目

如果验证失败,则将候选分类为 跳过 并解释失败的检查。如果无法安全执行验证,则将其报告为未验证,并且不提议写入。

第 4 步:选择目标文件

根据受影响的范围选择最近的 AGENTS.md:

洞察范围目标文件
影响整个项目根目录 AGENTS.md
影响特定包<包>/AGENTS.md
影响复杂模块<包>/<模块>/AGENTS.md,仅当符合子包条件时

对于“隐藏知识”,在目标 AGENTS.md 末尾追加或创建 ## 隐藏知识 部分。每条洞察保持在 1-3 行。

对于“快速参考”,提议在根目录 AGENTS.md 的表中更新一行。

对于“规则”和“文档”,仅报告建议目标。不要通过此命令创建或修改规则文档、设计文档、故障排除文档、运行手册或库文档。

第 5 步:先展示提议的变更

在编辑任何文件之前,以如下格式展示所有提案:

## 学习提案

### 1. `<分类>` -> `<目标文件>`

**原因:** <一句话说明这对未来会话有帮助的原因>

**验证:** <路径/符号/命令/行为证据>

**操作:** <添加/更新/跳过/仅报告>

```diff
- <现有行,仅在更新已批准的现有条目时>
+ <确切的提议添加或替换内容>
```

### 跳过的候选

1. `<候选>` -> 因 <原因> 跳过

### 仅报告的建议

1. `<候选>` -> 应属于 <建议的目标>,不由 `/agent-docs:learn` 处理

不要跳过差异和批准步骤。即使用户要求快速应用,用户也必须首先看到确切的提议更改并批准。

第 6 步:仅应用已批准的更改

批准后:

  1. 仅应用用户批准的提案。
  2. 保留现有的 AGENTS.md 结构,并保持添加内容简洁。
  3. 不要通过 /agent-docs:learn 执行全面清理;使用 /agent-docs:remember 处理过时、重复或放错位置的现有记忆。
  4. 报告更改了什么、在哪里更改,以及哪些候选被跳过。

流程

  1. 回顾对话历史以获取候选洞察。
  2. 将每个候选分类为“隐藏知识”、“快速参考”、“规则”、“文档”或“跳过”。
  3. 对“隐藏知识”候选应用不可推导性测试。
  4. 验证每个保留的候选并记录证据。
  5. 选择正确的 AGENTS.md 目标或仅报告目标。
  6. 展示提议的差异和跳过的候选。
  7. 等待用户明确批准。
  8. 仅应用已批准的 AGENTS.md 更改。
  9. 报告最终的写入、跳过和剩余的仅报告建议。

相关技能