/next-task /plan-tasks /list-tasks が読むプロジェクト側のファイルを用意するスキル。
置き場と役割は task-workflow スキルの WORKFLOW.md(以下「正典」)「ファイル配置と
CLAUDE.md」。
タスクは登録しない(登録は /plan-tasks、実行は /next-task)。
既にあるファイルは上書きしない(中身の点検結果だけ出して、直すかどうかは下の手順で決める)。
手順
作る。骨組みは決まりきっているので手で書かない(
progress.mdの節名がズレると アーカイブが節を見つけられず、direction.mdに見出し以外の行が混ざると/plan-tasksが 「未対応の指示がある」と誤判定する):python3 ${CLAUDE_SKILL_DIR}/../task-workflow/scripts/init.py develop出力は1行1ファイル:
行 意味 CREATED無かったので骨組みで作った KEPT+OK:既にあり、中身も筋が通っている。触っていない KEPT+INVALID:/MISSING_SECTION:/PENDING:既にあるが手当てが要る(下の「 KEPTがOK:でないとき」)MISSING/NO_SECTION/MISSING_LINE/OKCLAUDE.md の点検結果(最終行)。手順2で使う CLAUDE.md の「## タスク運用」節を用意する。プロジェクトごとに変わる値は 検証コマンドと整形コマンドの2つだけで、置き場はここ(正典「ファイル配置と CLAUDE.md」)。 設定ファイルは持たない。
まず値を決める。推測で書かない:
- 探す先は
package.jsonのscripts、Makefile、justfile、pyproject.toml、 そして既にある CLAUDE.md の記述(実測した3プロジェクトとも、検証コマンドは 「変更後は必ずpnpm checkを通す」のような形で別の節に書いてあった) - 候補を見つけたら実際に走らせて通ることを確かめてから書く。検証コマンドは
/next-taskが受け入れ判定に毎回使うので、通らないコマンドを書くと全タスクが落ちる - 候補が複数あって決め手が無いとき、1つも見つからないときはユーザーに聞く
- 走らせるコマンドが無いと決まったら
なしと書く。行ごと消さない(「検討して不要と 決めた」と「まだ検討していない」が区別できなくなる)
書く形は正典のとおり。行の頭は変えない(スキルがこの節を
sedで読む):## タスク運用 - 検証コマンド: `pnpm check`(変更後は必ずこれを通す。受け入れ判定に使う) - 整形コマンド: `pnpm format` - ブランチ: 作業ブランチを切る `develop/tasks.json`・`develop/progress.md`・`develop/direction.md` で管理する。 指示は `develop/direction.md` に溜め、`/plan-tasks` でタスク化して `/next-task` で進める。CLAUDE.md は人が書いた文書なので、状態によって扱いを変える(手順1の最終行がどれか):
点検結果 すること MISSINGCLAUDE.md ごと新規に作る。タスク運用の節だけを書き、プロジェクトの説明を勝手に書き足さない NO_SECTION既存の記述を先に読む。 検証コマンドが別の節に書いてあることが多く、その場合は値をそこから取る。節はファイルの末尾に足す(既存の節の順序を組み替えない)。追記する内容をユーザーに見せて確認を取ってから書く MISSING_LINE足りない行だけを既存の節に足す。既にある行は書き換えない(値が古く見えても、直すかはユーザーの判断) OK触らない。節の値をそのまま採用する NO_SECTIONで既存の別の節にコマンドが書いてある場合、その節は消さない。人向けの 説明として残し、タスク運用の節からは同じコマンドを指す(重複が気になるとユーザーが 言ったら、どちらを残すかを聞く)。- 探す先は
通しで確かめる。ここまでで
/list-tasksが動く状態になっているはず:python3 ${CLAUDE_SKILL_DIR}/../task-workflow/scripts/status.py develop/tasks.jsonまっさらなら
EMPTYとprogress行の2行が出る。MISSINGが出たら手順1が効いていない。INVALIDが出たら既存のtasks.jsonが読めない(手順1のKEPT+INVALID:と同じ話で、 直さずユーザーに聞く)。コミットする。件名は正典「コミットメッセージ」。push はしない。
報告する。作ったファイル、CLAUDE.md に書いた値(と、その根拠にしたコマンドが 実際に通ったこと)、CLAUDE.md をどう扱ったか(新規作成/末尾に追記/触らず)、 点検で見つかった問題。最後に次の一歩を1行: やりたいことを
develop/direction.mdの## ユーザーから節に書いて/plan-tasksを 呼ぶとタスクになる。
KEPT が OK: でないとき
| 点検結果 | すること |
|---|---|
INVALID: |
直さない。 壊れた tasks.json は運用中のデータなので、内容を確かめずに作り直すと進行中のタスクを失う。エラーをそのまま報告し、どうするかをユーザーに聞く |
MISSING_SECTION: |
足りない節を見出し行だけ足す(## 未解決 ## 注意)。既存の中身は動かさない |
PENDING: |
セットアップとしては完了。未タスク化の指示が残っているので、/plan-tasks が先だと報告する |
やらないこと
- タスクの登録・実行。 登録は
/plan-tasks、実行は/next-task docs/history/を掘る。 アーカイブが要るときにarchive.pyが作る。空ディレクトリは git が追跡しないので、先に作っても残らないdevelop/を.gitignoreに足す。 タスクの正典はコミットして共有するファイル- CLAUDE.md の書き換え(タスク運用の節より外)。 既存の節の並べ替え・要約・他の プロジェクト説明の加筆はしない。足すのは「## タスク運用」節だけ
~/.claude/skills/へのリンク。 スキル自体の導入は、このリポジトリのinstall.sh