mcpField
C
complete-task

complete-task

github.com/driangle生産性7636 回インストール4 週間前に更新
リポジトリ

complete-task について

complete-task は、taskmd CLI でタスクを完了するためのスキルです。状態変更前にタスク内容と受け入れ条件を確認するワークフロー向けで、サブタスク、任意の作業ログ、ワークフローモードを確認し、現在の作業ディレクトリで書き込むよう案内します。

主な機能

  1. 01タスク内容と受け入れ条件を確認
  2. 02完了したサブタスクを検証してチェック
  3. 03設定時に完了ログを追記
  4. 04ワークフローモードに応じて状態を更新
  5. 05現在の作業ディレクトリで書き込み

活用シーン

  1. 01範囲を確認して taskmd タスクを完了
  2. 02未完了の条件があれば完了を保留
  3. 03PR レビューモードでレビュー待ちに設定

インストール

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

$npx skills add https://github.com/driangle/taskmd --skill complete-task

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

詳細

タスクを完了する

taskmd CLI を使ってタスクを完了済みにします。

手順

ユーザーの問い合わせは $ARGUMENTS にあります(077 のようなタスク ID)。$ARGUMENTS が空、またはタスク ID が含まれていない場合は、会話の文脈(例:現在作業中のタスク)からタスクを推測します。タスクを特定できない場合は、どのタスクを完了するのかユーザーに確認します。

⚠️ ワークツリーの安全性 — taskmd で書き込む前に cd してはいけません。 taskmd set … コマンド(--verify と in-review のブランチを含む)は、すべて現在の作業ディレクトリから実行してください。cd /path/to/repo を先頭に付けたり、「プライマリ作業ディレクトリ」に移動したりしないでください。Git のワークツリー内では、そのパスは別のブランチにある別のチェックアウトです。Edit/Write ツールとは異なり(ハーネスのワークツリー分離によって保護されます)、シェルからの taskmd の書き込みは分離されません。そのため、cd した後に実行すると、別のチェックアウトのステータスが気付かないうちに変更されます。taskmd は現在のディレクトリを基準にタスクディレクトリを解決するため、その場で実行することがこのワークツリーへの書き込みを保つ方法です。(Git リポジトリ外では、その場で実行すれば問題ありません。)

CLI にも、この安全策が組み込まれています。複数のワークツリーがあるリポジトリで、タスクが隣接するワークツリーにしか存在しない場合、taskmd set は書き込みを拒否します(task <id> exists only in worktree <path> …; run taskmd there)。このエラーが発生した場合は、別のチェックアウトにいます。cd して回避しようとしないでください。そのタスクが属するワークツリーからコマンドを実行してください。

  1. タスクファイルを読み取り、タスクの全範囲を把握します。

    • taskmd get <ID> を実行してタスクの内容を取得します。
    • タスク本文にあるすべてのサブタスクのチェックリスト(- [ ]/- [x] の項目)を特定します。
    • 受け入れ基準のセクションがあるか確認します。
  2. サブタスクと受け入れ基準が満たされていることを確認します。

    • サブタスクのチェックリスト項目をそれぞれ確認し、作業が完了しているか確かめます。
    • 受け入れ基準を確認し、それぞれが満たされているか確かめます。
    • 完了しているにもかかわらず未チェックの項目があれば、タスクファイルを編集してチェックを付けます(- [x])。
    • 本当に未完了の項目がある場合は、ユーザーに報告して進め方を確認します。タスクを完了済みにしてはいけません。
  3. 最後の作業ログを追加します(作業ログが有効な場合)。

    • .taskmd.yaml で worklogs: true と設定されているか確認します。作業ログはオプトインのため、このキーが明示的に true に設定されていない限り、この手順は省略します。
    • それ以外の場合は、tasks/<group>/.worklogs/<ID>.md(または tasks/.worklogs/<ID>.md)にある作業ログファイルを探します。
    • 作業ログが存在する場合は、完了の概要をタイムスタンプ付きで追記します。
  4. .taskmd.yaml でワークフローモードを確認します(以下の taskmd set コマンドは現在の作業ディレクトリから実行し、⚠️ の注意にあるとおり、先に別の場所へ cd してはいけません)。

    • workflow: pr-review が設定されている場合は、completed の代わりに taskmd set $ARGUMENTS --status in-review を実行します(注:pr-review モードでは、タスクはステータスを直接設定するのではなく、PR をマージすることで完了します)。
    • それ以外(デフォルトの solo モード)の場合は、taskmd set $ARGUMENTS --status completed --verify を実行します。
    • --verify フラグは、ステータス変更を適用する前に、タスクに定義されている検証チェックを実行します。
    • 検証に失敗した場合は、失敗の内容をユーザーに報告します。
  5. ステータスを変更したことをユーザーに確認します。

コメント