Verification Before Completion
foryourhealth111-pixel/Vibe-Skills
Completion-evidence route used before claiming work is complete, fixed, passing, committed, or PR-ready.
Validate whether completed implementation delivers its scope/task requirements — dispatch independent @spectreanalyst checks for definition, connection, and reachability, then write one actionable…
$ npx skills add joenandez/spectre --skill spectre-validate -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install joenandez/spectre spectre-validate --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/joenandez/spectre.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/spectre-codex/skills/spectre-validate .claude/skills/spectre-validate && rm -rf skills-srcUse ~/.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/
Install the "spectre-validate" agent skill from https://github.com/joenandez/spectre/tree/main/plugins/spectre-codex/skills/spectre-validate into .claude/skills/spectre-validate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spectre-validate", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/joenandez/spectre/tree/main/plugins/spectre-codex/skills/spectre-validateType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add joenandez/spectre --skill spectre-validate -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install joenandez/spectre spectre-validate --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/joenandez/spectre.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/spectre-codex/skills/spectre-validate .agents/skills/spectre-validate && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "spectre-validate" agent skill from https://github.com/joenandez/spectre/tree/main/plugins/spectre-codex/skills/spectre-validate into .agents/skills/spectre-validate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spectre-validate", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add joenandez/spectre --skill spectre-validate -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install joenandez/spectre spectre-validate --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/joenandez/spectre.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/spectre-codex/skills/spectre-validate .cursor/skills/spectre-validate && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "spectre-validate" agent skill from https://github.com/joenandez/spectre/tree/main/plugins/spectre-codex/skills/spectre-validate into .cursor/skills/spectre-validate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spectre-validate", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/joenandez/spectre.git --path plugins/spectre-codex/skills/spectre-validate--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add joenandez/spectre --skill spectre-validate -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install joenandez/spectre spectre-validate --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/joenandez/spectre.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/spectre-codex/skills/spectre-validate .gemini/skills/spectre-validate && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "spectre-validate" agent skill from https://github.com/joenandez/spectre/tree/main/plugins/spectre-codex/skills/spectre-validate into .gemini/skills/spectre-validate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spectre-validate", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install joenandez/spectre spectre-validateInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add joenandez/spectre --skill spectre-validate -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/joenandez/spectre.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/spectre-codex/skills/spectre-validate .github/skills/spectre-validate && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "spectre-validate" agent skill from https://github.com/joenandez/spectre/tree/main/plugins/spectre-codex/skills/spectre-validate into .github/skills/spectre-validate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spectre-validate", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add joenandez/spectre --skill spectre-validate -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install joenandez/spectre spectre-validate --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/joenandez/spectre.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/spectre-codex/skills/spectre-validate .opencode/skills/spectre-validate && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "spectre-validate" agent skill from https://github.com/joenandez/spectre/tree/main/plugins/spectre-codex/skills/spectre-validate into .opencode/skills/spectre-validate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spectre-validate", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
spectre-validateValidate whether completed implementation delivers its scope/task requirements — dispatch independent @spectreanalyst checks for definition, connection, and reachability, then write one actionable…
Spectre Validate is an agent skill from joenandez/spectre. Validate whether completed implementation delivers its scope/task requirements — dispatch independent @spectreanalyst checks for definition, connection, and reachability, then write one actionable validationgaps.md. Trigger for standalone requirement validation or from Execute before observed Proof. Do NOT trigger to fix findings (spectre-fix) or as a substitute for observed Proof.
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: Spectre is a battle-tested 6 stage agentic engineering workflow for building complex, production-ready features. You stay in the loop for the decisions that matter. Your agents…. The licence is MIT.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 931c9e8. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Spectre Validate loads about 1.9k tokens when it runs. Until then it costs about 101 tokens; SKILL.md has 888 words of instructions outside code blocks.
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.
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.
The full file from joenandez/spectre at commit 931c9e8, republished under its MIT licence (© joenandez). 888 words, ~1,877 tokens.
.claude/skills/spectre-validate/SKILL.md (or your agent's skills folder).Post-implementation requirement validation. Verify the built work against scope docs and tasks.json slices, dispatch parallel validators per area, and produce one actionable gap-remediation document. Validation only — never fix.
Definition ≠ Connection ≠ Reachability. A requirement is only delivered if all three hold:
- Defined — code exists in a file.
- Connected — it is imported/called by other code.
- Reachable — a user action can trigger the code path.
Level 1 without 2/3 is dead code that happens to match the description — not complete. Always trace past "X exists" → "X is called by Z at file:line" → "Z fires when the user does W."
$ARGUMENTS — explicit feature name/root or descendant artifact, scope docs, an explicit plan or fix/bug report, and/or tasks.json to validate against (paths, or "use thread context"), plus optional execution_state.md focus evidence, an immutable BASE_SHA/HEAD_SHA/DIFF_SHA256 candidate tuple, and --orchestrated when a parent workflow owns remediation and the next step. Requirement context is REQUIRED. If absent, ask for a scope, plan, fix/bug report, task detail JSON path, or "use thread context" — then wait.tasks.json, extract validation slices from phases[] (parent title/description plus child acceptance criteria/context); do not use execute.md as the validation source except to locate the JSON path.FEATURE_ROOT only when explicit/current-thread evidence ties it to this work (physical directory wins; never branch/recency/lifecycle/scans); distinct work ignores ambient roots. Otherwise, including on collision, standalone MUST first load and follow Skill(spectre-feature-root) through DONE; orchestrated calls escalate. Keep writes beneath it and pass it unchanged.VALIDATION_REPORT = {FEATURE_ROOT}/validation/validation_gaps.md; create its parent directory.tasks.json; derive areas from plan outcomes/workstreams when tasks are absent; else use one per "In Scope" item in scope.md, then one per discussed feature. Keep at least one independent analyst and do not fabricate or pad areas to meet a minimum. Merge small, split large.execution_state.md is evidence/focus only for cross-wave wiring, scope-creep, and dead-computation checks; it is never requirements or acceptance authority.@spectre_analyst per area, ALL in parallel in a single message. Brief each with: the area, its source requirement (exact text), expected deliverables, branch, and the status enum + evidence + reachability rules below. Subagents return compressed findings in-thread — no per-area files.file:line) and a usage site (file:line). Definition only, no usage → status is ⚠️ or 🔌, never ✅.fnName(, <Component, useHook(, prop={).git diff --binary --full-index --no-ext-diff --no-color --no-renames before dispatch and after report creation. Record the unchanged tuple in the report; otherwise return a stale-candidate result marked incomplete. Execute always supplies all three fields.Write VALIDATION_REPORT. Required sections:
VALIDATION_REPORT begins with its title followed immediately by the Feature/Feature Root metadata below.
Feature: <feature-name> and Feature Root: .spectre/features/<feature-name>.DONE when: validation_gaps.md exists with all six numbered sections plus self-location metadata; every area has a status from the enum with definition+usage evidence; any supplied candidate tuple is recorded and unchanged; gaps are actionable (Produces/Consumed-by/Replaces); scope creep noted; no code was modified.
Return status/delivered/gap/scope-creep/findings/report; --orchestrated: summary/gaps only.
| Handoff | Details |
|---|---|
| 🧭 Current phase | Done |
| 📦 What was just done | Result |
| ▶️ Proposed next step | Render resolved action. |
Standalone Needs Work/Significant Gaps → $spectre:spectre-fix then revalidate; Standalone Complete → $spectre:spectre-execute for observed acceptance. Boundary ambiguity → Plan; flow/state/copy ambiguity → UX; pause → Handoff.
© joenandez, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in plugins/spectre-codex/skills/spectre-validate of joenandez/spectre.
Open the folder on GitHubat commit 931c9e8
Spectre Validate 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Spectre Validate this skilljoenandez/spectre | 164 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Verification Before Completionforyourhealth111-pixel/Vibe-Skills | 3.6k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Verification Before Completionfarm-fe/farm | 5.6k | 46 repos | ~1k | Automated safety check: Pass | MIT | |
| Verification Before CompletionjnMetaCode/superpowers-zh | 8.3k | — | ~443 | Automated safety check: Pass | MIT | |
| Complete Partial PRpydantic/pydantic-ai | 20k | — | ~2.4k | Automated safety check: Pass | MIT | |
| Deliverable CompletionHKUDS/OpenSpace | 7.8k | — | ~731 | Automated safety check: Pass | MIT |
foryourhealth111-pixel/Vibe-Skills
Completion-evidence route used before claiming work is complete, fixed, passing, committed, or PR-ready.
farm-fe/farm
A skill your agent uses when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any…
jnMetaCode/superpowers-zh
Chinese-language rule that bars an agent from claiming work is done, fixed or passing until it has run a verification command and read the output.
pydantic/pydantic-ai
Evaluate and complete an issue or PR where the submitted patch fixes only a narrow symptom of the reported pain point.
HKUDS/OpenSpace
Clarifies that file creation tasks are complete when the deliverable is successfully written—no submission step required
kunchenguid/firstmate
Load when a scout reports completion, presents a visual artifact for iteration, or is being considered for promotion to implementation.
joenandez/spectre
A skill your agent uses when validating that the Spectre plugin itself still works after ANY change to this repo — skills, prompts, agents, hooks, the CLI, the Codex mirror, or a release.
joenandez/spectre
A skill your agent uses when modifying the Codex SPECTRE install flow, SessionStart continuity, project skill syncing, registry injection, or Codex-specific runtime files.
joenandez/spectre
Save a quiet, branch-keyed session snapshot with continuity, active work, and optional task/todo state for automatic resume.
joenandez/spectre
User-invoked front door for durable capture. An agent skill from joenandez/spectre.
joenandez/spectre
Rewrite a verbose SPECTRE skill into a compact, contract-form Spectre skill proposal — clear on WHAT, silent on HOW — grounded in the spectre-light distillation and freedom-tier budget.
joenandez/spectre
Rewrite Spectre subagent definitions into compact, contract-driven agents with clear routing, least-privilege tools, output schemas, and an auditable rewrite trail.
Validate whether completed implementation delivers its scope/task requirements — dispatch independent @spectreanalyst checks for definition, connection, and reachability, then write one actionable…. Spectre Validate is an agent skill from joenandez/spectre.md.
Spectre Validate fits situations like: standalone requirement validation; from Execute before observed Proof; fix findings (spectre-fix); as a substitute for observed Proof.
Run `npx skills add joenandez/spectre --skill spectre-validate -a claude-code`. Or copy the skill folder (plugins/spectre-codex/skills/spectre-validate in joenandez/spectre) into .claude/skills/spectre-validate in your project. Claude Code loads it when a task matches its description.
Run `npx skills add joenandez/spectre --skill spectre-validate -a codex`. Or copy the skill folder (plugins/spectre-codex/skills/spectre-validate in joenandez/spectre) into .agents/skills/spectre-validate in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add joenandez/spectre --skill spectre-validate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/spectre-validate, .gemini/skills/spectre-validate, .github/skills/spectre-validate and .opencode/skills/spectre-validate in your project.
Going by SKILL.md and its folder, Spectre Validate needs the command-line tools its instructions call (git).
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.
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.
Spectre Validate is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Spectre Validate: Verification Before Completion (foryourhealth111-pixel/Vibe-Skills, 3.6k stars), Verification Before Completion (farm-fe/farm, 5.6k stars), Verification Before Completion (jnMetaCode/superpowers-zh, 8.3k stars) and Complete Partial PR (pydantic/pydantic-ai, 20k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
joenandez (a GitHub user) maintains it in joenandez/spectre, which has 164 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on October 2, 2026.
Source: joenandez/spectre on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.