plugin-dev-workflow について
Elixir/Phoenix Claude Code プラグインの開発手順で、スキル、エージェント、フック、評価フレームワークを編集する開発者向けです。変更の種類に応じた評価、Lint、テスト、コミット前の確認事項をまとめています。
主な機能
- 01スキルとエージェントの評価手順
- 02Markdown の Lint 指針
- 03評価フレームワークのテスト要件
- 04フック変更の検証手順
- 05コミット前チェックリスト
活用シーン
- 01スキル編集後のスコアと形式の確認
- 02エージェント設定の変更後の評価
- 03評価フレームワーク変更後のテスト
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ oliver-kriska/ claude-elixir-phoenix --skill plugin-dev-workflowインストール後、Claude Code で/plugin-dev-workflowを入力して読み込まれたか確認します。
詳細
プラグイン開発ワークフロー
このリポジトリは Elixir/Phoenix Claude Code プラグインです。プラグインファイルを編集する際は、品質を確保するために次のワークフローに従ってください。
始める前に
make help を実行して、利用可能なコマンドをすべて確認してください。
make eval # Quick: lint + score changed skills/agents
make eval-all # Full: all 51 skills + 26 agents
make eval-fix # Auto-fix + show failures
make test # 220 pytest tests for eval framework and port tooling
make ci # Full CI pipeline
個別ファイルのスコアリング(CLI)
重要:必ず -m モジュール構文を使用してください。scorer.py を直接実行しないでください。
# Score ONE skill (use -m, NOT direct file path)
python3 -m lab.eval.scorer plugins/elixir-phoenix/skills/verify/SKILL.md
# Score ONE skill with pretty output
python3 -m lab.eval.scorer plugins/elixir-phoenix/skills/verify/SKILL.md --pretty
# Score all skills
python3 -m lab.eval.scorer --all
# Score ONE agent
python3 -m lab.eval.agent_scorer plugins/elixir-phoenix/agents/verification-runner.md
# Score all agents
python3 -m lab.eval.agent_scorer --all
make ci # Full CI pipeline
スキルを編集する場合(plugins/elixir-phoenix/skills/*/SKILL.md)
- CLAUDE.md の規約(サイズ制限、フロントマターの要件)を確認します
- 変更を加えます
make evalを実行します。変更されたスキルを自動検出してスコアリングします- FAIL の場合:失敗した評価項目を確認して修正します
make lintを実行して、Markdown の書式を確認します- コミットします
スキルの要件(eval ですべて確認します):
- フロントマター:name、description、effort。description は動作を表す動詞で始まり、「Use when...」を含める必要があります
- 1 項目以上の番号付きリストを含む Iron Laws セクション
- 185 行未満(コマンドスキル)または 150 行未満(リファレンススキル)
- 45 行を超えるセクションがないこと
- すべての
/phx:参照先が既存のスキルであること - すべての
references/*.mdパスが存在すること - Iron Laws セクション以外に危険なコードパターンがないこと
- コード例が含まれていること(フェンス付きコードブロックが 1 つ以上)
- トリガーの精度を高めるため、description に「Use when...」が含まれていること
エージェントを編集する場合(plugins/elixir-phoenix/agents/*.md)
- 変更を加えます
make eval-agentsを実行して、すべてのエージェントをスコアリングします- エージェントの要件:
permissionModeを使用しないこと(プラグインのエージェントでは無視されます。プラグインディレクトリではbypassPermissionsが失敗します)- レビュー/分析エージェントには
disallowedTools: Write, Edit, NotebookEditを指定すること - effort に合ったモデルを指定すること:haiku=low、sonnet=medium、opus=high
- 300 行未満(スペシャリスト)または 535 行未満(オーケストレーター)
Eval フレームワークを編集する場合(lab/eval/*.py)
- 変更を加えます
make testを実行します。すべての pytest テストが合格する必要がありますmake eval-allを実行して、スキルやエージェントの品質が低下していないことを確認します- 新しいマッチャーを追加する場合:
lab/eval/tests/test_matchers.pyにテストを追加します
フックを編集する場合(plugins/elixir-phoenix/hooks/scripts/*.sh)
- 変更を加えます
make lintを実行します(フックのコメント内の Markdown を確認します)- フックを手動でテストします(フックは Edit/Write/Bash イベントで実行されます)
- CLAUDE.md のフックに関するドキュメントが正確であることを確認します
Autoresearch(自己改善ループ)
make eval-fix で失敗が表示された場合、autoresearch コマンドが提案されます。
# Copy-paste the suggested command from eval-fix output
claude -p 'Run autoresearch. Score all skills...' --allowedTools 'Edit,Read,Write,Bash,Glob,Grep'
これは autoresearch ループを実行します:最も弱いスキルを見つける → 問題を 1 つ修正する → 再スコアリングする → 変更を保持または元に戻す。
コミット前のチェックリスト
プラグインの変更をコミットする前に、次を確認してください。
-
make lintが合格する -
make evalが合格する(変更したファイル) -
make testが合格する(eval フレームワークを変更した場合) - CHANGELOG.md を更新する(ユーザーに見える変更の場合)
- plugin.json のバージョンを更新する(リリースする場合)
参考資料
- CLAUDE.md — 規約、サイズ制限、チェックリストの全文
lab/eval/— スコアリングフレームワーク(24 個のマッチャー、8 つの評価項目)lab/autoresearch/— 自己改善ループlab/findings/interesting.jsonl— 興味深い発見をここに記録します
コメント
Markdown 対応