PR の CI 失敗を修正し、全 CI がパスするまでプッシュ→待機→修正を繰り返す。「/ci-fix-and-verify [PR番号]」「CI直して」「CIが落ちてる」「CI修正」などの依頼時に使用。
review-response
GitHub PR のコードレビューコメントに対応する。未 resolve のみを抽出 → 対応方針をユーザー承認 → 1 件ずつ修正+返信 → AI レビュー由来の指摘はナレッジに反映するワークフロー。「/review-response [PR番号]」「レビュー対応」「レビューに返信」などの依頼時に使用。
インストール方法を見る含まれるファイル(1)
- SKILL.md5.0 KB
SKILL.md(原文)
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Review Response — GitHub PR レビュー対応
原則
| 原則 | 内容 |
|---|---|
| 未 resolve のみ | resolve 済みスレッドは対象外 |
| 1 件ずつ | 修正 → コミット → 返信を 1 件ごとに完結(バッチ対応しない) |
| 必ず返信 | 対応コミットハッシュを含める。変更不要でも理由を明記して返信 |
| 言語を合わせる | 指摘者の言語(英語 / 日本語)で返信。OSS なので英語が多い |
| 全件取得 | スレッドが 100 件超なら pageInfo でページング |
ワークフロー
0. 未 resolve スレッドを取得
GraphQL を使う(REST は resolve 状態を返さない)。
PR_NUMBER="${1:-$(gh pr list --head "$(git branch --show-current)" --json number --jq '.[0].number')}"
REPO_INFO=$(gh repo view --json owner,name --jq '"\(.owner.login)|\(.name)"')
OWNER="${REPO_INFO%|*}"; REPO="${REPO_INFO#*|}"
gh api graphql -f query='
query($owner: String!, $repo: String!, $pr: Int!) {
repository(owner: $owner, name: $repo) {
pullRequest(number: $pr) {
reviewThreads(first: 100) {
pageInfo { hasNextPage endCursor }
nodes {
id isResolved path line
comments(first: 20) { nodes { databaseId body author { login } url } }
}
}
}
}
}
' -f owner="$OWNER" -f repo="$REPO" -F pr="$PR_NUMBER"
1. 対応方針をユーザーに提示し、承認を得る(必須)
コード修正・返信の前に、各コメントを現在のコードで検証して表で提示する。
| # | ファイル | 指摘(要約) | 判定 | 対応方針 |
|---|---|---|---|---|
| 1 | path/to/file.rs:L42 | … | 要修正 / 対応不要 | 修正内容 or 不要と判断した理由 |
- 要修正: 指摘が正しく、コード修正が必要
- 対応不要: 現在のコードに該当しない(修正済み・削除済み)、または指摘が技術的に誤り
承認を得てから次へ進む。 ユーザーが方針を変えたらそれに従う。
2. 1 件ずつ修正 → コミット → push
cargo fmt --all
cargo clippy --all-targets --all-features -- -D warnings
cargo test --release --test <関連スイート>
git add <修正ファイル>
git commit -m "fix(<scope>): <要約>" # 英語の Conventional Commits
git push origin HEAD
pre-commit hook(cargo fmt && cargo clippy)を必ず通す。
3. スレッドに返信
gh api "repos/${OWNER}/${REPO}/pulls/${PR_NUMBER}/comments/${COMMENT_ID}/replies" -f body="返信内容"
COMMENT_ID は GraphQL の databaseId。
4. ナレッジフィードバック(AI ボットの指摘のみ)
投稿者が coderabbitai[bot] / devin-ai-integration[bot] / chatgpt-codex-connector[bot] / claude[bot] 等の場合、対応後に実施する。
| 判定 | やること |
|---|---|
| 要修正だった | .claude/skills/*/SKILL.md(full-code-review, verify-svelte-compat, perf-loop など)と docs/ を横断検索。未記載なら最も近いスキルか docs/ に 1〜3 行で追記。記載済みなら記述が不明確でないか見直す |
| 対応不要だった | 「これは問題ない」文脈(公式 Svelte と意図的に異なる挙動、Rust 固有の最適化など)を該当スキルか compatibility/GATES.md の該当節に追記 |
CLAUDE.md(= AGENTS.md)は全セッションに読み込まれるため、追記は「短く・一般的で・実害があった規則」に限る(同ファイルの Maintaining This File 参照)。事例や数値は書かない。
追記・改善は ユーザーに確認してから 行い、結果を報告する。
返信テンプレート
修正した場合(英語):
Thanks for the catch!
[summary of the fix]
Fixed in: abc1234
変更不要の場合(英語):
Thanks for the review!
[reasoning for keeping the current implementation]
- [reason 1]
- [link to spec / official Svelte source if relevant]
I'll keep the current implementation for the reasons above.
日本語の指摘には同じ構成で「ご指摘ありがとうございます! … 対応コミット: abc1234」/「… 上記の理由から、現状の実装を維持させていただきます。」と返す。
公式 Svelte と意図的に挙動を変えている箇所は、その旨と根拠(例: CLAUDE.md → "Memory-efficient layout (u32 positions, compact_str)")を返信に明記する。
レビュー
まだレビューはありません。使ってみた感想をお寄せください。
同じリポジトリのスキル
概要と使いどころ
PR 提出前にコードオーナー視点でフルレビューする。WHY の理解 → 設計 → AST/基盤型 → 実装(複数 Agent の順次レビュー)の順に、各フェーズでユーザーと対話しながら指摘を修正し、品質に問題がなくなるまで繰り返す。「/full-code-review」「フルレビュー」「レビューして」などの依頼時に使用。rsvelte(公式 Svelte コンパイラの Rust ポート)専用。
Rust の性能改善を「計測 → 仮説 → 変更 → 再計測」のループで地道に回すためのスキル。プロファイラの選び方、Cargo の最適化設定、データ構造・アロケーション・ハッシュ・分岐などの定石をフェーズ順に適用する。1 回 1 変更 1 計測の規律を厳守する。rsvelte 固有の既知ボトルネック(`serde_json::Value` 駆逐、`bumpalo` 導入、`Atom<'a>`、codegen 直書き)と OXC 対応表、NAPI 検証手順も §7 に収録。「Rust の性能改善」「ボトルネック調査」「プロファイル取って最適化」などの依頼で使用。
Audit and clean up the repository — remove dead files, fix naming inconsistencies, update .gitignore, and ensure the repo is well-organized for OSS contributors. Does NOT modify source code logic.
日本語の概要は準備中です。原文の説明を表示しています。
Upgrade the Svelte submodule to the latest (or specified) version, regenerate fixtures, identify test failures, and fix all regressions until tests pass 100%.
日本語の概要は準備中です。原文の説明を表示しています。
Svelte を使う外部リポジトリ(ツール / ライブラリ / アプリ)を git submodule として取り込み、Svelte コンパイラを rsvelte に差し替えても完全に同等に動作するかを検証する。既存のサブモジュールが指定された場合は最新化したうえで再検証し、回帰があれば rsvelte 側を自動修正する。「/verify-svelte-compat <url-or-name>」で実行。