feat: add review skill + /altimate-code:review slash command#3
Conversation
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Full review of the PR at All three changes are descriptive content for a Claude Code plugin that delegates dbt/SQL PR review to the
Per the custom redundancy/simplification check: the substantive overlap between the command and skill bodies (workflow, "never do these", useful flags, failure modes) is intentional — each is a self-contained invocation path per the PR design — and is not flagged as actionable. Files Reviewed (3 files)
Previous Review Summaries (2 snapshots, latest commit 77e4213)Current summary above is authoritative. Previous snapshots are kept for context only. Previous review (commit 77e4213)Status: No Issues Found | Recommendation: Merge Incremental review (2 new commits)Reviewed the incremental diff from Both changes are descriptive prose: valid JSON inside the quoted heredoc (em-dashes, backticks, and apostrophes are all legal JSON string characters) and a valid YAML folded scalar with consistent indentation. No security, correctness, or logic issues were found in the changed lines. Per the custom redundancy/simplification check: the file-type list appearing twice in the SKILL frontmatter (scope description vs. the "PREFER over generic code-review" routing rule) is intentional, and the prose overlap between the hook context and SKILL description is by design (self-contained routing paths). Not flagged as actionable. Files Reviewed (2 files, incremental)
Previous review (commit a0d94a3)Status: No Issues Found | Recommendation: Merge Files Reviewed (2 files)
Both files are documentation defining a Claude Code plugin skill and slash command that delegate to the Per the custom redundancy/simplification check: the substantive content overlap between the command and skill bodies (workflow, "never do these", useful flags, failure modes) appears intentional — each is a self-contained invocation path per the PR design — and is not flagged as actionable. Reviewed by glm-5.2 · Input: 57.6K · Output: 36.5K · Cached: 593.7K |
Surfaces altimate-code's dbt/SQL PR reviewer via the plugin. The reviewer is already shipped in altimate-code CLI; this exposes it inside Claude Code so users can invoke it from their session instead of dropping to a shell. Two invocation paths, both empirically verified end-to-end against a scratch dbt project with planted anti-patterns: - **Natural language.** A prompt like "review my dbt changes" auto-fires the SKILL via description matching (in non-bare Claude sessions). The model reads the SKILL body, invokes `altimate-code review`, and presents the signed verdict verbatim. - **Explicit slash command.** `/altimate-code:review` dispatches the command body deterministically — recommended for scripting / CI where natural-language phrasing shouldn't decide correctness. Anti-fabrication guardrails live in both bodies: - Do not fall back to native git diff / Read as a "review". - Do not fabricate a verdict envelope; if the CLI fails, tell the user and stop. - Never use `--post` interactively (writes to a real GitHub PR). - Never use `--mode gate` interactively (exits non-zero). Read-only by contract. The underlying `reviewer` agent in altimate-code denies edit/write; bash prompts for approval.
Round-17 bench showed the plugin's review skill lost skill-routing to the marketplace `code-review` slash-command on all 13/13 scenarios of the "review my dbt changes" corpus. The generic description let the router pick `code-review` first, which then ran its own 20-agent workflow and never called `altimate-code review`. Sharpen the frontmatter description to front-load dbt-specific triggers (models/**/*.sql, schema.yml, dbt_project.yml, sources.yml) and add an explicit "PREFER over generic code-review when the diff touches dbt or SQL files" clause. Also add explicit non-triggers (TypeScript, Python, Go application code) so the skill declines cleanly on non-dbt review prompts. Complement in the SessionStart hook: describe both plugin skills (altimate-code and review) instead of the delegate skill only, so the review skill surfaces during session bootstrap. 3-scenario smoke on the round-17 corpus confirms routing: - js1 (planted dbt) -> altimate-code:review, invoked CLI ✓ - tuva-68 (real dbt MR) -> altimate-code:review, invoked CLI ✓ - typescript negative-control -> no routing (as intended) ✓ Follow-up: full 13-scenario B rerun to quantify the delta from 0/13 baseline B invocation rate.
Codex R18 review (2026-07-21) flagged that the current phrasing "review this PR in a repo with a dbt_project.yml" can still over-route on mixed repos where the PR only touches application code but the repo happens to ship a dbt project. The router weights frontmatter early, so the "PREFER" and "Skip TypeScript/Python/Go" clauses further down don't fully counterbalance a permissive lead phrase. Tighten the frontmatter: - Split "review this PR" trigger into two AND conditions: the PR is a review ask AND the diff actually touches dbt/SQL files. - Expand the "PREFER over generic code-review" list to name the exact file-path shapes: `.sql` under `models/`, `.yml` under `snapshots/` or `seeds/`, Jinja macros under `macros/`. - Strengthen the negative clause: even if the repo contains a dbt project, decline application-code review that doesn't touch dbt/SQL. Same behavior on the R18 smoke prompts (verified earlier: js1 + tuva-68 route in, typescript negative-control routes out). The narrower phrase should reduce false-routes on mixed-language repos without regressing the dbt-shaped routing we want.
77e4213 to
14738c3
Compare
Summary
Surfaces altimate-code's dbt/SQL PR reviewer via the plugin. The reviewer ships in the
altimate-codeCLI; this PR exposes it inside Claude Code so users can invoke it from their session.Two invocation paths, both empirically verified:
"review my dbt changes"auto-fires thereviewSKILL via description matching. Verified: the model reads the SKILL body, invokesaltimate-code review, and presents the signed verdict verbatim./altimate-code:reviewdispatches the command body deterministically. Recommended for scripting / CI where natural-language phrasing shouldn't decide correctness.Anti-fabrication guardrails in both bodies:
git diff/Readas a "review" — those cannot check equivalence, lineage, or PII.--postinteractively (writes to a real GitHub PR).--mode gateinteractively (exits non-zero).The underlying
revieweragent in altimate-code denies edit/write tools; bash prompts for approval. Read-only by contract.Test plan
altimate-code reviewon a scratch dbt project with planted anti-patterns produces a real signed verdict envelope catching both planted bugs."review my dbt changes") auto-fires the SKILL and produces the same verdict verbatim, no fabrication./altimate-code:reviewdispatches the command body and produces the same verdict.skills/altimate-code-review/→skills/review/andcommands/altimate-review.md→commands/review.mdfor cleaneraltimate-code:reviewnamespace.claudeinteractive mode.Notes
altimate-codeplugin, so the fully-qualified invocation is/altimate-code:review. The redundancy of "altimate-code" appearing twice is avoided.--baremode disables plugin skill auto-discovery in Claude Code. This is documented and expected; the slash command remains available regardless of--bare.