协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
evolve-skill【开发与工程】既存のスキルをその場で内容を改良するか、上級バリアントを作成することで 進化させる。現在のスキルの評価、進化要件の収集、スコープの選択(改良か バリアントか)、変更の適用、バージョンメタデータの更新、レジストリと クロスリファレンスの同期をカバーする。スキルの手順ステップが古くなって いる場合、ユーザーフィードバックがギャップを明らかにした場合、スキルが 複雑度のアップグレードを必要とする場合、元のスキルと並んで上級バリアント が必要な場合、または関連するスキルが追加されてクロスリファレンスが古く なっている場合に使用する。
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
create-skill で元々作成されたスキルを改善、拡張、または上級バリアントを作成する。この手順はスキルライフサイクルのメンテナンス面をカバーする: ギャップの評価、的を絞った改善の適用、バージョンのバンプ、レジストリとクロスリファレンスの同期。
create-r-package と create-r-package-advanced)既存のSKILL.mdを読み、品質チェックリストに対して各セクションを評価する:
| セクション | 確認事項 | 一般的な問題 |
|---|---|---|
| フロントマター | 必須フィールドすべてが存在し、description が1024文字未満 | tags の欠落、古い version |
| 使用タイミング | 3〜5つの具体的なトリガー条件 | 曖昧なまたは重複するトリガー |
| 入力 | 必須と任意が明確に分離されている | 任意の入力のデフォルトの欠落 |
| 手順 | 各ステップにコード + Expected + On failure がある | On failureブロックの欠落、実際のコマンドではなく疑似コード |
| バリデーション | 各アイテムがバイナリの合否 | 主観的な基準(「コードがクリーン」) |
| よくある落とし穴 | 原因と回避策を含む3〜6 | 一般的すぎる(「注意する」) |
| 関連スキル | 2〜5つの有効なスキル参照 | 名前変更/削除されたスキルへの古い参照 |
# Read the skill
cat skills/<skill-name>/SKILL.md
# Check frontmatter parses
head -20 skills/<skill-name>/SKILL.md
# Verify related skills still exist
grep -oP '`[\w-]+`' skills/<skill-name>/SKILL.md | sort -u
期待結果: 具体的なギャップ、弱点、または改善の機会の一覧。
失敗時: SKILL.mdが存在しないかフロントマターがない場合、このスキルは適用されない — 代わりに create-skill を使用してゼロから作成する。
進化をトリガーしたものを特定して分類する:
| トリガー | 例 | 典型的なスコープ |
|---|---|---|
| ユーザーフィードバック | 「ステップ3が不明確」 | 改良 |
| ツール変更 | 新しいAPIバージョン、廃止されたコマンド | 改良 |
| 発見されたピットフォール | 文書化されていない一般的な失敗 | 改良 |
| 複雑度アップグレード | スキルが実際の使用には浅すぎる | 改良またはバリアント |
| 新しい関連スキル | 隣接スキルが追加された | 改良(クロスリファレンス) |
| 上級のユースケース | パワーユーザーがより深いカバレッジを必要とする | バリアント |
編集する前に必要な特定の変更を文書化する。各変更をターゲットセクションとともに一覧する。
期待結果: 具体的な変更のリスト(例: 「ステップ4にOn failureを追加する」「エッジケースXのための新しいステップ6を追加する」「new-skill を含む関連スキルを更新する」)。
失敗時: 変更が不明確な場合、進める前にユーザーに確認を求める。曖昧な進化目標は曖昧な改善を生む。
この意思決定マトリックスを使用して、現場での改良とバリアントの作成のどちらにするかを決める:
| 基準 | 改良(現場での) | 上級バリアント(新しいスキル) |
|---|---|---|
| スキルID | 変更なし | 新しいID: <skill>-advanced |
| ファイルパス | 同じSKILL.md | 新しいディレクトリ |
| バージョンバンプ | マイナー(破壊的変更の場合のみメジャー) | 1.0から開始 |
| 複雑度 | 増加する場合がある | 元よりも高い |
| レジストリ | 新しいエントリなし | 新しいエントリを追加 |
| シンリンク | 変更なし | 新しいシンリンクが必要 |
| 元のスキル | 直接変更される | そのまま、クロスリファレンスを追加 |
改良: 品質の向上、ギャップの修正、または適度な新しいコンテンツの追加時に選択する。スキルはそのアイデンティティを保持する。
バリアント: 進化したバージョンが長さを2倍にし、対象者を変更し、または実質的に異なる入力を必要とする場合に選択する。元のスキルはより単純なユースケース用にそのまま残る。
期待結果: 根拠を持つ明確な決定 — 改良またはバリアント。
失敗時: 不明確な場合、改良をデフォルトにする。後でバリアントを抽出できるが、元に戻すのは難しい。
既存のSKILL.mdを直接編集する:
これらの編集ルールに従う:
# Create the variant directory
mkdir -p skills/<skill-name>-advanced/
# Copy the original as a starting point
cp skills/<skill-name>/SKILL.md skills/<skill-name>-advanced/SKILL.md
# Edit the variant:
# - Change `name` to `<skill-name>-advanced`
# - Update `description` to reflect the advanced scope
# - Raise `complexity` (e.g., intermediate → advanced)
# - Reset `version` to "1.0"
# - Add/expand procedure steps for the advanced use case
# - Reference the original in Related Skills as a prerequisite
期待結果: SKILL.md(改良または新しいバリアント)がステップ1の評価チェックリストをパスする。
失敗時: ステップの編集でドキュメント構造が壊れた場合、git diff で変更を確認し、git checkout -- <file> で部分的な編集を元に戻す。
翻訳が存在する場合に必須。 このステップは、この手順に従う人間の著者とAIエージェントの両方に適用される。スキップしない — 古い
source_commit値は、npm run validate:translationsがすべてのロケールにわたって誤った古さ警告を報告する原因となる。
進化したスキルの翻訳が存在するかどうかを確認し、新しいソース状態を反映するように更新する:
# Check for existing translations
ls i18n/*/skills/<skill-name>/SKILL.md 2>/dev/null
npm run validate:translations
source_commit を更新する:npm run check:fence-propagation -- --id <skill-name>
node tools/provenance-field.mjs --field fence_basis_commit --set $(git rev-parse --short HEAD) <mirror paths>
evolve(<skill-name>): <変更の説明>
Translations flagged for re-sync: de, zh-CN, ja, es
Changed sections: <変更されたセクションをリストする>
npm run translation:status
アクション不要。ステップ5に進む。
新しいバリアントの翻訳は、バリアントが安定するまで(1〜2バージョン)延期する。v1.2までに大幅に変わる可能性のあるv1.0バリアントを翻訳するのは労力の無駄だ。バリアントが少なくとも1回は改良された後で翻訳を追加する。
期待結果: すべての翻訳ファイルで source_commit が現在のコミットに更新されている。コミットメッセージには、どのロケールで再翻訳が必要か、どのセクションが変更されたかが記載されている。npm run translation:status は0で終了する。
失敗時: sed がフロントマターフィールドにマッチしない場合、翻訳ファイルが非標準のフォーマットになっている可能性がある。手動で開き、YAMLフロントマターに source_commit があることを確認する。フィールドが欠落している場合、ファイルは正しく足場作りされていない — npm run translate:scaffold で再度足場作りする。
フロントマターの version フィールドをバンプする:
| 変更タイプ | バージョンバンプ | 例 |
|---|---|---|
| タイポ修正、言い回しの明確化 | マイナー: 1.0 → 1.1 | ステップ3の不明確な文を修正 |
| 新しいステップ、新しいピットフォール、新しいテーブル | マイナー: 1.0 → 1.1 | エッジケース処理のためのステップ7を追加 |
| 手順の再構築、入力の変更 | メジャー: 1.0 → 2.0 | 5ステップから8ステップへの再編成 |
また以下も更新する:
complexity(例: basic → intermediate)tagsdescription期待結果: フロントマターの version が変更の大きさを反映している。新しいバリアントは "1.0" から始まる。
失敗時: バージョンをバンプするのを忘れた場合、次の進化では現在の状態と以前の状態を区別する方法がない。常にコミット前にバンプする。
レジストリへの変更は不要(パスは変更なし)。他のスキルで関連スキルが変更された場合のみクロスリファレンスを更新する:
# Check if any skill references the evolved skill
grep -r "<skill-name>" skills/*/SKILL.md
skills/_registry.yml に新しいスキルを追加する:
- id: <skill-name>-advanced
path: <skill-name>-advanced/SKILL.md
complexity: advanced
language: multi
description: One-line description of the advanced variant
次に:
total_skills をインクリメントする# Project-level
ln -s ../../skills/<skill-name>-advanced .claude/skills/<skill-name>-advanced
# Global
ln -s /mnt/d/dev/p/agent-almanac/skills/<skill-name>-advanced ~/.claude/skills/<skill-name>-advanced
期待結果: レジストリの total_skills が find skills -name SKILL.md | wc -l と一致する。クロスリファレンスが双方向である。
失敗時: レジストリカウントが間違っている場合、find skills -name SKILL.md | wc -l で実際のカウントを取得し、レジストリを修正する。壊れたシンリンクについては、readlink -f で解決をデバッグする。
完全なバリデーションチェックリストを実行する:
version がバンプされた(改良)か "1.0" に設定された(バリアント)total_skills カウントがディスク上の実際のスキル数と一致するgit diff で元のコンテンツの偶発的な削除がないことを確認# Verify frontmatter
head -20 skills/<skill-name>/SKILL.md
# Count skills on disk vs registry
find skills -name SKILL.md | wc -l
grep total_skills skills/_registry.yml
# Check symlinks (for variants)
ls -la .claude/skills/<skill-name>-advanced
readlink -f .claude/skills/<skill-name>-advanced/SKILL.md
# Review all changes
git diff
期待結果: すべてのチェックリストアイテムがパスする。進化したスキルはコミット準備が整っている。
失敗時: 各失敗したアイテムを個別に対処する。最も一般的な進化後の問題は古い total_skills カウントだ — 常に最後に確認する。
version フィールドが行われた変更を反映しているtotal_skills がディスク上の実際のカウントと一致する_registry.yml に正しいパスで新しいエントリがある.claude/skills/ と ~/.claude/skills/ にシンリンクが作成されているgit diff で偶発的なコンテンツ削除がないことを確認version をフロントマターで更新する。git diff を確認する。total_skills カウントをインクリメントする必要がある。これを忘れると他のスキルのバリデーション失敗を引き起こす。git mv を避ける(WSL): /mnt/ パスでは、ディレクトリの git mv が壊れたパーミッション(d?????????)を作成する可能性がある。代わりに mkdir -p + ファイルのコピー + 古いパスの git rm を使用する。環境ガイドのトラブルシューティングセクションを参照。create-skill — 新しいスキルを作成するための基盤; evolve-skillは元々これが従われたと仮定するcommit-changes — 説明的なメッセージで進化したスキルをコミットするconfigure-git-repository — バージョン管理されたスキルの変更security-audit-codebase — 誤って含まれた秘密情報のために進化したスキルをレビューする