Agent Skills: Read GitHub Issue

GitHub Issueの内容を取得し、実装プランを作成します。

UncategorizedID: getty104/claude-code-marketplace/read-github-issue

Install this agent skill to your local

pnpm dlx add-skill https://github.com/getty104/claude-code-marketplace/tree/HEAD/base-tools/skills/read-github-issue

Skill Files

Browse the full folder contents for read-github-issue.

Download Skill

Loading file tree…

base-tools/skills/read-github-issue/SKILL.md

Skill Metadata

Name
read-github-issue
Description
GitHub Issueの内容を取得し、並列実行可能な単位に分解します。

Read GitHub Issue

GitHub Issue $1 を読み取り、後続フェーズが機械的に扱える形へ構造化して返すスキル。 推測で穴埋めせず、Issueに書かれている事実と、書かれていない不確実性を分けて返すこと。

Instructions

1. Issueと付随情報の取得

本文・状態・ラベル・コメントをまとめて取得する。

gh issue view $1 --comments
gh issue view $1 --json number,title,state,labels,assignees,milestone,url,body

以下も併せて確認:

  • コメント全文: 確認事項への回答や仕様の追補が含まれることが多い。本文より優先される最新コメントを見落とさない
  • 画像/添付: 本文・コメントに画像URLがある場合、gh-asset でダウンロードして内容を読む
    gh-asset download <asset_id> ~/Downloads/
    
    参考: https://github.com/YuitoSato/gh-asset
  • リンクされたIssue/PR: #123 形式や URL での参照は依存関係の手がかり。必要に応じて gh issue view <num> / gh pr view <num> で内容を確認
  • コード参照: 本文/コメントに登場するファイルパス・関数名は対象範囲特定に使う

Issueが CLOSED の場合、その旨を明記してそのまま返す(タスク分解は行わない)。

2. タスクの分解

Issueから「やるべきこと」を抽出し、並列実行可能な単位に分解する。

1タスクの粒度

1タスク = 「1つのサブエージェントが自己完結して完了条件まで到達できる作業」。 大きすぎる場合は分割し、小さすぎる(変更1行など)場合はまとめる。

逐次にすべき条件(いずれか該当 → 同一グループで逐次)

  • 同じファイル/同じ関数を編集する可能性がある
  • 一方の出力(型・関数シグネチャ・スキーマ・APIレスポンス)に他方が依存する
  • DBマイグレーションやスキーマ変更を含む(変更を確定させてから利用側を直す)

上記に該当しないタスクは 並列グループ にまとめる。

各タスクに必ず含める情報

  • 目的: なぜこのタスクが必要か(Issueのどの記述に対応するか)
  • 対象範囲: 編集可能なファイル/ディレクトリの具体パス
  • 完了条件: Issueの受け入れ基準から導いた検証可能な条件。書かれていない場合はその旨を明記
  • 触れてはいけないファイル: 並列実行する他タスクが触る予定のファイル

3. 返却フォーマット

以下の構造で返却する。呼び出し元はこの構造に依存するため、セクション見出しを変えないこと。

## Issue概要
- Number: #<番号>
- Title: <タイトル>
- State: <OPEN/CLOSED>
- URL: <URL>
- 目的/背景: <1-3行の要約>
- 受け入れ基準(Issue記載の原文 or 要約):
  - <条件1>
  - <条件2>

## 分解タスク一覧

### 並列グループA
- **task-a1**: <タスク名>
  - 目的: ...
  - 対象範囲: `path/to/file`, `path/to/dir/`
  - 完了条件: ...
  - 触れてはいけないファイル: ...
- **task-a2**: ...

### 逐次グループB(task-b1 → task-b2 の順)
- **task-b1**: ...(先行)
- **task-b2**: ...(task-b1 の出力に依存)

## タスク間の依存関係
- 並列グループA と 逐次グループB は独立 / Aの完了後にBを開始 など
- 図示が有用な場合は箇条書きで「X が Y に依存」と明記

## 参考情報
- Issue: <URL>
- 関連Issue/PR: #..., #...
- 画像/添付: ローカルパス
- コード参照: `path/to/file:line`

## 不確実性・確認事項
(Issueから判断できなかった点。空配列でもよい)
- <仕様が曖昧な点。どう解釈して進めるかの提案を添える>
- <受け入れ基準が不明な点>

不確実性セクションは、推測で埋めずに「決めきれない箇所」を明示するのが目的。 呼び出し元はここを見て、ユーザー確認の要否を判断する。