Source profileQuality 84/100Review permissions

arbiterForge/codeArbiter/plugins/ca-codex/skills/ca-preview/SKILL.md

ca-preview

Zero-onboarding, read-only dry-run of the reviewer fleet against the current uncommitted diff. Predicts reviewers, runs the state-free secret scan, writes nothing.

Source repository stars
138
Declared platforms
0
Static risk flags
2
Last source update
2026-08-04
Source checked
2026-08-04

Decision brief

What it does—and where it fits

See what codeArbiter would do to your real code before paying any onboarding cost. This is a read-only dry-run against the current uncommitted diff: it predicts which reviewers the change would dispatch, runs the checks that need no project rules, and reports. It never writes st…

Best for

    Not for

    • An onboarded repo wanting the full gated verdict → $ca-init then $ca-review.
    • Proving the install's hooks actually fire → $ca-doctor.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/arbiterForge/codeArbiter --skill "plugins/ca-codex/skills/ca-preview"
    Safe inspection promptEditorial

    Inspect the Agent Skill "ca-preview" from https://github.com/arbiterForge/codeArbiter/blob/53c788cd82ddbb50c50d657775edf5a01f10dc9e/plugins/ca-codex/skills/ca-preview/SKILL.md at commit 53c788cd82ddbb50c50d657775edf5a01f10dc9e. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Flow

      1. Collect the diff. Call the thin entry hook preview.py in diff mode, which wraps collectdiff from ${CLAUDEPLUGINROOT}/hooks/previewlib.py. It unions HEAD-vs-worktree changes, staged changes, and untracked files (forward-slash paths). Run it from the project root so previewlib/…

      Collect the diff. Call the thin entry hook preview.py in diff mode, which wrapsPredict reviewers by path. Read the reviewer-to-path matrix atRun the state-free secret scan. Call the thin entry hook preview.py in secrets mode,
    2. 02

      Report

      Emit one clear report with these parts:

      Changed files — the reviewed-file set from step 1, each with its change kind(s) (unstaged,Predicted reviewers — per the matrix, which reviewers would dispatch and the triggering pathSecret findings — the results of the real scan from step 3, by path:lineno with the
    3. 03

      Distinct from $ca-doctor

      This reports reviewer and gate behavior on the current diff. It makes NO hook-probe claims and says nothing about whether the install's hooks fire: that is $ca-doctor. Do not blend the two.

      This reports reviewer and gate behavior on the current diff. It makes NO hook-probe claims and says nothing about whether the install's hooks fire: that is $ca-doctor. Do not blend the two.
    4. 04

      When NOT to use

      An onboarded repo wanting the full gated verdict → $ca-init then $ca-review.

      An onboarded repo wanting the full gated verdict → $ca-init then $ca-review.Proving the install's hooks actually fire → $ca-doctor.A question about the code → $ca-btw.
    5. 05

      Hard gate

      Read-only. MUST NOT write, create, or modify any file, including anything under .codearbiter/;

      Read-only. MUST NOT write, create, or modify any file, including anything under .codearbiter/;MUST NOT require, trigger, or error on missing $ca-init, .codearbiter/ state, or theMUST NOT print a raw secret value: the lib returns the snippet already redacted, and the report

    Permission review

    Static risk signals and limitations

    Runs scripts

    medium · line 19

    The documentation asks the agent to run terminal commands or scripts.

    python3 "${CLAUDE_PLUGIN_ROOT}/hooks/preview.py" diff || python "${CLAUDE_PLUGIN_ROOT}/hooks/preview.py" diff

    Runs scripts

    medium · line 36

    The documentation asks the agent to run terminal commands or scripts.

    python3 "${CLAUDE_PLUGIN_ROOT}/hooks/preview.py" secrets || python "${CLAUDE_PLUGIN_ROOT}/hooks/preview.py" secrets

    Writes files

    medium · line 68

    The documentation asks the agent to create, modify, or delete local files.

    Read-only. MUST NOT write, create, or modify any file, including anything under `.codearbiter/`;

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score84/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars138SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    arbiterForge/codeArbiter
    Skill path
    plugins/ca-codex/skills/ca-preview/SKILL.md
    Commit
    53c788cd82ddbb50c50d657775edf5a01f10dc9e
    License
    AGPL-3.0
    Collected
    2026-08-04
    Default branch
    main
    View the original SKILL.md

    $ca-preview — reviewer-fleet dry-run

    See what codeArbiter would do to your real code before paying any onboarding cost. This is a read-only dry-run against the current uncommitted diff: it predicts which reviewers the change would dispatch, runs the checks that need no project rules, and reports. It never writes state.

    It requires no $ca-init, no .codearbiter/ directory, and no decompose or create-context interview. It functions in a repo that never opted in, and it modifies nothing: not the worktree, not the index, not .codearbiter/. git status is unchanged by a run.

    Flow

    1. Collect the diff. Call the thin entry hook preview.py in diff mode, which wraps collect_diff from ${CLAUDE_PLUGIN_ROOT}/hooks/_previewlib.py. It unions HEAD-vs-worktree changes, staged changes, and untracked files (forward-slash paths). Run it from the project root so _previewlib/_hooklib resolve on the same sys.path:

      python3 "${CLAUDE_PLUGIN_ROOT}/hooks/preview.py" diff || python "${CLAUDE_PLUGIN_ROOT}/hooks/preview.py" diff
      

      If the result is empty (clean tree, or not a git repo), print a friendly "Nothing to preview" line and STOP. This is a clean exit, not an error: no stack trace, no failure.

    2. Predict reviewers by path. Read the reviewer-to-path matrix at ${CLAUDE_PLUGIN_ROOT}/includes/review-matrix.md. That include is the single source of truth for which reviewer is dispatched when scope touches a given path: do NOT restate, fork, or inline a second copy of the table here. For each changed path, list the reviewers that WOULD dispatch and name the triggering path for each. This is the same mapping $ca-review uses, so the predicted set matches what a real review would dispatch.

    3. Run the state-free secret scan. Call the thin entry hook preview.py in secrets mode, which wraps scan_secrets from ${CLAUDE_PLUGIN_ROOT}/hooks/_previewlib.py. It reads each changed file's current content and returns SecretFinding(path, line_no, snippet) for every credential line, with the secret VALUE already masked to **** in snippet:

      python3 "${CLAUDE_PLUGIN_ROOT}/hooks/preview.py" secrets || python "${CLAUDE_PLUGIN_ROOT}/hooks/preview.py" secrets
      

      Report each finding by path:line_no with its redacted snippet. The snippet arrives already masked: never reconstruct or print a raw secret value.

    Report

    Emit one clear report with these parts:

    • Changed files — the reviewed-file set from step 1, each with its change kind(s) (unstaged, staged, untracked).
    • Predicted reviewers — per the matrix, which reviewers would dispatch and the triggering path for each. These are predicted (would-dispatch), not run here.
    • Secret findings — the results of the real scan from step 3, by path:line_no with the redacted snippet, marked as found (ran locally), at BLOCK severity. State "none found" when the scan is clean.
    • Onboarding nudge — close with one line: the full gated review comes via $ca-init then $ca-review.

    Distinct from $ca-doctor

    This reports reviewer and gate behavior on the current diff. It makes NO hook-probe claims and says nothing about whether the install's hooks fire: that is $ca-doctor. Do not blend the two.

    When NOT to use

    • An onboarded repo wanting the full gated verdict → $ca-init then $ca-review.
    • Proving the install's hooks actually fire → $ca-doctor.
    • A question about the code → $ca-btw.

    Hard gate

    • Read-only. MUST NOT write, create, or modify any file, including anything under .codearbiter/; MUST NOT stage or commit. git status MUST be unchanged after a run.
    • MUST NOT require, trigger, or error on missing $ca-init, .codearbiter/ state, or the decompose / create-context interview.
    • MUST NOT print a raw secret value: the lib returns the snippet already redacted, and the report carries only that masked form.
    • An empty diff or a non-git directory MUST yield the "Nothing to preview" message and a clean exit, never a stack trace.
    • MUST treat the reviewer prediction as predicted (would-dispatch) and the secret scan as found (ran locally): it MUST NOT attribute fabricated findings to any predicted reviewer.

    Alternatives

    Compare before choosing

    Computed 84138

    arbiterForge/codeArbiter

    ca-preview

    Zero-onboarding, read-only dry-run of the reviewer fleet against the current uncommitted diff. Predicts reviewers, runs the state-free secret scan, writes nothing.

    Computed 10042,968

    coreyhaines31/marketingskills

    ab-testing

    When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program

    Computed 10042,968

    coreyhaines31/marketingskills

    churn-prevention

    When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers o

    Computed 10023,781

    alirezarezvani/claude-skills

    app-store-optimization

    App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist