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

7.5 KiB
Raw Blame History

description, argument-hint, allowed-tools
description argument-hint allowed-tools
GitHub IssueをProduct Backlog ItemPBIとしてリファインメントし、実装可能なタスクに分解する <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 にリファインメント履歴が記録されている
  • カテゴリ別のタスクファイルが適切に生成されている
  • 各タスクが実装可能なレベルまで詳細化されている
  • 要件トレーサビリティが確立されている

実行を開始しますか?