Communityライティング&編集github.com

zakelfassi/スキル駆動開発

エージェントが実際に行いながら学習し、その方法を記憶するための方法論。AIエージェントが再利用可能なスキルを作成、進化、共有するための手法です。

スキル駆動開発 とは?

SkillForgeは、AIエージェント(Claude Code、Cursor、Codexなど)が実際の作業パターンから再利用可能なスキルを作成・管理するための方法論とツールです。セッション中に同じシーケンスを2〜3回繰り返したときや、プロジェクトの規約が文書化されていないとき、難しい問題を解決したときにスキルを「鍛造(フォージ)」します。スキルはkebab-caseで命名され、SKILL.mdファイルに目的、トリガー、手順、エッジケースが構造化されて記述されます。作成したスキルはプロジェクトルートの.skills-registry.mdに登録され、エージェント間で共有・進化させることができます。この手法により、AIエージェントは単なるタスク実行から、継続的に学習・改善する知識体系を持つ存在へと成長します。

対応✓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に質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

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/と同じ階層)にある.skills-registry.mdを更新します。存在しない場合は作成します:

| <skill-name> | local | <今日の日付> | 1 | <説明> |

プロジェクトが機械可読なレジストリ(.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に登録されている

関連スキル