# Setup Tasks

> タスク運用に要る develop/tasks.json・develop/progress.md・develop/direction.md をプロジェクトに用意し、検証コマンドと整形コマンドを CLAUDE.md の「## タスク運用」節に書く。ユーザーが「タスク運用を始めたい」「develop/ を用意して」「このプロジェクトでもタスク管理を使いたい」と言ったとき、/next-task・/plan-tasks・/list-tasks が MISSING を返したときに使う。既にあるファイルは上書きしない。

- Skill: `sinnlosses/setup-tasks` (Agent Skill)
- Install (CLI): `npx skillmds@latest add sinnlosses/setup-tasks`
- Raw SKILL.md: https://api.skillmd.com/api/skills/sinnlosses/setup-tasks/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: sinnlosses (https://skillmd.com/u/sinnlosses)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/sinnlosses/setup-tasks

---


`/next-task` `/plan-tasks` `/list-tasks` が読む**プロジェクト側のファイルを用意する**スキル。
置き場と役割は `task-workflow` スキルの `WORKFLOW.md`（以下「正典」）「ファイル配置と
CLAUDE.md」。

**タスクは登録しない**（登録は `/plan-tasks`、実行は `/next-task`）。
**既にあるファイルは上書きしない**（中身の点検結果だけ出して、直すかどうかは下の手順で決める）。

## 手順

1. **作る**。骨組みは決まりきっているので手で書かない（`progress.md` の節名がズレると
   アーカイブが節を見つけられず、`direction.md` に見出し以外の行が混ざると `/plan-tasks` が
   「未対応の指示がある」と誤判定する）:

   ```bash
   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`/`OK` | CLAUDE.md の点検結果（最終行）。手順2で使う                   |

2. **CLAUDE.md の「## タスク運用」節を用意する**。プロジェクトごとに変わる値は
   **検証コマンドと整形コマンドの2つだけ**で、置き場はここ（正典「ファイル配置と CLAUDE.md」）。
   設定ファイルは持たない。

   まず値を決める。**推測で書かない**:

   - 探す先は `package.json` の `scripts`、`Makefile`、`justfile`、`pyproject.toml`、
     そして**既にある CLAUDE.md の記述**（実測した3プロジェクトとも、検証コマンドは
     「変更後は必ず `pnpm check` を通す」のような形で別の節に書いてあった）
   - 候補を見つけたら**実際に走らせて通ることを確かめてから**書く。検証コマンドは
     `/next-task` が受け入れ判定に毎回使うので、通らないコマンドを書くと全タスクが落ちる
   - 候補が複数あって決め手が無いとき、1つも見つからないときは**ユーザーに聞く**
   - 走らせるコマンドが無いと決まったら `なし` と書く。**行ごと消さない**（「検討して不要と
     決めた」と「まだ検討していない」が区別できなくなる）

   書く形は正典のとおり。**行の頭は変えない**（スキルがこの節を `sed` で読む）:

   ```markdown
   ## タスク運用

   - 検証コマンド: `pnpm check`（変更後は必ずこれを通す。受け入れ判定に使う）
   - 整形コマンド: `pnpm format`
   - ブランチ: 作業ブランチを切る

   `develop/tasks.json`・`develop/progress.md`・`develop/direction.md` で管理する。
   指示は `develop/direction.md` に溜め、`/plan-tasks` でタスク化して `/next-task` で進める。
   ```

   **CLAUDE.md は人が書いた文書なので、状態によって扱いを変える**（手順1の最終行がどれか）:

   | 点検結果       | すること                                                                 |
   | -------------- | ------------------------------------------------------------------------ |
   | `MISSING`      | CLAUDE.md ごと新規に作る。**タスク運用の節だけ**を書き、プロジェクトの説明を勝手に書き足さない |
   | `NO_SECTION`   | **既存の記述を先に読む。** 検証コマンドが別の節に書いてあることが多く、その場合は値をそこから取る。節は**ファイルの末尾に足す**（既存の節の順序を組み替えない）。追記する内容をユーザーに見せて**確認を取ってから**書く |
   | `MISSING_LINE` | 足りない行だけを既存の節に足す。**既にある行は書き換えない**（値が古く見えても、直すかはユーザーの判断） |
   | `OK`           | 触らない。節の値をそのまま採用する                                       |

   `NO_SECTION` で既存の別の節にコマンドが書いてある場合、**その節は消さない**。人向けの
   説明として残し、タスク運用の節からは同じコマンドを指す（重複が気になるとユーザーが
   言ったら、どちらを残すかを聞く）。

3. **通しで確かめる**。ここまでで `/list-tasks` が動く状態になっているはず:

   ```bash
   python3 ${CLAUDE_SKILL_DIR}/../task-workflow/scripts/status.py develop/tasks.json
   ```

   まっさらなら `EMPTY` と `progress` 行の2行が出る。`MISSING` が出たら手順1が効いていない。
   `INVALID` が出たら既存の `tasks.json` が読めない（手順1の `KEPT` + `INVALID:` と同じ話で、
   **直さずユーザーに聞く**）。

4. **コミットする**。件名は正典「コミットメッセージ」。push はしない。

5. **報告する**。作ったファイル、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`

