Kulaxyz/self-learning-skills

A self-improving skill for AI coding agents (Claude Code, Cursor, AGENTS.md): recognize a hard-won golden path in a session and harvest it into a reusable skill/rule for next time.

self‑learning‑skills – AIコーディングエージェントのためのメタスキル

概要

  • あらゆるAI駆動型コーディングアシスタント(Claude Code、Cursor、Codex、Aider、Gemini‑CLI、Zedなど)に追加できる小さな「スキル」です。
  • その目的はコード自体を書くことではなく、デバッグやデプロイのセッション中にエージェントが発見した手順を記憶し、将来のセッションで自動的に再現することです。

重要性

  • LLMベースのエージェントを使用する場合、新しいセッションを開始するたびに「本番DBへの接続方法は?」や「デプロイコマンドは何だったか?」といった発見プロセスを繰り返す必要があります。このスキルは、苦労して得た「ゴールデンパス」(うまくいかなかった方法を含む)をキャプチャし、エージェントが次回自動的に読み込める場所に保存することで、場当たり的なトラブルシューティングを再利用可能な知識に変えます。

仕組み

  1. 認識 – スキルはエージェントの出力を監視し、合図(例:ユーザーが*「これを覚えておいて」*と言う、またはエージェントが数回の試行の末に成功する)を待ちます。
  2. キャプチャ – 手順(または単一の事実)の簡潔で自己完結型の説明を作成し、関連する場合は回避した失敗の試みについてのメモを記録します。
  3. 再利用 – 次のセッションでは、保存されたエントリが新しいスキル(複数ステップのワークフロー用)または軽量なメモ(単一の事実用)として自動的に読み込まれます。エージェントは手順を再導出することなく、それを適用できます。

ツールごとの永続化

エージェント / ツール 知識の書き込み先 自動読み込みの方法
Claude Code, Codex, その他の Agent Skills クライアント skills/<name>/SKILL.md Agent Skills フレームワークのスキルマッチングロジック
Cursor .cursor/rules/learned/<name>.mdc Cursor のルールグロビングメカニズム
Zed, Aider, Gemini‑CLI, AGENTS.md を読み取るツール AGENTS.md (またはプロジェクト全体のメモ) 起動時に毎回ファイルを読み込む

インストールオプション

  • npx によるワンライナー(推奨) – インストールされているエージェントを検出し、適切なファイルを配置します:
    npx skills add kulaxyz/self-learning-skills          # 現在のプロジェクトにローカル追加
    npx skills add kulaxyz/self-learning-skills -g      # 全プロジェクトにグローバル追加
    npx skills add kulaxyz/self-learning-skills -a claude-code  # Claude Code のみ
    
  • Claude Code プラグイン – 内蔵マーケットプレイスから追加:
    /plugin marketplace add kulaxyz/self-learning-skills
    /plugin install self-learning@self-learning-skills
    
  • 手動コピー – リポジトリをクローンし、関連するディレクトリ/ファイルを適切な場所にコピーします(READMEの「Manual」セクションを参照)。

昇格ルール(品質ガード) キャプチャされたエントリは、3つの条件すべてを満たした場合にのみスキルになります:

  1. 手順が検証されていること(テスト合格、ビルド成功など)。
  2. 回避した失敗パターンが明示的に命名されていること。
  3. 試行して除外された行き止まりが少なくとも1つ記録されていること。 条件が欠けている場合、エントリは暫定的なメモとして残るか破棄され、未検証の推測がスキルセットを汚染するのを防ぎます。

安全上の考慮事項

  • このスキルは実際のシークレット値を書き込むことはありません。シークレットがどこにあるか(例:環境変数名、シークレットマネージャーのルックアップ)のみを記録します。
  • 生成されたファイルはコミットされることを前提としているため、設計上、認証情報の漏洩を意図的に回避しています。

リポジトリ構成(クイックマップ)

self-learning-skills/
├─ AGENTS.md                # AGENTS対応ツール向けの汎用ループ記述
├─ skills.sh.json           # `npx skills` インストーラー用マニフェスト
├─ .claude-plugin/…         # Claude Code マーケットプレイス用メタデータ
├─ skills/self-learning/    # コアスキルファイル (SKILL.md, テンプレート, ドキュメント)
└─ .cursor/rules/…          # Cursor ルールおよび learned‑rules フォルダ

典型的な使用例

  1. LLMエージェントとのデバッグセッションを開始します。
  2. 数回の試行を経て、データベースを移行するための正しいコマンドを発見します。
  3. *「これを覚えておいて」*と言います(またはスキルが成功を自動的に検出します)。
  4. スキルは移行手順と失敗した試みを記述した SKILL.md(またはCursor用の .mdc)を書き込みます。
  5. 次のセッションで、エージェントはスキルを自動的に読み込み、試行錯誤を繰り返すことなく移行を実行できます。

制限事項

  • Agent‑Skills 標準をサポートしているか、AGENTS.md を読み取る基盤エージェントに依存します。そのようなフックを持たないツールでは利用できません。
  • 「瞬間を認識する」検出はヒューリスティックです。合図を逃すと知識はキャプチャされません。
  • 昇格ルールには検証ステップの合格が必要なため、純粋な情報的事実(例:「本番DBのURLは DATABASE_URL にある」)は、実行可能なスキルではなく、軽量なメモとしてのみ保存されます。

ライセンス

  • MIT © kulaxyz (LICENSE を参照)。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト