Initial commit

This commit is contained in:
Zhongwei Li
2025-11-30 08:41:46 +08:00
commit 10fc322311
21 changed files with 1465 additions and 0 deletions

66
commands/create-plan.md Normal file
View File

@@ -0,0 +1,66 @@
# 実装計画の作成
このコマンドは、実装計画をチェックリスト形式で作成し、ファイルに保存します。
## 手順
1. **ファイル名の決定**:
- `$ARGUMENTS` が指定されている場合: そのファイル名を使用
- `$ARGUMENTS` がない場合: 会話内容から実装内容を分析し、適切な英名を生成
- 例: "ユーザー認証機能" → `user-authentication-plan.md`
- 例: "決済機能の実装" → `payment-feature-plan.md`
- 例: "APIエンドポイント追加" → `api-endpoints-plan.md`
2. **会話内容から実装計画を抽出**:
- 実装の目的・概要
- 必要な作業項目(機能実装、テスト、ドキュメント作成など)
- 各項目の依存関係や順序
3. **チェックリスト形式で整形**:
```markdown
# [実装の名前]
## 概要
[実装の目的と概要を簡潔に記述]
## 実装計画
- [ ] 作業項目1
- [ ] 作業項目2
- [ ] 作業項目3
## 備考
[追加の注意事項や参考情報]
```
4. **ファイルに書き込み**:
- `.ai-agent/plans/` ディレクトリが存在しない場合は作成(`mkdir -p .ai-agent/plans`
- 指定されたファイル名(または自動生成されたファイル名)で `.ai-agent/plans/` 以下に保存
- 保存先: `.ai-agent/plans/<ファイル名>`
5. **保存完了を報告**:
- 保存したファイル名
- チェックリストの項目数
- 実装計画の概要
## 引数
`$ARGUMENTS` (オプション) - ファイル名(例: `user-registration-plan.md`
## 使用例
```bash
# ファイル名を指定して作成
/create-plan authentication-feature-plan.md
# → .ai-agent/plans/authentication-feature-plan.md に保存
# ファイル名を省略(自動生成)
/create-plan
# 例: .ai-agent/plans/user-authentication-plan.md が生成される
```
## 注意事項
- 既存のファイルが存在する場合は、上書き前に確認します
- ファイル名は英数字とハイフンを使用することを推奨します
- このコマンドは新規作成用です。既存の計画を更新する場合は `/update-plan` を使用してください

139
commands/create-pr.md Normal file
View File

@@ -0,0 +1,139 @@
# PR作成コマンド
このコマンドは、現在のブランチからPull Requestを作成します。
PRテンプレートが存在する場合は自動的に適用し、remoteとの同期状態を確認してからPRを作成します。
## 手順
1. 現在のブランチとgit状態を確認
2. remoteとの比較を行い、pushが必要な場合は確認
3. PRテンプレートの存在を確認.github/pull_request_template.md など)
4. $ARGUMENTSからリポジトリ、ベースブランチを解析
5. ブランチの変更履歴を分析してPR説明を生成
6. PRテンプレートがある場合は、テンプレートの構造に沿って説明を生成
7. `gh pr create`でPRを作成
## 引数
$ARGUMENTS (オプション) - 以下の形式で指定可能:
- `--repo owner/repo` または `-R owner/repo`: フォーク先リポジトリを指定
- `--base branch` または `-B branch`: ベースブランチを指定(デフォルト: main/master
- `--draft`: ドラフトPRとして作成
- その他のテキスト: PR作成の追加コンテキストとして使用
例:
- `--repo upstream/repo --base develop`
- `--draft`
- `-R upstream/repo -B main`
## 実装詳細
### 1. 初期確認
1. `git status` で現在の状態を確認
2. `git branch --show-current` で現在のブランチ名を取得
3. ブランチ名からベースブランチを推測main/master/develop など)
### 2. Remote同期確認
1. `git rev-parse HEAD` でローカルの最新コミットを取得
2. `git fetch origin <branch>` でリモートの情報を更新し、`git rev-parse origin/<branch>` でリモートの最新コミットを取得(`git ls-remote origin <branch>` でも取得可能だが、出力からSHAを抽出する必要があるため、`git rev-parse`の方が直接的)
3. `git rev-list origin/<branch>..HEAD` でpush待ちのコミット数を確認
4. push待ちのコミットがある場合
- コミット一覧を表示
- AskUserQuestion ツールでpushの確認を求める
- 承認された場合のみ `git push -u origin <branch>` を実行
### 3. PRテンプレート確認
以下の場所を順番に確認:
1. `.github/pull_request_template.md`
2. `.github/PULL_REQUEST_TEMPLATE.md`
3. `.github/PULL_REQUEST_TEMPLATE/` ディレクトリ内の各ファイル
4. `docs/pull_request_template.md`
テンプレートが見つかった場合:
- テンプレートの内容を読み込む
- テンプレートのセクション構造を解析(## で始まる見出し)
- 各セクションに適切な内容を生成して埋める
### 4. $ARGUMENTS解析
1. `--repo` または `-R` フラグからリポジトリを抽出
2. `--base` または `-B` フラグからベースブランチを抽出
3. `--draft` フラグの有無を確認
4. その他のテキストは追加コンテキストとして保持
### 5. 変更内容の分析
1. ベースブランチを特定(引数 > mainブランチの検出
2. `git log <base>..HEAD --oneline` でコミット履歴を取得
3. `git diff <base>...HEAD` で変更内容を分析
4. `git diff <base>...HEAD --name-only` で変更ファイル一覧を取得
### 6. PR説明の生成
#### テンプレートがない場合:
デフォルトの構造で生成:
```markdown
## Summary
<変更内容の要約を箇条書きで記述>
## Changes
<主要な変更点を詳細に記述>
## Test plan
<テスト方法のチェックリスト>
🤖 Generated with [Claude Code](https://claude.com/claude-code)
```
#### テンプレートがある場合:
テンプレートのセクション構造を保持し、各セクションに適切な内容を生成:
- **## Summary** / **## 概要**: コミット履歴から変更の要約を生成
- **## Changes** / **## 変更内容**: 主要な変更点を箇条書きで記述
- **## Test plan** / **## テスト計画**: テスト項目のチェックリストを生成
- **## Related issues**: 関連するIssue番号を検出コミットメッセージから
- **## Screenshots**: 必要に応じて画像追加を促す
- その他のセクション: テンプレートの指示に従って記述
### 7. PR作成
1. タイトル生成:
- 最新のコミットメッセージをベースにする
- 複数コミットの場合は、変更内容を要約したタイトルを生成
- Conventional Commits形式を尊重
2. `gh pr create` コマンド実行:
```bash
gh pr create \
--title "タイトル" \
--body "$(cat <<'EOF'
生成されたPR説明
EOF
)" \
[--repo owner/repo] \
[--base branch] \
[--draft]
```
3. PR URLを表示
## エラーハンドリング
- **ブランチが存在しない**: エラーメッセージを表示し、`git branch -a`で利用可能なブランチを表示
- **コミットがない**: ベースブランチとの差分がない場合は警告
- **push失敗**: エラーメッセージを表示し、権限やネットワークを確認するよう促す
- **PR作成失敗**: GitHub CLIのエラーメッセージを表示
- 認証エラー: `gh auth login` を案内
- すでにPRが存在: 既存のPR URLを表示
- リポジトリが見つからない: リポジトリ名を確認するよう促す
## 注意事項
- PRテンプレートは自動的に検出・適用されますが、カスタマイズが必要な場合は手動で編集してください
- ドラフトPRとして作成する場合は `--draft` フラグを使用してください
- フォークからのPRの場合は `--repo` フラグで上流リポジトリを指定してください
- ベースブランチが main/master 以外の場合は `--base` フラグで明示的に指定してください

View File

@@ -0,0 +1,9 @@
## Gemini Search
`gemini` is google gemini cli. You can use it for web search.
Run web search via Task Tool with `gemini -m gemini-2.5-flash -p 'WebSearch: ...'`.
```bash
gemini -m gemini-2.5-flash -p "WebSearch: ..."
```

10
commands/gemini.md Normal file
View File

@@ -0,0 +1,10 @@
## Gemini と相談
`gemini` is google gemini cli. You can use it for web search.
現在、$ARGUMENTSを対応中です。gemini とこの内容について相談してください
`gemini -m gemini-2.5-flash -p 'WebSearch: ...'`.
```bash
gemini -m gemini-2.5-flash -p "WebSearch: ..."
```

View File

@@ -0,0 +1,44 @@
# 自動コミットメッセージ生成コマンド
このコマンドは、ステージングされたファイルに対して適切なコミットメッセージを自動生成してコミットします。
特に指示がなければ日本語でコミットメッセージを作成してください。
## 手順
1. まず、コミット対象のステージングされたファイルがあるか確認
2. ステージングされたファイルがない場合は、未追跡ファイルを確認して追加を提案
3. ステージングされた変更を分析して、何が変更されたかを理解
4. 以下の観点から適切なコミットメッセージを生成:
- 変更の種類feat, fix, docs, refactor, test, chore など)
- スコープ(影響を受けるファイル/コンポーネント)を括弧で追加
- 変更の内容を簡潔に記述
- 破壊的変更がある場合は "!" または "BREAKING CHANGE:" を追加
5. 生成されたメッセージでコミットを作成
## 引数
$ARGUMENTS (オプション) - 追加のコンテキストや特定のコミットメッセージ要件
## 実装詳細
1. `git status` を実行して現在の状態を確認
2. `git diff --staged` を実行して変更内容を分析
3. 分析結果に基づいて:
- 新規ファイル: "feat:" または "docs:" を使用
- バグ修正: "fix:" を使用
- リファクタリング: "refactor:" を使用
- パフォーマンス改善: "perf:" を使用
- テスト: "test:" を使用
- ビルド・依存関係: "build:" または "chore:" を使用
- 削除・クリーンアップ: "chore:" を使用(例: chore: remove deprecated files
- スコープ: 影響範囲を括弧で追加(例: feat(api): add endpoint, fix(auth): resolve login issue
- 破壊的変更: タイプの後に "!" を追加、またはフッターに "BREAKING CHANGE:" を記述
4. Conventional Commits v1.0.0 形式に従った簡潔なコミットメッセージを生成
5. `git commit -m "生成されたメッセージ"` を実行
6. コミット結果を表示して成功を確認
## エラーハンドリング
- ステージングされたファイルがない場合は、ユーザーに通知して特定のファイルをステージングするか確認
- コミットが失敗した場合は、エラーを表示して解決策を提案
- 適切なメッセージを判断できない場合は、ユーザーに入力を求める

28
commands/github-check.md Normal file
View File

@@ -0,0 +1,28 @@
# GitHub PR/Issue確認
現在、$ARGUMENTSを対応中です。内容を確認してください。
implementation-analyzerエージェントを使用して以下の手順で確認を行ってください
1. まず、引数からPR番号またはIssue番号を抽出する例: #450, PR #450, Issue #123
2. GitHub CLIを使用して、PRまたはIssueの詳細情報を取得する
- PR の場合: `gh pr view <番号>`
- Issue の場合: `gh issue view <番号>`
3. 以下の情報を整理して表示する:
- タイトル
- 作成者
- 現在の状態open/closed/merged
- 説明/本文
- ラベル
- アサインされた人
4. PRの場合は追加で以下も確認
- 変更されたファイルの一覧(`gh pr diff --name-only`
- レビューの状態
- マージ可能かどうか
5. 関連するコードやファイルがある場合は、それらも確認して要約を提供
6. TODOリストがある場合は、現在どこまで進んでいて、どんな課題が残っているかを表示
log-analyzerエージェントを使用してCI/CDの状態checksを確認してください:
1. CI/CDが失敗している場合は、失敗した Job ID の一覧を表示( `gh run view <run-id>`で調査 )
もし番号が指定されていない場合や、PRとIssueの区別が曖昧な場合は、両方試してみて存在する方を表示してください。

View File

@@ -0,0 +1,28 @@
# GitHub Actions ログ解析
GitHub Actions の指定された job のログを解析し、失敗したテストを一覧表示します。
log-analyzerエージェントを使用して以下の手順でエラー解析を行ってください
1. まず、引数から job ID を抽出する(例: 12345678910
2. GitHub CLI を使用して job の詳細情報とログを取得する:
- `gh api repos/:owner/:repo/actions/jobs/$ARGUMENTS`
- `gh api repos/:owner/:repo/actions/jobs/$ARGUMENTS/logs`
3. 以下の情報を整理して表示する:
- Job 名
- 実行時間
- 失敗した step
- 全体的な実行ステータス
4. ログを解析して以下を抽出:
- 失敗したテストケースPHPUnit, Codeception, Jest など)
- エラーメッセージ
- 失敗理由assertion failure, timeout, syntax error など)
5. 失敗したテストを以下の形式で一覧表示:
```
❌ テストクラス::テストメソッド
エラーメッセージ
ファイル:行番号
```
6. 可能であれば、エラーの原因と修正の提案も表示
job ID が指定されていない場合は、最新の failed workflow run の job 一覧を表示してください。

108
commands/load-context.md Normal file
View File

@@ -0,0 +1,108 @@
# 保存したコンテキストの読み込み
このコマンドは、`/save-context` で保存されたファイルを読み込んで、作業状況を把握します。
コンテキストクリア後の新セッションで作業を継続する際に使用します。
## 手順
1. **ファイルの特定**:
- `$ARGUMENTS` が指定されている場合:
- `@` 記法に対応(例: `@current-work.md``current-work.md`
- ファイル名のみの場合: `.ai-agent/sessions/<ファイル名>` を検索
- 絶対/相対パスの場合: そのまま使用(後方互換性)
- `$ARGUMENTS` がない場合:
- `.ai-agent/sessions/` ディレクトリから `*-[0-9]*.md` パターンで検索
- 最も新しく更新されたファイルを使用
- 複数見つかった場合: 最新のファイルを使用し、他のファイルも一覧表示
- `.ai-agent/sessions/` が存在しない、またはファイルが見つからない場合: カレントディレクトリにフォールバック(後方互換性)
- それでも見つからない場合: エラーメッセージを表示し、`/save-context` の使用を提案
2. **ファイルの内容を読み込み**:
- 指定されたファイルを読み込む
- ファイルが存在しない場合は、わかりやすいエラーメッセージを表示
3. **内容を要約して表示**:
- **作業の目的・背景**: なぜこの作業を始めたのか
- **現在の進捗状況**: 前回どこまで進んでいたか
- **完了済み項目**: これまでに完了した作業
- **未完了項目と優先度**: 残りの作業と優先順位
- **発見事項・課題**: 実装中に判明した問題点
- **技術的決定事項**: 採用した技術やアプローチ
- **次に取り組むべきタスク**: 作業を再開する際の推奨アクション
4. **作業継続のための推奨アクションを提案**:
- 次のステップの具体的な提案
- 必要なファイルやリソースの確認
- 関連する実装計画ファイル(`*-plan.md`)があれば提案
## 引数
`$ARGUMENTS` (オプション) - ファイル名(`@` 記法にも対応、例: `current-work.md` または `@current-work.md`
指定がない場合は、`.ai-agent/sessions/` ディレクトリから `*-[0-9]*.md` パターンで検索し、最も新しいコンテキストファイルを自動選択します。
## 使用例
```bash
# ファイル名を指定して読み込み(.ai-agent/sessions/ 内を検索)
/load-context authentication-feature-202510301730.md
# → .ai-agent/sessions/authentication-feature-202510301730.md を読み込み
# @記法で指定
/load-context @authentication-feature-202510301730.md
# ファイル名を省略(自動検索: .ai-agent/sessions/ 内の最新ファイル)
/load-context
```
## 出力例
```
# 作業コンテキスト: ユーザー認証機能の実装
前回の保存: 2025-10-30 15:30:00
## 作業の目的
EC-CUBEプラグインにOAuth2.0ベースのユーザー認証機能を追加
## 前回の進捗状況
- 認証APIエンドポイントの実装完了
- トークン管理機能の実装完了
- テストコードは未着手
## 発見事項
- トークンの有効期限は環境変数で設定可能にした
- リフレッシュトークンのローテーション機能を追加した
## 次のアクション
1. 認証機能のユニットテストを作成
2. 統合テストでエンドツーエンドの動作確認
3. エラーハンドリングの改善
関連する実装計画ファイル: authentication-feature-plan.md
```
## 実際のユースケース
前セッションで `/save-context` により保存されたコンテキストを新セッションで復元し、作業を継続します。
```
1. 前セッションで `/save-context`
→ 自動生成: `.ai-agent/sessions/authentication-feature-202510301730.md`
2. `/clear` でコンテキストクリア
3. 新セッションで `/load-context` ← ここで使用(自動的に最新ファイルを読み込み)
4. 作業継続
または、明示的にファイル名を指定:
1. `/save-context my-work.md`
→ `.ai-agent/sessions/my-work.md` に保存
2. `/clear`
3. `/load-context my-work.md`
→ `.ai-agent/sessions/my-work.md` から読み込み
```
## 注意事項
- ファイルが見つからない場合は、`/save-context` の使用を提案します
- 複数の関連ファイル(実装計画など)がある場合は、それらの読み込みも提案します
- 古いコンテキストファイルの場合は、更新日時を表示して注意を促します

82
commands/load-plan.md Normal file
View File

@@ -0,0 +1,82 @@
# 実装計画の読み込み
このコマンドは、保存された実装計画を読み込んで、進捗状況を把握します。
コンテキストクリア後の新セッションで実装作業を継続する際に使用します。
## 手順
1. **ファイルの特定**:
- `$ARGUMENTS` が指定されている場合:
- `@` 記法に対応(例: `@feature-plan.md``feature-plan.md`
- ファイル名のみの場合: `.ai-agent/plans/<ファイル名>` を検索
- 絶対/相対パスの場合: そのまま使用(後方互換性)
- `$ARGUMENTS` がない場合:
- `.ai-agent/plans/` ディレクトリから `*-plan.md` パターンで検索
- 最も新しく更新されたファイルを使用
- 複数見つかった場合: 最新のファイルを使用し、他のファイルも一覧表示
- `.ai-agent/plans/` が存在しない、またはファイルが見つからない場合: カレントディレクトリにフォールバック(後方互換性)
- それでも見つからない場合: エラーメッセージを表示し、`/create-plan` の使用を提案
2. **ファイルの内容を読み込み**:
- 指定されたファイルを読み込む
- チェックリスト項目を抽出・解析
3. **進捗状況を要約**:
- **実装の目的・概要**: ファイルから実装の全体像を把握
- **総タスク数と完了数**: `- [ ]``- [x]` の数をカウント
- **完了済み項目のリスト**: `- [x]` でマークされた項目
- **未完了項目のリスト**: `- [ ]` の項目を優先度順に表示
- **進捗率**: `(完了数 / 総数) × 100%`
4. **作業再開のための推奨アクションを提案**:
- 次に取り組むべきタスク(最初の未完了項目)
- 依存関係がある場合はその情報
- 実装に必要なファイルやリソース
## 引数
`$ARGUMENTS` (オプション) - ファイル名(`@` 記法にも対応、例: `feature-plan.md` または `@feature-plan.md`
## 使用例
```bash
# ファイル名を指定して読み込み(.ai-agent/plans/ 内を検索)
/load-plan authentication-feature-plan.md
# → .ai-agent/plans/authentication-feature-plan.md を読み込み
# @記法で指定
/load-plan @authentication-feature-plan.md
# ファイル名を省略(自動検索: .ai-agent/plans/ 内の最新ファイル)
/load-plan
```
## 出力例
```
# 実装計画: ユーザー認証機能
## 進捗状況
- 総タスク数: 5
- 完了: 2 (40%)
- 未完了: 3 (60%)
## 完了済み
- [x] ユーザー認証APIの実装
- [x] トークン管理機能の追加
## 未完了(優先度順)
- [ ] テストコードの作成
- [ ] ドキュメントの更新
- [ ] エラーハンドリングの改善
## 次のアクション
次は「テストコードの作成」に取り組むことをお勧めします。
認証APIとトークン管理が完成しているため、これらの機能のテストから始めましょう。
```
## 注意事項
- ファイルが見つからない場合は、わかりやすいエラーメッセージを表示します
- チェックリスト以外の内容(概要、備考など)も読み込んで表示します
- 複数のファイルが見つかった場合は、選択を促します

98
commands/save-context.md Normal file
View File

@@ -0,0 +1,98 @@
# 会話コンテキストの保存
このコマンドは、現在の会話内容と作業状況を指定ファイルにMarkdown形式で保存します。
コンテキストが限界に達した際に、`/clear` 前に使用することで作業の継続性を保ちます。
## 手順
1. **ファイル名の決定**:
- `$ARGUMENTS` が指定されている場合: そのファイル名を使用
- `$ARGUMENTS` がない場合:
a. 現在の会話内容から作業内容を分析し、簡潔な英語のキーワード2-4単語を抽出
例: "authentication-feature", "bug-fix-order", "refactor-payment"
b. 現在時刻のタイムスタンプYYYYMMDDhhmm形式を生成
c. ファイル名を `<キーワード>-<YYYYMMDDhhmm>.md` の形式で生成
例: `authentication-feature-202510301730.md`
2. **最近の会話から以下を抽出**:
- **作業の目的・背景**: なぜこの作業を始めたのか
- **現在の進捗状況**: どこまで進んでいるか
- **発見事項・課題**: 実装中に判明した問題点や注意事項
- **技術的な決定事項**: 採用した技術やアプローチ
- **次のアクション**: これから何をする必要があるか
3. **Markdown形式で整形**:
```markdown
# 作業コンテキスト
保存日時: YYYY-MM-DD HH:MM:SS
## 作業概要
[作業の目的と背景]
## 現在の状況
[進捗状況と完了した内容]
## 発見事項
[実装中に判明した問題点や注意事項]
## 技術的決定事項
[採用した技術やアプローチ]
## 残りのタスク
[未完了の作業と次に取り組むべきこと]
## 参考情報
[関連ファイル、URL、その他の参考情報]
```
4. **ファイルに書き込み**:
- `.ai-agent/sessions/` ディレクトリが存在しない場合は作成(`mkdir -p .ai-agent/sessions`
- 指定されたファイル名で `.ai-agent/sessions/` 以下に保存
- 保存先: `.ai-agent/sessions/<ファイル名>`
5. **保存完了を報告**:
- 保存したファイル名
- 保存した内容の概要
- 次のステップ(`/clear` の使用を提案)
## 引数
`$ARGUMENTS` (オプション) - 保存先ファイル名(例: `current-work.md`
指定がない場合は、会話内容から作業を推測し、`<作業内容>-<YYYYMMDDhhmm>.md` 形式で自動生成されます。
例: `authentication-feature-202510301730.md`
## 使用例
```bash
# ファイル名を指定して保存
/save-context current-work.md
# → .ai-agent/sessions/current-work.md に保存
# ファイル名を省略(自動生成: 作業内容-タイムスタンプ.md
/save-context
# 例: .ai-agent/sessions/authentication-feature-202510301730.md が生成される
```
## 実際のユースケース
```
1. コンテキストが残り少ない → `/save-context`
→ 自動生成: `.ai-agent/sessions/authentication-feature-202510301730.md`
2. `/clear` でコンテキストクリア
3. 新セッションで `/load-context authentication-feature-202510301730.md` で状況把握
4. 作業継続
または、明示的にファイル名を指定:
1. `/save-context my-important-work.md`
→ `.ai-agent/sessions/my-important-work.md` に保存
2. `/clear`
3. `/load-context my-important-work.md`
```
## 注意事項
- 既存のファイルが存在する場合は上書きされます
- 機密情報パスワード、APIキーなどは保存しないよう注意してください
- コンテキストファイルは定期的に整理することを推奨します

77
commands/update-plan.md Normal file
View File

@@ -0,0 +1,77 @@
# 実装計画の更新
このコマンドは、既存の実装計画ファイルを読み込み、進捗に合わせて更新します。
## 手順
1. **ファイルの特定**:
- `$ARGUMENTS` が指定されている場合:
- ファイル名のみの場合: `.ai-agent/plans/<ファイル名>` を検索
- 絶対/相対パスの場合: そのまま使用(後方互換性)
- `$ARGUMENTS` がない場合:
- `.ai-agent/plans/` ディレクトリから `*-plan.md` パターンで検索
- 最も新しく更新されたファイルを使用
- 複数見つかった場合: 最新のファイルを使用し、他のファイルも一覧表示
- `.ai-agent/plans/` が存在しない、またはファイルが見つからない場合: カレントディレクトリにフォールバック(後方互換性)
- それでも見つからない場合: エラーメッセージを表示し、`/create-plan` の使用を提案
2. **既存のチェックリストを読み込み**:
- ファイルの内容を読み込む
- 現在のチェックリスト項目を抽出
3. **会話内容から進捗を判断**:
- 最近の会話から完了した作業を特定
- 完了した項目に `[x]` チェックマークを付ける
- 新しく発見した作業項目を追加
- 不要になった項目を削除または ~~取り消し線~~ で注釈
4. **更新したチェックリストをファイルに書き込み**:
- 元のファイル構造を保持しながら更新
- タイムスタンプや更新履歴を追記(オプション)
5. **更新内容を報告**:
- 完了した項目数 / 総項目数
- 新規追加された項目
- 削除または変更された項目
- 次に取り組むべき未完了項目
## 引数
`$ARGUMENTS` (オプション) - ファイル名(例: `authentication-feature-plan.md`
## 使用例
```bash
# ファイル名を指定して更新(.ai-agent/plans/ 内を検索)
/update-plan authentication-feature-plan.md
# → .ai-agent/plans/authentication-feature-plan.md を更新
# ファイル名を省略(自動検索: .ai-agent/plans/ 内の最新ファイル)
/update-plan
```
## 更新の例
### 更新前:
```markdown
## 実装計画
- [ ] ユーザー認証APIの実装
- [ ] トークン管理機能の追加
- [ ] テストコードの作成
```
### 更新後:
```markdown
## 実装計画
- [x] ユーザー認証APIの実装
- [x] トークン管理機能の追加
- [ ] テストコードの作成
- [ ] ドキュメントの更新(新規追加)
```
## 注意事項
- 会話内容から完了判定できない場合は、現状維持します
- 手動で編集した内容は可能な限り保持します

View File

@@ -0,0 +1,48 @@
# PR/Issue 説明更新コマンド
このコマンドは、git push 後に指定された番号のPRまたはIssueの説明を最新のコミット内容に基づいて更新します。
## 手順
1. 引数から PR/Issue 番号を抽出(#123, PR #123, Issue #123 などの形式に対応)
2. 現在のブランチの最新コミット履歴を確認
3. PR または Issue の現在の説明を取得
4. `pr-<no>.md` または `issue-<no>.md` というファイル名で docs 以下に現在の説明を保存
5. 新しいコミット内容を分析して説明のファイルを更新
6. 更新された説明のファイルでPR/Issueを編集
## 引数
$ARGUMENTS - PR/Issue番号必須
- 例: "#123", "PR #123", "Issue #123", "123"
## 実装詳細
1. `git branch --show-current` で現在のブランチを確認
2. `git log --oneline -10` で最新10件のコミットを取得
3. 番号からタイプを判定:
- まず `gh pr view <番号>` を試行してPRかチェック
- 失敗した場合は `gh issue view <番号>` を試行してIssueかチェック
4. PRの場合
- `gh pr view <番号> --json title,body` で現在のタイトルと説明を取得
- `git log main..HEAD --oneline` でPR対象のコミット一覧を取得
- コミット内容を分析して説明を生成・更新
- `gh pr edit <番号> --body "更新された説明"` で説明を更新
5. Issueの場合
- `gh issue view <番号> --json title,body` で現在のタイトルと説明を取得
- 関連するコミットの変更内容を分析
- `gh issue edit <番号> --body "更新された説明"` で説明を更新
## 説明生成ルール
- 元の説明を保持しつつ、「## 最新の変更」セクションを追加または更新
- コミットメッセージから主要な変更点を抽出
- 変更されたファイルの種類に応じて適切なカテゴリで整理
- Conventional Commit形式のコミットメッセージを理解して要約
## エラーハンドリング
- PR/Issue番号が指定されていない場合は、入力を求める
- 指定された番号のPR/Issueが見つからない場合は、エラーメッセージを表示
- コミット履歴が取得できない場合は、現在のブランチ状態を確認するよう促す
- GitHub CLIの認証エラーの場合は、`gh auth login` を案内