Orchestrator Skill: Orchestrate Code Review
Purpose
Chain the atomic review-* skills in a fixed order and aggregate their findings. This skill orchestrates only; it runs no code analysis. For a single-dimension review, call the matching atomic skill directly (review-diff for the diff alone, review-security for security alone).
Orchestrator Role
Under the naming convention, an orchestrator skill does exactly 4 things:
- Detect context: determine scope (diff / codebase), language and framework from user intent and project state
- Chain the calls: run the atomic review-* skills in the fixed order scope → language → framework → library → cognitive
- halt-on-failure: when any atomic skill fails, stop the remaining steps and report the findings collected so far
- Aggregate output: merge findings, deduplicate (same location + title keeps the highest severity), derive risk_signals mechanically
Strictly forbidden: running code analysis inside this skill, embedding lint rules, reimplementing the logic of a single atomic skill.
Execution Order (Fixed)
| Step |
Type |
Candidate atomic skills |
Selection rule |
| 1 |
scope |
review-diff or review-codebase |
Pick one, by user intent (diff = the current changes; codebase = the given path) |
| 2 |
language |
review-typescript / review-python / review-go / review-java / review-php / review-powershell / review-dotnet / review-sql |
0 or 1, inferred from the dominant language in scope |
| 3 |
framework |
review-react / review-vue |
0 or 1, inferred from the framework in scope |
| 4 |
library |
review-orm-usage |
0 or 1, inferred from ORM usage in scope |
| 5 |
cognitive |
review-security → review-performance → review-architecture → review-testing |
All of them, in order |
A step with no match is skipped; the final report names which steps were skipped and why.
Behavior
Step 1: Detect context
- Confirm the scope: when the user has not said, have them pick between
diff and codebase
- diff mode includes untracked files by default
- codebase mode defaults to the repository root; a path may be given
- Language / framework inference: infer from the file extensions in scope and from dependency files (package.json, pyproject.toml and the like); when it is unclear, have the user choose from the candidate list
Step 2: Chain the calls
Call the atomic skills in the order of the table above, collecting findings at each step (standard format: location / category / severity / title / description / suggestion).
Step 3: halt-on-failure
Any atomic skill fails → stop the remaining steps, output the findings collected plus an account of the failure.
Step 4: Aggregate output
- Deduplication rule: merge identical
location + title across steps, keep the highest severity, and note the other matching steps in the description
- Risk signals: a mechanical rule mapping over the aggregated findings plus the change context (severity distribution, file spread, keyword matches), with no subjective judgement; output the empty list
[] when no signal is clear
Input and Output
Input
- User intent (review the diff / the codebase / a given path)
- Optional: a language / framework hint
Output
One aggregated report:
- Findings from each atomic skill (grouped by category or location)
- An account of the skipped steps
- The
risk_signals list (each entry carries signal_name plus an optional confidence ∈ [0, 1])
- A summary at the top (counts by severity, counts by category)
Restrictions
Hard boundaries
- No code analysis, lint or rule matching inside this skill (it breaks the orchestrator 4-things principle)
- No change to the execution order (scope → language → framework → library → cognitive)
- No invented findings; only what the atomic skills produced gets aggregated
- Atomic skills are not asked to emit risk_signals; risk labels are produced in the aggregation stage alone
- No code edits / no fixes applied (that goes to the developer or to
orchestrate-repair-loop)
Skill boundaries
Not done inside the orchestrator skill (an atomic sub-skill or a downstream skill should take it):
- Direct code analysis → the individual atomic review-* skills
- Single-dimension review → call the matching atomic skill directly
- Applying fixes →
orchestrate-repair-loop or the development process
- Writing tests → the test-related skills
Self-Check
Examples
Example 1: diff review of a .NET project
- Input: the user says "review my changes"; the project is C#
- Dispatch:
review-diff → review-dotnet → review-security → review-performance → review-architecture → review-testing
- Skipped: the framework / library steps (no match)
- Aggregation: one report plus risk_signals
Example 2: codebase review of a Vue frontend
- Input:
src/frontend; the project uses Vue 3 and an ORM
- Dispatch:
review-codebase → review-typescript → review-vue → review-orm-usage → review-security → review-performance → review-architecture → review-testing
- Aggregation: one report
Example 3: edge case — no language match
- Input: a Rust project (no atomic skill covers it)
- Dispatch:
review-codebase → skip language / framework / library → run every cognitive step
- Aggregation: the report names the skipped language / framework steps and the reason
1---2name: orchestrate-code-review3description: Orchestrator skill — sequence atomic review-* skills (scope → language → framework → library → cognitive) and aggregate findings into a unified report.4license: MIT5---67# Orchestrator Skill: Orchestrate Code Review89## Purpose1011Chain the atomic review-* skills in a fixed order and aggregate their findings. This skill orchestrates only; it runs no code analysis. For a single-dimension review, call the matching atomic skill directly (`review-diff` for the diff alone, `review-security` for security alone).1213---1415## Orchestrator Role1617Under the naming convention, an orchestrator skill **does exactly 4 things**:18191. **Detect context**: determine scope (diff / codebase), language and framework from user intent and project state202. **Chain the calls**: run the atomic review-* skills in the fixed order scope → language → framework → library → cognitive213. **halt-on-failure**: when any atomic skill fails, stop the remaining steps and report the findings collected so far224. **Aggregate output**: merge findings, deduplicate (same location + title keeps the highest severity), derive risk_signals mechanically2324**Strictly forbidden**: running code analysis inside this skill, embedding lint rules, reimplementing the logic of a single atomic skill.2526---2728## Execution Order (Fixed)2930| Step | Type | Candidate atomic skills | Selection rule |31|---|---|---|---|32| 1 | scope | `review-diff` or `review-codebase` | Pick one, by user intent (diff = the current changes; codebase = the given path) |33| 2 | language | `review-typescript` / `review-python` / `review-go` / `review-java` / `review-php` / `review-powershell` / `review-dotnet` / `review-sql` | 0 or 1, inferred from the dominant language in scope |34| 3 | framework | `review-react` / `review-vue` | 0 or 1, inferred from the framework in scope |35| 4 | library | `review-orm-usage` | 0 or 1, inferred from ORM usage in scope |36| 5 | cognitive | `review-security` → `review-performance` → `review-architecture` → `review-testing` | All of them, in order |3738A step with no match is skipped; the final report names which steps were skipped and why.3940---4142## Behavior4344### Step 1: Detect context4546- Confirm the scope: when the user has not said, have them pick between `diff` and `codebase`47- diff mode includes untracked files by default48- codebase mode defaults to the repository root; a path may be given49- Language / framework inference: infer from the file extensions in scope and from dependency files (package.json, pyproject.toml and the like); when it is unclear, have the user choose from the candidate list5051### Step 2: Chain the calls5253Call the atomic skills in the order of the table above, collecting findings at each step (standard format: location / category / severity / title / description / suggestion).5455### Step 3: halt-on-failure5657Any atomic skill fails → stop the remaining steps, output the findings collected plus an account of the failure.5859### Step 4: Aggregate output6061- **Deduplication rule**: merge identical `location + title` across steps, keep the highest severity, and note the other matching steps in the description62- **Risk signals**: a **mechanical rule mapping** over the aggregated findings plus the change context (severity distribution, file spread, keyword matches), with no subjective judgement; output the empty list `[]` when no signal is clear6364---6566## Input and Output6768### Input6970- User intent (review the diff / the codebase / a given path)71- Optional: a language / framework hint7273### Output7475One aggregated report:7677- Findings from each atomic skill (grouped by category or location)78- An account of the skipped steps79- The `risk_signals` list (each entry carries signal_name plus an optional confidence ∈ [0, 1])80- A summary at the top (counts by severity, counts by category)8182---8384## Restrictions8586### Hard boundaries8788- No code analysis, lint or rule matching inside this skill (it breaks the orchestrator 4-things principle)89- No change to the execution order (scope → language → framework → library → cognitive)90- No invented findings; only what the atomic skills produced gets aggregated91- Atomic skills are not asked to emit risk_signals; risk labels are produced in the aggregation stage alone92- No code edits / no fixes applied (that goes to the developer or to `orchestrate-repair-loop`)9394### Skill boundaries9596**Not done inside the orchestrator skill** (an atomic sub-skill or a downstream skill should take it):9798- Direct code analysis → the individual atomic review-* skills99- Single-dimension review → call the matching atomic skill directly100- Applying fixes → `orchestrate-repair-loop` or the development process101- Writing tests → the test-related skills102103---104105## Self-Check106107- [ ] Only the 4 things get done: detect context / chain the calls / halt-on-failure / aggregate output108- [ ] No domain detection logic was implemented inside this skill109- [ ] The scope was confirmed with the user110- [ ] The execution order is fixed (scope → language → framework → library → cognitive)111- [ ] Skipped steps are noted in the report112- [ ] The findings deduplication rule was applied (same location + title keeps the highest severity)113- [ ] risk_signals were derived mechanically from the aggregated findings, with no subjective judgement114115---116117## Examples118119### Example 1: diff review of a .NET project120121- Input: the user says "review my changes"; the project is C#122- Dispatch: `review-diff` → `review-dotnet` → `review-security` → `review-performance` → `review-architecture` → `review-testing`123- Skipped: the framework / library steps (no match)124- Aggregation: one report plus risk_signals125126### Example 2: codebase review of a Vue frontend127128- Input: `src/frontend`; the project uses Vue 3 and an ORM129- Dispatch: `review-codebase` → `review-typescript` → `review-vue` → `review-orm-usage` → `review-security` → `review-performance` → `review-architecture` → `review-testing`130- Aggregation: one report131132### Example 3: edge case — no language match133134- Input: a Rust project (no atomic skill covers it)135- Dispatch: `review-codebase` → skip language / framework / library → run every cognitive step136- Aggregation: the report names the skipped language / framework steps and the reason