Skip to content

Claude/context aware review pl gx t - #22

Merged
Chachamaru127 merged 5 commits into
mainfrom
claude/context-aware-review-PlGxT
Jan 26, 2026
Merged

Chachamaru127 merged 5 commits into
mainfrom
claude/context-aware-review-PlGxT

Conversation

@Chachamaru127

@Chachamaru127 Chachamaru127 commented Jan 26, 2026 •

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

  • 新機能

    • マルチパースペクティブレビュー導入(コード/計画/スコープを自動検出、手動強制指定も可)。
    • Codexモードをレビュータイプごとの4専門家並列に最適化。コミット保留(Commit Guard)ワークフロー追加。
  • ドキュメント

    • レビュー手順を全面刷新し、並列/逐次実行フロー、LSP/コードインテリジェンスやAST検索連携案内、多数の専門家テンプレートを追加。
  • 雑務

    • レビュー呼称を「harness-review」に統一し、ワークフロー参照とバージョン表記を更新。

✏️ Tip: You can customize this high-level summary in your review settings.

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.
@coderabbitai

coderabbitai Bot commented Jan 26, 2026 •

Copy link
Copy Markdown

Warning

Rate limit exceeded

@Chachamaru127 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 12 minutes and 48 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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

マニュアル中心の大規模更新で、スキル名を review から harness-review に統一し、ドキュメントを「コンテキスト認識のマルチパースペクティブレビュー(code/plan/scope)」へ再設計。Codex 並列レビューを 8→4 エキスパートに削減し、Plan/Scope 向けの多数の専門家テンプレート、Commit Guard、LSP/AST-Grep 統合や実行フロー記載を追加。

Changes

Cohort / File(s) 変更概要
スキル名リネーム(review → harness-review)
opencode/skills/harness-review/SKILL.md, skills/harness-review/SKILL.md
公開メタデータ name を review から harness-review に変更。説明をマルチパースペクティブ・コンテキスト認識へ拡張。
マニュアル/コマンド更新(harness-review)
commands/core/harness-review.md, opencode/commands/core/harness-review.md, opencode/skills/harness-review/SKILL.md, skills/harness-review/SKILL.md
「Solo code review」を廃止し「Context‑Aware / Multi‑Perspective Review」へ全面書き換え。自動判定・強制モード(code/plan/scope)、実行フロー、出力フォーマット、Commit Guard、LSP/AST‑Grep の記述を追加。
Codex 並列レビュー仕様(8→4)
skills/codex-review/references/codex-parallel-review.md, opencode/skills/codex-review/references/codex-parallel-review.md, opencode/skills/codex-review/SKILL.md, skills/codex-review/SKILL.md
並列エキスパート数を最大8から4へ削減。レビュータイプ(code/plan/scope)ごとに4エキスパートを割当てる設計へ変更。プロンプト/実行フローと設定例を更新。
新規専門家テンプレート(Plan/Scope) — opencode 側
opencode/skills/codex-review/references/experts/*.md (acceptance, clarity, dependencies, feasibility, impact, priority, scope-creep, scope-feasibility)
Plan/Scope 向けの複数の専門家テンプレートを追加(評価フォーカスと標準 Markdown 出力フォーマット)。ドキュメントのみ。
新規専門家テンプレート(Plan/Scope) — skills 側
skills/codex-review/references/experts/*.md (同上)
opencode 側と同等のテンプレート群を追加(ドキュメントのみ)。
参照パス・リンク更新(review → harness-review)
opencode/skills/codex-review/references/codex-review-integration.md, skills/codex-review/references/codex-review-integration.md, opencode/skills/harness-review/references/commit-judgment-logic.md, skills/harness-review/references/commit-judgment-logic.md, 等
ドキュメント内リンクや参照パスを review/ から harness-review/ へ差し替え。
ワークフロー定義更新
workflows/default/work.yaml
cross-review ステップで skill: review → skill: harness-review、入力に context_from: code_content と variables: [review_mode] を追加。
細部テンプレート・バージョン更新等
templates/rules/skills-gate.md.template, .claude-plugin/plugin.json, README.md, VERSION
skills-gate 内のスキル参照更新、プラグイン/README/VERSION のバージョンバンプ(例: 2.12.0 → 2.12.3)。
ドキュメント用語整備・実行フロー修正(その他)
commands/core/work.md, opencode/commands/core/work.md, opencode/skills/harness-review/references/commit-judgment-logic.md, skills/harness-review/references/commit-judgment-logic.md, skills/workflow/references/execute-commit.md
Phase 記述・Codex モード説明・判定ロジックのドキュメントを 4 エキスパート構成に合わせて更新。リンク先表記も修正。

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: 最終レポート(総評・視点別評価・改善案)
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰📜 ひょいと跳ねて文を変えたよ
四つの目で見て、よく見定めよう🐇
Codexと専門家、並列で耳を澄ます✨
コミットは守られ、改善案は手元に—
harness-review が庭を明るくするよ 🌸

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive タイトルは非常に曖昧で、意味のある情報を伝えていません。「Claude/context aware review pl gx t」は不完全で理解困難な表現です。 タイトルをより明確で説明的なものに変更してください。例:「Refactor review command to harness-review with context-aware multi-perspective support」など、変更の主要な目的を正確に反映するタイトルを付与してください。
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ 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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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: が残っている場合は、今回のリネーム方針と合わせて更新すると一貫性が上がります。

Comment on lines 70 to 74
**How to call**:
```
Use Skill tool:
skill: "claude-code-harness:review"
skill: "claude-code-harness:harness-review"
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

フェンスコードに言語指定がありません。
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.

Comment on lines 70 to 74
**How to call**:
```
Use Skill tool:
skill: "claude-code-harness:review"
skill: "claude-code-harness:harness-review"
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

フェンスコードに言語指定がありません。
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 -->

Comment on lines +36 to +42
### Dependency Map

```
[Task A] ──→ [Task B] ──→ [Task C]
│ ↑
└──→ [Task D] ──────────┘
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

フェンスコードに言語指定がありません。

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.

Comment on lines +45 to +49
### Priority Issues

#### Misprioritzed Items
- [ ] [Task] - Currently P[X], should be P[Y]
- Reason: [why priority is wrong]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

見出しのスペルミスを修正してください。
「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.

Suggested change
### 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.

Comment on lines 17 to 29
```
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
↓
結果統合 → コミット判定
結果統合 → 判定
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

フェンスコードに言語指定を付与してください。

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 -->

Comment on lines +45 to +49
### Priority Issues

#### Misprioritzed Items
- [ ] [Task] - Currently P[X], should be P[Y]
- Reason: [why priority is wrong]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

見出しのスペルミスを修正してください。
“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.

Suggested change
### 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」を呼び出す |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

例示の “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`
に変更し、一貫性が取れていることを確認してください)。

Chachamaru127 and others added 2 commits January 26, 2026 23:45
- 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>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)。

既存指摘と同内容です。

Comment on lines 17 to 29
```
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
↓
結果統合 → コミット判定
結果統合 → 判定
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

フェンスコードに言語指定を付与してください(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) |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 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 -10

Repository: 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.md

Repository: 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 を参照するように更新してください。

Comment on lines 263 to 266
```
✅ 正しい: 8回の MCP 呼び出しを1つのレスポンス内で並列実行
✅ 正しい: 4回の MCP 呼び出しを1つのレスポンス内で並列実行
❌ 間違い: 1回の呼び出しで「全観点をレビューして」と依頼
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

フェンスコードに言語指定を付与してください(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.

Comment on lines 263 to 266
```
✅ 正しい: 8回の MCP 呼び出しを1つのレスポンス内で並列実行
✅ 正しい: 4回の MCP 呼び出しを1つのレスポンス内で並列実行
❌ 間違い: 1回の呼び出しで「全観点をレビューして」と依頼
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

コードフェンスに言語指定を追加してください。
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.

Suggested change
```
✅ 正しい: 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.

Comment on lines +1 to +5
---
name: state-transition
description: "Execute session state transitions using session-state.sh"
allowed-tools: [Read, Bash]
---

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

参照パスとファイル名が一致していません。
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.

Comment on lines +1 to +19
---
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) |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

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.

Chachamaru127 and others added 2 commits January 27, 2026 00:23
- 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>
@Chachamaru127
Chachamaru127 merged commit 56f6201 into main Jan 26, 2026
2 of 4 checks passed
@Chachamaru127
Chachamaru127 deleted the claude/context-aware-review-PlGxT branch January 26, 2026 15:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants