skills/cross-modal-review/SKILL.md
Quality gate via second model. Spawn a different AI model to review work before committing. Includes refusal routing: if one model refuses, switch silently to the next. Extended in v0.25.1 with structured review-mode gating (when to invoke vs not) and a Codex code-review handoff for the diff-review case.
npx skillsauth add garrytan/gbrain cross-modal-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.
Convention: see conventions/cross-modal.yaml for the review pairs and refusal routing chain.
Relationship to
gbrain eval cross-modal: This skill is the manual mid-flow gate (one model reviews work product before commit, with refusal routing). Thegbrain eval cross-modalcommand (v0.27.x) is a sibling surface: 3 different-provider frontier models score-and-iterate on a documented dimension list before tests cement behavior. Use this skill for ad-hoc second opinions; usegbrain eval cross-modalfor the skillify Phase 3 quality gate. The two are complementary, not redundant.
This skill guarantees:
Invoke this skill when:
Do NOT invoke for:
For diff review specifically, gstack ships a /codex skill that wraps
the OpenAI Codex CLI. Two modes:
Independent diff review from a different AI system. The user invokes
/codex review (gstack-shipped); cross-modal-review's job is to
RECOGNIZE when this is the right tool and recommend it explicitly.
When to recommend /codex review:
Output framing (when cross-modal-review surfaces Codex output):
CODEX REVIEW (independent second opinion):
══════════════════════════════════════════
<full codex output, verbatim>
══════════════════════════════════════════
CROSS-MODEL ANALYSIS:
Both found: [overlapping findings]
Only Codex: [findings unique to Codex]
Only Claude: [findings unique to my analysis]
Agreement: X% (N/M findings overlap)
User decides what to act on. Cross-model agreement is signal, not permission.
Same shape, different prompt. Used on security-sensitive changes: the reviewer is asked to find injection vectors, race conditions, auth bypasses, data leaks, privilege escalation paths.
Output adds an exploitability rating (CRITICAL / HIGH / MEDIUM / LOW) and recommended mitigations.
If the primary review model refuses:
conventions/cross-modal.yaml).Cross-Modal Review
==================
Reviewer: {model name}
Contract: {originating skill}
Verdict: PASS | ISSUES FOUND
Findings:
- {finding with evidence}
Agreement with primary: {X}%
Cross-Modal Review (code)
==========================
Mode: Codex Review | Adversarial Challenge
Files changed: N
Lines changed: +N / -N
{mode-specific output above}
Reviewer findings are INFORMATIONAL until the user explicitly approves each one. Do NOT incorporate reviewer recommendations into the work product without presenting each finding and getting explicit approval. This applies even when the reviewer is correct. Cross-model consensus is a strong signal — present it as such — but the user makes the decision.
/codex — the actual Codex CLI wrapper this skill hands off
to for diff-review mode. Cross-modal-review knows WHEN to invoke;
/codex knows HOW.skills/testing/SKILL.md — runs the project test suite; complementary
signal for "is this commit safe to land"skills/conventions/cross-modal.yaml — review pairs + refusal routingThe skill's output shape is documented inline in the body sections above (see "Output", "Brain page format", or equivalent). The literal section header here exists for the conformance test (test/skills-conformance.test.ts).
research
Self-evolving skill optimization via SkillOpt-paper-grounded text-space optimizer.
development
Keep gbrain current. When a `gbrain` invocation prints an `UPGRADE_AVAILABLE <old> <new>` marker (or `gbrain self-upgrade --check-only` reports an update), apply it per the configured self_upgrade.mode: notify (prompt the operator with a 4-option question + snooze) or auto (apply silently). The action is always the hardcoded `gbrain self-upgrade` — never a command read from the marker.
data-ai
Set up GBrain with auto-provision Supabase or PGLite, AGENTS.md injection, first import
tools
--- name: query-helper triggers: - find a page tools: - search - query writes_pages: false --- # query-helper This skill helps you query the brain. The first prose line becomes the description when no `description:` frontmatter is present.