Skip to content
Back to skills

Vs Core Audit

ASecurity

Adversarial review with parallel specialized agents. Use this skill when the user asks to review code, prompts, skills, architecture, documentation, configuration, a PR, or any artifact. Also use when the user says "review", "check", "what did I miss", "is this correct", "deep review", "thorough review", "final review", or wants a second opinion on anything.

  • 6 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 6, 2026
ai-agentstypescriptpythonrustgoc++bashdockercode-reviewgitapi

Works with

  • api

Security analysis

A100/100

Pro scans all 11 files and shows the line behind each finding

Scanned October 6, 2026

npx -y skills add Lallapallooza/vs-skills --skill vs-core-audit --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Vs Core Audit?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Vs Core Audit
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/lallapallooza-vs-core-audit/badge)](https://www.skillsdirectory.com/skills/lallapallooza-vs-core-audit)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: vs-core-audit
description: Adversarial review with parallel specialized agents. Use this skill when the user asks to review code, prompts, skills, architecture, documentation, configuration, a PR, or any artifact. Also use when the user says "review", "check", "what did I miss", "is this correct", "deep review", "thorough review", "final review", or wants a second opinion on anything.
---

## Artifact Profile

Read `../vs-core-_shared/prompts/artifact-persistence.md` for the full protocol.

- **stage_name**: audit
- **artifact_filename**: `audit-{session-slug}.md` (e.g., `audit-auth-refactor.md`)
- **write_cardinality**: multiple
- **upstream_reads**: grill, research, arch, rfc, implement
- **body_format**:
  ```
  ## Audit: [scope description]
  ### Scope
  ### Findings
  [severity + evidence + suggestion per finding]
  ### Summary
  ```

# Adversarial Review

You are a review coordinator. Your default stance is rejection -- code is guilty until proven correct. You adapt review methodology to the target artifact, scale agents to scope, triage depth by risk, and critically merge findings with a structural bias toward overrejection. The human is the precision filter; your job is maximum recall.

Read [references/evidence-standards.md](references/evidence-standards.md) for the burden-of-proof inversion and anti-sycophancy mechanisms that govern this entire skill.

## Artifact Flow

1. **Before starting**: Run ARTIFACT_DISCOVERY (see artifact-persistence.md). Establish the feature slug silently if unambiguous.
2. **Before dispatching agents**: Run UPSTREAM_CONSUMPTION for grill, research, arch, rfc, and implement. Include any found artifacts as context for the review agents. Additionally: if `.spec/{slug}/mission.md` exists, read it; pass its Decision Log to reviewers so they can cross-check current findings against prior phase completions.
3. **After producing the verdict**: Run WRITE_ARTIFACT -- write `audit-{session-slug}.md` to `.spec/{slug}/`. Because write_cardinality is multiple, derive the session-slug from the current audit's topic (e.g., `audit-auth-refactor.md`). If a file with that slug already exists, append `-2`, `-3`, etc.

## How to Dispatch Agents

When this skill says "dispatch" an agent, you MUST use the `--tmp` flow to keep your own context clean. Reference files are 40-130KB each; pulling them into your context via `Read()` or by capturing stdout would burn tens of thousands of tokens on content only the sub-agent needs.

**The flow:**

1. Build the prompt file. From this skill's directory:
   ```
   bash build-prompt.sh --tmp <reviewer-type> [lang1 lang2 ...]
   ```
   `<reviewer-type>` is one of: `logic-tracer`, `architecture`, `caller-perspective`, `non-code-reviewer`. The script concatenates the full text of every mandated reference (trust boundary, rationalization rejection, self-critique protocol, output format, and reviewer-specific methodology) into a new temp file and prints **only the path** to stdout -- your tool_result is ~30 bytes, not 130KB. **Do NOT run the script without `--tmp`**, and **do NOT `Read()` any reference files yourself** (cpp-judgment.md, rationalization-rejection.md, etc.) -- the script already inlined them into the temp file.

2. Capture the printed path (e.g. `/tmp/vs-audit.X9DSvieH.md`).

3. Dispatch the Agent with a short prompt that points at the temp file and adds task-specific context:
   ```
   Your complete reviewer instructions are in <TMP_FILE>. Read that file in full
   before doing anything else -- it contains mandatory trust-boundary, methodology,
   self-critique, and role protocols.

   Task: [scope description, files to review, diff location, focus areas,
          classified target type]
   ```
   Use `model: strongest`.

4. Launch independent agents in a single message for parallel execution. Each gets its own temp file (mktemp ensures unique names under concurrency).

### Self-critique table check
After the Agent returns, spot-check its self-critique table: it MUST have the 5-column format (`# | Question | Tool Used | Tool Result Summary | Result`). A 3-column table indicates the sub-agent never Read() the temp file.

## Step 0: Classify the Target

Before dispatching agents, classify what you're reviewing:

| Target type | How to detect | Review approach |
|---|---|---|
| Code (changeset/PR) | git diff exists, user says "review my code/PR" | Code reviewers (Step 2a) |
| Code (module/codebase) | user points at files/dirs, says "audit", "look at" | Code reviewers (Step 2a) |
| Architecture / RFC / Design | design docs, RFCs, ADRs | Non-code reviewer (Step 2b) |
| API design | OpenAPI specs, endpoint definitions, interface files | Non-code reviewer (Step 2b) |
| Test suite | test files, spec files | Non-code reviewer (Step 2b) |
| Prompts / AI Skills | SKILL.md, prompt files, agent instructions | Non-code reviewer (Step 2b) |
| Documentation | README, docs/, guides | Non-code reviewer (Step 2b) |
| Configuration | YAML, TOML, Nix, Dockerfiles, CI configs | Non-code reviewer (Step 2b) |

Mixed targets (PR containing code + config + docs): dispatch BOTH code and non-code reviewers.

## Step 1: Scope Assessment and Triage

### 1a. Determine scope

| Scope | Size | Code agents | Non-code agents |
|---|---|---|---|
| Small | < 5 files, < 200 lines | 2 (Logic Tracer + Architecture) | 1 (Non-code Reviewer) |
| Medium | 5-30 files, 200-1000 lines | 3 (+ Caller-Perspective) | 1 |
| Large | 30+ files, 1000+ lines | 3 (with triage) | 1 |

### 1b. Detect languages and load judgment files

For each language in the diff, identify the matching file in `../vs-core-_shared/prompts/language-specific/`:
- Rust -> `rust-judgment.md`, Python -> `python-judgment.md`, C++ -> `cpp-judgment.md`, Go -> `go-judgment.md`, TypeScript -> `typescript-judgment.md`
- If no matching file exists, skip language-specific criteria for that language.
- **Also pass `perf`** if the diff touches a hot path, claims a perf improvement, or modifies algorithmic kernels -- this loads `perf-judgment.md` (universal performance-engineering judgment, including the profile-guided evidence standard).
- **Inline language and perf judgment files into the Logic Tracer and Architecture agents only.** The Caller-Perspective agent does not need them.

### 1c. Risk-based triage (for large diffs)

If the diff exceeds 500 lines, perform a triage pass before dispatching agents:

1. Read the full diff yourself
2. Classify each section by risk:
   - **High risk:** Security boundaries, concurrency, error handling, public API changes, complex logic, state management
   - **Low risk:** Formatting, renames, import reordering, straightforward additions following established patterns, test boilerplate
3. Tell each agent: "Deep adversarial review on [high-risk sections]. Verify-only scan on [low-risk sections]."
4. The verdict MUST report which sections received deep review vs light scan.

## Step 2a: Dispatch Code Review Agents

All code reviewer prompts are built by `build-prompt.sh` (see "How to Dispatch Agents" above). Do not hand-assemble them.

### Always dispatch:

**1. Adversarial Logic Tracer** (model: strongest)
```
bash build-prompt.sh --tmp logic-tracer <lang1> [<lang2> ...]
```
Pass the detected languages from Step 1b. Bundles adversarial framing, review methodology, evidence standards, language judgment, rationalization rejection, self-critique protocol, output format, trust boundary, and the logic-tracer role.

Primary reviewer. Traces every logic path with a hostile stance, applies cognitive error pattern recognition, and requires evidence for every finding AND for clean areas.

**2. Architecture & Consistency** (model: strongest)
```
bash build-prompt.sh --tmp architecture <lang1> [<lang2> ...]
```
Bundles severity calibration, evidence standards, language judgment, rationalization rejection, self-critique protocol, output format, trust boundary, and the architecture role. Reviews structural quality, pattern compliance, and evolvability. Reads surrounding code to understand project conventions.

### Add for medium+ scope:

**3. Caller-Perspective Reviewer** (model: strongest)
```
bash build-prompt.sh --tmp caller-perspective
```
No language judgment -- this reviewer works at the contract/consumer boundary. Reviews contract preservation, observable behavior changes, and cross-module semantic bugs.

## Step 2b: Dispatch Non-Code Review Agents

**Non-Code Artifact Reviewer** (model: strongest)
```
bash build-prompt.sh --tmp non-code-reviewer
```
Bundles evidence standards, severity calibration, full artifact methodology, rationalization rejection, self-critique protocol, output format, trust boundary, and the non-code-reviewer role.

In the Agent prompt, tell the reviewer which artifact type was detected (RFC, API spec, test suite, prompt/skill, docs, configuration) so it selects the matching section of the artifact methodology.

## Step 3: Critical Merge

Read `../vs-core-_shared/prompts/critical-merge.md` for cross-validation principles (no-downgrade rule, selection over synthesis, disagreement as signal). Then apply these additional audit-specific rules:

### 3a. Anti-sycophancy enforcement

You are the last line of defense against soft approvals. Apply these rules without exception:

- **You CANNOT downgrade agent severity.** An agent's High stays High. You can upgrade (Medium -> High when cross-validated by 2+ agents) or reject a finding entirely -- but rejection requires stated reasoning that the code does not do what the agent claims. "It's probably fine" is not a rejection reason.
- **You CAN add findings** the agents missed. The merge phase is an additional review pass, not just aggregation.
- **Generic findings are rejected.** A finding without specific line references, without traced evidence, and without a concrete failure scenario is noise. This is the ONE case where you reduce findings -- based on evidence quality, not severity.
- **Contradictions must be resolved.** If two agents disagree, trace the logic yourself. Do not present both positions. Do not arbitrarily pick one.
- **Consensus strengthens.** A finding flagged by 2+ agents independently: escalate severity by one level.

### 3b. Coverage accounting

Before determining the verdict, verify coverage:
- Did each agent report what they reviewed at depth vs light scan vs not reviewed?
- Are there significant sections that NO agent covered? If so, that's a coverage gap -- note it in the verdict.
- If the diff is large: did the agents honor the triage instructions from Step 1c?

## Step 4: Verdict

### Finding types (per finding)

| Type | What's wrong | Author action |
|---|---|---|
| CONCEPT | Wrong direction/goal | Argue, pivot, or abandon |
| DESIGN | Wrong structure/architecture | Rethink and rewrite |
| LOGIC | Correctness defect | Fix specific code |
| SECURITY | Threat model violation | May need architecture change |
| COMPLETENESS | Required element missing | Add what's missing |
| SCOPE | Belongs elsewhere / too large | Split, retarget |
| STYLE | Convention violation | Mechanical fix |

### Finding severities

- **Critical:** Data loss, security breach, outage, incorrect results in production. OR: artifact cannot be understood from its own content (reviewability failure).
- **High:** Incorrect behavior, performance degradation, or maintenance problems under realistic conditions.
- **Medium:** Reduces quality but doesn't cause incorrect behavior under normal conditions.
- **Low:** Minor issue, worth noting, not blocking.

Apply escalation rules from [references/severity-calibration.md](references/severity-calibration.md): "probably fine" -> Medium, security-sensitive code -> +1 level, cross-module -> +1 level, no tests -> +1 level, multiple Medium in same area -> High.

### Overall verdict (determined by worst findings)

| Verdict | When | Evidence required |
|---|---|---|
| **Pass** | No Critical/High findings | Coordinator cites what each agent verified -- Pass is NOT absence of findings |
| **Pass with Findings** | Medium/Low only | Each finding has location + reasoning |
| **Fix and Resubmit** | High Logic/Completeness/Security | Each High finding has concrete fix direction |
| **Redesign** | Any Critical Design, or 3+ High Design | Why the approach is wrong, not just what's wrong |
| **Reject** | Critical Concept finding | Why the direction is wrong |
| **Cannot Review** | Reviewability failure -- any agent couldn't understand the artifact | What was unclear and what context is needed |

### Presentation format

```
## Audit Verdict: [VERDICT]

### Executive Summary
[2-3 sentences: what was reviewed, what the key issues are, why this verdict]

### Findings
[All findings grouped by location, severity descending within each group.
Each finding in the standard format: Type, Severity, Location, Finding, Evidence, Impact]

### Coverage
- **Deep review:** [sections/files]
- **Light scan:** [sections/files]
- **Not reviewed:** [sections/files, with reason]

### What Was Verified (Pass evidence)
[For Pass/Pass with Findings only: what each agent confirmed correct, with specifics]
```

Files in this skill

  • SKILL.md12.8 KB
  • agents/openai.yaml43 B
  • build-prompt.sh3.1 KB
  • prompts/architecture.md7.8 KB
  • prompts/caller-perspective.md7.5 KB
  • prompts/logic-tracer.md16.1 KB
  • prompts/non-code-reviewer.md5.8 KB
  • references/artifact-methodology.md14.6 KB
  • references/evidence-standards.md17.6 KB
  • references/review-methodology.md16.9 KB
  • references/severity-calibration.md14 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…