计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
evolve-team【效率与协作】既存のチーム構成を改善します。インプレースでの構造の改善、または専門特化バリアントの作成をカバーします。 現在のチームをテンプレートおよびコーディネーションパターンと比較して評価し、 進化の要件を収集し、スコープ選択(メンバーの調整、コーディネーションパターンの変更、 チームの分割・統合)を行い、チームファイルとCONFIGブロックへの変更を適用し、 バージョンメタデータを更新し、レジストリとクロスリファレンスを同期させます。 チームのメンバー構成が古くなっている場合、コーディネーションパターンが合わなくなった場合、 ユーザーフィードバックからワークフローのギャップが明らかになった場合、 専門特化バリアントが元のチームと並行して必要な場合、 またはエージェントがライブラリに追加・削除されてチーム…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
create-team で最初に作成されたチームを改善、再構成、または専門特化バリアントを作成します。このプロシージャはチームライフサイクルのメンテナンス面をカバーします:テンプレートとコーディネーションパターンのギャップ評価、構成とワークフローへの的を絞った改善の適用、バージョン更新、レジストリとクロスリファレンスの同期維持。
r-package-review と r-package-review-security-focused)teams/r-package-review.md)既存のチームファイルを読み、各セクションをチームテンプレート(teams/_template.md)と比較して評価します:
| セクション | 確認事項 | よくある問題 |
|---|---|---|
| フロントマター | 必須フィールドすべて(name、description、lead、version、author、coordination、members[]) | tags の欠落、古い version、誤った coordination |
| Purpose | 明確なマルチエージェントの根拠(少なくとも2つの異なる専門性) | 単一エージェントで処理可能 |
| Team Composition | テーブルがフロントマターのメンバーと一致し、責任の重複がない | 古いテーブル、重複したフォーカスエリア |
| Coordination Pattern | 実際のワークフローと一致し、ASCIIダイアグラムがある | ワークフローに対して誤ったパターン |
| Task Decomposition | メンバーごとの具体的なタスクを含むフェーズ別の分解 | 曖昧なタスク、フェーズの欠落 |
| CONFIG Block | マーカー間の有効なYAML、フロントマターと散文に一致 | 同期のずれ、blocked_by の欠落、無効なYAML |
| Usage Scenarios | 2〜3個の現実的なアクティベーションプロンプト | プレースホルダーテキスト |
| Limitations | 3〜5個の正直な制約 | 欠落または過度に一般的 |
| See Also | メンバーエージェント、関連チーム、ガイドへの有効なリンク | 古いリンク |
# Read the team file
cat teams/<team-name>.md
# Verify all member agents still exist
grep "id:" teams/<team-name>.md | while read line; do
agent=$(echo "$line" | grep -oP '(?<=id: )[\w-]+')
grep "id: $agent" agents/_registry.yml || echo "MISSING: $agent"
done
# Check if the team is referenced by any guide
grep -r "<team-name>" guides/*.md
期待結果: セクションごとに整理された、特定のギャップ、弱点、または改善の機会のリスト。
失敗時: チームファイルが存在しないかフロントマターがない場合、このスキルは適用されません—代わりに create-team を使用してゼロから作成してください。
進化を引き起こしたものを特定し、分類します:
| トリガー | 例 | 典型的なスコープ |
|---|---|---|
| ユーザーフィードバック | 「レビューに時間がかかりすぎる、エージェントが作業を重複している」 | 責任の明確化またはパターンの変更 |
| 新しいエージェントが利用可能 | api-security-analyst エージェントが作成された | メンバーの追加 |
| エージェントが進化した | code-reviewer が新しいスキルを習得した | メンバーの責任の更新 |
| エージェントが削除された | deprecated-agent が廃止された | メンバーの削除、タスクの再割り当て |
| コーディネーションの不一致 | sequentialチームに独立したサブタスクがある | parallelへの変更 |
| スコープの拡大 | チームがレビューだけでなくデプロイもカバーする必要がある | メンバーの追加またはバリアントの作成 |
| チームが大きすぎる | 6人以上のメンバーによるコーディネーションのオーバーヘッド | 2つのチームへの分割 |
| チームが小さすぎる | 単一メンバーが大半の作業を行う | 別のチームとの統合またはメンバーの追加 |
編集前に必要な具体的な変更を文書化します:
- フロントマター: 新しいメンバー `api-security-analyst` をロール "API Security Reviewer" で追加
- Team Composition: コンポジションテーブルに行を追加
- Task Decomposition: 実行フェーズにAPIセキュリティレビュータスクを追加
- CONFIGブロック: メンバーとタスクエントリを追加
- See Also: 新しいエージェントファイルへのリンクを追加
期待結果: 各変更がチームファイルの特定のセクションにマッピングされた、具体的な変更のリスト。
失敗時: 変更が不明確な場合は、進める前にユーザーに明確化を求めます。曖昧な進化の目標は曖昧な改善を生み出します。
このデシジョンマトリックスを使用して、インプレースでの改良かバリアントの作成かを決定します:
| 基準 | 改良(インプレース) | 専門特化バリアント(新しいチーム) |
|---|---|---|
| Team ID | 変更なし | 新しいID: <team>-<specialty> |
| ファイルパス | 同じ .md ファイル | teams/ の新しいファイル |
| バージョンバンプ | パッチまたはマイナー | 1.0.0 から開始 |
| コーディネーション | 変更可能 | 元と異なる場合あり |
| レジストリ | 既存エントリを更新 | 新しいエントリを追加 |
| 元のチーム | 直接変更 | そのまま維持、See Alsoクロスリファレンスを追加 |
改良: メンバーの調整、責任の明確化、CONFIGブロックの修正、またはコーディネーションパターンの変更時に選択します。チームはそのアイデンティティを保持します。
バリアント: 進化したバージョンが実質的に異なるユースケースに対応する、異なるコーディネーションパターンを必要とする、または異なる対象者をターゲットにする場合に選択します。元のチームは既存のユースケースのためにそのまま残ります。
追加のスコープ決定:
| 状況 | アクション |
|---|---|
| チームに6人以上のメンバーがいて遅い | 2つのフォーカスしたチームへの分割 |
| 隣接ドメインをカバーする2つの2人チーム | 3〜4人の1つのチームへの統合 |
| チームのコーディネーションパターンが誤っている | 改良 — パターンをインプレースで変更 |
| チームに完全に異なるリードが必要 | リードが存在する場合は改良、存在しない場合は先にエージェントを作成 |
期待結果: 根拠を伴う明確な決定 — 改良、バリアント、分割、または統合。
失敗時: 不確実な場合は、改良をデフォルトとします。チームの分割や統合は影響範囲が広いため、ユーザーに確認する必要があります。
既存のチームファイルを直接編集します。チーム構成を参照するすべてのセクション間の一貫性を維持します:
members[]: メンバーエントリを追加、削除、または更新します(各エントリに id、role、responsibilities)members と tasks リストを更新します(ステップ5参照)以下の編集ルールに従います:
grep "id: agent-name" agents/_registry.yml# Copy the original as a starting point
cp teams/<team-name>.md teams/<team-name>-<specialty>.md
# Edit the variant:
# - Change `name` to `<team-name>-<specialty>`
# - Update `description` to reflect the specialized scope
# - Adjust `coordination` pattern if needed
# - Reset `version` to "1.0.0"
# - Modify members, tasks, and CONFIG block for the specialized use case
# - Reference the original in See Also as a general-purpose alternative
期待結果: チームファイル(改良版または新しいバリアント)がステップ1の評価チェックリストをパスし、すべてのセクションが内部的に一貫している。
失敗時: 編集によって内部の一貫性が崩れた場合(例:CONFIGブロックにフロントマターにないメンバーがリストされている)、フロントマターの members[] をTeam Compositionテーブル、Task Decomposition、CONFIGブロックと比較して不一致を見つけます。
翻訳が存在する場合に必須。 このステップは、この手順に従う人間の著者とAIエージェントの両方に適用される。スキップしない — 古い
source_commit値は、npm run validate:translationsがすべてのロケールにわたって誤った古さ警告を報告する原因となる。
進化したチームの翻訳が存在するかどうかを確認し、新しいソース状態を反映するように更新する:
# Check for existing translations
ls i18n/*/teams/<team-name>.md 2>/dev/null
npm run validate:translations
source_commit を更新する:npm run check:fence-propagation -- --id <team-name>
node tools/provenance-field.mjs --field fence_basis_commit --set $(git rev-parse --short HEAD) <mirror paths>
evolve-team(<team-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 -- teams で再度足場作りする。
<!-- CONFIG:START --> と <!-- CONFIG:END --> の間のCONFIGブロックは、散文セクションと同期している必要があります。メンバーまたはタスクの変更後:
members のすべての agent がフロントマターのメンバーと一致することを確認tasks のすべての assignee がメンバーエージェントのidと一致することを確認blocked_by の依存関係を更新team:
name: <team-name>
lead: <lead-agent>
coordination: <pattern>
members:
- agent: <agent-id>
role: <role-title>
subagent_type: <agent-id>
tasks:
- name: <task-name>
assignee: <agent-id>
description: <one-line>
- name: synthesize-results
assignee: <lead-agent>
description: Collect and synthesize all member outputs
blocked_by: [<prior-task-names>]
期待結果: CONFIG YAMLが有効で、すべてのエージェントとタスクがファイルの残りの部分と一貫しており、blocked_by が有効なDAGを形成している。
失敗時: CONFIGブロックのYAMLを別途パースして構文エラーを見つけます。すべての assignee を members リストと相互チェックします。
セマンティックバージョニングに従ってフロントマターの version フィールドをバンプします:
| 変更の種類 | バージョンバンプ | 例 |
|---|---|---|
| 文言の修正、See Alsoの更新 | パッチ: 1.0.0 → 1.0.1 | 古いエージェントリンクを修正 |
| 新しいメンバーの追加、タスクの修正 | マイナー: 1.0.0 → 1.1.0 | security-analystメンバーを追加 |
| コーディネーションパターンの変更、チームの再構成 | メジャー: 1.0.0 → 2.0.0 | hub-and-spokeからparallelへの変更 |
また以下も更新します:
updated 日付を現在の日付にtags をdescription をcoordination を期待結果: フロントマターの version と updated が変更の大きさと日付を反映している。新しいバリアントは "1.0.0" から始まる。
失敗時: バージョンのバンプを忘れた場合、次の進化で現在の状態と以前の状態を区別する方法がなくなります。コミット前に必ずバンプしてください。
teams/_registry.yml の既存エントリを修正されたフロントマターと一致するように更新します:
# Find the team's registry entry
grep -A 10 "id: <team-name>" teams/_registry.yml
description、lead、members、coordination フィールドをチームファイルと一致するように更新します。カウントの変更は必要ありません。
新しいチームを teams/_registry.yml に追加します:
- id: <team-name>-<specialty>
path: <team-name>-<specialty>.md
lead: <lead-agent>
members: [agent-1, agent-2, agent-3]
coordination: <pattern>
description: One-line description of the specialized variant
次に:
total_teams をインクリメントREADMEの自動化を実行します:
npm run update-readmes
期待結果: レジストリエントリがチームファイルのフロントマターと一致している。npm run update-readmes がゼロで終了する。バリアントの場合、total_teams が実際のチームエントリ数と等しい。
失敗時: レジストリのカウントが誤っている場合は、grep -c "^ - id:" teams/_registry.yml でエントリを数え、カウントを修正します。READMEの自動化が失敗した場合は、package.json が存在し js-yaml がインストールされていることを確認します。
完全な検証チェックリストを実行します:
version がバンプされた(改良)または "1.0.0" に設定された(バリアント)updated 日付が今日を反映しているmembers[] がTeam Compositionテーブルと一致するblocked_by 参照があるagents/_registry.yml に存在するtotal_teams カウントがディスク上の実際のカウントと一致するgit diff に元のコンテンツからの意図しない削除がない# Verify frontmatter
head -25 teams/<team-name>.md
# Verify all member agents exist
for agent in agent-a agent-b agent-c; do
grep "id: $agent" agents/_registry.yml
done
# Count teams on disk vs registry
ls teams/*.md | grep -v template | wc -l
grep total_teams teams/_registry.yml
# Review all changes
git diff
期待結果: すべてのチェックリスト項目がパスする。進化したチームはコミット可能な状態にある。
失敗時: 失敗した各項目を個別に対処します。進化後の最も一般的な問題は、CONFIGブロックのドリフト(メンバーまたはタスクが散文と一致しない)と忘れられた updated 日付です。
version フィールドが行われた変更を反映しているupdated 日付が最新であるmembers[]、Team Compositionテーブル、CONFIGブロックが同期しているagents/_registry.yml に存在するteams/_registry.yml に新しいエントリがあるtotal_teams カウントが更新されているgit diff が意図しないコンテンツの削除を確認しているversion と updated を更新してください。create-team ステップ4からパターンの決定を再評価してください。create-team — 新しいチームを作成するための基盤。evolve-teamはこれが元々従っていたことを前提としますevolve-skill — SKILL.mdファイルを進化させるための並行プロシージャevolve-agent — エージェント定義を進化させるための並行プロシージャcommit-changes — 説明的なメッセージで進化したチームをコミット