--- name: task-starter description: | ソフトウェア/Web開発プロジェクト・タスクの開始時に、標準フォルダ構造・仕様書・TODOタスクのドキュメント群を生成し、 さらに「並行実行可能なタスクの分類」「依存DAGとクリティカルパスを含むロードマップ」「Claude Code最新機能を活用した推奨ワークロード」までを一括生成するスキル。 入力テンプレートを利用し、情報が不足している場合は必要事項を段階的に収集してから生成する。 以下の状況で使用: (1) 「新しいプロジェクトを始めたい」「タスクを開始したい」「プロジェクトをセットアップして」 (2) 明示的に「task-starter スキル」の実行を指示された時 (3) 新機能開発・リファクタリング・バグ修正で計画・ドキュメント整備が必要な時 (4) 「ドキュメント構造を作って」「プロジェクトの骨組みを用意して」 (5) 「タスク管理用のフォルダを作成して」「開発の準備をして」 (6) 「仕様書のテンプレートが欲しい」「タスク分割を手伝って」 (7) 「作業計画をゼロから立てたい」「新規タスクの計画書を作って」 (8) 「並行で進められるタスクを整理して」「最速で完了させる作業計画を立てて」 (9) 「タスクのDAG/ロードマップを作って」「クリティカルパスを出して」 注意: 既存TODOの実行・進捗管理はtask-performerの担当。このスキルは「新規作成」と「ロードマップ設計」に特化。 argument-hint: "[プロジェクト名]" --- # Task Starter ソフトウェア/Web開発プロジェクト・タスクの標準ドキュメント構造を生成し、依存関係を分析した上で、最速完了に向けたロードマップと推奨ワークロードまで提示する。 ## スコープ ### 含むもの - プロジェクトフォルダ構造の新規生成 - **ドキュメント形式の選択(Markdown / 自己完結HTML)** - 仕様書・TODOタスク・現状分析ドキュメントの作成 - タスク分割(依存メタ情報付き)と計画策定 - **依存DAG・クリティカルパス・並行可能タスク群の特定** - **Claude Code 最新機能(Subagents並列・/goal・worktree・/batch等)を活用した推奨ワークロードの提示** ### 含まないもの - 既存TODOタスクの実行・進捗管理(→ task-performer) - コードの実装作業 - 既存ドキュメントの更新・メンテナンス ## 開発原則(タスク設計の必須観点) いかなる開発タスクでも、以下4原則を**この優先順位**で意識してタスクを設計・分割・計画する。仕様・受け入れ条件・分割粒度を決める際、まずこの観点で漏れがないか点検する。設計段階で考慮しておくと、後工程での手戻り(特にセキュリティと耐障害性は後付けが極めて高コスト)を防げる。 1. **セキュリティ(最優先)** — 認証・認可、入力検証、機密情報の扱い、依存ライブラリの脆弱性。脅威を設計段階で洗い出し、対策自体を独立タスクとして起票する。他の原則とトレードオフが生じたら常にセキュリティを優先する。 2. **耐障害性 (Fault Tolerance)** — 障害発生を前提に、リトライ・タイムアウト・graceful degradation・ロールバック手順を設計へ織り込む。単一障害点で全体が止まらないかを点検する。 3. **高可用性 (High Availability)** — 稼働継続性。冗長化・ヘルスチェック・無停止デプロイの余地を設計時に確保する。 4. **スケーラビリティ (Scalability)** — 負荷増大への追従。状態の持ち方・ボトルネック・水平/垂直スケールの前提を早期に固める。 **柔軟適用**: 全タスクに4原則の検討を課すが、対象タスクに本質的に関係しない原則は「N/A(理由)」と明記してよい(例: 純粋なドキュメント整備タスクで高可用性は N/A)。目的は形式的チェックではなく、なぜ該当/非該当かを言語化し、考慮漏れを無くすこと。考慮結果は各 `todos/{ID}/README.md` の「開発原則チェック」セクションと `specs/` の非機能要件へ反映する。 ## TODOタスク番号規約 `todos/` 配下のタスク番号は**用途で番号帯を分ける**: - **新規作成タスク = `0xx` 番台(`001`〜`099`)** — task-starter がプロジェクト初期に分割するタスクはすべてこの帯で連番。3桁ゼロ埋め。 - **`1xx` 番台(`101`〜`199`)は予約** — task-performer によるタスク実行中に発生した「追加タスク」「申し送りタスク」用。task-starter の新規作成では**使わない**。 番号帯を分けることで、当初計画したタスク(0xx)と、実装着手後に判明した派生タスク(1xx)が一目で区別でき、計画の妥当性レビューや進捗把握がしやすくなる。 ## 成功基準 - Phase 1 でユーザーに選択させたドキュメント形式(Markdown / HTML)で全ドキュメントが一貫して生成されている(拡張子は `.md` または `.html`) - 指定ディレクトリに `YYYYMMDD-{name}/` フォルダ構造が生成されている - `specs/` に要件・技術仕様を含む仕様書が作成され、非機能要件にセキュリティ・耐障害性・高可用性・スケーラビリティの方針が記載されている - `todos/` に1-2時間粒度のタスクが**`0xx` 番台(`001`〜`099`)**で依存順に配置され、各TODOに依存メタ(`depends_on` / `parallel_group`)が明記されている(Markdownはフロントマター、HTMLは `