7.5 KiB
7.5 KiB
description, argument-hint, allowed-tools
| description | argument-hint | allowed-tools |
|---|---|---|
| GitHub IssueをProduct Backlog Item(PBI)としてリファインメントし、実装可能なタスクに分解する | <issue_number> [--group=N] [--from=groupN] [--edit=groupN] | Bash, Read, Write, Edit, Glob |
GitHub Issue リファインメント・タスク分解
指定されたGitHub Issue #$1 をマイクロステップの対話を通じて、具体的な実装タスクに分解します。
実行モード
基本実行
/task-refine 123 # 全グループを順次実行
/task-refine 123 --group=1 # Group 1のみ実行
/task-refine 123 --from=group2 # Group 2から再開
/task-refine 123 --edit=group1 # Group 1のみ修正
3段階グループ構成
Group 1: 要件・制約の確定 (5-8分)
目的: 何を作るかを明確化
ステップ構成:
- Step 1: 認証・処理方式の選択
- Step 2: 機能範囲の決定
- Step 3: セキュリティレベルの設定
- Step 4: 非機能要件の確認
出力: 機能要件と制約の確定
Group 2: 技術・アーキテクチャ設計 (8-12分)
目的: どう実装するかを技術的に決定
ステップ構成:
- Step 5: 技術スタックの選択
- Step 6: データ設計・モデル構造
- Step 7: API設計・インターフェース
- Step 8: UI/UX設計方針
前提条件: Group 1の完了が必要 出力: 技術仕様と設計方針の確定
Group 3: 実装・タスク構成 (5-8分)
目的: 具体的な作業手順に分解
ステップ構成:
- Step 9: タスク分解粒度の決定
- Step 10: 実装優先順位の設定
- Step 11: 依存関係の整理
- Step 12: 最終タスクリストの確認
前提条件: Group 1, 2の完了が必要 出力: 実装可能なタスクリスト
実行フロー
1. Issue分析と進行状況確認
# GitHub CLI でIssue情報取得
gh issue view $1 --json title,body,url
# 既存の進行状況確認
if [ -f "tasks/pbi-$1/.refine-progress.json" ]; then
# 前回の続きから再開オプション表示
fi
2. グループ別実行制御
Group 1実行例:
=== Group 1: 要件・制約の確定 ===
Progress: ▓▓▓░░░░░░░ (3/10 steps)
Step 1/4: 認証・処理方式
GitHub Issue #$1から検出キーワード: [動的表示]
Q: 主要な処理方式を選択してください
1. 認証系 (ログイン、権限管理)
2. データ処理系 (CRUD、検索、集計)
3. UI/UX系 (画面、コンポーネント)
4. 統合系 (API連携、外部サービス)
5. その他
選択: 1
Step 2/4: 機能範囲
認証系機能として、実装する機能を選択してください (複数選択可):
1. ユーザーログイン
2. ユーザー登録
3. パスワードリセット
4. 権限・ロール管理
5. プロフィール管理
6. セッション管理
選択: 1,2,3
Step 3/4: セキュリティレベル
選択した機能 (ログイン、登録、リセット) に対するセキュリティレベル:
1. 基本 (パスワード暗号化、基本バリデーション)
2. 強化 (2FA、IP制限、監査ログ)
3. 最小限 (暗号化のみ)
選択: 1
Step 4/4: 非機能要件
Q: 想定される利用規模は?
1. 小規模 (~100ユーザー)
2. 中規模 (~1,000ユーザー)
3. 大規模 (1,000ユーザー+)
選択: 2
✅ Group 1完了: 要件・制約が確定
【確定内容】
- 処理分野: 認証系
- 機能: ログイン、登録、パスワードリセット
- セキュリティ: 基本レベル
- 規模: 中規模対応
次のアクション:
1. Group 2に進む (技術・アーキテクチャ設計)
2. 後で続行 (進捗保存)
3. Group 1を修正
選択: 1
3. 進捗管理と状態保存
.refine-progress.json 形式:
{
"issue": "$1",
"started": "2024-01-01T10:00:00Z",
"current_group": 2,
"completed_groups": [
{
"group": 1,
"completed_at": "2024-01-01T10:08:00Z",
"decisions": {
"processing_type": "authentication",
"features": ["login", "registration", "password_reset"],
"security_level": "basic",
"scale": "medium"
}
}
],
"current_step": 6,
"session_data": {
"tech_stack_proposal": "node_express",
"database_preference": "postgresql"
}
}
4. 最終ファイル生成
拡張されたREADME.md形式:
---
issue: $1
title: <issue_title>
url: <github_url>
phase: completed
refinement_completed: <ISO8601>
created: <ISO8601>
updated: <ISO8601>
---
# PBI #$1
## リファインメント履歴
### Group 1: 要件・制約確定 ✅
- 処理分野: 認証系
- 機能範囲: ログイン、登録、パスワードリセット
- セキュリティ: 基本レベル (暗号化、バリデーション)
- 規模: 中規模対応 (~1,000ユーザー)
### Group 2: 技術・アーキテクチャ設計 ✅
- バックエンド: Node.js + Express + PostgreSQL
- フロントエンド: React + TypeScript (既存環境)
- 認証方式: JWT (24時間有効期限)
- API: RESTful 4エンドポイント
### Group 3: 実装・タスク構成 ✅
- タスク数: 8個
- カテゴリ: Setup(1), Models(2), Services(2), UI(2), Tests(1)
- 実装期間: 5-8日 (1日1-2タスク想定)
## タスク一覧 (カテゴリ別)
### Setup
- [ ] プロジェクト環境構築 (todo-setup-1.md)
### Models
- [ ] User model実装 (todo-models-1.md)
- [ ] 認証関連テーブル設計 (todo-models-2.md)
### Services
- [ ] 認証API実装 (todo-services-1.md)
- [ ] パスワードリセット機能 (todo-services-2.md)
### UI
- [ ] ログインフォーム実装 (todo-ui-1.md)
- [ ] 登録フォーム実装 (todo-ui-2.md)
### Tests
- [ ] 認証機能テスト (todo-tests-1.md)
## 要件トレーサビリティ
- ログイン機能 → setup-1, models-1, services-1, ui-1, tests-1
- 登録機能 → models-1, services-1, ui-2, tests-1
- リセット機能 → models-2, services-2, tests-1
カテゴリ別タスクファイル形式:
---
parent: $1
category: setup
priority: high
estimated_hours: 4
created: <ISO8601>
started: null
completed: null
---
# プロジェクト環境構築
## やること
Node.js + Express + PostgreSQL の認証プロジェクト環境を構築する
## 成功条件
- [ ] package.json作成 (express, jwt, bcrypt, pg依存関係)
- [ ] PostgreSQL接続設定完了
- [ ] 基本的なサーバー起動確認
- [ ] 環境変数設定 (.env.example作成)
## 技術仕様
- Node.js: v18+
- Express: v4.x
- PostgreSQL: v14+
- JWT: jsonwebtoken
- 暗号化: bcrypt
## 制約
- 環境変数でDB接続情報管理
- セキュリティ設定は本番想定
- 既存Reactプロジェクトとの統合考慮
## 実装メモ
(作業中に追記)
エラーハンドリング
実行前チェック
- GitHub CLI認証状態確認
- Issue存在確認
- tasksディレクトリアクセス権確認
進行中のエラー処理
- 不正な選択肢入力時の再プロンプト
- ネットワークエラー時の状態保存
- 強制終了時の進捗復旧
グループ間整合性チェック
- Group 2開始時にGroup 1決定事項の参照
- Group 3開始時にGroup 1, 2決定事項の参照
- 矛盾検出時の修正提案
完了条件
- 全3グループが正常完了している
tasks/pbi-$1/README.mdにリファインメント履歴が記録されている- カテゴリ別のタスクファイルが適切に生成されている
- 各タスクが実装可能なレベルまで詳細化されている
- 要件トレーサビリティが確立されている
実行を開始しますか?