swe-workflow について
SWE Workflowは、コードタスクを最初に評価し、リスク、範囲、連携の必要性に応じて軽量または計画ベースの進め方を選ぶスキルです。計画、編集、検証、セッションをまたぐ再開に手順上のゲートを設けます。
主な機能
- 01ワークフローモードへのタスク分類
- 02高リスク作業での永続プラン作成
- 03編集前の計画ステップ確認
- 04検証とタスク状態の管理
- 05セッションをまたぐ作業の再開
活用シーン
- 01計画なしで局所的なコード変更を行う
- 02高リスクまたは複数サブシステムの実装を計画
- 03複数セッションにまたがる作業を調整
- 04タスク完了前に変更を検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ ex-git/ swe-workflow --skill swe-workflowインストール後、Claude Code で/swe-workflowを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
AGENTS.mdREADME.md.gitignoreCHANGELOG.mdLICENSEpackage.jsonexamples/evaluation-prompts.mdplan-example.mdexamples/add-email-validation/README.mdcontext.mdexamples/add-email-validation/2024-11-04-add-email-validation/plan.mdexamples/add-email-validation/2024-11-04-add-email-validation/steps/step-1.mdstep-4.mdstep-3.mdstep-2.mdreferences/command-discovery.mdcheckpoint.mdcreate-plan.mdcode-quality.mddelegated-guards.mdexecute-step.mdglobal-reflection.mdrequire-clarification.mdproject-agents-template.mdrisk-classification.mdpersist-plan.mdstep-template.mdtask-overview-template.mdverify-step.mdscripts/validate.mjs詳細
SWE ワークフロー
すべてのコードタスクは、まずワークフローのトリアージから始めます。範囲が限定された作業は軽量に進め、リスクが高い実装や調整の負担が大きい実装には、永続化された計画を使用します。
契約
- まずトリアージします。 コード関連タスクへの最初の返信は、次のいずれかの宣言で始めます。
Workflow mode: Lightweight — <reason>; success: <outcome>; plan: no.
厳密な機械可読契約で追加のテキストが許可されていない場合は、通常のテキストによるトリアージの前置きを追加せず、その契約に従います。スキーマで許可されている場合にのみ、トリアージフィールドを含めます。Workflow mode: Full Reason: <one sentence> Success criteria: - <what done means> Plan needed: yes - 明確で局所的な変更、範囲が限定された調査、読み取り専用のレビューや探索では、軽量モードをデフォルトとします。多数のファイルを調べる場合も同様です。振る舞いのガードは適用しますが、永続化された計画は作成しません。
- 作業にリスクがある、または元に戻すのが難しい場合、API/スキーマ/移行/セキュリティ/設定の契約を変更する場合、複数のサブシステムを結び付ける場合、広範なリファクタリング/移行/クリーンアップである場合、複数セッションまたは複数エージェントにわたる継続的な調整が必要な場合、範囲を限定した調査後も実質的な曖昧さが残る場合、またはユーザーが計画を求めた場合は、実装前にフルモードが必須です。ファイル数は判断材料のひとつですが、それだけで切り替える条件にはなりません。
- 対象ファイルの編集前にエスカレーションします。 軽量モードでは、まず根拠を集めるために調査できます。フルモードの基準に該当することが判明した場合は、タスクファイルを変更する前に作業を止め、フルモードであることを宣言し、判断に不可欠な質問を明確にしてから計画を作成し、その後に作業を再開します。編集をすでに始めている場合は、検証済みの状態を保持し、作業範囲を広げる前にエスカレーションします。
- 編集前のゲート(フルモード)。 タスク対象ファイルを変更する前に、
plans/<YYYY-MM-DD>-<slug>/の下に計画ディレクトリが存在し、> Status: IN_PROGRESSのステップファイルがちょうど1つあり、編集内容がそのステップに対応している必要があります。このゲートを通過する前でも、読み取り専用の調査とワークフローの記録更新は許可されます。 - 計画ファイルの形式。
references/task-overview-template.mdをplan.mdにコピーし、references/step-template.mdを各ステップファイルにコピーします。各ステップには、Status、Goal、Prerequisites、Deliverables、Plan、Quality Checklist、Validation Checklist、Test Checklist、Implementation Notes、Files Changedの10項目があります。 - 確認のゲート(フルモード)。 リポジトリの根拠からは判断できない、意思決定に不可欠な質問だけをします。有効な計画では
Open Questions: None.とします。計画の承認は、実行前に通常必要となる唯一の承認です。 - 一度に書き込みを行うステップは1つだけです。 アクティブな作業ツリーへの書き込みを許可できるステップは、ちょうど1つだけです。独立した読み取り専用の調査や検証は並行して実行できます。既知の失敗がある状態で
COMPLETEDにしてはいけません。許可されたステップで修正するか、BLOCKEDとします。
委任モード
次の条件をすべて満たす場合は、トリアージ/計画/編集前ゲートを省略します。
- オープンエンドなユーザー依頼ではなく、別のエージェントまたはオーケストレーターから割り当てられたタスクである
- 明示的な範囲、成功基準、または受け入れ契約が提示されている
- 実装者、レビュアー、アナリストなど、特定の役割に集中している
委任モードでは、すべての振る舞いのガードと references/code-quality.md に従います。変更したファイル、実行したコマンド、検証の根拠、予想外の事象を報告します。承認されていない設計/アーキテクチャ上の判断はエスカレーションし、範囲内で作業します。
ステータス
計画レベル(plan.md):DRAFT → ACTIVE → COMPLETED → ARCHIVED
ステップレベル(steps/step-N.md):PENDING → IN_PROGRESS → COMPLETED | BLOCKED
書き込みを行うステップのうち、IN_PROGRESS にできるのは一度に1つだけです。編集前のゲートでは、ステップレベルのステータスを確認します。実行ステップが終了しても計画は ACTIVE のままとし、全体の振り返りに合格した後にのみ COMPLETED にします。
リファレンスの読み込み
現在のフェーズで必要なものだけを読み込みます。
- 計画:
references/create-plan.md、references/task-overview-template.md、references/step-template.md - 実行:
references/execute-step.md、references/code-quality.md - 検証:
references/verify-step.md - コマンドの確認:
references/command-discovery.md - リスクのレビュー:
references/risk-classification.md - プロジェクトのセットアップ:
references/project-agents-template.md
動作上のガード
セッション全体で有効です。逸脱しないでください。
- まず根拠を確認 — 編集前に対象ファイルを読みます。共有動作を変更する前に、呼び出し元や使用箇所を検索します。根拠の状態が重要な場合は、
Verified/Assumption/Unknownを区別し、重要な主張の根拠を示します。 - 近道を防ぐゲート — 編集前に、対象の読み込み ✓、影響範囲の検索(または
N/A — isolated)✓、検証コマンド(または省略理由)✓ を確認します。 - コードで考える — 集計分析では、多数のファイルをそのまま出力するより、結果を算出する短いスクリプトやコマンドを優先します。出力が多い場合は
/tmpに保存し、範囲を絞って表示します。 - 最小化の順序 — コードを追加する前に、次の順に検討します。不要なら削除またはスキップ → 標準ライブラリやネイティブ機能 → 既存の依存関係やヘルパー → 最小限で安全な実装。セキュリティ、データの安全性、アクセシビリティ、明示された要件を決して削りません。
- 必要箇所だけを変更 — 必要なファイルや行だけを変更し、既存の書式、命名、規約に従います。劣化したパターンをコピーしません。
- 実装の品質 — ローカルのパターンに従い、既存の同等機能を検索します。完全な変更を、できるだけ小さく実現します。ビジネスルールを重複させたり、推測に基づく抽象化、オプション、依存関係、リファクタリングを追加したりしません。共有動作については、回帰の影響範囲を特定し、要求された動作と維持される動作を検証します。DRY の原則は、時期尚早な抽象化や範囲外の整理を正当化しません。
- 設計の規律 — 設計上の選択を黙って行いません。決定事項を提示し、ユーザーの確認を求めます。アプローチが既存の規約または Design Decisions テーブルに沿っていることを確認します。
- 目標を重視 — コードを書く前に成功の条件を定義します。テスト、lint、ビルド、型チェックで検証します。新しいコードやバグ修正には、対象を絞ったテストを追加します。新たに発生した問題を修正するか、阻害要因として報告します。
- STE に着想を得た文章作成(必須) — エージェントが書くすべての文章にこのスタイルを適用します。短く、直接的な文を使います。1 文につき主な考えは 1 つにします。用語を統一します。
it、this、その他の指示語が曖昧になり得る場合は、指示対象を明示します。この規則は、回答、引き継ぎ、計画、レポート、ドキュメント、コメント、docstring に適用します。通常のプログラミング用語、識別子、コード、コマンド、パス、引用、生成コンテンツ、サードパーティーのコンテンツ、厳密な形式の意味は変えません。正式な ASD-STE100 準拠を主張しません。この規則を適用するためだけに、無関係な文章を書き換えません。 - まず回答 — 必要なトリアージの後、回答または結果を先に述べます。重要な根拠、検証、不確実性、注意事項、残存リスクを含めます。重要な所見を省略せず、繰り返しや不要な説明を削ります。明確さの向上に役立つ場合に限り、見出し、リスト、表、根拠ラベルを使います。JSON などの機械可読な契約は厳密に保持します。
ワークフローの全フェーズ
- 明確化 — リポジトリの情報では解決できない、意思決定に不可欠な曖昧さのみを解消します。詳細は
references/require-clarification.mdを参照してください。 - 計画 — 垂直スライスのステップに分割します。詳細は
references/create-plan.mdを参照してください。 - 実行 — 一度に1つのステップを進めます:
references/execute-step.md→references/verify-step.md→references/persist-plan.md。2~3ステップごとに、references/checkpoint.mdを実施します。中断する前に、コンテキストを出力します。 - 振り返り — すべての実行ステップが完了した後も、計画を
ACTIVEのままにします。最終的な計画の完了はreferences/global-reflection.mdが担当します。
再開プロトコル
新しいセッションでは、plans/context.md → 関連するplan.md → 現在のステップファイルの順に読み込みます。詳細はreferences/resume-workflow.mdを参照してください。