How this skill is triggered — by the user, by Claude, or both
Slash command
/spira:do <Issue URL><Issue URL>The summary Claude sees in its skill listing — used to decide when to auto-load this skill
GitHub Issue $ARGUMENTS について、計画 → 実装 → PR 作成 → CI 監視・マージまでを単一フローで実行してください。
GitHub Issue $ARGUMENTS について、計画 → 実装 → PR 作成 → CI 監視・マージまでを単一フローで実行してください。
planned ラベルが既に付いている場合は計画フェーズをスキップします。
あなたは開発サイクル全体を制御するオーケストレーターです。エージェントを起動し、結果を Issue に記録させてください。
引数として渡された Issue URL から以下の変数を抽出してください。
ISSUE_URL="$ARGUMENTS"
# 例: https://github.com/octocat/hello-world/issues/42
OWNER=$(echo "$ISSUE_URL" | sed -E 's|.*/([^/]+)/[^/]+/issues/[0-9]+$|\1|')
REPOSITORY=$(echo "$ISSUE_URL" | sed -E 's|.*/([^/]+)/issues/[0-9]+$|\1|')
ISSUE_NO=$(echo "$ISSUE_URL" | grep -oE '[0-9]+$')
| 変数 | 用途 |
|---|---|
ISSUE_URL | gh issue view / gh issue comment など GitHub CLI コマンドの識別子 |
OWNER | リポジトリオーナー |
REPOSITORY | リポジトリ名 |
ISSUE_NO | ブランチ名・コミットメッセージ・PR タイトルなど番号が必要な箇所 |
Bash ツールで Issue の内容を取得する。コマンドは必ず分けて実行すること。
gh issue view ISSUE_URLgh issue view ISSUE_URL --comments各 Phase の結果は、起動した エージェント自身 が gh issue comment で記録する。
オーケストレータはエージェントへのプロンプトに以下を必ず含めること。
ISSUE_URLエージェントが記録した旨の応答を受け取ったら、サマリのみをユーザーに提示する(再度 gh issue comment を打つ必要はない)。
ただし以下のオーケストレータ自身が直接 Issue に書き込むコメントは例外として、Bash ツールで gh issue comment を使用する。
## PR 作成## CI 修正打ち切り## 完了報告実装作業の前に、ワークツリーを作成する。
git worktree add ../REPOSITORY-impl-ISSUE_NO -b impl-ISSUE_NO
ワークツリーのパスは git worktree list で確認できる。
以降の実装フェーズと CI 修正フェーズでは、このワークツリー内で作業を行う。
計画完了後にラベル付与で使用する。ラベルが存在しない場合は青色(0075ca)で作成すること。
gh label list --repo OWNER/REPOSITORY --search planned --json name --jq '.[].name' | grep -x planned || \
gh label create planned --repo OWNER/REPOSITORY --color 0075ca --description "実装計画が策定済み"
CI 修正打ち切り時の Issue 起票で使用する。ラベルが存在しない場合は赤色(d73a4a)で作成すること。
gh label list --repo OWNER/REPOSITORY --search escalated --json name --jq '.[].name' | grep -x escalated || \
gh label create escalated --repo OWNER/REPOSITORY --color d73a4a --description "人手による対応が必要"
Issue のラベルを取得する。
gh issue view ISSUE_URL --json labels --jq '.labels[].name'
planned ラベルが付与されている場合は Phase 1 と Phase 1.5 をスキップ し、Phase 2 から開始する。
付与されていない場合は Phase 1 から開始する。
Agent ツールを subagent_type: "planner" で起動し、タスクの実装計画を作成させてください。
Agent ツール呼び出し:
subagent_type: "planner"
description: "実装計画を作成"
prompt: (以下の内容を含める)
プロンプトには以下を含めてください:
ISSUE_URL と見出し ## 実装計画 を渡し、計画全文を planner エージェント自身が gh issue comment で記録することplanner エージェントの結果を受け取ったら:
planner が挙げた設計判断の論点を すべて 1 つのプロンプトに集約 し、Agent ツールを subagent_type: "po" で 1 回だけ起動して判断を得てください。
Agent ツール呼び出し:
subagent_type: "po"
description: "設計判断を実施"
prompt: (以下の内容を含める)
プロンプトには以下を含めてください:
ISSUE_URL と見出し ## 設計判断 を渡し、判断全文を PO エージェント自身が gh issue comment で記録することPO エージェントの判断を受け取ったら:
## 実装計画(修正版) で再記録させるIssue に planned ラベルを付与する。
gh issue edit ISSUE_URL --add-label planned
Issue コメントに記録されている実装計画(見出し: ## 実装計画、修正版があれば ## 実装計画(修正版))を取得し、タスクの種類を判定してください。
判定基準:
setup エージェントを使用implementer エージェントを使用判断に迷う場合(環境構築とコード実装の両方を含む等)は、主目的に応じて選択してください。
Agent ツールを subagent_type: "setup" で起動し、実装計画に基づいて環境を構築させてください。
ワークツリー REPOSITORY-impl-ISSUE_NO 内で作業すること。
プロンプトには以下を含めてください:
ISSUE_URL と見出し ## 実装内容 を渡し、結果を setup エージェント自身が gh issue comment で記録することAgent ツールを subagent_type: "implementer" で起動し、実装計画に基づいてコードを実装させてください。
ワークツリー REPOSITORY-impl-ISSUE_NO 内で作業すること。
プロンプトには以下を含めてください:
### 検証実施結果 セクションに証拠とともに報告すること(証拠ファイルは .tmp/spira-evidence/ 配下に保存)### 自己レビュー結果 セクションに記載することISSUE_URL と見出し ## 実装内容 を渡し、結果を implementer エージェント自身が gh issue comment で記録することエージェントの結果を受け取ったら:
implementer が挙げた設計判断の論点を すべて 1 つのプロンプトに集約 し、Agent ツールを subagent_type: "po" で 1 回だけ起動して判断を得てください。
プロンプトには以下を含めてください:
ISSUE_URL と見出し ## 設計判断 を渡し、判断全文を PO エージェント自身が gh issue comment で記録することPO エージェントの判断を受け取ったら:
## 設計判断に基づく修正 で再記録させる実装完了後、ワークツリーのブランチから PR を作成してください。
git add -A
git commit -m "Implement #ISSUE_NO"
git push -u origin HEAD
gh pr create --head impl-ISSUE_NO --title "Implement #ISSUE_NO" --body "$(cat <<'EOF'
Closes #ISSUE_NO
## 変更内容
(実装内容の概要をここに記述)
EOF
)"
## PR 作成)。これはオーケストレータが直接記録する。
gh issue comment ISSUE_URL --body "$(cat <<'EOF'
## PR 作成
PR URL: <作成された PR の URL>
EOF
)"
以下の手順を 最大 2 回 繰り返してください。
Agent ツールを subagent_type: "qa" で起動し、CI チェックの監視を行わせてください。
プロンプトには以下を含めてください:
ISSUE_URL と見出し(CI 通過時は ## QA 結果、CI 失敗時は ## CI 失敗 (N回目) ※N はループ回数)を渡し、結果を qa エージェント自身が gh issue comment で記録することCI 通過・マージ成功の場合: Phase 5(完了報告)に進む。
CI 失敗の場合:
setup または implementer)を起動し、ワークツリー REPOSITORY-impl-ISSUE_NO 内で CI 失敗の原因を修正させる
ISSUE_URL と見出し ## CI 修正 (N回目) を渡し、修正内容を エージェント自身が gh issue comment で記録させることgit add -A
git commit -m "Fix CI failure for #ISSUE_NO (attempt N)"
git push
2 回修正しても CI が通らない場合: 修正を打ち切り、以下を実行して終了する。
gh issue comment ISSUE_URL --body "$(cat <<'EOF'
## CI 修正打ち切り
2 回の修正試行で CI を通すことができませんでした。フォローアップ Issue を起票しました: <新規 Issue URL>
EOF
)"
escalated ラベル付きのフォローアップ Issue を起票する。
gh issue create --repo OWNER/REPOSITORY \
--title "[escalated] CI failure follow-up for #ISSUE_NO" \
--label escalated \
--body "$(cat <<'EOF'
元 Issue: ISSUE_URL
元 PR: <PR URL>
## 試行サマリ
(試行 1 と 2 の修正内容と失敗内容を要約)
## 最終失敗内容
(最後の CI 失敗のエラー内容)
EOF
)"
以下を Issue にコメントとして記録してください(見出し: ## 完了報告)。これはオーケストレータが直接記録する。
最後に、ユーザーへの最終報告として Issue URL と PR URL を含む簡潔なサマリーを出力してください。
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub douhashi/dhs-claude-plugin-marketplace --plugin spira