Files
gh-krhrtky-agents-plugins-p…/commands/task-refine.md
2025-11-30 08:35:56 +08:00

286 lines
7.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
description: GitHub IssueをProduct Backlog ItemPBIとしてリファインメントし、実装可能なタスクに分解する
argument-hint: <issue_number> [--group=N] [--from=groupN] [--edit=groupN]
allowed-tools: Bash, Read, Write, Edit, Glob
---
# GitHub Issue リファインメント・タスク分解
指定されたGitHub Issue #$1 をマイクロステップの対話を通じて、具体的な実装タスクに分解します。
## 実行モード
### 基本実行
```bash
/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分析と進行状況確認
```bash
# 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 形式**:
```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形式:
```yaml
---
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
```
#### カテゴリ別タスクファイル形式:
```yaml
---
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` にリファインメント履歴が記録されている
- カテゴリ別のタスクファイルが適切に生成されている
- 各タスクが実装可能なレベルまで詳細化されている
- 要件トレーサビリティが確立されている
実行を開始しますか?