skill-capture について
skill-capture は、会話で得た再利用可能なワークフローや問題解決手法、専門知識をスキルとして記録するためのスキルです。保存先の計画から起草、要点整理、検証までを案内し、単純なルールや好みとは区別します。
主な機能
- 01会話から再利用可能な知識を特定
- 02スキルの保存先を選定
- 03スキル内容の起草と要点整理
- 04品質と形式の確認
- 05ワークフローと好みの区別
活用シーン
- 01解決した複数手順の作業を記録
- 02再利用可能なデバッグ手法を文書化
- 03見つけた専門知識をスキル化
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ shipshitdev/ skills --skill skill-captureインストール後、Claude Code で/skill-captureを入力して読み込まれたか確認します。
同梱ファイルplugin.jsonREADME.md
詳細
スキルの記録
このスキルが有効になる条件
次のいずれかに該当する内容をユーザーが述べた場合に有効になります。
明示的なリクエスト
- 「これをスキルとして保存しましょう」
- 「このワークフローは再利用できるようにしたい」
- 「これをスキルとして記録して」
- 「これをスキルにして」
- 「これをスキルに変換して」
- 「このパターンを保存して」
ワークフロー完了の合図
- 複数回の反復を経て複雑な問題を解決した
- 複数の手順からなる手順を無事に実行した
- 調査を通じて有益な専門知識を見つけた
- 他のプロジェクトにも役立つコードパターンが見つかった
学びの瞬間
- 「これは解決するのが難しかった」
- 「ようやく動くようになってよかった」
- 「もっと早く知っていればよかった」
- 「これは文書化しておくべきだ」
記録のプロセス
記録のリクエストがあった場合、該当するスキルを編集する権限が与えられます。完了の合図だけの場合、許可されるのは提案までであり、永続化やトラッカーへの登録は許可されません。ユーザーの依頼範囲を守り、その範囲外の重大な変更を行う前に確認してください。
次の5つのフェーズを順番に実行します。
フェーズ 1:特定
会話を確認し、記録できる内容を特定します。
注目する点:
| カテゴリ | 例 |
|---|---|
| ワークフロー | 何度かの反復を経て完成した複数段階の手順 |
| 専門知識 | 調査や専門知識を要する情報 |
| 問題の解決策 | 複雑な問題を解決したアプローチ |
| コードパターン | 他のプロジェクトにも役立つ再利用可能なパターン |
| 判断の根拠 | 明確な理由に基づくアーキテクチャ上の選択 |
確認事項:
- このプロジェクト固有の内容を超えて応用できますか?
- 別のエージェントセッションでも、この知識は役に立ちますか?
- 正しい形にするまで複数回の反復が必要でしたか?
- すぐには分からない手順上の知識ですか?
フェーズ 2:保存先の計画
スキルの保存先を決定します。
1. Check if an existing skill should be updated
- Glob for skills/*/SKILL.md
- Read related skills to check for overlap
2. If creating new skill:
- Choose descriptive kebab-case name
- Create in skills/<skill-name>/ directory
スキルかルールかの判断:
| スキルを作成する | ルールとして記録する |
|---|---|
| 複数の手順からなるワークフロー | ひとつの設定に関する記述 |
| 手順に関する知識 | 「常に/決して〜しない」 |
| 専門知識 | スタイルやフォーマットの設定 |
| 文脈を含むコードパターン | インポートや命名の規則 |
ルールや設定に該当する場合は、代わりに rules-capture スキルに委任してください。
フェーズ 3:内容の下書き
会話から得られた知見を SKILL.md 形式に変換します。
---
name: <skill-name>
description: <One sentence describing what the skill does and when to use it>
metadata:
version: "1.0.0"
tags: relevant, tags
---
# <Skill Title>
<Brief description of the skill's purpose>
---
## When to Use
<Clear triggers for when this skill should activate>
---
## Process
<Step-by-step workflow or procedure>
---
## Examples
<Concrete examples showing the skill in action>
---
## Integration
<How this skill works with other skills, if applicable>
フェーズ 4:要点の抽出
内容を抽出し、洗練させます。
- 最終的なアプローチを抽出する - 失敗した試みではなく、うまくいった方法だけを記録します
- 一般化する - 広く応用できないプロジェクト固有の詳細を取り除きます
- 背景を加える - 何をするかだけでなく、その方法が有効な理由も説明します
- 例を含める - 使い方が分かる具体例を加えます
チェックリスト:
- プロジェクト固有のパスや名前を削除した
- ハードコードされた値を一般化した
- 分かりにくい手順に説明を加えた
- 必要に応じて、良い例と悪い例の両方を含めた
- 命令形の文体に統一した
フェーズ 5:検証
スキルが利用できる状態であることを確認します。
品質チェック:
| チェック項目 | 要件 |
|---|---|
| 長さ | 500行未満(内容が多い場合は references/ を使用) |
| フロントマター | name と description を含む有効な YAML |
| 完全性 | すべてのセクションに意味のある内容がある |
| 実行可能性 | 指示が具体的で、従える内容になっている |
| フォーマット | ライブラリのパターンに従っている(参考として rules-capture を参照) |
検証:
# Run the package script to validate
scripts/package_skill.py skills/<skill-name>
記録する内容
適した候補
- 正しい形にするまで複数回の反復が必要だったワークフロー
- 調査を必要とした専門知識
- うまくいった問題解決のアプローチ
- プロジェクト間で再利用できるコードパターン
- アーキテクチャ上の選択を行った理由
- ツールやサービス間の連携パターン
- 特定のテクノロジーに対するデバッグの手法
アンチパターン(記録しないでください)
- 単一のプロジェクトに固有の一度限りの解決策
- 些細な修正や明白なパターン
- ほかの場所にすでに記載されている情報
- 機密情報または専有情報
- まだ改良中の未完成なワークフロー
- 手順としての価値がない好み(代わりに rules-capture を使用してください)
出力構成
スキルごとに2つのファイルを作成します。
SKILL.md
上記のフェーズ3のテンプレートを参照してください。主な原則は次のとおりです。
- 命令形を使用します(「Xを実行する」であり、「Xを実行してください」ではありません)
- 発動条件と有効化の条件を具体的にします
- 具体例を含めます
- 同梱されているリソースがあれば参照します
plugin.json
{
"name": "<skill-name>",
"version": "1.0.0",
"description": "<Same description as SKILL.md frontmatter>",
"author": {
"name": "Ship Shit Dev",
"email": "[email protected]",
"url": "https://shipshit.dev"
},
"license": "MIT",
"skills": "."
}
統合
このスキルは次のスキルと連携します。
| スキル | 統合 |
|---|---|
rules-capture | 好みの記録を委任し、スキルの作成を担当します |
skill-creator | 作成パターンと検証を利用します |
docs | SKILL.md の書式設定を支援します |
やり取りの例
コンテキスト:ユーザーは NestJS のキュー統合の問題のデバッグに30分を費やしました。解決策には、特定の設定パターンが含まれていました。
ユーザー:「これを理解するのは大変でした。次回のために保存しておきましょう。」
エージェント:
I'll capture this as a skill. Let me analyze what we learned:
Capturable Knowledge:
- NestJS Bull queue configuration pattern
- Redis connection handling for queues
- Processor registration requirements
This would make a good standalone skill or could extend `nestjs-queue-architect`.
Let me check the existing skill...
[Reads skills/nestjs-queue-architect/SKILL.md]
The existing skill covers queue setup but not this specific debugging pattern.
I'll add a new "Troubleshooting" section.
Created: skills/nestjs-queue-architect/SKILL.md (updated)
- Added troubleshooting section
- Documented Redis connection requirements
- Added common error patterns
Should I also create session documentation for this debugging session?
発動条件
このスキルは、次のパターンで発動します。
# Explicit capture requests
(save|capture|turn|make).*(skill|reusable|pattern)
(this should be|let's make this).*(skill|documented|reusable)
# Workflow completion signals
(finally|glad).*(working|figured|solved)
(this was|that was).*(tricky|hard|difficult|complex)
(multiple|several).*(iterations|attempts|tries)
# Learning signals
(wish I knew|should have known|next time|for future)
セッションの振り返り
摩擦が生じた箇所を確認するため、完了したセッションのレビューに /retro を使うことをおすすめします。Retro はスキル候補をここに戻します。