Claude Code CLIで実装計画レビューの改善ループを回す。実装計画ファイルと要件ファイルを指定し、Claude Codeにレビューさせ、指摘をトリアージして計画を修正し、再レビューする。
The English summary is being prepared. Showing the original description.
長大な設計文書・Pull Request・Issueを読み解き、図と短い文を組み合わせた解説HTMLを生成してブラウザで開く。生成したページ内の識別子を指定すると、その項目だけを掘り下げたページも作る。
The English summary is being prepared. Showing the original description.
Review the instructions the agent will receive before you install.
長い設計文書・Pull Request・Issueを、図と短い文で理解できる1枚のHTMLにする。あなた(このスキルを実行するエージェント)が対象を読み切り、要点と設計判断を抽出し、assets/template.html を土台にページを組み立て、実際に描画して確認してから開く。
読み手は原文を読んでいない前提で書く。原文の要約ではなく、原文では離れた場所に散っている事実を、理解に必要な順序で並べ直したものを作る。
${CLAUDE_SKILL_DIR}/assets/template.html${CLAUDE_SKILL_DIR}/scripts/verify_page.py(python3 標準ライブラリのみで動作。Google Chrome を外部コマンドとして使う)${CLAUDE_SKILL_DIR} が展開されない環境では、このSKILL.mdがあるディレクトリに読み替える。
verify_page.py で描画を確認してから開く。 ページを開いて初めて分かる壊れ方(図が別の図に上書きされる、ラベルが繋がる、要素が重なる)がある。HTMLを書いた時点では完了していない/Applications/Google Chrome.app)gh が認証済みverify_page.py と open はBashのサンドボックスの外で実行する。サンドボックス内ではChromeがプロファイルを作成できず起動に失敗し、CDNにも到達できないユーザーの指示から対象を特定する: $ARGUMENTS 。
| 対象 | 指定の形 | 特に抽出するもの |
|---|---|---|
| 設計文書・実装計画 | ファイルパス | 全体像、設計判断、未確認事項、読む順序 |
| Pull Request | URLまたは番号 | 変更の意図、データ構造、影響範囲、設計判断 |
| Issue | URLまたは番号 | 何ができたら完了か、やらない範囲、決定の変遷、依存関係 |
文書の書き方はプロジェクトごとに違う。 以下は「どこを見るか」だけを定めており、見出しの名前・節の並び・記法は前提にしない。対象に該当する記述が無ければ、無いものとして扱う。
設計文書・実装計画の場合、ファイル全体を読む。長い場合も分割して全部読む。
Pull Requestの場合、次を順に読む。差分だけでは設計意図が分からないため、実装の本体まで開く。
gh pr view <PR番号> --repo <owner/repo> --json title,body,additions,deletions,changedFiles,commits,reviews
gh pr diff <PR番号> --repo <owner/repo> --name-only
gh api "repos/<owner/repo>/contents/<path>?ref=<sha>" -H "Accept: application/vnd.github.raw"Issueの場合、本文とコメントの両方を読む。
gh issue view <番号> --repo <owner/repo> --comments
読み終えたら、次を書き出してから組み立てを始める。
assets/template.html をコピーし、{{TITLE}} と {{BODY}} を置き換える。テンプレートには必要なCSSが全て入っているので、スタイルを書き足さない(見た目が回ごとにばらつくと、読み手が毎回レイアウトを覚え直すことになる)。
出力先は /tmp/explain-visually/<対象名>.html。ディレクトリが無ければ作る。対象名は pr-482、issue-97、notification-batch-plan のように、対象が特定できる短い名前にする。
ページの並びは次を基本にする。
| 位置 | 内容 | 省略 |
|---|---|---|
| 冒頭 | 一言でいうと(.tldr)、読む前に知っておくこと(.headline) | headlineは無ければ省く |
| 前半 | 全体像の図。処理の流れ、データどうしの関係、構成要素の依存など | 対象に応じて選ぶ |
| 中盤 | 設計判断のカード(.card)。識別子付き | 省かない |
| 後半 | 未確認事項・気になった点 | 無ければ省く |
| 末尾 | 原文のどこを読むべきか(原文が長い場合)、深掘りの案内(.ask) |
使えるパーツはテンプレートのCSSにコメント付きで並んでいる。処理の流れは .flow / .step(CSSだけで描く直線的な流れ向け)と Mermaid の flowchart(分岐がある場合)を使い分ける。
サンドボックスの外で実行する。
python3 "${CLAUDE_SKILL_DIR}/scripts/verify_page.py" /tmp/explain-visually/<対象名>.html
出力の ok が true になり、mermaidRendered が mermaidSources と一致することを確認する。warnings があれば直してから再実行する。
そのうえで screenshot のパスをReadし、実際の見た目を目視する。機械的な確認では次のような崩れを検出できない。
サンドボックスの外で実行する。
open /tmp/explain-visually/<対象名>.html
ユーザーには、ページに置いた識別子を使って深掘りを頼めることを伝える。
設計判断・未確認事項・指摘候補には、.id で識別子を振る。ユーザーがチャットで「D-03を詳しく」と指定できるようにするため、この識別子は省略しない。
| 接頭辞 | 対象 |
|---|---|
D- | 設計判断(なぜそうなっているか) |
U- | 原文が「未確認」と明示している事項 |
Q- | 読んでいて気になった点、指摘候補 |
節にも .section-num で 01 02 と番号を振る。「01の3番目を詳しく」と指定できるようにするため。
テーブルの関係(erDiagram)、分岐のある処理(flowchart)、登場人物が複数ある往復(sequenceDiagram)に使う。直線的な流れや階層は、テンプレートの .flow / .layers のほうが読みやすく、描画も速い。
次の2点は実際に壊れた事例への対処なので、必ず守る。
Date.now() 由来で、連続して描画すると2枚目と3枚目が同じidになり、後の図が前の図を上書きして消す(startOnLoad: true や mermaid.run() でも同じことが起きる)<br/> や <b> を書かない。 テンプレートは securityLevel: 'strict' で初期化しており、HTMLタグは解釈されない。改行のつもりで書くとラベルが繋がって読めなくなる。ラベルは改行が要らない長さまで短くし、説明は図の外(.figcap)に書く図が横に広がりすぎるときは、1枚に詰め込まず主題ごとに分ける(例: 中心となるテーブル群と、付随するテーブル群)。
全体版は残したまま、/tmp/explain-visually/<対象名>-<識別子>.html を新しく作る。両方を並べて見られるようにするため、全体版を書き換えない。
深掘りページには、全体版に入らなかった次を入れる。
pre.code で行番号付きに。該当箇所は .hi で強調する生成後は全体版と同じく verify_page.py で確認してから開く。
深掘りは、同じ会話の中で全体版を作った直後がもっとも速く正確になる(対象を読んだ内容がそのまま使えるため)。会話をまたぐ場合は手順1から読み直す。
| 症状 | 対応 |
|---|---|
Chrome が Failed to create headless user data directory や Operation not permitted で起動しない | Bashのサンドボックスが原因。サンドボックス無しで再実行する |
mermaidReady が false | CDNに到達できていない。サンドボックス無しで再実行する。それでも false なら記法エラーを疑い、図を1枚ずつに減らして切り分ける |
mermaidRendered が mermaidSources より少ない | 記法エラーか id の衝突。テンプレートの script を書き換えていないか確認する |
| 図やラベルが他の要素に重なる | ほぼ id の衝突。「Mermaid の使い方」の1を確認する |
pageHeight が取得できない警告が出る | テンプレート末尾の高さ出力scriptを消している。戻す |
gh が TLS エラーや接続失敗になる | Bashのサンドボックスが原因のことがある。サンドボックス無しで再実行する |
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Claude Code CLIで実装計画レビューの改善ループを回す。実装計画ファイルと要件ファイルを指定し、Claude Codeにレビューさせ、指摘をトリアージして計画を修正し、再レビューする。
The English summary is being prepared. Showing the original description.
Claude Code CLIでGitHub PRのコードレビューループを回す。PRのURLを指定し、Claude Codeにレビューさせ、指摘をトリアージしてコードを修正し、再レビューする。PRにリンクされたIssue等は必読として機械的に検証する。
The English summary is being prepared. Showing the original description.
コード・テストコード・コミットログ・コードコメントのどこに何を書くかを決めるときに使う。コードには How、テストコードには What、コミットログには Why、コードコメントには Why not を書き分ける。実装時とコミット・PR 作成時に使う。
The English summary is being prepared. Showing the original description.
コードの識別子(変数・関数・メソッド・クラス・型・ファイル)に名前を付けるときに使う。get の濫用をやめ、何をして値を得るのかが名前から読み取れる状態にする。実装時と、実装計画でメソッド名・クラス名を決めるときの両方で使う。
The English summary is being prepared. Showing the original description.
Codex CLIで実装計画レビューの改善ループを回す。実装計画ファイルと要件ファイルを指定し、Codexにレビューさせ、指摘をトリアージして計画を修正し、再レビューする。
The English summary is being prepared. Showing the original description.
Codex CLIでGitHub PRのコードレビューループを回す。PRのURLを指定し、Codexにレビューさせ、指摘をトリアージしてコードを修正し、再レビューする。PRにリンクされたIssue等は必読として機械的に検証する。
The English summary is being prepared. Showing the original description.