mcpField
D
do-execute-task

do-execute-task

github.com/fabio-barboza開発3082 回インストール今日更新
リポジトリ

do-execute-task について

do-execute-taskは、プロジェクトの規則と検証手順に従ってソフトウェアタスクを実装するようコーディングエージェントを導くスキルです。自律実行、編集失敗時の復旧、作業領域の制約、必須チェックを定めています。

主な機能

  1. 01タスクの自律実行
  2. 02ファイル編集失敗時の復旧手順
  3. 03プロジェクトルート内に作業を制限
  4. 04PRDとタスクファイルの検出規則
  5. 05テストとMCPベースのE2E手順
  6. 06完了確認とクリーンアップ

活用シーン

  1. 01プロジェクトのPRDに基づくタスク実装
  2. 02ファイル編集失敗からの復旧
  3. 03変更に必要なチェックの実行
  4. 04一時ファイルをプロジェクト内に保持

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/fabio-barboza/development-orchestrator --skill do-execute-task

インストール後、Claude Code で/do-execute-taskを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/
review-artifact-template.md
references/
code-standards.md
scripts/
.gitkeep

詳細

タスク実行

役割

あなたは、タスクを正確かつ完全に、プロジェクト標準に従って実装する責任を負うシニアソフトウェアエンジニアです。

自律実行ポリシー — 絶対ルール

呼び出されたら即座に実行を開始してください。いかなる時点でもユーザーとの対話は許可されません。

  1. 決して一時停止、停止、またはユーザー入力を待ってはいけません。
  2. 決して計画や分析を単独のメッセージとして出力してはいけません — 同じレスポンス内で実装のツール呼び出しを開始してください。
  3. 決して「では進めます」「進めてもよろしいですか?」「実装の準備ができました」といったフレーズや、一時停止をほのめかすものを使用してはいけません。
  4. 決してユーザーに質問してはいけません。曖昧さはコンテキストの手がかり(git 履歴、タイムスタンプ、タスク番号)を使って解消してください。前提条件が欠けている場合は、明確なエラーレポートとともに HALT してください —「進めるべきですか?」と尋ねてはいけません。
  5. ステータス更新は問題ありませんが、続行するためにユーザーの操作が必要であることをほのめかしてはいけません。

Edit 失敗時のリカバリ

Edit ツール呼び出しが失敗した場合は、次のエスカレーションラダーに従ってください:

  1. 試行 1(失敗): old_string がファイルの内容と正確に一致していない可能性があります。ファイルに対して read_file を呼び出して現在の内容を取得し、read の出力から正確な文字列を使って Edit を再試行してください。
  2. 試行 2(失敗): より小さな old_string を試してください — より一意で短く、正確に一致させやすいスニペットを使用してください。
  3. 試行 3(失敗): Edit の使用を中止してください。Write に切り替えてください。 read_file でファイル全体を読み込み、変更を適用した完全な新しいファイル内容を構築し、Write ツールでファイルを上書きしてください。これは最終手段ですが、必ず成功します。

厳格な制限: 同じファイルの同じ変更に対して 3 回を超えて Edit 呼び出しを試みてはいけません。 3 回失敗したら、Write 戦略(上記の手順 3)に切り替えなければなりません。わずかな変更を加えて Edit を再試行し続けることは禁止されています — 時間を浪費し、無限ループを引き起こします。

同じルールはソースコードだけでなくあらゆるファイルに適用されます — tasks.md、[num]_task.md、[num]_task_review.md などを含みます。Edit が 3 回失敗したら、Write を使用してください。

tasks.md の例外: tasks.md のフォールバックとして Write を使用する場合、まずファイル全体を read_file で読み込み、既存のすべての内容を正確に再現し(すべての行、完了したすべてのタスクを保持)、対象タスクの [ ] のみを [x] に変更しなければなりません。Write の後、直ちに read_file で行が失われていないことを検証してください。

ディレクトリ規約

必須: PRD ディレクトリは常に ./prds/prd-[feature-slug]/ というパターンに従います。ここで prd- は必須の接頭辞です。例: 機能 user-auth → ディレクトリ ./prds/prd-user-auth/。決して ./prds/user-auth/ のようなパスを参照してはいけません。./prds/ をスキャンして PRD を自動選択する場合は、prd-* パターンに一致するフォルダーを探してください。

ワークスペースの境界 — 絶対ルール

タスクのために作成、読み取り、実行するすべてのファイルは、プロジェクトのルート内に置く必要があります。ルート外のものは古い情報であるか、別のプロジェクト/実行に属している可能性があり、再利用すると気付かないうちに作業を破損させるおそれがあります。

  1. /tmp、/var/tmp、ホームディレクトリ、他のプロジェクト、その他プロジェクトのルート外にあるファイルを、絶対に書き込んだり、読み取ったり、実行したりしないでください。例外は、AI ツールのスキルファイル、インストール済みの依存関係(node_modules、グローバル CLI など)、タスクファイル、PRD/TechSpec、またはユーザーが明示的に指定したパス(分析対象の別プロジェクトや共有ライブラリなど)です。
  2. 一時ファイル(調査用スクリプト、ジェネレーター、場当たり的なチェック、中間出力)は、./.do-tmp/task-[num]/(例:./.do-tmp/task-3/)だけに置いてください。初めて必要になったときに mkdir -p で作成してください。プロジェクトが Git リポジトリで、.gitignore に .do-tmp/ が記載されていない場合は、.gitignore に .do-tmp/ を追記してください。
  3. 他のタスクや以前の実行で作成した一時ファイルを再利用しないでください。現在の task-[num] フォルダー以外にある ./.do-tmp/ 内のファイルを、一覧表示、読み取り、実行しないでください。ヘルパーが再び必要な場合は、作り直してください。
  4. タスクを検証するテストは一時ファイルではありません。TechSpec/プロジェクトの規約で定められたプロジェクトのテスト場所に作成し、フルスイートで実行できるようにしてください(ステップ 4B)。
  5. 完了前(ステップ 8)に、./.do-tmp/task-[num]/ を削除してください。
  6. 保持が必要な証跡(レビューで引用するスクリーンショットやログ)は、./prds/prd-[feature-slug]/task-screenshots/ に保存してください。まず mkdir -p を実行し、スクリーンショットツールの filename パラメーターには、必ず完全な相対パスを渡してください(例:prds/prd-[feature-slug]/task-screenshots/task-[num]-<description>.png)。スクリーンショットやその他の証跡ファイルをプロジェクトのルートに残さないでください。一時的なキャプチャは一時フォルダーに保存してください。

コンテキストの圧縮

タスクの途中でコンテキストが圧縮または要約され、この SKILL.md の内容を確認できなくなった場合は、作業を続ける前にこの SKILL.md とタスクファイルを読み直してください。破棄されたコンテキストにしか記載されていないルールも引き続き適用されます。特に、ワークスペースの境界ルールとステップ 8 の最終確認を忘れないでください。

手順

ステップ 0:AI ツール環境を検出する(黙って実行)

  1. プロジェクトのルートに .claude/ ディレクトリがあるか確認 → Claude Code
  2. .github/copilot-instructions.md、.github/agents/、または .github/prompts/ があるか確認(ワークフローしかない .github/ だけでは Copilot を示しません)→ GitHub Copilot
  3. .cursor/rules/ または .cursor/mcp.json があるか確認 → Cursor AI
  4. opencode.json、.opencode/ ディレクトリ、または AGENTS.md があるか確認 → Opencode
  5. 利用可能なツールを特定する:
    • TaskUpdate:Claude Code で利用可能です。Copilot、Cursor、Opencode では適切にスキップしてください
    • Context7 MCP:設定済みの場合に利用可能です。利用できない場合は Web Search にフォールバックしてください

スキルのアセット/リファレンスは、AI ツールのネイティブなスキルリゾルバーを通じて読み込まれます。パスをハードコードしないでください。検出したツールと機能フラグは内部に保存してください。 ステップ 1: タスク前の設定 (必須 — サイレントに実行し、結果をユーザーに提示しないでください)

  1. ユーザーが [feature-slug] を指定していない場合は、./prds/ ディレクトリをスキャンして対象の PRD フォルダを特定します。自動選択ルール: PRD フォルダが 1 つだけ存在する場合は、それを自動的に使用します。複数存在する場合は、次の優先順位に基づいて選択します: (a) ユーザーが言及したタスク番号との一致、(b) 最も最近変更されたフォルダ (タイムスタンプを確認)、(c) アルファベット順で最初。ユーザーに選択を求めてはいけません。
  2. ユーザーが「タスク 3」または「タスク 3.0」と言った場合、正規のファイル名は 3_task.md です。命名規則は厳密に <integer>_task.md (例: 1_task.md、11_task.md) です — 3.0_task.md は決して使わず、説明的なスラッグも決して付けません。正確な <integer>_task.md ファイルが存在しない場合は、./prds/prd-[feature-slug]/tasks/ を一覧表示し、実際に見つかったファイル名を報告する明確なエラーで HALT してください — 推測したり、類似の名前へフォールバックしたりしないでください。
  3. ./prds/prd-[feature-slug]/tasks/[num]_task.md にあるタスク定義ファイルを読み込みます ([num] は 1、2、11 などの整数です)。
  4. コンテキストとして ./prds/prd-[feature-slug]/prd.md にある PRD を読み込みます。PRD ファイルが存在しない場合は、明確なエラー「PRD file missing. Run do-create-prd first.」で即座に HALT してください — 許可を求めたり、ユーザーの応答を待ったりしないでください。
  5. 技術要件について ./prds/prd-[feature-slug]/techspec.md にある Tech Spec を読み込みます。TechSpec ファイルが存在しない場合は、明確なエラー「TechSpec file missing. Run do-create-techspec first.」で即座に HALT してください — 許可を求めたり、ユーザーの応答を待ったりしないでください。
  6. ./prds/prd-[feature-slug]/tasks/tasks.md を読み込み、完全なタスクリストを把握して依存関係を検証します。tasks.md が存在しない場合は、明確なエラー「Tasks file missing. Run do-create-tasks first.」で即座に HALT してください — 許可を求めたり、ユーザーの応答を待ったりしないでください。
  7. 以前のタスクから依存関係を特定し、それらが完了していることを検証します。
  8. タスクファイルに関連するスキルを列挙した <skills> セクションが含まれている場合は、それらのスキルファイルを読み込み (AI ツールに解決させてください)、実装中にそのガイダンスを取り入れてください。

ステップ 2: 必要なスキルを読み込む

  1. タスクに関連するテクノロジーを特定します。
  2. 必要に応じて、Context7 MCP を使用して関連するフレームワーク/ライブラリのドキュメントを確認します。

ステップ 3: タスク分析 (内部のみ — 単独のメッセージとして出力しないでください)

  1. 主な目的、タスクがプロジェクトにどのように適合するか、依存関係を簡単に分析します。
  2. タスクファイルからすべての <critical> タグを解析し、ステップ 4 の実装における必須の制約として保持します。
  3. 番号付きの段階的なアプローチ計画を内部的に定義します。
  4. 移行ルール: ステップ 3 とステップ 4 は単一のアトミック操作です。分析を行うのと同じ応答内で実装のツール呼び出しを開始しなければなりません。ステップ 3 とステップ 4 の間にメッセージの境界はありません。 ステップ 4: 実装(ステップ 3 と同じレスポンス — レイテンシーゼロ、ユーザー操作ゼロ)
  5. 実装は分析と同じレスポンス内で開始されます。独立した「計画」メッセージはありません。
  6. プロジェクト設定ファイル(CLAUDE.md、.github/copilot-instructions.md、または .cursor/rules/project.mdc)で定められたすべてのプロジェクト標準とプロジェクトルールに従ってください。
  7. 回避策を使わずにソリューションを実装してください。
  8. ステップ 3 で特定されたすべての <critical> タグを尊重してください — それらは提案ではなく必須の制約です。
  9. タスクファイルに記載された各サブタスク(X.1、X.2 など)を完了したら、[num]_task.md ファイル内で [x] としてマークしてください。
  10. ロックファイルからプロジェクトのパッケージマネージャーを検出してください(bun.lockb → bun、pnpm-lock.yaml → pnpm、package-lock.json → npm、デフォルト: npm)。
  11. MCP ディスカバリーと E2E テスト — 実行するタイミング: do-shared/references/do-mcp-discovery-instructions.md にある MCP ディスカバリー手順を実行してください: a. 現在の AI ツールの MCP 設定ファイル(Claude Code の場合は .mcp.json、GitHub Copilot の場合は .vscode/mcp.json、Cursor の場合は .cursor/mcp.json、Opencode の場合は opencode.json)を読み込み、設定済みの MCP サーバーを一覧表示してください。 b. do-shared/references/do-mcp-capabilities.md にある MCP ケイパビリティファイルを読み込み、各サーバーをケイパビリティとツールにマッピングしてください。 c. ケイパビリティマップを構築し、ケイパビリティガードを適用してください:
    • フロントエンドタスク + browser-testing MCP が利用可能 → ブラウザ E2E を実行。
    • バックエンドタスク + バックエンド対応 MCP が利用可能(message-queue、database、cache、api-testing) → その MCP 経由でバックエンド E2E を実行。
    • フロントエンド + バックエンド + 両方とも利用可能 → 両方を実行。
    • タスクタイプ + 関連する MCP なし → E2E をスキップし、ユニットテスト/統合テストを続行し、レビューでギャップを文書化。
  12. E2E テストの実行方法: ケイパビリティレジストリに記載されている適切な MCP ツール経由で実行する必要があります — 決して CLI 経由では実行しないでください。各 MCP のレジストリエントリに記載されているツールを使用してください。
  13. サービスの準備状況 — 実行中のサービスに依存する MCP/E2E を呼び出す前に必須: do-shared/references/do-service-readiness.md にある手順に従ってください。ルールは最初に確認し、実行中なら再利用し、必要なときだけ起動し、実行中のサービスを決して停止しないことです。レジストリエントリに Requer app rodando: Sim がある MCP については、ツールを呼び出す前にポート/ヘルスプローブを実行してください。サービスが実行されていない場合は、安全な開発サーバーのみを起動してください(npm run dev、npm start、bun dev、pnpm dev)。ブローカーや外部サービスについては、自動的に起動しようとせず、ギャップを文書化してください。
  14. MCP が利用できない場合(接続エラー、ツールが応答しない): その MCP のレジストリエントリにある「Se indisponivel」の処理に従ってください。ユニットテスト/統合テストを続行し、レビューで E2E のギャップを文書化してください。対象サービスからの connection refused(または同様のもの)は MCP の利用不可ではありません — サービスがダウンしたのです: サービス準備状況の手順(項目 9)で復旧させ、再試行してください。検証方法を決して切り替えないでください — MCP を自動化ライブラリを直接操作するスクリプトや CLI に置き換えないでください。

ステップ 4B: すべてのテストが成功すること — 譲れないゲート

テストが失敗しているタスクは完了したタスクではありません。これは絶対的かつ譲れないルールです。

  1. 実装後、FULL テストスイート(ユニット、統合、および利用可能な場合は型チェック)を実行します。
  2. すべてのテストが成功した場合 → ステップ 5 に進みます。
  3. いずれかのテストが失敗した場合 → ステップ 5 に進むことは禁止されています。 必ず以下を行ってください: a. 失敗したテストの出力を注意深く読みます。 b. 根本原因を診断します。 c. コードを修正します(テスト自体があなたの変更によって誤っている場合を除き、テストは修正しないでください)。 d. FULL テストスイートを再実行します。 e. すべてのテストが成功するまで繰り返します。
  4. ループ保護: 修正の試行回数を追跡します。5 回の修正と再テストのサイクルが失敗した後は、停止してユーザーに報告してください:
    • どのテストがまだ失敗しているか、およびその理由。
    • 各サイクルで何を試したか。
    • 根本原因に関するあなたの最善の評価。
    • タスクを完了としてマークしないでください。tasks.md を更新しないでください。レビューファイルを作成しないでください。
    • ユーザーがガイダンスを提供し、テストが成功するまで、タスクのステータスは未完了のままです。
  5. いかなる状況においても、以下を行ってはなりません:
    • 失敗したテストをスキップしてタスクを完了としてマークすること。
    • スイートを成功させるために失敗したテストを削除または無効化すること。
    • タスクを「既知のテスト失敗ありで完了」としてマークすること。
    • いずれかのテストが失敗状態のままステップ 5 に進むこと。
    • テストが一度も実行されていない場合にタスクを「完了」と見なすこと。

ステップ 5: tasks.md でタスクを完了としてマークする(必須 — すべてのテストが成功した後にのみ)

  1. 前提条件: すべてのテスト(ユニット、統合、型チェック)がステップ 4B で成功している必要があります。成功していない場合、このステップを実行することは禁止されています。
  2. 実装が成功し、すべてのテストが成功した後、tasks.md を更新してタスクを完了としてマークする必要があります。
  3. tasks.md でタスクのステータスを [ ](または同等のもの)から [x](または同等の「Concluída」/「Done」)に変更します。
  4. 即時検証(必須): 編集ツールの呼び出し直後に、同じレスポンス内で tasks.md に対して read_file を呼び出し、[x] が実際にファイル内容に存在することを検証する必要があります。読み取り出力に [x] が表示されない場合、編集は失敗しています — やり直してください。
  5. [num]_task.md ファイルですべてのサブタスク(X.1、X.2 など)を [x] としてマークし、実際に実行されて成功したすべてのテストについて、タスクのテストチェックリスト(例:「Testes da Tarefa」セクション)のチェックボックスもマークします。その後、[num]_task.md に対して read_file を呼び出して検証します。
  6. 内部進捗の同期: TaskUpdate が利用可能な場合(Claude Code のみ。Copilot および Cursor ではスキップ)、それを使用して内部タスク追跡の対応するすべての項目を completed としてマークします。それ以外の場合は、このステップをスキップします。

TASKS.MD 保護ルール — 絶対的、交渉不可: tasks.md に対して許可される唯一の変更は、現在実行中のタスクの [ ] を [x] に変更することです。ファイル内のその他のすべては読み取り専用です。具体的には、以下のことが禁止されています:

  • tasks.md からいかなる行も削除すること(以前に完了したタスクを含む)
  • 既存のエントリを削除、書き換え、または再フォーマットすること
  • 現在のタスク以外のいかなるタスクのステータスも変更すること
  • Write ツールでファイルを書き換えること — 対象タスク行の [ ] を [x] に変更するだけの最小限の外科的な置換(old_string → new_string)を伴う Edit ツールを使用する必要があります
  • Write を使用して tasks.md を「クリーンアップ」または「再編成」したバージョンで上書きすること

tasks.md を安全に編集する方法:

  • 常に Edit ツールから始めます(Write より優先)
  • old_string は [ ] を含む正確なタスク行でなければなりません
  • new_string は [x] を含む同じ行でなければなりません
  • それ以外は何も変更しません。他の行には触れません。
  • 編集後、ファイル全体を read_file し、以前に完了したすべてのタスクが依然として存在し、[x] としてマークされていることを確認します。
  • Edit が 3 回の試行後に失敗した場合、Edit 失敗時のリカバリルールが適用されます:tasks.md の例外を使用して Write に切り替えます(ファイル全体を読み取り、すべての内容を再現し、対象タスクの [ ] のみを [x] に変更し、その後 read_file で検証します)。 ステップ5のアンチハルシネーションルール: ツール呼び出し(Edit/Write)が実際に実行され、その後の read_file で変更が確認されない限り、ファイルを更新したと主張してはいけません。先行する成功した Edit ツール呼び出しと、それを確認する Read ツール呼び出しなしに「tasks.md を更新しました」と言うのは嘘です。編集が行われたか不明な場合は、ファイルを再読み込みして確認してください。

ステップ6: コードレビュー

  1. 最新の内容を確保するためにタスクファイルを再読み込みしてください(コンテキスト圧縮により以前の読み込みが破棄されている可能性があります)。
  2. git rev-parse --is-inside-work-tree を実行して、プロジェクトが git リポジトリかどうかを確認してください。git が利用可能な場合は、git diff と git log を使用してこのタスクの一部として変更されたファイルを特定し、差分だけでなく変更されたファイルの完全なコンテキストを読み込んでください。git が利用できない場合は、実装中に作成または変更したすべてのファイルを手動でリストアップし、レビューのためにその完全な内容を読み込んでください。
  3. do-execute-task/references/code-standards.md にある code-standards.md ファイルを読み込んでください。それらの基準に照らしてコードをレビューし、プロジェクト設定ファイルが存在する場合はそれへの準拠を確認してください。
  4. 見つかった各問題を次のように分類してください:
    • CRÍTICO: バグ、セキュリティ問題、壊れた機能、エラー処理の欠如。
    • MAIOR: コード標準の違反、テストの欠如、不適切な命名。
    • MENOR: スタイルの提案、軽微な改善。
    • POSITIVO: 称賛に値する、うまく行われた事柄。
  5. 検出されたパッケージマネージャーを使用してテストスイートを実行してください。package.json に typecheck スクリプトが存在する場合は、それを実行してください。失敗があれば重大な問題として含めてください。
  6. 特定された問題に対処してください。反復制限: 修正とレビューのサイクルは最大3回まで実行できます。3サイクル後も重大な問題が残っている場合は、ステップ7で MUDANÇAS SOLICITADAS としてマークしてください。

ステップ7: レビューファイルの作成(必須)

  1. do-execute-task/assets/review-artifact-template.md にあるテンプレートを読み込んでください。
  2. ステップ6の調査結果に基づいてレビューステータスを決定してください:
    • APROVADO: 重大/大きな問題なし。
    • APROVADO COM OBSERVAÇÕES: 重大な問題なし、軽微な問題またはブロッキングではない少数の大きな問題。
    • MUDANÇAS SOLICITADAS: 重大な問題または複数の大きな問題。
  3. ファイルを作成してください: Write ツールを使用して ./prds/prd-[feature-slug]/tasks/ に [num]_task_review.md を作成してください。これはこのステップで最も重要なアクションです。 必須ファイル名ルール — 絶対的かつ譲歩不可:
    • ファイル名は、レビュー対象のタスクの整数と一致する <integer>_task_review.md でなければなりません(例: タスク 11_task.md → レビュー 11_task_review.md)。
    • 禁止: 説明的なスラッグ(11_weekly_forecast_review.md ❌)、小数(11.0_task_review.md ❌)、変種(review_11.md、11_review.md ❌)。
  4. ファイルが存在することを確認してください: Write ツール呼び出しの直後に、./prds/prd-[feature-slug]/tasks/[num]_task_review.md に対して read_file を呼び出してください。返されたファイル内容を確認できなければなりません。読み込みが失敗するか空の場合 → Write が失敗しました。今すぐやり直してください。
  5. read_file が成功した場合、ファイルの作成が確認されました。ステップ8に進んでください。

障害からの復旧: Write ツール呼び出しがユーザーによって拒否された場合、または何らかの理由で失敗した場合:

  • Write ツールでもう一度試してください。
  • 再度拒否された場合は、レビューファイルを作成できず、それなしではタスクを完了と見なせないことをユーザーに伝えてください。
  • ステップ8に進んではいけません。タスクを完了として報告してはいけません。

アンチハルシネーションルール: 成功した Write ツール呼び出しと、内容を示す成功した read_file が続かない「レビューファイルを作成しました」は嘘です。両方のツール呼び出しが正常に実行されなければなりません。

ステップ8: 最終ゲート — 必須成果物の検証

すべてのチェックには実際のツール呼び出しが必要です。記憶に頼らないでください — ディスクからファイルを再読み込みしてください。最終応答を送信する前に、失敗があれば修正してください。

以下のすべてのチェックを実行してください。いずれかが失敗した場合は、まずそれを修正してください。

  1. チェック 1 — すべてのテストがパス: 最後のテスト実行で、すべてのテストがパスした(失敗がゼロ)ことを確認します。テストが実行されていない、またはいずれかのテストが失敗した場合 → 停止してください。ステップ 4B に戻ってください。失敗したテストがある状態でタスクを完了としてマークすることはできません。

  2. チェック 2 — レビューファイルが存在する: ./prds/prd-[feature-slug]/tasks/[num]_task_review.md に対して read_file を呼び出します。ツールから実際のファイル内容が返されることを確認する必要があります。ツールがエラーを返す、またはファイルが存在しない場合 → 停止してください。ステップ 7 に戻り、Write ツールを使って今すぐ作成してください。その後、再度 read_file を呼び出して存在を確認してください。このチェックがパスするまで先に進まないでください。

  3. チェック 3 — tasks.md が更新されており、かつ無傷である: ./prds/prd-[feature-slug]/tasks/tasks.md に対して read_file を呼び出します。次の 2 点を確認します。

    • (a) 現在のタスクが [x] としてマークされていること。そうでない場合 → 停止してください。今すぐ編集してください。
    • (b) 以前にファイル内にあった他のすべてのタスクが依然として存在していること。 行が削除されておらず、エントリが削除されていません。以前に存在していたタスクエントリが 1 つでも欠けている場合 → 停止してください。これは重大なエラーです — データを破壊しました。git を使うか手動で再追加して、欠落しているエントリを復元し、再度読み取って確認してください。
  4. チェック 4 — サブタスクがマークされている: ./prds/prd-[feature-slug]/tasks/[num]_task.md に対して read_file を呼び出します。ファイル内のすべてのチェックボックスを確認します — サブタスク(X.1、X.2 など)およびテストチェックリスト(たとえば「Testes da Tarefa」セクション)。そのすべてが [x] を示している必要があります。テスト項目は、そのテストが実際に実行されてパスした後にのみマークできます。いずれかが [ ] を示している場合 → 停止してください。今すぐファイルを編集してください。その後、再度 read_file を呼び出して確認してください。

  5. チェック 5 — 要件の照合: タスクファイルからすべての要件を列挙し、それぞれが実装され、テストされていることを確認します。

  6. チェック 6 — クリティカルタグ: タスクファイルのすべての <critical> タグが満たされたことを確認します。

  7. チェック 7 — ワークスペース境界: このタスク中にプロジェクトルート外にファイルが作成されていないことを確認します(ワークスペース境界ルール)。./.do-tmp/task-[num]/ を削除し(rm -rf ./.do-tmp/task-[num])、それが存在しなくなったことを確認します。タスクの成果物がプロジェクト外に残っている場合は、永続させる必要があるもの(たとえばテスト)をプロジェクト内に移動し、残りを削除します。また、プロジェクトルートにスクリーンショットや証跡ファイルが残っていないことを確認します — 永続させる必要があるものは ./prds/prd-[feature-slug]/task-screenshots/ に移動し、残りを削除します。

ブロッキングルール: チェック 1、2、3、4、または 7 が失敗した場合、最終レスポンスを送信することは禁止されています。問題を修正し、チェックを再実行してください。失敗したテストがあるタスクは決して完了にはなりません。

アンチハルシネーションの徹底: 成果物に対して最終レスポンスに ✅ を含めているのに、ステップ 7 の対応する read_file ツール呼び出しが行われていない、またはエラーを返した場合、あなたはユーザーに嘘をついています。これは起こりうる最悪の結果です。疑わしい場合は、ファイルを再度読み取ってください。

  1. 最終出力マニフェスト(ユーザーへの最終レスポンスに含めてください):
    📋 Artefatos:
    - Testes: ✅ Todos passando
    - [num]_task_review.md: ✅ Criado ([STATUS])
    - tasks.md: ✅ Atualizado (task [num] marcada como concluída)
    - [num]_task.md: ✅ Subtasks marcadas como concluídas
    - .do-tmp/task-[num]: ✅ Removido (nada criado fora do projeto)
    
    いずれかの成果物が ✅ ではなく ❌ を示している場合、あなたはこのスキルのルールに違反しています。レスポンスを送信しないでください — まず成果物を修正してください。 サブエージェントの例外: オーケストレーターからサブエージェントとして起動された場合(たとえば agent-execute-task)、このマニフェストを含めないでください — 最終レスポンスはエージェントによって定義された短い TASK <ID>: ... ブロックのみです。

エラー処理

  • タスクファイルが存在しない場合は、処理を中断してユーザーに報告します。
  • PRD ファイルが存在しない場合は、処理を中断してユーザーに do-create-prd の実行を促します。
  • TechSpec ファイルが存在しない場合は、処理を中断してユーザーに do-create-techspec の実行を促します。
  • tasks.md が存在しない場合は、処理を中断してユーザーに do-create-tasks の実行を促します。
  • 依存関係が完了していない場合は、ステータスメッセージでユーザーに警告し、そのまま続行します — 確認を待たないでください。
  • テストが失敗した場合は、問題を修正して再実行します(最大 5 サイクル)。テストが失敗したままタスクを完了としてマークしないでください。5 サイクル後に行き詰まった場合は、ユーザーに報告し、タスクを未完了のままにします。
  • レビューで重大な問題が特定された場合は、最終化する前に対処します(最大 3 修正サイクル)。
  • MCP が必要とするサービス(アプリ、ブローカーなど)が実行されていない場合は、do-shared/references/do-service-readiness.md を適用します — まずプローブし、実行中であれば再利用し、安全な開発サーバーのみを起動し、外部サービスの不足を文書化します。実行中のサービスを決して停止しないでください。
  • MCP が利用できない場合は、レジストリの「Se indisponivel」の処理に従います。ユニットテスト/統合テストを続行し、レビューに E2E のギャップを文書化します。
  • git が初期化されていない場合は、git ベースの差分分析をスキップし、変更されたファイルを手動で追跡します。
  • 実装が途中で失敗した場合(コンパイルエラー、互換性のない依存関係など)は、完了した内容と残りの内容を文書化し、コードベースがコンパイルされることを確認し(必要に応じて壊れた部分的な変更を元に戻す)、ブロッカーをユーザーに報告します。
  • Edit ツール呼び出しが失敗した場合は、Edit Failure Recovery のエスカレーションラダー(上記参照)に従います。read_file から正確な内容で再試行 → より小さな old_string を試す → 3 回失敗したら Write に切り替える。同じ変更に対して Edit を 3 回を超えて再試行しないでください。

出力言語

生成されるすべての成果物(レビューファイルを含む)は、ブラジルポルトガル語(PT-BR)で記述する必要があります。コード例、変数名、ファイルパスのみ英語のままとなります。

参照

  • タスク: ./prds/prd-[feature-slug]/tasks/[num]_task.md
  • PRD: ./prds/prd-[feature-slug]/prd.md
  • TechSpec: ./prds/prd-[feature-slug]/techspec.md
  • タスク一覧: ./prds/prd-[feature-slug]/tasks/tasks.md
  • レビューテンプレート: do-execute-task/assets/review-artifact-template.md
  • コード標準: do-execute-task/references/code-standards.md
  • MCP Discovery: do-shared/references/do-mcp-discovery-instructions.md
  • MCP Registry: do-shared/references/do-mcp-capabilities.md
  • Service Readiness: do-shared/references/do-service-readiness.md
  • レビュー出力: [num]_task_review.md(タスクファイルと同じディレクトリ)

コメント