cross-modal-review
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.
- License 许可
- MIT
- 最近更新
- 2026-11-01
- Stars
- ★ 3
- Forks
- 1
01 前言 Front Matter
- name
- cross-modal-review
- tools
- [ "search", "query", "get_page" ]
- version
- 1.1.0
- mutating
- false
- triggers
- [ "second opinion", "cross-modal review", "double check this", "get another perspective", "challenge this code", "adversarial review" ]
- description
- 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.
03 SKILL.md 正文
Cross-Modal Review
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.
Contract
This skill guarantees:
- Work product is reviewed by a different model before finalizing.
- The review is graded against the originating skill's Contract section (what was promised), not vibes.
- Agreement and disagreement are reported transparently.
- Refusal from one model triggers a silent switch to the next in chain.
- The user always makes the final decision (user sovereignty).
When to invoke (v0.25.1 gating)
Invoke this skill when:
- Significant code changes — any commit touching 5+ files or 100+ lines. Architecture decisions, refactors, API changes.
- Security-sensitive changes — auth flows, brain-write trust boundaries, webhook transforms, cross-skill data passing.
- Stuck or churning — 2+ iterations on the same problem without progress.
- Pre-bulk-operation — before running batch enrichment, migrations, or bulk writes (see conventions/test-before-bulk.md).
- Skill creation / modification — new or rewritten skills that affect operational behavior.
- Brain-page quality concerns — when brain writes need validation against the originating skill's Contract.
Do NOT invoke for:
- Simple memory writes or brain-page updates
- Single-file typo fixes
- Routine cron output or heartbeat operations
- Git commit / push of already-reviewed work
Phases
- Capture the work product. The brain page, analysis, code diff, or decision to be reviewed.
- Load the Contract. Read the originating skill's Contract section (what was promised).
- Spawn review model. Send the work + Contract to a different model. Use conventions/model-routing.md for model selection.
- Grade. Model evaluates: did the output follow the Contract? Pass / fail with specific citations.
- Report. Present agreement / disagreement to the user. Never auto-apply the reviewer's suggestions.
Code-review handoff (v0.25.1 extension)
For diff review specifically, gstack ships a /codex skill that wraps
the OpenAI Codex CLI. Two modes:
Codex Review
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:
- After a substantive diff lands and before merge
- When the user wants a second opinion that's NOT another Claude
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.
Adversarial Challenge
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.
Refusal routing
If the primary review model refuses:
- Switch silently to the next model in the chain (see
conventions/cross-modal.yaml). - Don't show the refusal to the user.
- Don't announce the switch.
- If ALL models in the chain refuse, escalate to the user.
Output format
Standard review
Cross-Modal Review
==================
Reviewer: {model name}
Contract: {originating skill}
Verdict: PASS | ISSUES FOUND
Findings:
- {finding with evidence}
Agreement with primary: {X}%
Code review
Cross-Modal Review (code)
==========================
Mode: Codex Review | Adversarial Challenge
Files changed: N
Lines changed: +N / -N
{mode-specific output above}
User-sovereignty rule (Iron Law)
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.
Anti-Patterns
- ❌ Auto-applying reviewer suggestions without user approval
- ❌ Showing model refusals to the user
- ❌ Using the same model for review and generation
- ❌ Skipping the Contract reference (reviewing vibes, not guarantees)
- ❌ Code-reviewing trivial changes (typos, formatting)
- ❌ Running code review without git-diff context
Related skills
- gstack
/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 routing
Output Format
The 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).
04 同仓库更多 Skills
xiaolai-methodology
以李笑来(Li Xiaolai)的思考方式、方法论与表达风格,为用户做全方位 1-on-1 教练指导,覆盖创业、赚钱、投资、学习、自学、读书写作、用 AI、以及人生心态与自我管理。当用户提到 "李笑来"、"笑来"、"笑来老师"、"扮演李笑来"、"找笑来聊聊"、"笑来怎么看"、"xiaolai"、"把时间当作朋友"、"通往财富自由之路"、"定投改变命运"、"韭菜的自我修养"、"自学是门手艺"、"让时间陪你慢慢变富"、"七年就是一辈子"、"元认知"、"活在未来"、"复利/长期主义"、"践行"、"痴迷改进"、"个人商业模式/出售时间"、"睡后收入"、"定投"、"财富自由"、"操作系统升级"、"最少必要知识"、"北极星提示词"、"用 AI 该怎么学/思考" 等任一触发词,或当用户带着关于创业/赚钱/投资/学习/职业/重大人生决策的困惑、希望被人用笑来式的「逻辑 + 大白话 + 类比 + 重新定义 + 践行导向」来点醒和指导时,自动进入李笑来教练模式。
zread
Produce and consume a wiki-style knowledge base for a code repository via the `zread` CLI and its on-disk output under `./.zread/wiki/`. Use this skill whenever the user wants to understand, onboard onto, explore, summarize, map, or get an overview of an unfamiliar codebase; asks for architecture docs, a project wiki, a repo walkthrough, module/package explanations, or "what does this repo do"; wants to generate, regenerate, resume, browse, or serve code documentation locally; or mentions zread / zread.ai directly. Also use it proactively before diving into a large unknown repo — if `./.zread/wiki/current` exists, read the generated pages instead of crawling source file-by-file; if it doesn't, consider offering to run `zread generate`. The trigger is the intent (understand a codebase through generated docs), not the literal word "zread".
youtube
Launch the YouTube Creator Agent to auto-generate videos. Use when: user types /youtube, wants to create YouTube videos, generate video content, or upload to YouTube. Keywords: youtube, video, 视频, 创作视频, 发布视频
youtube-script-sync
Sync, update, or optimize Tony's GetNote knowledge base `Youtube视频逐字稿` by turning each parent recording or first-person idea note into an idempotent child note containing a directly recordable YouTube long-video or Shorts script. Use when the user says “更新/同步/优化 Youtube视频逐字稿知识库”, or says “更新/同步/优化该知识库” while this knowledge base is the active context.
writing-skills
How to write SKILL.md files that trigger reliably and teach effectively. Use when creating, improving, or reviewing Claude Code skills.
writing-rules
How to write .claude/rules/ files that Claude actually follows. Use when creating, improving, or reviewing project rules.