thinking-partner
A deterministic thinking partner that challenges assumptions and applies mental models to sharpen decisions, solve problems, and think more clearly. Use this…
Post-build quality gate. Identifies test gaps and spawns nyquist-auditor to fill them.
$ npx -y skills add SienkLogic/plan-build-run --skill validate-phase --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/validate-phaseContext preview
The summary Claude sees to decide when to auto-load this skill.
Post-build quality gate. Identifies test gaps and spawns nyquist-auditor to fill them.
name: validate-phase description: "Post-build quality gate. Identifies test gaps and spawns nyquist-auditor to fill them." allowed-tools: Read, Write, Bash, Glob, Grep, Task, AskUserQuestion argument-hint: "<phase-number> [--auto]"
<!-- markdownlint-disable MD012 MD046 -->
**STOP -- DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by Claude Code's plugin system. Using the Read tool on this SKILL.md file wastes tokens. Begin executing Step 1 immediately.**
**References:** `@references/ui-brand.md`
You are the orchestrator for `/pbr:validate-phase`. This skill identifies validation gaps in a completed phase -- requirements without tests, tests that fail, or verify commands without automated coverage -- and spawns the nyquist-auditor agent to fill them. Your job is to collect gaps, present them, delegate test generation, and write VALIDATION.md.
Reference: `skills/shared/context-budget.md` for the universal orchestrator rules. Reference: `skills/shared/agent-type-resolution.md` for agent type fallback when spawning Task() subagents.
Additionally for this skill:
**Before ANY tool calls**, display this banner:
+==============================================================+
| PLAN-BUILD-RUN > VALIDATING PHASE {N} |
+==============================================================+Where `{N}` is the phase number from `$ARGUMENTS`. Then proceed to Step 1.
Before any phase-modifying operations (writing VALIDATION.md, spawning agents), acquire a claim:
acquireClaim(phaseDir, sessionId)
If the claim fails (another session owns this phase), display: "Another session owns this phase. Use `/pbr:progress` to see active claims."
On completion or error (including all exit paths), release the claim:
releaseClaim(phaseDir, sessionId)
---
Parse `$ARGUMENTS` according to `skills/shared/phase-argument-parsing.md`.
| Argument | Meaning | |----------|---------| | `3` | Validate phase 3 | | `3 --auto` | Validate phase 3, skip interactive gap confirmation | | (no number) | Use current phase from STATE.md |
---
Execute these steps in order.
---
1. Parse `$ARGUMENTS` for phase number and `--auto` flag
2. Read `.planning/config.json` **CRITICAL (hook-enforced): Write .active-skill NOW.** Write the text "validate" to `.planning/.active-skill` using the Write tool. 3. Resolve phase directory `.planning/phases/{NN}-{slug}/` 4. Validate:
5. If no phase number given, read current phase from `.planning/STATE.md`
**Validation errors:**
If phase directory not found:
+==============================================================+
| ERROR |
+==============================================================+
Phase {N} not found in .planning/phases/. Run /pbr:status to see available phases.If no SUMMARY.md files:
+==============================================================+
| ERROR |
+==============================================================+
Phase {N} hasn't been built yet.
**To fix:** Run `/pbr:build {N}` first.If no PLAN.md files:
+==============================================================+
| ERROR |
+==============================================================+
Phase {N} has no plans.
**To fix:** Run `/pbr:plan-phase {N}` first.---
1. Read all `PLAN-*.md` files in the phase directory:
2. Read all `SUMMARY-*.md` files in the phase directory:
3. For each key_file: check if a corresponding test file exists using project test conventions:
4. For each `<verify>` command in plans: run it, record pass/fail 5. Build gap list with entries:
{
task_id: "string",
requirement: "from must_have",
gap_type: "no_test_file | test_fails | no_automated_command",
impl_file: "path/to/file"
}---
Display gap summary table:
Validation Gap Summary
| Task ID | Requirement | Gap Type | Impl File |
|---------|-------------|----------|-----------|
| T1 | {req} | {type} | {file} |**If zero gaps:**
1. Write VALIDATION.md with all-green status (see Step 5 format) 2. Display: "All requirements have passing tests." 3. Route to `/pbr:review {N}` 4. Clean up and STOP
**If gaps found and `--auto` flag set:**
Skip confirmation, proceed directly to Step 4.
**If gaps found without `--auto`:**
Use AskUserQuestion:
question: "Found {N} validation gaps. Spawn nyquist-auditor to generate tests?"
header: "Validation Gaps"
options:
- label: "Yes" description: "Generate tests for all gaps"
- label: "No" description: "Skip test generationPlan it. Build it. Run it. A Claude Code plugin for structured development with context-engineered agents.
Repo: SienkLogic/plan-build-run
A deterministic thinking partner that challenges assumptions and applies mental models to sharpen decisions, solve problems, and think more clearly. Use this…
Run audit, prioritize findings, auto-fix via quick tasks, test, and commit.
Review past Claude Code sessions for PBR workflow compliance and UX quality.
Run multiple phases hands-free. Chains discuss, plan, build, and verify automatically.
Manage backlog items — ideas not ready for active planning. Add, review, promote, or remove.
Start a new project. Deep questioning, research, requirements, and roadmap.