Agent skill

Ca Preview

by arbiterForge in arbiterForge/codeArbiter

Zero-onboarding, read-only dry-run of the reviewer fleet against the current uncommitted diff.

AGPL-3.0Auto-check passed

Install Ca Preview

skills CLI
$ npx skills add arbiterForge/codeArbiter --skill ca-preview -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install arbiterForge/codeArbiter ca-preview --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/arbiterForge/codeArbiter.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/ca-pi/skills/ca-preview .claude/skills/ca-preview && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ca-preview
GitHub stars
147
Token cost
~1.2k tokens
SKILL.md length
617 words
Files
1
Skills in repo
12
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Zero-onboarding, read-only dry-run of the reviewer fleet against the current uncommitted diff.

  • Works in 3 steps: Collect the diff. Call the thin entry… → Predict reviewers by path. Read the… → Run the state-free secret scan. Call the…
  • SKILL.md covers Flow, Report, Distinct from /ca-doctor and When NOT to use, plus 1 more section
  • Calls git, python3 and python

What it does

Ca Preview is an agent skill from arbiterForge/codeArbiter. 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.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It works with Python. The repository describes itself as: Open-source governance and hard gates for AI coding agents across Claude Code, Codex CLI, and Pi. The licence is AGPL-3.0.

Example prompts

  • “/ca-preview”

Requirements

  • Python 3

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Collect the diff. Call the thin entry hook preview.py in diff mode, which wraps
  2. Predict reviewers by path. Read the reviewer-to-path matrix at
  3. Run the state-free secret scan. Call the thin entry hook preview.py in secrets mode,

What it can do on your machine

Read from SKILL.md and the folder at commit cd5b0a0. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • python3
    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ca Preview loads about 1.2k tokens when it runs. Until then it costs about 44 tokens; SKILL.md has 617 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~44
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from arbiterForge/codeArbiter at commit cd5b0a0, republished under its AGPL-3.0 licence (© arbiterForge). 617 words, ~1,151 tokens.

Download SKILL.mdSave it as .claude/skills/ca-preview/SKILL.md (or your agent's skills folder).
name
ca-preview
description
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.
argument-hint
(none)

/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 <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. Resolve the interpreter once by presence — PY=python3; { command -v python3 >/dev/null 2>&1 && python3 --version >/dev/null 2>&1; } || PY=python — never python3 X || python X, which reruns X on any nonzero exit (#577):

    "$PY" "<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 <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 <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:

    "$PY" "<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.

Show full SKILL.md (275 more words)Show less

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 wrapper wiring or the active-dispatch coverage gap: 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.

  • Inspecting wrapper wiring and the active-dispatch coverage gap → /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.

© arbiterForge, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/ca-pi/skills/ca-preview of arbiterForge/codeArbiter.

Open the folder on GitHubat commit cd5b0a0

Compare with similar skills

Ca Preview next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ca Preview compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ca Preview this skillarbiterForge/codeArbiter147—~1.2kAutomated safety check: PassAGPL-3.0
MCP Server Builderanthropics/skills180k62 repos~2.3kAutomated safety check: PassApache-2.0
PDF Processinganthropics/skills180k48 repos~2kAutomated safety check: PassProprietary
NotebookLM Research AssistantPleasePrompto/notebooklm-skill7.8k13 repos~2.4kAutomated safety check: NotesMIT
Manim Video Productionbrowser-use/video-use28k6 repos~3kAutomated safety check: PassMIT
Code Review ChecklistshareAI-lab/learn-claude-code78k5 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 62 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • PDF Processing

    anthropics/skills

    Official

    Handles everyday PDF jobs in Python and on the command line: extract text and tables, merge, split, rotate, watermark, fill forms, encrypt and OCR.

    180k GitHub starsUsed in 48 repos~2k tokens
    Documents & OfficeAuto-check passed
  • NotebookLM Research Assistant

    PleasePrompto/notebooklm-skill

    Lets Claude Code ask questions of your Google NotebookLM notebooks through browser automation and return answers grounded in your uploaded sources.

    7.8k GitHub starsUsed in 13 repos~2.4k tokens
    Knowledge ManagementAuto-check: notes
  • Manim Video Production

    browser-use/video-use

    Produces math and technical explainer videos with Manim Community Edition: concept animations, equation derivations, algorithm walkthroughs and data stories.

    28k GitHub starsUsed in 6 repos~3k tokens
    Media & CreativeAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 5 repos~1.1k tokens
    DevelopmentAuto-check passed
  • PPT Master

    hugohe3/ppt-master

    Generates editable PowerPoint decks, rebuilds slides from images, fills .pptx templates and polishes existing presentations through routed workflows.

    58k GitHub starsUsed in 1 repo~2.5k tokens
    Documents & OfficeAuto-check passed

More from arbiterForge/codeArbiter

All 12 skills in this repo
  • Sandbox Claude Inside

    arbiterForge/codeArbiter

    Run Claude Code INSIDE a ca-sandbox box (--with-claude). An agent skill from arbiterForge/codeArbiter.

    147 GitHub stars~2.4k tokensUpdated 2 days ago
    Auto-check passed
  • Ca Adr

    arbiterForge/codeArbiter

    Record user-decided ADRs or inspect their health read-only. An agent skill from arbiterForge/codeArbiter.

    147 GitHub stars~1.7k tokensUpdated 2 days ago
    Auto-check passed
  • Ca Conflict

    arbiterForge/codeArbiter

    Stop everything and surface a rule conflict — persona vs. An agent skill from arbiterForge/codeArbiter.

    147 GitHub stars~574 tokensUpdated 2 days ago
    Auto-check passed
  • Ca Feature

    arbiterForge/codeArbiter

    Start a feature: brainstorm a spec, get it approved, then drive it test-first through the pipeline.

    147 GitHub stars~2.2k tokensUpdated 2 days ago
    Auto-check passed
  • Ca Init

    arbiterForge/codeArbiter

    Opt this repo into codeArbiter — scaffold the root-level .codearbiter/ state store.

    147 GitHub stars~1.3k tokensUpdated 2 days ago
    Auto-check passed
  • Ca Metrics

    arbiterForge/codeArbiter

    Read-only 3-metric governance glance — override rate, small-lane rate, sprint low-confidence ratio — each with a trend arrow vs.

    147 GitHub stars~966 tokensUpdated 2 days ago
    Auto-check passed

Works with

Questions about Ca Preview

What does Ca Preview do?

Zero-onboarding, read-only dry-run of the reviewer fleet against the current uncommitted diff. Ca Preview is an agent skill from arbiterForge/codeArbiter. Zero-onboarding, read-only dry-run of the reviewer fleet against the current uncommitted diff.

How do I install Ca Preview in Claude Code?

Run `npx skills add arbiterForge/codeArbiter --skill ca-preview -a claude-code`. Or copy the skill folder (plugins/ca-pi/skills/ca-preview in arbiterForge/codeArbiter) into .claude/skills/ca-preview in your project. Claude Code loads it when a task matches its description.

How do I install Ca Preview in Codex?

Run `npx skills add arbiterForge/codeArbiter --skill ca-preview -a codex`. Or copy the skill folder (plugins/ca-pi/skills/ca-preview in arbiterForge/codeArbiter) into .agents/skills/ca-preview in your project. Codex loads it when a task matches its description.

Can I use Ca Preview in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add arbiterForge/codeArbiter --skill ca-preview -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ca-preview, .gemini/skills/ca-preview, .github/skills/ca-preview and .opencode/skills/ca-preview in your project.

What does Ca Preview need to run?

Going by SKILL.md and its folder, Ca Preview needs the command-line tools its instructions call (git, python3 and python). Our summary lists: Python 3.

Does Ca Preview access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Ca Preview safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Ca Preview use?

Ca Preview is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ca Preview use?

About 1.2k tokens (SKILL.md is roughly 4.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Ca Preview?

Skills that share tags, products or a category with Ca Preview: MCP Server Builder (anthropics/skills, 180k stars), PDF Processing (anthropics/skills, 180k stars), NotebookLM Research Assistant (PleasePrompto/notebooklm-skill, 7.8k stars) and Manim Video Production (browser-use/video-use, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ca Preview?

arbiterForge (a GitHub organization) maintains it in arbiterForge/codeArbiter, which has 147 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 5, 2026.

Source: arbiterForge/codeArbiter on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.