| name | issue-solver |
| description | GitHub Issue からタスクを読み込み実装。「Issue |
Issue Solver
GitHub Issue を読み込み、実装計画を生成し、コードを実装するスキル。
使用方法
Issue #123 を解決して
#45 を対応して
課題番号 67 を処理
ワークフロー
Step 1: Issue の取得
gh issue view <number>
Issue の内容を確認:
- ゴール
- タイプ(feat/fix/refactor/docs/test/chore)
- スコープ
- 受け入れ条件
- コンテキスト
- 優先度
Step 2: コンテキストの読み込み
-
スコープに応じたメモリをロード:
mcp__serena__read_memory: codebase_map
mcp__serena__read_memory: conventions
-
関連ファイルの特定:
- Issue のコンテキストセクションから関連ファイルを抽出
- Serena で関連シンボルを検索
mcp__serena__find_symbol: <関連シンボル名>
Step 3: 実装計画の生成
TodoWrite を使用してタスクリストを作成:
1. 関連コードの調査
2. テストの作成(TDD の場合)
3. 実装
4. テストの実行
5. リント・フォーマット
6. 受け入れ条件の確認
7. PR 作成
Step 4: 実装
-
ブランチ作成:
git checkout -b <type>/<short-description>
例: feat/add-dark-mode, fix/header-overflow
-
コーディング:
- conventions メモリに従う
- テストを先に書く(TDD)
- 既存パターンに合わせる
-
テスト実行:
pnpm test
pnpm lint
Step 5: PR 作成
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 つずつ確認:
## 受け入れ条件
- [x] 条件1(確認済み)
- [x] 条件2(確認済み)
- [ ] 条件3(未確認)
すべての条件がチェックされるまで完了としない。
コミットメッセージ
<type>(<scope>): <description>
<body>
Refs #<issue-number>
例:
feat(blog): add dark mode toggle
- Add ThemeToggle component
- Add theme context provider
- Add CSS variables for dark theme
Refs #123
クイックコマンド
gh issue list
gh issue view <number>
git checkout -b <type>/<description>
gh pr create --title "..." --body "Closes #<number>"
gh issue close <number>
注意事項
- 受け入れ条件を満たすまで PR を作成しない
- テストがパスすることを確認
- lint エラーがないことを確認
- コミットメッセージは Conventional Commits に従う
- PR の本文に Issue 番号を含める(
Closes #XXX)