Repository navigation
Claude/context aware review pl gx t - #22
Conversation
Add context-aware review detection to /harness-review: - Auto-detects review type based on recent activity - After /plan-with-agent → Plan Review - After /work → Code Review - After adding tasks → Scope Review Add 8 new expert files for plan and scope reviews: - Plan: clarity-expert, feasibility-expert, dependencies-expert, acceptance-expert - Scope: scope-creep-expert, priority-expert, scope-feasibility-expert, impact-expert Update codex-parallel-review.md to document 3 review types with 4 experts each. Unified expert count between Codex mode ON and OFF.
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. Walkthroughマニュアル中心の大規模更新で、スキル名を Changes
Sequence Diagram(s)sequenceDiagram
participant User as ユーザー
participant Harness as harness-review (Orchestrator)
participant Detector as Context Detector
participant Codex as Codex / MCP
participant Expert1 as Expert 1
participant Expert2 as Expert 2
participant Expert3 as Expert 3
participant Expert4 as Expert 4
participant Aggregator as Aggregator
participant CommitGuard as Commit Guard / State
User->>Harness: harness-review 実行 (files, context_from?, review_mode?)
Harness->>Detector: 最近の活動を解析(自動判定)
Detector-->>Harness: review_type (code | plan | scope)
Harness->>Codex: 該当 review_type のプロンプトをロード
Codex->>Expert1: 並列呼び出し (prompt A)
Codex->>Expert2: 並列呼び出し (prompt B)
Codex->>Expert3: 並列呼び出し (prompt C)
Codex->>Expert4: 並列呼び出し (prompt D)
Expert1-->>Aggregator: 評価・改善案
Expert2-->>Aggregator: 評価・改善案
Expert3-->>Aggregator: 評価・改善案
Expert4-->>Aggregator: 評価・改善案
Aggregator->>Harness: 集約結果(総評・視点別)
Harness->>CommitGuard: 判定要求(APPROVE / REQUEST_CHANGES)
CommitGuard-->>User: commit 許可/ブロック、および状態ファイル出力
Harness-->>User: 最終レポート(総評・視点別評価・改善案)
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 7
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (6)
opencode/skills/codex-review/references/codex-review-integration.md (1)
26-33: 「review スキル起動」表記を rename 後に合わせて修正
/harness-reviewへ統一した文脈なので「review スキル起動」は不整合です。「harness-review スキル起動」へ置換してください。📝 変更提案
- review スキル起動 + harness-review スキル起動opencode/skills/harness-review/SKILL.md (1)
1-6: SSOT ファイル(decisions.md / patterns.md)が存在しませんコーディングガイドラインで「opencode/**/*.md 変更時は
.claude/memory/decisions.mdと.claude/memory/patterns.mdに決定事項と再利用パターンを記録する」と規定されていますが、両ファイルが存在しません。
.claude/memory/ディレクトリ内に以下を作成し、SKILL.md の変更内容(スキル名「review」→「harness-review」への変更理由とパターン)を記録してください:
.claude/memory/decisions.md- 名前変更の決定理由(Why).claude/memory/patterns.md- スキル設計の再利用可能パターン(How)opencode/skills/codex-review/references/codex-parallel-review.md (2)
33-52: 「4エキスパート化」と「8回呼び出し」の記述が矛盾しています。
冒頭で4エキスパートに整理したのに、このセクションは旧ルールのままで誤誘導になります。🛠️ 修正案(4エキスパート前提 or 動的記述)
-| ✅ 各エキスパートを **個別の MCP 呼び出し** で実行 | `mcp__codex__codex` を8回呼び出し | +| ✅ 各エキスパートを **個別の MCP 呼び出し** で実行 | `mcp__codex__codex` を有効エキスパート数だけ呼び出し | ... -| ✅ **1つのレスポンス内で8つの MCP 呼び出しを並列実行** | Claude の並列ツール呼び出し機能を使用 | +| ✅ **1つのレスポンス内で有効エキスパート数の MCP 呼び出しを並列実行** | Claude の並列ツール呼び出し機能を使用 | ... -> **理由**: 8エキスパート並列でも 1500文字×8 = 12,000文字 ≒ 4,000トークン程度で収まる +> **理由**: 有効エキスパート数 × 1500文字 で概ねトークン上限に収まるよう設計Also applies to: 207-218
161-172: 4エキスパート運用の説明に、6〜8エキスパートの例が混在しています。
レビュータイプ定義と例・集計表の前提がズレているため、運用手順の整合性が崩れています。🛠️ 修正案(例と集計表を4エキスパートに合わせる)
-例1: Webフロントエンドでコード変更あり -→ Security, Accessibility, Performance, Quality, SEO, Architect -→ 6エキスパート並列(Plan Reviewer, Scope Analyst は除外) +例1: Webフロントエンドでコード変更あり +→ Security, Accessibility, Performance, Quality +→ 4エキスパート並列 -例2: CLI プラグインでドキュメントのみ変更 -→ Quality, Architect, Plan Reviewer, Scope Analyst -→ 4エキスパート並列(Security, Performance, Accessibility, SEO は除外) +例2: CLI プラグインでドキュメントのみ変更 +→ Clarity, Feasibility, Dependencies, Acceptance +→ 4エキスパート並列-| Security | B | 0 | 1 | 2 | 3 | -| Accessibility | A | 0 | 0 | 1 | 2 | -| Performance | C | 0 | 2 | 3 | 1 | -| Quality | B | 0 | 0 | 4 | 5 | -| SEO | A | 0 | 0 | 0 | 2 | -| Architect | B | 0 | 1 | 1 | 0 | -| Plan Reviewer | APPROVE | - | - | - | - | -| Scope Analyst | Proceed | - | - | - | - | +| Security | B | 0 | 1 | 2 | 3 | +| Performance | C | 0 | 2 | 3 | 1 | +| Quality | B | 0 | 0 | 4 | 5 | +| Accessibility | A | 0 | 0 | 1 | 2 |-| `experts/seo-expert.md` | SEO エキスパートプロンプト | -| `experts/architect-expert.md` | 設計エキスパートプロンプト | -| `experts/plan-reviewer-expert.md` | 計画レビューエキスパートプロンプト | -| `experts/scope-analyst-expert.md` | 要件分析エキスパートプロンプト | +| `experts/accessibility-expert.md` | a11y エキスパートプロンプト |Also applies to: 224-239, 324-336
skills/codex-review/references/codex-parallel-review.md (1)
47-52: 「8回/8エキスパート」の記述が4エキスパート方針と矛盾しています。運用指示が誤ると不要な並列呼び出し・コスト増につながるため、現在の4エキスパートモデルに合わせて文言を更新してください。
🔧 修正案
-| ✅ 各エキスパートを **個別の MCP 呼び出し** で実行 | `mcp__codex__codex` を8回呼び出し | +| ✅ 各エキスパートを **個別の MCP 呼び出し** で実行 | `mcp__codex__codex` を選択されたエキスパート数だけ呼び出し | ... -| ✅ **1つのレスポンス内で8つの MCP 呼び出しを並列実行** | Claude の並列ツール呼び出し機能を使用 | +| ✅ **1つのレスポンス内で4つの MCP 呼び出しを並列実行** | Claude の並列ツール呼び出し機能を使用 | ... -> **理由**: 8エキスパート並列でも 1500文字×8 = 12,000文字 ≒ 4,000トークン程度で収まる +> **理由**: 4エキスパート並列でも 1500文字×4 = 6,000文字 ≒ 2,000トークン程度で収まるAlso applies to: 218-218
opencode/commands/core/harness-review.md (1)
1-510: SSOT(decisions/patterns)への追記が必要です。
opencode/**/*.md 変更時は.claude/memory/decisions.mdと.claude/memory/patterns.mdへの記録が必須です。更新が見当たらないため追加してください。As per coding guidelines.
🤖 Fix all issues with AI agents
In `@commands/core/harness-review.md`:
- Around line 70-74: 該当のフェンスコードブロック(中身が "Use Skill tool:" と `skill:
"claude-code-harness:harness-review"`
を含む箇所)に言語指定が欠けているため、開始バックティックに言語識別子を追加して例えば ```text のように変更してください(つまり ``` を
```text に置き換える) so the fenced code block has an explicit language identifier.
In `@opencode/commands/core/harness-review.md`:
- Around line 70-74: The fenced code block in harness-review.md is missing a
language specifier; update the snippet that currently starts with ``` to include
a language (e.g., change the opening fence to ```text) so markdownlint stops
flagging it; search for the block containing `Use Skill tool:` (the snippet used
to show how to call the skill) and replace the opening fence with a
language-tagged fence like ```text while keeping the block content unchanged.
In `@opencode/skills/codex-review/references/experts/dependencies-expert.md`:
- Around line 36-42: The fenced code block under "Dependency Map" lacks a
language tag causing MD040; update the triple-backtick fence that contains the
ASCII diagram (the block showing "[Task A] ──→ [Task B] ──→ [Task C]" with
"[Task D]") to include a language specifier (e.g., use ```text) so the block
becomes ```text ... ``` to satisfy markdownlint.
In `@opencode/skills/codex-review/references/experts/priority-expert.md`:
- Around line 45-49: Fix the heading typo by replacing the text "Misprioritzed
Items" with "Misprioritized Items" in the markdown section (look for the heading
line "#### Misprioritzed Items" under "### Priority Issues"); update only that
heading to correct the spelling and keep the rest of the list content unchanged.
In `@skills/codex-review/references/codex-parallel-review.md`:
- Around line 17-29: The fenced code block containing the flow diagram (starting
with "Claude (オーケストレーター)" and ending with "結果統合 → 判定") needs a language tag to
satisfy markdownlint MD040; update the opening fence from ``` to ```text so the
block becomes a ```text fenced code block, preserving the diagram contents
exactly.
In `@skills/codex-review/references/experts/priority-expert.md`:
- Around line 45-49: Fix the spelling mistake in the subsection heading "####
Misprioritzed Items" under "### Priority Issues": change "Misprioritzed" to
"Misprioritized" so the heading reads "#### Misprioritized Items"; update any
other occurrences of the misspelled word in this file
(skills/codex-review/references/experts/priority-expert.md) to maintain
consistency.
In `@templates/rules/skills-gate.md.template`:
- Line 26: 下部の例示ブロックで旧表記の "review" が残っているため、テンプレート内のすべての呼び出し例を統一して
"harness-review" に置換してください(例にある行「コードをレビューする | `harness-review`」と、例示ブロック内の
`review` 呼び出しをすべて `harness-review` に変更し、一貫性が取れていることを確認してください)。
🧹 Nitpick comments (1)
skills/codex-review/references/codex-review-integration.md (1)
190-191: 本文内の呼称も “harness-review” に統一することを推奨します。
図中の「review スキル起動」や YAML 例のreview:が残っている場合は、今回のリネーム方針と合わせて更新すると一貫性が上がります。
| **How to call**: | ||
| ``` | ||
| Use Skill tool: | ||
| skill: "claude-code-harness:review" | ||
| skill: "claude-code-harness:harness-review" | ||
| ``` |
There was a problem hiding this comment.
フェンスコードに言語指定がありません。
markdownlint の指摘どおり、言語を指定してください。
✏️ 修正案
-```
+```text
Use Skill tool:
skill: "claude-code-harness:harness-review"</details>
<!-- suggestion_start -->
<details>
<summary>📝 Committable suggestion</summary>
> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
```suggestion
**How to call**:
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
71-71: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
In `@commands/core/harness-review.md` around lines 70 - 74, 該当のフェンスコードブロック(中身が
"Use Skill tool:" と `skill: "claude-code-harness:harness-review"`
を含む箇所)に言語指定が欠けているため、開始バックティックに言語識別子を追加して例えば ```text のように変更してください(つまり ``` を
```text に置き換える) so the fenced code block has an explicit language identifier.
| **How to call**: | ||
| ``` | ||
| Use Skill tool: | ||
| skill: "claude-code-harness:review" | ||
| skill: "claude-code-harness:harness-review" | ||
| ``` |
There was a problem hiding this comment.
フェンスコードに言語指定がありません。
markdownlint の指摘どおり、言語を指定してください。
✏️ 修正案
-```
+```text
Use Skill tool:
skill: "claude-code-harness:harness-review"</details>
<details>
<summary>🧰 Tools</summary>
<details>
<summary>🪛 markdownlint-cli2 (0.18.1)</summary>
71-71: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
</details>
</details>
<details>
<summary>🤖 Prompt for AI Agents</summary>
In @opencode/commands/core/harness-review.md around lines 70 - 74, The fenced
code block in harness-review.md is missing a language specifier; update the
snippet that currently starts with to include a language (e.g., change the opening fence totext) so markdownlint stops flagging it; search for the
block containing Use Skill tool: (the snippet used to show how to call the
skill) and replace the opening fence with a language-tagged fence like ```text
while keeping the block content unchanged.
</details>
<!-- fingerprinting:phantom:triton:eagle -->
<!-- This is an auto-generated comment by CodeRabbit -->
| ### Dependency Map | ||
|
|
||
| ``` | ||
| [Task A] ──→ [Task B] ──→ [Task C] | ||
| │ ↑ | ||
| └──→ [Task D] ──────────┘ | ||
| ``` |
There was a problem hiding this comment.
フェンスコードに言語指定がありません。
markdownlint の MD040 回避のため、言語指定(例: text)を付けてください。
🔧 修正案
-```
+```text
[Task A] ──→ [Task B] ──→ [Task C]
│ ↑
└──→ [Task D] ──────────┘</details>
<!-- suggestion_start -->
<details>
<summary>📝 Committable suggestion</summary>
> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
```suggestion
### Dependency Map
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
42-42: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
In `@opencode/skills/codex-review/references/experts/dependencies-expert.md`
around lines 36 - 42, The fenced code block under "Dependency Map" lacks a
language tag causing MD040; update the triple-backtick fence that contains the
ASCII diagram (the block showing "[Task A] ──→ [Task B] ──→ [Task C]" with
"[Task D]") to include a language specifier (e.g., use ```text) so the block
becomes ```text ... ``` to satisfy markdownlint.
| ### Priority Issues | ||
|
|
||
| #### Misprioritzed Items | ||
| - [ ] [Task] - Currently P[X], should be P[Y] | ||
| - Reason: [why priority is wrong] |
There was a problem hiding this comment.
見出しのスペルミスを修正してください。
「Misprioritzed」は「Misprioritized」です。
🔧 修正案
-#### Misprioritzed Items
+#### Misprioritized Items📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ### Priority Issues | |
| #### Misprioritzed Items | |
| - [ ] [Task] - Currently P[X], should be P[Y] | |
| - Reason: [why priority is wrong] | |
| ### Priority Issues | |
| #### Misprioritized Items | |
| - [ ] [Task] - Currently P[X], should be P[Y] | |
| - Reason: [why priority is wrong] |
🤖 Prompt for AI Agents
In `@opencode/skills/codex-review/references/experts/priority-expert.md` around
lines 45 - 49, Fix the heading typo by replacing the text "Misprioritzed Items"
with "Misprioritized Items" in the markdown section (look for the heading line
"#### Misprioritzed Items" under "### Priority Issues"); update only that
heading to correct the spelling and keep the rest of the list content unchanged.
| ``` | ||
| Claude (オーケストレーター) | ||
| ↓ | ||
| 並列 MCP 呼び出し | ||
| ├── Security Expert | ||
| ├── Accessibility Expert | ||
| ├── Performance Expert | ||
| ├── Quality Expert | ||
| ├── SEO Expert | ||
| ├── Architect Expert | ||
| ├── Plan Reviewer Expert | ||
| └── Scope Analyst Expert | ||
| レビュータイプ判定 | ||
| ↓ | ||
| 並列 MCP 呼び出し (4 experts) | ||
| ├── Expert 1 | ||
| ├── Expert 2 | ||
| ├── Expert 3 | ||
| └── Expert 4 | ||
| ↓ | ||
| 結果統合 → コミット判定 | ||
| 結果統合 → 判定 | ||
| ``` |
There was a problem hiding this comment.
フェンスコードに言語指定を付与してください。
markdownlint MD040 対応のため、text などを指定するのが無難です。
🔧 修正案
-```
+```text
Claude (オーケストレーター)
↓
レビュータイプ判定
↓
並列 MCP 呼び出し (4 experts)
├── Expert 1
├── Expert 2
├── Expert 3
└── Expert 4
↓
結果統合 → 判定</details>
<details>
<summary>🧰 Tools</summary>
<details>
<summary>🪛 markdownlint-cli2 (0.18.1)</summary>
17-17: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
</details>
</details>
<details>
<summary>🤖 Prompt for AI Agents</summary>
In @skills/codex-review/references/codex-parallel-review.md around lines 17 -
29, The fenced code block containing the flow diagram (starting with "Claude
(オーケストレーター)" and ending with "結果統合 → 判定") needs a language tag to satisfy
markdownlint MD040; update the opening fence from totext so the block
becomes a ```text fenced code block, preserving the diagram contents exactly.
</details>
<!-- fingerprinting:phantom:triton:eagle -->
<!-- This is an auto-generated comment by CodeRabbit -->
| ### Priority Issues | ||
|
|
||
| #### Misprioritzed Items | ||
| - [ ] [Task] - Currently P[X], should be P[Y] | ||
| - Reason: [why priority is wrong] |
There was a problem hiding this comment.
見出しのスペルミスを修正してください。
“Misprioritzed” → “Misprioritized”。
✏️ 修正案
-#### Misprioritzed Items
+#### Misprioritized Items📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ### Priority Issues | |
| #### Misprioritzed Items | |
| - [ ] [Task] - Currently P[X], should be P[Y] | |
| - Reason: [why priority is wrong] | |
| ### Priority Issues | |
| #### Misprioritized Items | |
| - [ ] [Task] - Currently P[X], should be P[Y] | |
| - Reason: [why priority is wrong] |
🤖 Prompt for AI Agents
In `@skills/codex-review/references/experts/priority-expert.md` around lines 45 -
49, Fix the spelling mistake in the subsection heading "#### Misprioritzed
Items" under "### Priority Issues": change "Misprioritzed" to "Misprioritized"
so the heading reads "#### Misprioritized Items"; update any other occurrences
of the misspelled word in this file
(skills/codex-review/references/experts/priority-expert.md) to maintain
consistency.
| |------|--------|-----------| | ||
| | 機能を実装する | `impl` | Skill ツールで「impl」を呼び出す | | ||
| | コードをレビューする | `review` | Skill ツールで「review」を呼び出す | | ||
| | コードをレビューする | `harness-review` | Skill ツールで「harness-review」を呼び出す | |
There was a problem hiding this comment.
例示の “review” 表記も “harness-review” に統一してください。
下部のブロック例(例: “review” 呼び出し)が旧表記のままなので混乱します。
🤖 Prompt for AI Agents
In `@templates/rules/skills-gate.md.template` at line 26, 下部の例示ブロックで旧表記の "review"
が残っているため、テンプレート内のすべての呼び出し例を統一して "harness-review" に置換してください(例にある行「コードをレビューする |
`harness-review`」と、例示ブロック内の `review` 呼び出しをすべて `harness-review`
に変更し、一貫性が取れていることを確認してください)。
- Update codex-parallel-review.md: clarify "4 experts per review type" instead of misleading "8 experts" references - Add review-type-based config structure (code_experts, plan_experts, scope_experts) with backward compatibility note - Update harness-review SKILL.md with context-aware review type section - Document plan review (clarity, feasibility, dependencies, acceptance) - Document scope review (scope-creep, priority, feasibility, impact) - Sync all changes to opencode/ directory Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- harness-review SKILL.md: "8 エキスパート" -> "レビュータイプごとに4エキスパート" - harness-review SKILL.md: "8回の MCP 呼び出し" -> "4回の MCP 呼び出し" - codex-parallel-review.md: "8エキスパート並列" -> "4エキスパート並列" - codex-parallel-review.md: Update examples to show review-type-based selection - codex-review SKILL.md: "最大8並列レビュー" -> "4並列レビュー" - codex-review SKILL.md: "6エキスパート有効" -> "Code Reviewの場合、4エキスパート" - Apply all changes to opencode/ directory Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Actionable comments posted: 6
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
skills/codex-review/references/codex-parallel-review.md (1)
204-218: 設定例が新しい per-type 構成と不整合です。ここでは
config.review.codex.expertsを参照していますが、上部でcode_experts / plan_experts / scope_expertsに移行済みと記載されています。レビュータイプに応じた集合を使う例に更新した方が誤解を防げます。🔧 修正案
-const enabledExperts = Object.entries(config.review.codex.experts) - .filter(([_, enabled]) => enabled) - .map(([name]) => name); +const expertsByType = { + code: config.review.codex.code_experts, + plan: config.review.codex.plan_experts, + scope: config.review.codex.scope_experts, +}; +const enabledExperts = Object.entries(expertsByType[reviewType]) + .filter(([_, enabled]) => enabled) + .map(([name]) => name);opencode/skills/codex-review/references/codex-parallel-review.md (1)
204-218: 設定例が per-type 構成と不整合です。
code_experts / plan_experts / scope_expertsの説明と合うよう、レビュータイプ別の選択例に直すのが安全です。🔧 修正案
-const enabledExperts = Object.entries(config.review.codex.experts) - .filter(([_, enabled]) => enabled) - .map(([name]) => name); +const expertsByType = { + code: config.review.codex.code_experts, + plan: config.review.codex.plan_experts, + scope: config.review.codex.scope_experts, +}; +const enabledExperts = Object.entries(expertsByType[reviewType]) + .filter(([_, enabled]) => enabled) + .map(([name]) => name);
🤖 Fix all issues with AI agents
In `@opencode/skills/codex-review/references/codex-parallel-review.md`:
- Around line 17-29: The fenced code block containing the ASCII flow diagram
(starting with the three backticks and the line "Claude (オーケストレーター)" and ending
with three backticks) is missing a language identifier which triggers MD040; fix
it by adding a language specifier (e.g., change the opening ``` to ```text) so
the block becomes ```text ... ``` and keep the diagram content unchanged to
satisfy the linter.
In `@opencode/skills/codex-review/SKILL.md`:
- Line 28: opencode/**/*.md の変更に対して SSOT
が存在しないため、.claude/memory/decisions.md(Why)と
.claude/memory/patterns.md(How)を作成してください; decisions.md に「なぜ 4
並列レビューに変更したのか」という背景と意思決定根拠(利点・トレードオフ・関係者の合意)を明確に記載し、patterns.md に「4
並列レビューの実行パターン」(エキスパートの役割定義、MCP 呼び出し手順、参照として references/codex-parallel-review.md
へのリンクと実践フロー)を具体的な手順として記載してください; 作成後、opencode/skills/codex-review/SKILL.md
の該当箇所にある「4並列レビュー」エントリがこれらの SSOT を参照するように更新してください。
In `@opencode/skills/harness-review/SKILL.md`:
- Around line 263-266: The fenced code block containing the lines "✅ 正しい: 4回の
MCP 呼び出しを1つのレスポンス内で並列実行" and "❌ 間違い: 1回の呼び出しで「全観点をレビューして」と依頼" is missing a
language tag (MD040); update the opening fence from ``` to ```text (or another
appropriate language) in SKILL.md so the block is fenced as ```text ... ``` and
keep the same closing fence, ensuring the code block renders with a language
specifier.
In `@skills/harness-review/SKILL.md`:
- Around line 263-266: The Markdown code fence shown (the triple backticks
surrounding the Japanese checklist block containing "✅ 正しい..." and "❌ 間違い...")
lacks a language tag and triggers markdownlint MD040; fix it by adding a
language identifier (e.g., ```text) immediately after the opening backticks so
the fenced block becomes ```text ... ```; update the fenced block in SKILL.md
where the checklist appears to include that language tag.
In `@skills/session-state/references/state-transition` 2.md:
- Around line 1-5: Rename the file currently named "state-transition 2.md" to
"state-transition.md" so it matches the expected SKILL reference path
"references/state-transition.md"; verify and update any references or imports
that point to "references/state-transition.md" and ensure the frontmatter name
("name: state-transition") remains correct after renaming so automatic loading
and links resolve properly.
In `@skills/session-state/SKILL` 2.md:
- Around line 1-19: The SKILL file is currently named "SKILL 2.md" which will
likely be skipped by the loader; rename skills/session-state/SKILL 2.md to
skills/session-state/SKILL.md (keep the name field "session-state") and ensure
the referenced document filename matches exactly: verify the link
references/state-transition.md points to an existing file and either rename that
file to state-transition.md or update the link in SKILL.md to the actual
filename so the reference and loader conventions align.
♻️ Duplicate comments (1)
skills/codex-review/references/codex-parallel-review.md (1)
17-29: フェンスコードに言語指定を付与してください(MD040)。既存指摘と同内容です。
| ``` | ||
| Claude (オーケストレーター) | ||
| ↓ | ||
| 並列 MCP 呼び出し | ||
| ├── Security Expert | ||
| ├── Accessibility Expert | ||
| ├── Performance Expert | ||
| ├── Quality Expert | ||
| ├── SEO Expert | ||
| ├── Architect Expert | ||
| ├── Plan Reviewer Expert | ||
| └── Scope Analyst Expert | ||
| レビュータイプ判定 | ||
| ↓ | ||
| 並列 MCP 呼び出し (4 experts) | ||
| ├── Expert 1 | ||
| ├── Expert 2 | ||
| ├── Expert 3 | ||
| └── Expert 4 | ||
| ↓ | ||
| 結果統合 → コミット判定 | ||
| 結果統合 → 判定 | ||
| ``` |
There was a problem hiding this comment.
フェンスコードに言語指定を付与してください(MD040)。
🔧 修正案
-```
+```text
Claude (オーケストレーター)
↓
レビュータイプ判定
↓
並列 MCP 呼び出し (4 experts)
├── Expert 1
├── Expert 2
├── Expert 3
└── Expert 4
↓
結果統合 → 判定</details>
<details>
<summary>🤖 Prompt for AI Agents</summary>
In @opencode/skills/codex-review/references/codex-parallel-review.md around
lines 17 - 29, The fenced code block containing the ASCII flow diagram (starting
with the three backticks and the line "Claude (オーケストレーター)" and ending with three
backticks) is missing a language identifier which triggers MD040; fix it by
adding a language specifier (e.g., change the opening totext) so the
block becomes text ... and keep the diagram content unchanged to satisfy
the linter.
</details>
<!-- fingerprinting:phantom:triton:eagle -->
<!-- This is an auto-generated comment by CodeRabbit -->
| | **MCP セットアップ** | See [references/codex-mcp-setup.md](references/codex-mcp-setup.md) | | ||
| | **レビュー統合** | See [references/codex-review-integration.md](references/codex-review-integration.md) | | ||
| | **最大8並列レビュー** | See [references/codex-parallel-review.md](references/codex-parallel-review.md) | | ||
| | **4並列レビュー** | See [references/codex-parallel-review.md](references/codex-parallel-review.md) | |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Check if .claude/memory directory and files exist
echo "=== Checking .claude/memory structure ==="
find .claude/memory -type f 2>/dev/null | head -20
echo ""
echo "=== Searching for 4-parallel or parallel review references in SSOT files ==="
rg -n "4.*並列|4.*expert|並列レビュー" .claude/memory/ 2>/dev/null || echo "No matches found in .claude/memory"
echo ""
echo "=== Searching in decisions.md specifically ==="
if [ -f .claude/memory/decisions.md ]; then
cat .claude/memory/decisions.md
else
echo ".claude/memory/decisions.md not found"
fi
echo ""
echo "=== Searching in patterns.md specifically ==="
if [ -f .claude/memory/patterns.md ]; then
cat .claude/memory/patterns.md
else
echo ".claude/memory/patterns.md not found"
fi
echo ""
echo "=== Checking for referenced files ==="
ls -la opencode/skills/codex-review/references/codex-parallel-review.md 2>/dev/null || echo "references/codex-parallel-review.md not found"
echo ""
echo "=== Checking for accessibility-expert.md ==="
find opencode -name "*accessibility*" -type f 2>/dev/null | head -10Repository: Chachamaru127/claude-code-harness
Length of output: 739
🏁 Script executed:
#!/bin/bash
# Check .claude directory existence
echo "=== Checking .claude directory ==="
ls -la .claude 2>/dev/null || echo ".claude directory not found"
echo ""
echo "=== Reading SKILL.md around line 28 ==="
sed -n '20,40p' opencode/skills/codex-review/SKILL.md
echo ""
echo "=== Reading lines 49-53 for expert changes ==="
sed -n '45,60p' opencode/skills/codex-review/SKILL.md
echo ""
echo "=== Reading codex-parallel-review.md ==="
head -50 opencode/skills/codex-review/references/codex-parallel-review.mdRepository: Chachamaru127/claude-code-harness
Length of output: 2858
.claude/memory に SSOT ファイルが見つかりません。アーキテクチャドキュメントとして decisions.md と patterns.md を作成してください。
コーディングガイドラインに従い、opencode/**/*.md への変更は .claude/memory/decisions.md(Why)と .claude/memory/patterns.md(How)を SSOT として記載する必要があります。
以下の内容を記載してください:
- decisions.md: 「なぜ 4 並列レビューに変更したのか」(背景、意思決定根拠)
- patterns.md: 「4 並列レビューの実行パターン」(エキスパート定義、MCP 呼び出し手順、codex-parallel-review.md への参照)
🤖 Prompt for AI Agents
In `@opencode/skills/codex-review/SKILL.md` at line 28, opencode/**/*.md の変更に対して
SSOT が存在しないため、.claude/memory/decisions.md(Why)と
.claude/memory/patterns.md(How)を作成してください; decisions.md に「なぜ 4
並列レビューに変更したのか」という背景と意思決定根拠(利点・トレードオフ・関係者の合意)を明確に記載し、patterns.md に「4
並列レビューの実行パターン」(エキスパートの役割定義、MCP 呼び出し手順、参照として references/codex-parallel-review.md
へのリンクと実践フロー)を具体的な手順として記載してください; 作成後、opencode/skills/codex-review/SKILL.md
の該当箇所にある「4並列レビュー」エントリがこれらの SSOT を参照するように更新してください。
| ``` | ||
| ✅ 正しい: 8回の MCP 呼び出しを1つのレスポンス内で並列実行 | ||
| ✅ 正しい: 4回の MCP 呼び出しを1つのレスポンス内で並列実行 | ||
| ❌ 間違い: 1回の呼び出しで「全観点をレビューして」と依頼 | ||
| ``` |
There was a problem hiding this comment.
フェンスコードに言語指定を付与してください(MD040)。
🔧 修正案
-```
+```text
✅ 正しい: 4回の MCP 呼び出しを1つのレスポンス内で並列実行
❌ 間違い: 1回の呼び出しで「全観点をレビューして」と依頼</details>
<!-- suggestion_start -->
<details>
<summary>📝 Committable suggestion</summary>
> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
```suggestion
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
263-263: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
In `@opencode/skills/harness-review/SKILL.md` around lines 263 - 266, The fenced
code block containing the lines "✅ 正しい: 4回の MCP 呼び出しを1つのレスポンス内で並列実行" and "❌ 間違い:
1回の呼び出しで「全観点をレビューして」と依頼" is missing a language tag (MD040); update the opening
fence from ``` to ```text (or another appropriate language) in SKILL.md so the
block is fenced as ```text ... ``` and keep the same closing fence, ensuring the
code block renders with a language specifier.
| ``` | ||
| ✅ 正しい: 8回の MCP 呼び出しを1つのレスポンス内で並列実行 | ||
| ✅ 正しい: 4回の MCP 呼び出しを1つのレスポンス内で並列実行 | ||
| ❌ 間違い: 1回の呼び出しで「全観点をレビューして」と依頼 | ||
| ``` |
There was a problem hiding this comment.
コードフェンスに言語指定を追加してください。
markdownlint の MD040 対応が必要です。
🔧 修正案
-```
+```text📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ``` | |
| ✅ 正しい: 8回の MCP 呼び出しを1つのレスポンス内で並列実行 | |
| ✅ 正しい: 4回の MCP 呼び出しを1つのレスポンス内で並列実行 | |
| ❌ 間違い: 1回の呼び出しで「全観点をレビューして」と依頼 | |
| ``` |
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
263-263: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
In `@skills/harness-review/SKILL.md` around lines 263 - 266, The Markdown code
fence shown (the triple backticks surrounding the Japanese checklist block
containing "✅ 正しい..." and "❌ 間違い...") lacks a language tag and triggers
markdownlint MD040; fix it by adding a language identifier (e.g., ```text)
immediately after the opening backticks so the fenced block becomes ```text ...
```; update the fenced block in SKILL.md where the checklist appears to include
that language tag.
| --- | ||
| name: state-transition | ||
| description: "Execute session state transitions using session-state.sh" | ||
| allowed-tools: [Read, Bash] | ||
| --- |
There was a problem hiding this comment.
参照パスとファイル名が一致していません。
SKILL からの参照想定が references/state-transition.md のため、state-transition 2.md のままだとリンク切れや自動読込失敗の可能性があります。state-transition.md へリネームして統一してください。
🤖 Prompt for AI Agents
In `@skills/session-state/references/state-transition` 2.md around lines 1 - 5,
Rename the file currently named "state-transition 2.md" to "state-transition.md"
so it matches the expected SKILL reference path
"references/state-transition.md"; verify and update any references or imports
that point to "references/state-transition.md" and ensure the frontmatter name
("name: state-transition") remains correct after renaming so automatic loading
and links resolve properly.
| --- | ||
| name: session-state | ||
| version: 1.0.0 | ||
| description: "Manages session state transitions per SESSION_ORCHESTRATION.md. Internal use only." | ||
| allowed-tools: [Read, Bash] | ||
| dependencies: [] | ||
| --- | ||
|
|
||
| # Session State Skill | ||
|
|
||
| セッション状態の遷移を管理する内部スキル。 | ||
| `docs/SESSION_ORCHESTRATION.md` に定義された状態機械に従って遷移を検証・実行する。 | ||
|
|
||
| ## 機能詳細 | ||
|
|
||
| | 機能 | 詳細 | | ||
| |------|------| | ||
| | **状態遷移** | See [references/state-transition.md](references/state-transition.md) | | ||
|
|
There was a problem hiding this comment.
SKILL ファイル名が検出対象外になる懸念
一般的にスキル読込は skills/*/SKILL.md を前提にしているため、SKILL 2.md のままだと読み込まれない可能性があります。あわせて参照先が references/state-transition.md なので、参照ファイル名も揃える形でリネームしてください。
🤖 Prompt for AI Agents
In `@skills/session-state/SKILL` 2.md around lines 1 - 19, The SKILL file is
currently named "SKILL 2.md" which will likely be skipped by the loader; rename
skills/session-state/SKILL 2.md to skills/session-state/SKILL.md (keep the name
field "session-state") and ensure the referenced document filename matches
exactly: verify the link references/state-transition.md points to an existing
file and either rename that file to state-transition.md or update the link in
SKILL.md to the actual filename so the reference and loader conventions align.
- work.md: review skill → harness-review, 8-parallel → 4-parallel - commit-judgment-logic.md: update to 3 review types with 4 experts each - execute-commit.md: Reviewed-by: Codex (8 experts) → (4 experts) - codex-review-integration.md: review スキル → harness-review スキル - harness-review SKILL.md: fix experts/ path to ../codex-review/references/experts/ - codex-parallel-review.md: add Plan/Scope output format constraints Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Summary by CodeRabbit
新機能
ドキュメント
雑務
✏️ Tip: You can customize this high-level summary in your review settings.