Skip to content
Back to skills

Seek Verdict

ASecurity

Independent second-opinion verification for any finding. Use when: Claude or user wants independent Codex verification of a review finding — dismiss (false positive check), confirm (does this issue exist?), or clarify (what's the impact?). Triggers: dismiss verification, seek verdict, verify dismiss, false positive check, second opinion, confirm finding, clarify impact. Not for: general code review (use codex-code-review), architecture debates (use codex-brainstorm). Output: [DISMISS_VERDICT]...

  • 192 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 4, 2026
ai-agentsbashnodecode-reviewgit

Security analysis

A100/100

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

Scanned September 21, 2026

npx -y skills add sd0xdev/sd0x-harness --skill seek-verdict --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Seek Verdict?

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

Security grade badge for Seek Verdict
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/sd0xdev-seek-verdict-sd0x-harness/badge)](https://www.skillsdirectory.com/skills/sd0xdev-seek-verdict-sd0x-harness)

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: seek-verdict
allowed-tools: Bash(node:*), Bash(git:*), Read, Grep, Glob, Write
description: "Independent second-opinion verification for any finding. Use when: Claude or user wants independent Codex verification of a review finding — dismiss (false positive check), confirm (does this issue exist?), or clarify (what's the impact?). Triggers: dismiss verification, seek verdict, verify dismiss, false positive check, second opinion, confirm finding, clarify impact. Not for: general code review (use codex-code-review), architecture debates (use codex-brainstorm). Output: [DISMISS_VERDICT] or [SEEK_VERDICT] audit trail with verdict, confidence, and evidence refs."
---

# seek-verdict: Independent Second-Opinion Verification

## When NOT to Use

- General code review (use `/codex-review-fast`)
- Architecture debates (use `/codex-brainstorm`)
- Nit findings with no dismiss intent (use `[NIT_DEFERRED]`)

## Intent x Severity

| Intent | Purpose | Eligible Severities | Output Token |
|--------|---------|-------------------|-------------|
| `dismiss` | Is this a false positive? | All (P0/P1/P2/Nit) | `[DISMISS_VERDICT]` |
| `confirm` | Does this issue actually exist? | All | `[SEEK_VERDICT]` |
| `clarify` | What's the actual impact? | All | `[SEEK_VERDICT]` |

**Default intent**: `dismiss` (backward compatible with v1).

### Dismiss Authorization

| Severity | Authorization | Gate |
|----------|-------------|------|
| P0 | `DISMISS_CANDIDATE` | Human confirmation required |
| P1 | `DISMISS_CANDIDATE` | Human confirmation required |
| P2 | `DISMISS_VERIFIED` | Automated |
| Nit | `DISMISS_VERIFIED` | Automated |

P0/P1 dismiss produces a candidate, not a final authorization. See [Policy Mapping](references/policy-mapping.md) for human gate protocol.

## 3-Phase Protocol

```mermaid
sequenceDiagram
    participant C as Claude
    participant S as seek-verdict
    participant X as Codex (fresh thread)

    C->>S: Finding + intent + severity
    Note over S: Phase A: Candidate Packaging
    S->>S: Extract finding_packet<br/>(no Claude conclusions)
    S->>X: Phase B: Blind Independent Verdict
    Note over X: Independent research<br/>git status / grep / cat
    X-->>S: verdict + confidence + evidence
    Note over S: Phase C: Policy Mapping (intent x severity)
    alt intent=dismiss + P2/Nit
        S-->>C: DISMISS_VERIFIED / FIX_REQUIRED (automated)
    else intent=dismiss + P0/P1
        S-->>C: DISMISS_CANDIDATE + Need Human (human gate)
    else intent=confirm/clarify
        S-->>C: [SEEK_VERDICT] informational result
    end
```

### Phase A: Candidate Packaging

Extract finding artifact from review output:

| Field | Source |
|-------|--------|
| `finding_key` | `file + canonical_issue_text` |
| `severity` | `<P0 \| P1 \| P2 \| Nit>` |
| `intent` | `<dismiss \| confirm \| clarify>` |
| `original_finding_text` | Codex review original (secrets redacted) |
| `origin_thread_id` | Review session threadId |
| `current_head_sha` | `git rev-parse HEAD` |
| `relevant_diff` | `git diff HEAD -- <file>` |

**Critical**: Record Claude's hypothesis locally. **Never send it to Codex.**

### Phase B: Blind Independent Verdict

Use the prompt template in [Verdict Prompt](references/verdict-prompt.md).

| Requirement | Detail |
|-------------|--------|
| Thread | **Fresh** — dispatch per `@skills/codex-code-review/references/codex-transport.md` § Start (never reuse a review thread) |
| Anti-anchoring | No Claude conclusions in prompt |

### Phase C: Policy Mapping

Apply thresholds from [Policy Mapping](references/policy-mapping.md).

**Dismiss intent**: graduated thresholds by severity (P0: 0.95/4, P1: 0.90/3, P2: 0.80/2, Nit: 0.70/1).

**Confirm intent**: ACTIONABLE->CONFIRMED, NON_ACTIONABLE->DISPUTED, low confidence->UNCERTAIN.

**Clarify intent**: HIGH_IMPACT / LOW_IMPACT / UNCERTAIN.

Output audit trail per [Policy Mapping](references/policy-mapping.md).

## Rebuttal

When Phase C maps the verdict to `FIX_REQUIRED` (raw `ACTIONABLE` at or above the confidence
floor — `FIX_REQUIRED` is the mapping's word, never Codex's) and Claude has objective
counter-evidence:

- **1 round max** via § Resume (same verdict thread)
- Only objective artifacts (tests, specs, language semantics)
- The rebuttal names Codex's own verdict, `ACTIONABLE`, not the mapped result
- After rebuttal: map the new answer again — still `FIX_REQUIRED` -> fix; ambiguous -> `NEED_HUMAN`

## Anti-Abuse Guard

See [Policy Mapping](references/policy-mapping.md) for full rules.

- **Dismiss**: 3 consecutive `DISMISS_VERIFIED` -> `[DISMISS_PATTERN_WARN]` + heightened thresholds
- **Confirm/Clarify**: per-finding cap (1 confirm + 1 clarify per finding per commit)
- Session end or branch switch resets all counters

## Output

**Dismiss intent**:

```
[DISMISS_VERDICT] key=<file|canonical_issue> | severity=<P0-Nit> | verdict=<DISMISS_VERIFIED|DISMISS_CANDIDATE|FIX_REQUIRED|NEED_HUMAN> | confidence=<0..1> | codex_thread=<id> | evidence=<brief> | timestamp=<ISO8601> | intent=dismiss | authorization=<automated|human-required|human-confirmed>
```

**Confirm/Clarify intent**:

```
[SEEK_VERDICT] key=<file|canonical_issue> | severity=<P0-Nit> | intent=<confirm|clarify> | verdict=<CONFIRMED|DISPUTED|HIGH_IMPACT|LOW_IMPACT|UNCERTAIN> | confidence=<0..1> | codex_thread=<id> | evidence=<brief> | timestamp=<ISO8601>
```

## Verification

- [ ] Intent is valid (`dismiss` / `confirm` / `clarify`)
- [ ] Codex prompt contains no Claude conclusions (anti-anchoring)
- [ ] Fresh Codex thread used (not review session thread)
- [ ] Correct audit trail token output (`[DISMISS_VERDICT]` or `[SEEK_VERDICT]`)
- [ ] P0/P1 dismiss produces `DISMISS_CANDIDATE` + human gate (never auto-dismiss)
- [ ] Anti-abuse streak tracked (dismiss) / per-finding cap enforced (confirm/clarify)

## References

| File | Purpose |
|------|---------|
| [Verdict Prompt](references/verdict-prompt.md) | Codex blind verification prompt template |
| [Policy Mapping](references/policy-mapping.md) | Intent x severity thresholds, audit format, anti-abuse |

Files in this skill

  • SKILL.md5.6 KB
  • references/policy-mapping.md5.4 KB
  • references/verdict-prompt.md3.3 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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.