構成図・アーキテクチャ図・エージェント構成・処理の流れを「動く画像」にして、X(Twitter)などに貼れる MP4 と GIF で書き出すスキル。ノードが順に現れ、線が引かれ、光の粒がエッジを流れ、いま動いている部分だけが光り、下に字幕がタイプされ、最後に全体が同時に動いてループする。箇条書きのツリー(「> main が…」「> worker が…」のような投稿文)やシステムの説明文を渡すだけで作れる。「構成図を動画にして」「アーキテクチャ図をアニメーションで」「エージェントのツリーを動く図に」「データの流れが見える図」「Xに貼る図解GIF」「この投稿みたいな動く図」「フロー図をMP4で」と言われたら、動画やGIFと明言されていなくても必ずこのスキルを使うこと。マルチエージェント構成、マイクロサービス、データパイプライン、RAG、CI/CD、業務フローなど、箱と矢印で描けるもの全般に使う。「お客様(専門外の人)に仕組みを説明する動画」「質問が処理されて返事になるまでを見せたい」「AI とプログラムの役割分担を見せたい」「データが手順を通ってどう変わるか」「ループの流れを動画で」のように、1つの具体例が手順を通って変わっていく様子を見せたいときも使う(運搬型)。静止画の図だけが欲しい場合(Mermaid で十分な場合)には使わない。
issue-status
自分が担当している GitHub issue の「今どうなっているか」と、作業フォルダ(git worktree)の空き状況をまとめて確認する skill。
「担当 issue の状況」「自分のチケット確認」「今抱えてる issue 一覧」「何が止まってる?」「ボールどっち?」「自分の issue の進捗まとめて」「空いてる worktree ある?」などと言われたら使う。issue 番号を指定されなくても、自分の担当 issue を棚卸ししたい意図が見えたら起動する。
最重要: ブランチや PR の有無だけで「未着手」などと判断してはいけない。各 issue のコメントを 1 件ずつ実際に読んで現状を出す。
含まれるファイル(1)
- SKILL.md9.9 KB
SKILL.md(原文)
インストールする前に、エージェントに与えられる指示の中身を確認できます。
issue-status
自分が担当している GitHub issue を棚卸しして、1 件ずつ「今どこで止まっているか・誰の対応待ちか」を表にまとめる。あわせて、次の作業に使える空き worktree を表にする。
設定(使う前に書き換える)
worktree は、リポジトリごとに 1 つの親フォルダにまとめておく前提で動く。
| 項目 | 値(例) |
|---|---|
| base ブランチ | main |
| worktree の親フォルダ | ~/develop/<リポジトリ名>-worktree/ |
親フォルダが無いリポジトリでは git worktree list の全部を出す。ツールが自動で作る worktree(例: .claude/worktrees/ の下)は表に入れない。
この skill が生まれた背景(守るべき教訓)
- ブランチ/PR の有無だけで状況を判断したら間違えた。 「PR が無い=未着手」と決めつけたが、実際にはコメントで質問を投げて相手の回答待ちだったり、本人が調査中で方針を練っていたりした。必ず各 issue のコメントを 1 件ずつ読む。
- 事実だけを書く。 「優先度を上げた方がいい」「先に動いた方がいい」のような判断・提案は添えない。誰が何を言ったか、今ボールはどちらか、という事実だけ。
- 平易な日本語で短く。 表にして一目で分かる形にする。専門用語・英語のステータス語を並べない。
いつ使うか
「担当 issue の状況」「自分のチケットの今」「何が止まってる」「ボールどっち」など、自分の持ち issue を一覧で把握したいとき。番号指定があればその範囲だけでもよい。
手順
0. worktree の空き状況を取る(毎回必ず出す)
issue の棚卸しと必ずセットで、worktree の空き状況も出す。並行開発しているなら、次にどのフォルダで着手できるかを一緒に知りたいはずなので、省かない。
状態を取る
git fetch -q origin # origin/<base> を最新にしてから比べる
for p in <worktree の親フォルダ>/*/; do
b=$(git -C "$p" branch --show-current) # 空なら detached
m=$(git -C "$p" status --porcelain | grep -v '^??' | wc -l | tr -d ' ')
u=$(git -C "$p" status --porcelain | grep '^??' | wc -l | tr -d ' ')
git -C "$p" merge-base --is-ancestor HEAD origin/<base> && inbase=yes || inbase=no
echo "$p | [${b:-detached}] | 変更 ${m} 未追跡 ${u} | base に含まれる: ${inbase}"
done
「空き」の決め方
次の 2 つを両方満たすフォルダを「空き」と書く。
- 変更も未追跡も 0 件。
- 次のどれかに当てはまる。
- HEAD が origin/<base> に含まれている。
- そのブランチの PR がマージ済み(squash マージだと含まれないので、手順 3 の PR 一覧で確かめる)。
- コミットが全部 push 済みで、そのブランチの issue が閉じている(課題が完了している)。
それ以外は「○○ 作業中」と書く。未追跡だけ残っていて PR がマージ済みのものは、「#N マージ済み・未追跡 N件」と事実をそのまま書く。1 issue = 1 branch なので、着手前にここで既存ブランチ/worktree の重複を確認する。
空きのフォルダで着手するとき・終わったとき
# 着手: 空きのフォルダで、origin/<base> から新しいブランチを切る
git -C <空きのフォルダ> fetch -q origin
git -C <空きのフォルダ> switch -c <feat/N-xxx> origin/<base>
# PR がマージされたら: base の最新に戻して空きにする(変更が無いことを確かめてから)
git -C <フォルダ> fetch -q origin
git -C <フォルダ> switch --detach origin/<base>
.env のように git に入れていないファイルは worktree に無い。新しく作り直したときはメインフォルダからコピーする。
1. 自分とリポジトリを特定する
gh api user --jq .login # 自分の login
gh repo view --json nameWithOwner -q .nameWithOwner # 今のリポジトリ
以降 REPO はこの nameWithOwner。
2. 担当の open issue を取る
gh issue list --repo <REPO> --assignee @me --state open \
--json number,title --jq '.[] | "\(.number)\t\(.title)"'
番号を指定されているときはその issue だけを対象にする。
3. 自分の PR を取って issue に対応づける
gh pr list --repo <REPO> --author @me --state all --limit 50 \
--json number,state,isDraft,title,body \
--jq '.[] | "PR#\(.number)\t\(.state)\tdraft=\(.isDraft)\trefs=\([.body|scan("(?i)#[0-9]+")]|join(","))\t\(.title)"'
注意: リポジトリによっては PR 本文の Closes #N が GitHub に自動リンクされておらず、closingIssuesReferences が空で返る(その場合マージしても issue は自動で閉じない)。たとえば PR の向き先がデフォルトブランチ以外だと、自動リンクは効かない。だから対応づけは PR 本文を #N でスキャンして結びつける。closingIssuesReferences だけに頼らない。
これで「どの issue にどの PR がぶら下がっているか」「その PR は open / draft / merged のどれか」が分かる。マージ済みなのに issue が open のままなら 閉じ漏れの可能性として後で印を付ける。
4. 各 issue のコメントを 1 件ずつ読む(軽いモデルのサブエージェントを並列で)
ここが肝。issue ごとにサブエージェントを 1 つ立て、全部同じターンで並列に投げる。内容を読んでまとめるだけなので、軽いモデル(Claude Code なら model: sonnet)で十分。各サブエージェントへの指示テンプレート:
GitHub issue <REPO> #<N> の現在の状況を、本文とコメントを実際に読んで報告してください。推測しないこと。
1. gh issue view <N> --repo <REPO> --json title,body,state,assignees,labels,comments \
--jq '{title,state,assignees:[.assignees[].login],labels:[.labels[].name],body,comments:[.comments[]|{author:.author.login,createdAt,body}]}'
2. コメントに画像 URL(user-attachments/assets など)があれば存在を記録。状況判断に要りそうなら言及。
3. 事実だけ・平易な日本語で簡潔に報告:
- 何の依頼か(1〜2行)
- コメントのやり取りの要点(誰が・いつ・何を、時系列で)
- 今のボール(誰の対応待ちか)/止まっている理由・決まっていること
- 担当者がすでに着手・回答・対応しているか(コメント上の証拠ベースで)
判断・提案・優先度の意見は添えない。事実と出典(コメント日時・発言者)だけ。
CI bot(github-actions など)の自動コメントは「人のやり取り」と区別する。最後の人間コメントが誰かでボールを判断する。
5. まとめて表にする
3(PR の状態)と 4(コメントから読んだ実態)を突き合わせて、issue ごとに 1 行にまとめる。状況欄には「どの段階か+今ボールが誰か」を書く。
出力フォーマット
issue の状況表と worktree の空き状況表を両方出す。
issue の状況
| issue | 内容 | 状況 |
|---|---|---|
| #101 | ログイン画面の文言 | PR #120 レビュー中・指摘対応済み → レビュアーのマージ待ち |
| #102 | 一覧の並び順 | 起票者に3点質問中(並べる基準/向き/保存するか)→ 相手の回答待ち |
| #103 | CSV 出力の文字化け | PR #125 マージ済み+追加分 #128 が下書き |
| #104 | 検索結果の件数表示 | PR #125 マージ済み(issue 開いたまま=閉じ漏れの可能性) |
worktree の空き状況(毎回出す)
| フォルダ | ブランチ | 未コミット | 用途 |
|---|---|---|---|
| my-app(メイン) | feat/101-... | 1件 | #101 作業中 |
| my-app-worktree/wt1 | main | 0件 | 空き |
| my-app-worktree/wt2 | feat/103-... | 0件 | #103(push 済み・clean) |
| my-app-worktree/wt3 | chore/try-xxx | 3件 | 試し中 |
表の下に 2〜3 行で全体像(例: PR が動いてるのが N 件、相手の回答待ちが N 件、本人検討中が N 件、閉じ漏れ N 件、着手に使える空き worktree が N 件)。ここでも提案はしない。状況の要約だけ。
やってはいけないこと
- ブランチ/PR が無いだけで「未着手」と書く(コメントを読まずに段階を決めつける)。コメントを読めば「質問して回答待ち」「本人が調査中」などが分かる。
- 事実報告に判断・優先度・「こうした方がいい」を混ぜる。
- 英語のステータス語やツール名を並べた読みにくい表にする。
- CI bot の自動コメントを人のやり取りと混同してボールを誤る。
- 番号指定があるのに担当 issue 全部を勝手に広げる。
レビュー
まだレビューはありません。使ってみた感想をお寄せください。
コメント
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
同じリポジトリのスキル
要件・仕様・業務の説明・受注依頼書から、業務の分類、中心となるデータと守る決まり、業務同士のつながりを整理し、設計の土台を作る。まず業務領域ごとに作り方を3段階で判定する(1: Next.js+Prisma+SQLite+Tailwind で素直に作る、2: 厳選した11種のデザインパターンで疎結合にする、3: 集約・リポジトリ・値オブジェクト・ユースケースなど DDD の部品を持ち込む)。全体図・判定表・機能一覧を先に示し、用語、主体、保存の当たりを仮置きする。「要件をDDDで整理して」「集約を切って」「文脈を分けて」「ユビキタス言語を作って」「ドメインモデルにして」「設計に落として」「モデリングして」「構造を整理して」「どう作ればいい?」「DDDいる?」「どのパターンが合う?」など、要件から設計を考える依頼に使う。UIモックや画面設計のみ、設計済みコードの実装のみ、パターンの一般解説のみの依頼には使わない。
GitHub の issue / PR に投稿するコメントの書き方ルール。お客さん・非エンジニアも読む前提で、平易・短く・結論だけ・専門用語なしで書くためのもの。`gh issue comment` / `gh pr comment` でコメントを書く・投稿する・直すとき、特に検証結果(修正できた証拠)や差し戻しへの返信を書くときは必ずこのルールに従う。「issue にコメントして」「PR にコメント残して」「検証結果を載せて」と言われたら、明示されていなくてもこのスキルを参照する。
GitHub の issue を 1 件こなすときの開発ルール集。issue の読み方、作業フォルダ(git worktree)の選び方、ブランチの切り方と名前、Before/After の証拠の撮り方、コミット・push・PR の決まり、issue / PR へのコメントの書き方をまとめたもの。複数の issue を自動で回すループは含まない。「issue に着手して」「#123 やって」「この issue 対応して」「ブランチ切って」「PR 出して」「issue にコメントして」など、issue を起点に開発するときは、スキル名が出ていなくても参照する。
GitHub の Kanban から1〜3件の issue を取って、1件ずつ順番に「理解 → A/B 判定 → (必要なら設計)→ ブランチ → Before → 実装 → After → PR → レビュー対応」まで自走で処理する skill。feedback / enhancement / bug すべて対象。明示トリガーは `/issue-loop`、「kanban から issue 回して」「3件まとめて対応して」「ループで issue 処理」「feedback 回して」など。各 issue で A/B 判定する:A(やることが明確)なら設計を省いてすぐ実装に進めるか確認、B(曖昧)なら設計 HTML を見せて Accept を取ってから実装。「実装しなくていいから A パターン(すぐ迷わず実装できる issue)だけ洗い出して」「簡単なやつリストして」のように着手せず候補だけ見たいときは**スキャンモード**(`--scan`)で、A の issue だけを表にして止まる。
要件・問い合わせ・事例の集まりを、「対応が変わる分かれ目」で階層に分けて抽象化する(パターン分け・ケース分け・分類)。上の階層ほど根本の問い、下の階層は「なぜそうなるか」の理由で分け、名前は見た目ではなく「相手の側で何が起きているか」で付ける。「パターン分けして」「抽象化して」「ケースを整理して」「分類して」「網羅的に洗い出して」「テストケースを設計して」「どういう場合がある?」と言われたとき、事例の一覧から応対・仕様・テストの方針を作るとき、ユーザーが同じ整理を何度も求めているとき(伝わっていない合図)は、明示されていなくても必ず使う。