Communitygithub.com

gzb1128/skill-forge

Skill Forge: Claude Codeプラグインマーケットプレイス。エージェントハーネス用ドキュメント、コード品質ワークフロー、OpenCodeカスタマイズに対応。

skill-forge とは?

このスキルは、Claude Codeセッションの終了時に `/agent-docs:learn` コマンドとして手動で呼び出し、セッション内で得られた知見を検証・レビュー可能な形で `AGENTS.md` ファイルに提案するためのワークフローを提供します。主な目的は、コードベースからは導出できない「隠れた知識」を記録することであり、重複や自明な情報の混入を防ぐための厳格なフィルタリングプロセスを持ちます。提案は必ず差分(diff)形式でユーザーに確認・承認された後にのみファイルに反映されるため、安全にナレッジを蓄積できます。Claude Code上で動作し、`AGENTS.md` への「隠れた知識」の追加やクイックリファレンスの更新に特に有用です。

対応✓Claude Code~Codex CLI~Cursor✓OpenCode
npx skills add gzb1128/skill-forge

お気に入りのAIに質問する

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

ドキュメント

手動トリガースキル。 disable-model-invocation: true により、モデルがこのワークフローをタスクの途中で自動的に呼び出すことを防ぎます。このプラグインからインストールした場合、セッションの最後に /agent-docs:learn として明示的に呼び出してください。フック、バックグラウンドタスク、自動トリガー動作、実行時ストレージ、ベクトルデータベース、MCP統合、外部メモリシステムは追加しないでください。

このセッションで発生した内容をレビューし、適切な AGENTS.md ファイルへの検証済みでレビュー可能なメモリ提案を作成します。ユーザーが提案された差分を確認し、明示的に承認するまでファイルを編集しないでください。

非導出可能性の原則

コードベース自体から導出できない情報のみを記録してください。 「隠れた知識」エントリを提案する前に、次のように自問してください。

次のエージェントや人間は、コードを読んだり、git log を実行したり、既存のドキュメントを確認したりすることで、これを発見できますか?

はいの場合、それを隠れた知識として記録しないでください。基準は高く設定されています。ほとんどの知識は、AGENTS.md ではなく、ソース、コミットメッセージ、または既存のドキュメントに属します。

ステップ1: 候補となる知見を抽出する

現在のセッションをレビューし、候補となる知見をリストアップします。候補は通常、隠れた依存関係、誤解を招く失敗、プロジェクト固有の回避策、重要な順序、コマンドの発見、またはドキュメントのギャップから生じます。

まだ何も書き込まないでください。最初に各候補を分類します。

ステップ2: 候補を分類する

分類保存先ルール
Hidden Knowledge最も近い該当 AGENTS.md の ## Hidden Knowledge セクション以下導出不可能な隠れた依存関係、誤解を招くエラー、回避策、癖、または重要な順序のみ
Quick Referenceルート AGENTS.md のクイックリファレンステーブルビルド、テスト、lint、実行、コード生成、クリーン、またはその他の一般的なコマンド
Rule提案先のみ報告チームの慣習または厳格な境界。/agent-docs:learn から docs/rules/ を作成または変更しないでください
Doc提案先のみ報告長めの設計、トラブルシューティング、ランブック、またはライブラリノート。/agent-docs:learn からドキュメントを作成または変更しないでください
Skip書き込みなし導出可能、一度きり、重複、古い、一般的、または検証不能

隠れた知識の候補

非導出可能性テストに合格した候補のみが隠れた知識になりえます:

  1. 隠れた依存関係: 一緒に変更する必要があるが、明らかには関連していないファイルまたはモジュール。
  2. 誤解を招くエラー: 間違った場所や原因を指し示すエラーメッセージ。
  3. 回避策と癖: 標準パターンとは異なるプロジェクト固有の動作。
  4. 重要な順序: 特定の順序で実行する必要がある操作。

スキップ基準

以下の候補はスキップします:

  • ソースを読めばわかるコードパターン、アーキテクチャ、ファイル構造。
  • git log や git blame が既に記録している Git 履歴や最近の変更。
  • 修正がコードに組み込まれ、コミットメッセージがコンテキストを伝えるべきデバッグ解決策。
  • AGENTS.md、docs/rules/、または README に既に存在するもの。
  • 標準的な言語またはフレームワークの動作。
  • クイックリファレンスに属し、隠れた知識には属さない非自明なコマンド。
  • 一時的に失敗した試行を含む、一時的なセッションの詳細。
  • 未検証の主張。

ステップ3: 保持された各候補を検証する

保持されたすべての候補は、提案される前に明示的な証拠を必要とします:

候補が言及するもの検証証拠
ファイルパスls でパスの存在を確認するか、ファイルを読み込む
関数、型、コマンド、またはシンボル検索または言語対応のルックアップで存在を確認する
動作または制約最小の関連コマンドを実行するか、ソースを検査するか、直接実行が安全でない理由を説明する
既存の AGENTS.md コンテンツ対象セクションを読み、古いエントリや重複エントリがないか確認する

検証に失敗した場合、候補を Skip に分類し、失敗したチェックを説明します。安全に検証を実行できない場合、未検証として報告し、書き込みを提案しないでください。

ステップ4: ターゲットを選択する

影響範囲に最も近い AGENTS.md を選択します:

知見の範囲対象ファイル
プロジェクト全体に影響ルート AGENTS.md
特定のパッケージに影響<package>/AGENTS.md
複雑なモジュールに影響<package>/<module>/AGENTS.md(サブパッケージの基準を満たす場合のみ)

Hidden Knowledge については、対象の AGENTS.md の末尾付近に ## Hidden Knowledge セクションを追加するか、既存のセクションに追記します。各知見は1〜3行に収めます。

Quick Reference については、ルート AGENTS.md のテーブルに行の更新を提案します。

Rule と Doc については、提案先のみを報告します。このコマンドからルールドキュメント、設計ドキュメント、トラブルシューティングドキュメント、ランブック、またはライブラリドキュメントを作成または変更しないでください。

ステップ5: 最初に変更案を表示する

ファイルを編集する前に、すべての提案を次の形式で表示します:

## 学習提案

### 1. `<分類>` -> `<対象ファイル>`

**理由:** <将来のセッションに役立つ一行の理由>

**検証:** <パス/シンボル/コマンド/動作の証拠>

**アクション:** <追加/更新/スキップ/報告のみ>

```diff
- <既存の行。承認済みの既存エントリを更新する場合のみ>
+ <正確な追加または置換の提案>
```

### スキップされた候補

1. `<候補>` -> スキップ理由: <理由>

### 報告のみの提案

1. `<候補>` -> <提案先> に属します。`/agent-docs:learn` では処理しません。

差分と承認のステップをスキップしないでください。ユーザーが迅速な適用を要求した場合でも、ユーザーは正確な変更案を確認し、最初に承認する必要があります。

ステップ6: 承認された変更のみを適用する

承認後:

  1. ユーザーが承認した提案のみを適用します。
  2. 既存の AGENTS.md の構造を維持し、追加は簡潔に保ちます。
  3. /agent-docs:learn から一般的なクリーンアップを実行しないでください。古い、重複した、または誤って配置された既存のメモリには /agent-docs:remember を使用します。
  4. 何が、どこで変更されたか、およびどの候補がスキップされたかを報告します。

手順

  1. 会話履歴をレビューし、候補となる知見を抽出します。
  2. 各候補を Hidden Knowledge、Quick Reference、Rule、Doc、または Skip に分類します。
  3. Hidden Knowledge 候補に非導出可能性テストを適用します。
  4. 保持されたすべての候補を検証し、証拠を記録します。
  5. 正しい AGENTS.md ターゲットまたは報告のみの宛先を選択します。
  6. 提案された差分とスキップされた候補を表示します。
  7. ユーザーによる明示的な承認を待ちます。
  8. 承認された AGENTS.md 変更のみを適用します。
  9. 最終的な書き込み、スキップ、および残りの報告のみの提案を報告します。

関連スキル