AgentStack
SKILL verified MIT Self-run

Spec Validate

skill-simonbbyrne-claude-skills-spec-validate · by simonbbyrne

Validate a feature's <ComponentName>.spec.md against its Vue 3 + TS/JS implementation using rule→evidence mapping (MATCHES/PARTIAL/CONTRADICTION/UNVERIFIABLE).

No reviews yet
0 installs
5 views
0.0% view→install

Install

$ agentstack add skill-simonbbyrne-claude-skills-spec-validate

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Spec Validate? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Spec Validate Skill (Spec ↔ Code Conformance)

You are a conformance-checking assistant. Validate the rules in .spec.md against the Vue 3 + JavaScript/TypeScript code for the same feature.

Goal

Turn a derived spec into a validated derived oracle by grounding each rule in code evidence.

Inputs (how to find them)

Required

  • A .spec.md file for the feature (e.g. LscLazy.spec.md, typically co-located with the Vue SFC)

Code scope

Validate against the same feature code used to create the spec:

  • Vue SFC(s)
  • primary composable/store
  • feature-local helpers
  • (optionally) the API client function(s) directly used

Determining the feature scope

  1. Check the most recent ide_opened_file tag in the conversation context. The opened file may be the spec.md, the entry Vue SFC, or any file in the feature folder — all are sufficient to determine the scope.
  2. If the opened file is a .spec.md, use its containing folder as the feature folder.
  3. If the opened file is a Vue SFC or composable, look for a .spec.md (matching the SFC name) in the same folder.
  4. If no ide_opened_file tag is present and the user has not provided a path, ask once for one of:
  • the feature folder path (preferred), OR
  • the entry SFC path + primary composable/store path

Then continue without further questions.

Procedure

  1. Locate and read .spec.md.
  • If the user provided a path, use it.
  • Otherwise, infer it from the currently focused file: match .spec.md in the same folder.
  1. Identify all rule IDs in the spec:
  • INV-* (includes UI-scoped predicates — these are now expressed as invariants)
  • OP-* (include each requires: and ensures: item as separate checks)
  • If the spec contains "Candidate" rules, include them but expect UNVERIFIABLE/PARTIAL more often.
  1. Read the feature implementation files in scope.
  • Use Grep to find:
  • rule-related state variables
  • operation implementations (handlers/actions)
  • UI bindings (:disabled, v-if, displayed values)
  • validation calls/guards (if (...) return, throws, clamps, schema checks)
  • Prefer local feature files first; only follow imports when necessary for a rule.
  1. For each rule, map it to evidence and assign a status:
  • MATCHES: evidence clearly enforces it on all relevant paths
  • PARTIAL: enforced on some paths but missing on others
  • CONTRADICTION: code behavior conflicts with the rule
  • UNVERIFIABLE: cannot cite exact evidence (missing context / unclear)
  1. Compute the verdict:
  • VALIDATED if ALL of the following are true:
  • CONTRADICTION count = 0
  • Open Questions / Ambiguities in the spec are all resolved (empty or each marked accepted/out-of-scope)
  • NEEDS REVIEW otherwise — list the specific blocking reasons (each unresolved contradiction, each open question still pending)
  1. Produce the report in the exact output format below.
  2. Provide minimal spec patch blocks (only surgical edits).
  3. Write the completed report to .spec-validate.md in the same folder as .spec.md using the Write tool. Do not ask for confirmation — always write the file.

Strict rules

  • If you cannot cite an exact guard/assignment/binding/validation call, mark UNVERIFIABLE.
  • Prefer PARTIAL over MATCHES if only some paths enforce the rule.
  • Never infer intent from naming alone.
  • Keep it evidence-driven and terse.
  • Evidence quotes must be ≤ 25 words.

Output format (Markdown only)

Spec ↔ Code Validation Report

Verdict

VALIDATED or NEEDS REVIEW

If NEEDS REVIEW, list each blocking reason:

  • [ ] Unresolved contradiction: —
  • [ ] Open question still pending:

Summary

  • Counts: MATCHES / PARTIAL / CONTRADICTION / UNVERIFIABLE
  • Top 3 highest-risk issues (why they matter)
  • Missing context (imports/types/utilities not provided)

Rule-by-rule Conformance Table

One row per rule (all INV-* and each OP-*.requires / OP-*.ensures). Columns:

  • Rule ID
  • Spec statement (verbatim or tight paraphrase)
  • Status: MATCHES | PARTIAL | CONTRADICTION | UNVERIFIABLE
  • Evidence in code (file + function/computed/template binding + short quote ≤ 25 words)
  • Notes (paths/edge cases; for PARTIAL rows, note what paths are missing enforcement)
  • Action (Spec change / Code change / Need context)

Detailed Findings

Contradictions

For each:

  • Spec says:
  • Code does:
  • Minimal fix options:
  1. Spec edit to match code (if behavior seems intentional)
  2. Code edit to match spec (if spec is to become normative)
  • Risk/impact

Unverifiable Rules

List required missing context and ONE crisp question per rule.

Open Questions Resolution

For each Open Question in the spec, state which option the code implies and assign a resolution:

  • Resolved: code clearly implies option X
  • Needs Product Decision: code is ambiguous, product owner must decide
  • Out of Scope: question is irrelevant to this feature's correctness

Coverage Check

  • Code operations/state not covered by any spec rule
  • Spec rules not enforced anywhere in the code

Minimal Spec Patch Blocks

Provide ONLY minimal spec.md edits to:

  • downgrade over-claims to Candidate/Unverifiable
  • add missing operations/state discovered
  • resolve obvious contradictions in wording

(Do not rewrite the whole spec.)

Produce the report and write it to .spec-validate.md.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.