Issue Solver
GitHub Issue を読み込み、実装計画を生成し、コードを実装するスキル。
使用方法
text
Issue #123 を解決して #45 を対応して 課題番号 67 を処理
ワークフロー
Step 1: Issue の取得
bash
gh issue view <number>
Issue の内容を確認:
- •ゴール
- •タイプ(feat/fix/refactor/docs/test/chore)
- •スコープ
- •受け入れ条件
- •コンテキスト
- •優先度
Step 2: コンテキストの読み込み
- •
スコープに応じたメモリをロード:
textmcp__serena__read_memory: codebase_map mcp__serena__read_memory: conventions
- •
関連ファイルの特定:
- •Issue のコンテキストセクションから関連ファイルを抽出
- •Serena で関連シンボルを検索
textmcp__serena__find_symbol: <関連シンボル名>
Step 3: 実装計画の生成
TodoWrite を使用してタスクリストを作成:
text
1. 関連コードの調査 2. テストの作成(TDD の場合) 3. 実装 4. テストの実行 5. リント・フォーマット 6. 受け入れ条件の確認 7. PR 作成
Step 4: 実装
- •
ブランチ作成:
bashgit checkout -b <type>/<short-description>
例:
feat/add-dark-mode,fix/header-overflow - •
コーディング:
- •conventions メモリに従う
- •テストを先に書く(TDD)
- •既存パターンに合わせる
- •
テスト実行:
bashpnpm test pnpm lint
Step 5: PR 作成
bash
gh pr create --title "<type>(<scope>): <description>" --body "$(cat <<'EOF' ## Summary <変更の要約> ## Related Issue Closes #<issue-number> ## Changes - <変更点1> - <変更点2> ## Test Plan - [ ] ユニットテスト追加 - [ ] E2E テスト確認 - [ ] ローカルで動作確認 🤖 Generated with [Claude Code](https://claude.com/claude-code) EOF )"
タイプ別の対応
feat (新機能)
- •機能の設計を確認
- •必要なコンポーネント/関数を特定
- •テストを先に作成
- •実装
- •ドキュメント更新
fix (バグ修正)
- •バグの再現手順を確認
- •原因を特定
- •修正のテストを作成
- •修正を実装
- •回帰テストを追加
refactor (リファクタリング)
- •現在のコードを理解
- •リファクタリング計画を立てる
- •テストが十分か確認
- •段階的にリファクタリング
- •テストがパスすることを確認
docs (ドキュメント)
- •対象ドキュメントを特定
- •変更内容を確認
- •markdown-lint スキルで検証
test (テスト)
- •unit-test スキルを使用
- •テスト対象を特定
- •テストケースを作成
- •カバレッジを確認
chore (メンテナンス)
- •変更内容を確認
- •影響範囲を調査
- •実装
- •CI/CD への影響を確認
受け入れ条件のチェック
Issue の受け入れ条件を 1 つずつ確認:
markdown
## 受け入れ条件 - [x] 条件1(確認済み) - [x] 条件2(確認済み) - [ ] 条件3(未確認)
すべての条件がチェックされるまで完了としない。
コミットメッセージ
text
<type>(<scope>): <description> <body> Refs #<issue-number>
例:
text
feat(blog): add dark mode toggle - Add ThemeToggle component - Add theme context provider - Add CSS variables for dark theme Refs #123
クイックコマンド
bash
# Issue 一覧表示 gh issue list # Issue 詳細表示 gh issue view <number> # ブランチ作成 git checkout -b <type>/<description> # PR 作成(Issue リンク付き) gh pr create --title "..." --body "Closes #<number>" # Issue をクローズ gh issue close <number>
注意事項
- •受け入れ条件を満たすまで PR を作成しない
- •テストがパスすることを確認
- •lint エラーがないことを確認
- •コミットメッセージは Conventional Commits に従う
- •PR の本文に Issue 番号を含める(
Closes #XXX)