.claude/skills/respond-review/SKILL.md
Read hachimoku JSONL output and respond to review feedback.
npx skillsauth add drillan/mixseek-plus respond-reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
hachimoku JSONL出力を読み取り、レビュー指摘に対応する。
/respond-review [PR_NUMBER]
/respond-review --diff
| Argument | Type | Required | Description |
|----------|------|----------|-------------|
| PR_NUMBER | integer | No | GitHub PR番号(省略時は現在のブランチから検出) |
| --diff | flag | No | diff型のレビュー結果を読み取る |
When the user invokes /respond-review, follow these steps:
Determine the JSONL file path based on arguments:
Case 1: --diff が指定された場合
cat .hachimoku/reviews/diff.jsonl
Case 2: PR番号が指定された場合
cat .hachimoku/reviews/pr-{NUMBER}.jsonl
Case 3: 引数なし(PR番号を自動検出)
gh pr list --head "$(git branch --show-current)" --state open --json number --jq '.[0].number'
検出されたPR番号で .hachimoku/reviews/pr-{NUMBER}.jsonl を読み取る。
エラーハンドリング:
PRが検出できない場合:
現在のブランチに紐づくPRが見つかりません。PR番号を指定するか --diff を使用してください。
ファイルが存在しない場合:
レビュー結果が見つかりません。
PR型: `8moku {NUMBER}` を実行してください
diff型: `8moku` を実行してください
JSONL ファイルの各行は 1つのレビューセッション を表す JSON オブジェクトです。
{
"review_mode": "diff" | "pr",
"commit_hash": "40文字の16進数",
"branch_name": "ブランチ名",
"reviewed_at": "ISO 8601 タイムスタンプ",
"results": [
{
"status": "success" | "error",
"agent_name": "エージェント名",
"issues": [
{
"agent_name": "エージェント名",
"severity": "Critical" | "Important" | "Suggestion" | "Nitpick",
"description": "指摘内容",
"location": {"file_path": "ファイルパス", "line_number": 行番号} | null,
"suggestion": "修正提案" | null,
"category": "カテゴリ名" | null
}
],
"elapsed_time": 秒数
}
],
"summary": {
"total_issues": 指摘数,
"max_severity": "最大重要度" | null
}
}
results[] 配列の各エージェント結果を確認:
status: "success" のエージェントから issues[] を収集status: "error" のエージェントはスキップし、警告を表示:
エージェント "{agent_name}" はエラーで終了しました: {error_message}
issues[] をフラット化して1つのリストにまとめるパースに失敗した場合:
レビュー結果ファイルの解析に失敗しました
指摘を重要度順にソートして表示する。
ソート順: Critical > Important > Suggestion > Nitpick
| # | Severity | Agent | File | Line | Description | Decision | |---|----------|-------|------|------|-------------|----------| | 1 | Critical | code-reviewer | path/file.py | 28 | Description | (pending) | | 2 | Important | type-analyzer | path/other.py | 42 | Description | (pending) | | 3 | Suggestion | code-reviewer | .gitignore | 228 | Description | (pending) | | 4 | Nitpick | code-reviewer | tasks.md | 334 | Description | (pending) |
ヘッダーに以下のメタデータを表示:
## Review Results
Mode: {review_mode} | Commit: {commit_hash の先頭7文字} | Date: {reviewed_at}
Total Issues: {summary.total_issues} | Max Severity: {summary.max_severity}
各指摘について対応方針を決定する:
テーブルを更新:
| # | Severity | Agent | File | Line | Description | Decision | |---|----------|-------|------|------|-------------|----------| | 1 | Critical | code-reviewer | path/file.py | 28 | Description | Accept | | 2 | Important | type-analyzer | path/other.py | 42 | Description | Reject: cosmetic only |
Accept した各指摘に対して:
suggestion フィールドの内容を参考に修正を実装全ての Accept した修正が完了したら:
fix: address hachimoku review feedback最終サマリー:
## Review Response Summary
Mode: {review_mode} | Commit: {commit_hash の先頭7文字}
Accepted: {COUNT} | Rejected: {COUNT}
| # | Decision | File | Action |
|---|----------|------|--------|
| 1 | Accept | path/file.py | Fixed: added error handling |
| 2 | Reject | .gitignore | Reason: cosmetic only |
| エラー | 対応 |
|--------|------|
| PR番号が検出できない | 現在のブランチに紐づくPRが見つかりません。PR番号を指定するか --diff を使用してください。 |
| JSONLファイルが存在しない | レビュー結果が見つかりません。8moku <番号> または 8moku を実行してください |
| JSONLの解析失敗 | レビュー結果ファイルの解析に失敗しました |
| エージェントがエラー終了 | エージェント "{name}" はエラーで終了しました: {message} (他のエージェント結果は続行) |
| 修正の適用失敗 | 失敗した修正を報告、他の修正は続行 |
tools
MixSeekワークスペースを初期化し、設定ファイル用ディレクトリ構造を作成します。「ワークスペースを初期化」「mixseekのセットアップ」「設定ディレクトリを作成」「新しいプロジェクトを始める」といった依頼で使用してください。
development
MixSeekのチーム設定ファイル(team.toml)を生成します。「チームを作成」「エージェント設定を生成」「Web検索チームを作って」「分析チームを設定」といった依頼で使用してください。Leader AgentとMember Agentの構成を定義します。
development
MixSeekのプロンプトビルダー設定ファイル(prompt_builder.toml)を生成します。「プロンプトを設定」「プロンプトビルダーを作成」「ラウンド別プロンプト」といった依頼で使用してください。
data-ai
MixSeekのオーケストレーター設定ファイル(orchestrator.toml)を生成します。「オーケストレーターを設定」「チーム競合設定」「複数チームで競わせる」「マルチチーム実行設定」といった依頼で使用してください。複数チームを並列実行して最良の結果を選択する設定を定義します。