Claude Code CLIで実装計画レビューの改善ループを回す。実装計画ファイルと要件ファイルを指定し、Claude Codeにレビューさせ、指摘をトリアージして計画を修正し、再レビューする。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
長大な設計文書・Pull Request・Issueを読み解き、図と短い文を組み合わせた解説HTMLを生成してブラウザで開く。生成したページ内の識別子を指定すると、その項目だけを掘り下げたページも作る。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
長い設計文書・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のサンドボックスが原因のことがある。サンドボックス無しで再実行する |
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Claude Code CLIで実装計画レビューの改善ループを回す。実装計画ファイルと要件ファイルを指定し、Claude Codeにレビューさせ、指摘をトリアージして計画を修正し、再レビューする。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Claude Code CLIでGitHub PRのコードレビューループを回す。PRのURLを指定し、Claude Codeにレビューさせ、指摘をトリアージしてコードを修正し、再レビューする。PRにリンクされたIssue等は必読として機械的に検証する。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
コード・テストコード・コミットログ・コードコメントのどこに何を書くかを決めるときに使う。コードには How、テストコードには What、コミットログには Why、コードコメントには Why not を書き分ける。実装時とコミット・PR 作成時に使う。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
コードの識別子(変数・関数・メソッド・クラス・型・ファイル)に名前を付けるときに使う。get の濫用をやめ、何をして値を得るのかが名前から読み取れる状態にする。実装時と、実装計画でメソッド名・クラス名を決めるときの両方で使う。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Codex CLIで実装計画レビューの改善ループを回す。実装計画ファイルと要件ファイルを指定し、Codexにレビューさせ、指摘をトリアージして計画を修正し、再レビューする。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Codex CLIでGitHub PRのコードレビューループを回す。PRのURLを指定し、Codexにレビューさせ、指摘をトリアージしてコードを修正し、再レビューする。PRにリンクされたIssue等は必読として機械的に検証する。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.