Back to skills
SKILL.md
Checkout
ASecurityGitHub Issueを選択してworktreeを作成し、自律的に開発を進めてPRを完成させる。
- 2 stars
- 0 votes
- 0 copies
- 0 views
- Added September 27, 2026
Security analysis
100/100npx -y skills add David-Li0406/meta-skill-evloving --skill checkout --agent claude-codeAre you the author of Checkout?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/david-li0406-checkout)---
name: checkout
description: GitHub Issueを選択してworktreeを作成し、自律的に開発を進めてPRを完成させる。
---
# 自律開発スキル
Issueを選択し、Claudeが司令塔となってサブエージェントとスキルを使い、PRが完成するまで自律的に開発を進める。
## 基本方針
- ユーザーの指示を待つのではなく、主体的に進める
- 不明点や承認が必要な時だけ AskUserQuestion で確認
- 実作業はサブエージェントに委任してメインのコンテキストを軽く保つ
- 進捗は簡潔に報告する
## スキル連携
スキルの呼び出しには **Skill ツール** を使用する。
### メインで実行 (Skill ツール直接)
人間への質問が発生する可能性があるスキルはメインで実行:
| スキル | 用途 |
|--------|------|
| `/.update-issue` | Issue確認・更新 |
| `/.update-pr` | PR確認・更新 |
```
Skill ツールで skill: "update-issue" を実行
```
### サブエージェントで実行 (Task ツール経由)
並列実行可能なスキルは Task ツールで実行:
| スキル | 用途 |
|--------|------|
| `/update-docs` | 仕様書の更新 |
| `/test-lib` | lib/utils の単体テスト |
| `/test-react-components` | コンポーネントの単体テスト |
| `/test-pages` | ページのE2Eテスト |
| `/infer-code-rules` | コード規則・デザインガイドラインの抽出 |
```
Task ツールで subagent_type: "general-purpose" を使い、
prompt に「Skill ツールで skill: "test-lib" を実行して」と指示
```
## 承認が必要なタイミング
1. Issue選択時
2. 実装計画の承認時
3. 仕様の不明点がある時
4. 実装方針に複数の選択肢がある時
5. PRをReadyにする前
## 業務フロー図
```
Phase 1: Issue選択
↓
Phase 1.5: 開発環境の選択 (worktree or 現在のブランチ)
↓
Phase 2: 環境準備 (ブランチ + Draft PR)
↓
Phase 3: 要件分析
│
├─→ Skill: update-issue (メイン) ─→ Issue内容を確認・不明点を解消
│
↓
Phase 4: 実装計画 (プランモード)
│
├─→ EnterPlanMode
├─→ コード探索 (サブエージェント)
├─→ 計画立案・承認
↓
Phase 5: 実装
│
├─→ ファイル実装 (サブエージェント並列)
│
↓
Phase 6: 検証 (並列実行)
│
├─→ Task + Skill: test-lib
├─→ Task + Skill: test-react-components
├─→ Task + Skill: test-pages
├─→ Task + Skill: infer-code-rules
│
↓
Phase 7: ドキュメント更新
├─→ Task + Skill: update-docs
↓
Phase 7.5: PR更新
├─→ Skill: update-pr (メイン)
↓
Phase 8: 完了
│
├─→ PRをReadyに変更
├─→ 完了報告
```
## Phase 1: Issue選択
### 引数でIssue番号が指定された場合
```
例: /.checkout 1234
例: /.checkout 1234 --worktree
```
Issue番号が引数にあれば、Phase 1 をスキップして Phase 1.5 へ進む。
### 引数が空の場合: Issue一覧から選択
#### Step 1: Issue一覧を取得(最終更新日順、16件)
```bash
gh issue list --state open --limit 16 --json number,title,body,comments,updatedAt --jq 'sort_by(.updatedAt) | reverse'
```
#### Step 2: 各Issueの取り組みやすさを確認
各Issueのbodyに `>` で始まる分析コメント(`※ Generated by Claude` を含む)があるか確認する。
**キャッシュあり**: コメントが存在すれば、その内容を使用(サブエージェント不要)
**キャッシュなし**: コメントがなければ、サブエージェント (haiku) で並列分析し、Issueに追記
#### 分析の情報源
Issueのbodyとcommentsのみから判断する。コードベースの調査は行わない。
#### Issueへの追記フォーマット
分析結果は引用形式で一行にまとめる。文体は「ですます」調。取り組みやすさは文章のトーンで表現する。
```markdown
> 要件が明確で、既存パターンを踏襲すれば実装できます。※ Generated by Claude
```
トーンの例:
- 取り組みやすい: 「〜できます」「シンプルです」
- 検討が必要: 「〜が必要です」「確認が必要です」
- 大変: 「大規模な変更が必要です」「複雑な依存関係があります」
- 不明: 追記しない(Issue内容が空/不明確)
追記コマンド:
```bash
CURRENT_BODY=$(gh issue view {番号} --json body -q '.body')
NEW_BODY="${CURRENT_BODY}
> {分析コメント}※ Generated by Claude"
gh issue edit {番号} --body "${NEW_BODY}"
```
#### Step 3: 結果を一覧表示
フォーマット: `#番号(4桁0埋め) タイトル - 分析コメント`
取り組みやすい順でソート(文章のトーンで判断)。
#### Step 4: AskUserQuestionでIssue選択
## Phase 1.5: 開発環境の選択
Issue選択後、開発環境を決定する。
### 引数パターン
| 引数 | 動作 |
|------|------|
| `/.checkout 1234 --worktree` | Issue #1234 で worktree を作成 |
| `/.checkout 1234` | Issue #1234 で開発環境を質問 |
| `/.checkout --worktree` | Issue一覧から選択、worktree を作成 |
| `/.checkout` | Issue一覧から選択、開発環境を質問 |
### --worktree がない場合
AskUserQuestion で開発環境を確認する。
```
開発環境をどうする?
選択肢:
1. worktree を作成 (推奨) - 別ディレクトリで作業
2. 現在のブランチで作業 - このディレクトリで新しいブランチを作成
```
選択に応じて Phase 2 の処理を分岐する。
## Phase 2: 環境準備
### パターン A: worktree を作成する場合
```bash
REPO_NAME=$(basename $(pwd))
ISSUE_NUM=<選択されたIssue番号>
WORKTREE_PATH="../${REPO_NAME}-issue-${ISSUE_NUM}"
BRANCH_NAME="issue-${ISSUE_NUM}"
git worktree add "${WORKTREE_PATH}" -b "${BRANCH_NAME}"
cd "${WORKTREE_PATH}"
git commit --allow-empty -m "Start work on #${ISSUE_NUM}"
git push -u origin "${BRANCH_NAME}"
gh pr create --draft --title "#${ISSUE_NUM} <Issueタイトル>" --body "Closes #${ISSUE_NUM}"
```
### パターン B: 現在のブランチで作業する場合
```bash
ISSUE_NUM=<選択されたIssue番号>
BRANCH_NAME="issue-${ISSUE_NUM}"
git checkout -b "${BRANCH_NAME}"
git commit --allow-empty -m "Start work on #${ISSUE_NUM}"
git push -u origin "${BRANCH_NAME}"
gh pr create --draft --title "#${ISSUE_NUM} <Issueタイトル>" --body "Closes #${ISSUE_NUM}"
```
## Phase 3: 要件分析
Skill ツールで `update-issue` を実行してIssueの内容を確認・整理する。
```
Skill ツール: skill: "update-issue"
```
人間への質問が発生する可能性があるため、サブエージェントではなくメインで実行する。
不明点があれば解消し、Issueの内容を充実させる。
## Phase 4: 実装計画 (プランモード)
### Step 1: プランモードに入る
EnterPlanMode ツールを使ってプランモードに入る。
### Step 2: コード探索 (サブエージェント)
Exploreエージェントで関連コードを並列調査:
- 既存の類似実装
- 変更が必要なファイル
- 影響範囲
### Step 3: 計画立案
計画ファイルに実装方針を記録:
- 変更するファイル一覧
- 実装の順序
- テスト方針
- 技術的な判断とその理由
### Step 4: ExitPlanMode で承認
ExitPlanMode で計画を提示し承認を得る。
## Phase 5: 実装
### 実装の進め方
1. ファイルごとにサブエージェントで実装
2. 独立したファイルは並列で実装
3. 依存関係があるファイルは順次実装
4. 各実装完了後に簡潔に進捗報告
### 実装中の判断
- 軽微な判断 → 自律的に進める
- 設計に影響する判断 → Askで確認
## Phase 6: 検証 (並列実行)
Task ツールで以下のスキルを並列実行:
```
Task ツール (subagent_type: "general-purpose")
prompt: "Skill ツールで skill: 'test-lib' を実行して"
Task ツール (subagent_type: "general-purpose")
prompt: "Skill ツールで skill: 'test-react-components' を実行して" (必要に応じて)
Task ツール (subagent_type: "general-purpose")
prompt: "Skill ツールで skill: 'test-pages' を実行して" (必要に応じて)
Task ツール (subagent_type: "general-purpose")
prompt: "Skill ツールで skill: 'infer-code-rules' を実行して"
```
並列実行後、結果をまとめて報告。
エラーがあれば修正してから次へ進む。
## Phase 7: ドキュメント更新
Task ツールで `update-docs` を実行して仕様書を更新する。
```
Task ツール (subagent_type: "general-purpose")
prompt: "Skill ツールで skill: 'update-docs' を実行して"
```
## Phase 7.5: PR更新
Skill ツールで `update-pr` を実行してPR説明を更新する。
```
Skill ツール: skill: "update-pr"
```
人間への質問が発生する可能性があるため、サブエージェントではなくメインで実行する。
## Phase 8: 完了
### Step 1: 最終確認をAskで取る
- 実装内容のサマリー
- テスト結果
- 残課題があれば報告
- PRをReadyにしていいか
### Step 2: PRをReadyに変更
```bash
gh pr ready
```
### Step 3: 完了報告
```
開発が完了したゆ🥹
Issue: #${ISSUE_NUM}
PR: <PR URL>
実装内容:
- (変更のサマリー)
PRをレビューしてマージしてゆ🥹
```
## 注意事項
- 同じIssue番号のworktreeが既に存在する場合はエラーになる
- Draft PR機能を使用する (--draft フラグ)
- プランの制限でDraftが使えない場合はタイトルに `WIP:` を付ける
## スキルの自己改善
このスキルの実行中に不備や改善点を発見した場合:
1. ユーザーに改善提案を伝える
2. 承認を得たら、このSKILL.mdを直接編集して修正する
3. 修正内容を簡潔に報告する
Attribution
Comments
Loading comments…