Skip to main content
ClaudeWave
Skill389 estrellas del repoactualizado today

validate

The validate skill produces structured PASS, WARN, or FAIL verdicts on artifacts including plans, specifications, code, pull requests, and CI gates. Use it when a bounded decision is needed before proceeding with implementation or deployment, with configurable modes ranging from quick single-agent review to deep multi-judge consensus, adversarial debate, or specialized pipelines for code readiness and pre-implementation validation.

Instalar en Claude Code
Copiar
git clone --depth 1 https://github.com/boshu2/agentops /tmp/validate && cp -r /tmp/validate/images/gemini/skills/validate ~/.claude/skills/validate
Después abre una sesión nueva de Claude Code; el skill carga automáticamente.

SKILL.md

# /validate — Canonical Validator Skill

> **Role:** validator. Input = artifact (plan, spec, code, PR, fitness gate). Output = `verdict.v1` (PASS / WARN / FAIL with rationale + findings).

> **Status (2026-05-08):** introduced ADDITIVE in Phase 1 (m6v5.D.1 / soc-78s2v). Existing validators (council/vibe/pre-mortem/red-team/review/scenario plus retired pr-validate and validation lanes) stayed until Phase 2 shim conversion (m6v5.D.2). Fix-C smoke (`soc-wb2aa`) gates Phase 2.

`/validate` is a driving adapter for the `validate_acceptance` port in the
[Intent-to-Loop Hexagon](../../docs/architecture/intent-to-loop-hexagon.md).
When the artifact contains a `hexagon:` block, preserve the bounded context,
context packet, guard adapters, and done state in the verdict.
When the artifact claims DONE/closed/green, apply the
[Completion-Claim Kernel](../shared/validation-contract.md#completion-claim-kernel)
before returning PASS.

## Modes (≤8 per Fix-F mode-flag budget)

| Mode | Purpose | Replaces (post-Phase 2) |
|---|---|---|
| (default) | 2-judge multi-judge consensus on any artifact | `/council` default |
| `--quick` | Inline single-agent structured review | `/council --quick` |
| `--deep` | 4-judge thorough review | `/council --deep` |
| `--mixed` | Cross-vendor (Claude + Codex), N×2 judges | `/council --mixed` |
| `--debate` | Adversarial 2-round refinement | `/council --debate`, `/red-team` |
| `--mode=post-impl` | Code-readiness pipeline (complexity → bug-hunt → council) | `/vibe` |
| `--mode=pre-impl [--target=X]` | Plan/spec validation; target ∈ {scenario,fitness,ratchet,scope,skill,health} | `/pre-mortem`, `/scenario`, `/goals measure`, `/ratchet`, `/scope`, `/skill-auditor`, `ao doctor` |
| `--mode=pr` | PR-shape verdict (diff review + acceptance check) | `/review` |

**Mode-budget assertion:** 8 modes. Adding a 9th requires demoting an existing one OR refusing the addition (per Fix-F § continuous CI gate).

### Folded skills (cp-ki8): `validation` + `pr-validate` retired into these modes

The retired validation and pr-validate lanes were the Phase-1 placeholders for `--mode=post-impl`
and `--mode=pr`; both are now retired (cp-ki8) and their load-bearing contract folded
here so no capability is lost:

- **`--mode=post-impl` (was the validation lane) — full close-out + no-self-grading invariant.**
  Beyond the inline `complexity → bug-hunt → council` pipeline, this mode owns the
  `validate_acceptance` port: every Given/When/Then from the intent issue must map to a
  passing test (criterion→test roll-up; activity logs do not close beads), and the
  acceptance verdict **must be produced by a blind, context-isolated sub-agent judge that
  did not author the code** (author ≠ validator — `ag-9jle.5` / `ag-lmdx.4`). Refuse to
  certify acceptance when `judge_id == author_id`; the only escape is an inline-fallback
  self-grade that is stamped as *waived, not independently validated*. Apply the
  [Completion-Claim Kernel](../shared/validation-contract.md#completion-claim-kernel)
  before accepting any DONE/closed/green claim. For epic-scope close-out this mode may
  delegate to `/vibe`, `/post-mortem`, and `/forge` rather than inlining them.
- **`--mode=pr` (was the pr-validate lane) — submission-readiness checks.** In addition to the
  diff/acceptance verdict, run, in order: (1) **upstream alignment FIRST** (BLOCKING —
  `git rev-list --count HEAD..origin/main`; fail if many commits behind or merge would
  conflict), (2) CONTRIBUTING.md compliance (BLOCKING), (3) **isolation** — single commit
  type + thematic files + atomic scope, (4) scope-creep containment, (5) quality gate
  (tests/lint, non-blocking). On FAIL, emit remediation steps (split-by-type cherry-pick,
  rebase-on-upstream) so the verdict is actionable.

## Quick Start

```bash
/validate path/to/plan.md                  # default 2-judge consensus
/validate --quick path/to/plan.md          # inline single-agent
/validate --deep path/to/spec.md           # 4-judge thorough
/validate --mode=pre-impl path/to/plan.md  # pre-mortem mode
/validate --mode=post-impl recent          # vibe mode (post-implement)
/validate --mode=pr 123                    # PR review by PR number
/validate --mode=pre-impl --target=fitness # fitness gate against GOALS.md
```

Default uses runtime-native subagent spawning. Falls back to `--quick` (inline) when no multi-agent capability detected.

## Execution

### Step 1: Resolve mode + target

Parse `--mode` and `--target`. Default mode is multi-judge. Validate combinations:

| Mode | Allowed `--target` |
|---|---|
| default, --quick, --deep, --mixed, --debate | n/a |
| --mode=post-impl | n/a (pipeline scope is recent code changes) |
| --mode=pre-impl | scenario, fitness, ratchet, scope, skill, health (default: pre-mortem on plan) |
| --mode=pr | n/a (PR ID/path is positional) |

Reject invalid combinations (e.g., `--mode=pr --target=fitness`).

### Step 2: Load artifact + context

```bash
# resolve artifact:
ARTIFACT="${1:-recent}"  # path, PR ID, or "recent"

# load FAIL patterns:
# (folded into skill body; not a separate hook)
```

For `--mode=pre-impl`, also load:
- `.agents/planning-rules/*.md` (compiled planning rules)
- `.agents/findings/registry.jsonl` (active findings)
- `.agents/pre-mortem-checks/*.md` (compiled prevention)

For `--mode=post-impl`, run pre-checks:
- complexity audit (radon for python, gocyclo for go)
- bug-hunt sweep (skill-body convention; no `/bug-hunt` skill needed)

For `--mode=pr`, fetch the PR diff (`gh pr diff <id>` or path).

### Step 3: Determine spawn backend

1. `spawn_agent` available → Codex sub-agent
2. `TeamCreate` available → Claude native team
3. `task` (read-only skill tool, OpenCode) → opencode subagent
4. None → fall back to `--quick` (inline single-agent)

Log selected backend in the verdict frontmatter.

### Step 4: Run judges

| Mode | Judges | Perspectives |
|---|---|---|
| default | 2 | independent (no labeled perspectives) |
| --deep | 4 | missing-requir