Community写作与编辑github.com

zakelfassi/skills-driven-development

通过实践学习的智能体——并记住它们是如何做到的。一种让AI智能体创造、演进和共享可复用技能的方法论。

skills-driven-development 是什么?

SkillForge 是一种让 AI 智能体(如 Claude Code、Cursor 等)能够从观察到的模式中创建符合规范、可复用的技能的方法论。它解决了传统 AI 会话中每次重复相同操作、无法积累经验的问题。当智能体在同一个会话中重复执行相同序列超过 2-3 次、项目约定未被文档化、或解决了某个可复用的难题时,用户就可以使用 SkillForge 来“锻造”一个技能。该技能包含标准的 SKILL.md 文件(定义名称、描述、输入、步骤、约定和边界情况),并支持可选脚本和参考文档。锻造完成后,技能会自动注册到项目根目录的 .skills-registry.md 或 .skills-registry.json 中,从而实现跨会话、跨项目的技能复用和演进。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add zakelfassi/skills-driven-development

Installed? Explore more 写作与编辑 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜欢的 AI 中提问

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

文档

SkillForge

从观察到的模式中创建符合规范、格式正确的技能。

何时锻造

✅ 需要锻造时:

  • 在同一会话中你已重复执行相同序列操作 2-3 次
  • 项目约定没有被记录在任何地方
  • 你解决了一个难题,并且该解决方案是可复用的
  • 有人要求你创建一个技能

❌ 无需锻造时:

  • 这是一次性任务
  • 已有技能已经涵盖该场景(此时应更新)
  • 所谓的“技能”只是一个单一命令(请使用脚本别名)

步骤

1. 命名模式

  • 该技能解决什么问题?
  • 什么触发了它?(要具体——description 字段是发现的入口)
  • 输入和输出是什么?

2. 选择一个名称

  • 使用 kebab-case,长度为 1-64 个字符
  • 尽量以动词开头:deploy-preview、scaffold-component、triage-bug
  • 每个技能只负责一个职责

3. 创建技能目录

mkdir -p skills/<skill-name>

4. 编写 SKILL.md

使用以下骨架:

---
name: <skill-name>
description: <该技能的作用>. 当 <触发器> 时使用。
metadata:
  forged-by: <智能体ID>
  forged-from: <会话或上下文>
  forged-reason: "<创建该技能的原因>"
---

# <技能名称>

## 输入
- ...

## 步骤
1. ...
2. ...

## 约定
- 项目特定的模式

## 边界情况
- 已知的陷阱或特殊处理

5. 添加脚本(可选)

如果技能涉及文件生成或自动化:

skills/<skill-name>/
├── SKILL.md
├── scripts/
│   └── run.sh         # 可执行的自动化脚本
└── references/
    └── conventions.md # 详细参考文档(保持 SKILL.md 简洁)

6. 注册技能

更新项目根目录下的 .skills-registry.md(与 skills/ 同级)。如果文件不存在则创建它:

| <skill-name> | local | <今天> | 1 | <description> |

如果项目使用了机器可读的注册表(.skills-registry.json),也要一并更新——skdd forge 会自动处理两种格式。

更新现有技能

当你使用某个技能并遇到它未覆盖的场景时:

  1. 将新的边界情况或步骤添加到现有的 SKILL.md 中
  2. 如果技能变得过长(超过 200 行),进行拆分
  3. 在注册表中更新 last-used 并递增 usage-count

质量控制清单

在提交新技能之前:

  • name 使用 kebab-case,长度 ≤ 64 个字符
  • description 包含该技能的作用以及何时使用
  • 步骤已编号且可操作
  • 没有硬编码路径、密钥或环境特定的值
  • SKILL.md 不超过 200 行(将详情移至 references/)
  • 已在 .skills-registry.md 中注册

相关技能