swingerman/engineer/consistency-check

Claude Code and agent skill by swingerman/engineer

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Use to validate DAE artifacts for schema correctness and cross-artifact consistency. Triggers — "/engineer.consistency-check", "check consistency", "validate the artifacts", "are the specs and ACs in sync", "audit this feature".

Install

npx vskill@latest install swingerman/engineer/consistency-check

SKILL.md

consistency-check

Cross-artifact validation for DAE — the methodology's take on Speckit's /analyze. Read-only: reports inconsistencies and suggests fixes; never mutates. Any agent may run it (mechanical validation, not judgment-heavy verification). checkpoint: null.

When to use

Before major pipeline transitions and as a CI gate.

  • Feature scope — /engineer.consistency-check <slug> — one feature's artifacts
  • Project scope — /engineer.consistency-check --project — project-wide invariants

Not for: fixing inconsistencies (run the suggested fix skill); within-one-artifact ambiguity (clarify); code risk (crap-analyzer).

Workflow

  1. Resolve + load — resolve the methodology root + manifest via ${CLAUDE_PLUGIN_ROOT}/scripts/dae_resolve.py (see references/resolving.md). Feature scope: load every artifact in features/NNN-<slug>/ + CHARTER.md. Project scope: load CHARTER.md + every feature.md frontmatter. For identifier lookups (does symbol X actually exist in the code?), prefer LSP find-definitions / workspace-symbols when an LSP MCP capability is available; fall back to grep + Read otherwise. See ${CLAUDE_PLUGIN_ROOT}/references/code-lookup.md.

1.5. Run the mechanical checks first — ${CLAUDE_PLUGIN_ROOT}/scripts/dae_ontology.py <feature-dir> (or --project). It executes every constraint that is a set operation over structured data — enumerations, functional properties, parent/child inverses, cycle detection, AC↔scenario coverage closure, Principle 7 disjointness — deterministically. Take its findings as given; do not re-derive them by reading the artifacts. They are tagged in the tables below as (ontology). See ${CLAUDE_PLUGIN_ROOT}/references/ontology.md.

  1. Run the judgment checks (below) — the rows the script cannot decide.
  2. Report — errors first, then warnings; each with location + a suggested fix (which skill to run). Do not apply fixes.
  3. Handoff — emit a summary.
Feature-scope checks
CheckSeverity
feature.md slug matches folder name (ontology)error
feature.md mandatory frontmatter present; status: ready ⇒ autonomy_level set (ontology)error
acs.md AC IDs unique + sequential; ac_count matches actual (ontology)error
Every AC has a covering @AC-N spec scenario; no scenario tags an AC that doesn't exist (ontology)error
acs.md ACs in domain language (implementation-leakage heuristic)warning
acs.md ACs cover the feature.md outcomewarning
relevant_adrs reference ADRs that existerror
spec.md and .build/spec.json agreeerror
plan.md Charter Check: every ⚠️ deviation has a matching amendmenterror
Validation method honored? — if feature.md declares a non-default validation_method, plan.md's Test strategy section must reference it (canary phase, dashboard names, rollback trigger, etc. as relevant)warning
Verification handoffs: agent_id ≠ implementer's (Principle 7) (ontology)error
tracker_ref resolves on the configured trackerwarning
Handoff completeness: no checkpoint marked done in progress.md lacks a complete handofferror
parent_feature set ⇒ parent resolves and lists this in child_features (ontology)error / warning

The handoff-completeness check is the after-the-fact sweep for handoff-as-gate (Foundation Design Section 5): run ${CLAUDE_PLUGIN_ROOT}/scripts/dae_handoff.py <feature-dir> — it flags any checkpoint marked done with a missing, interrupted, or unmet-exit_criteria handoff.

Project-scope checks
CheckSeverity
CHARTER.md section 5 roles == manifest.team.default_roleserror
manifest.yml schema valid; enum values legalerror
Feature folder numbering monotonic; no reuse (ontology)warning
One feature branch per feature; one feature per roadmap item (ontology)warning
parent_feature chains do not cycle (ontology)error
ADR not referenced by any feature in N months (N from manifest, default 6)warning
Every features/*/ has a non-empty feature.mdwarning
team.default_roles includes verifier when independence enforcederror

Handoff

Emit per ${CLAUDE_PLUGIN_ROOT}/references/handoff-summary.md. checkpoint: null; artifacts: []. Feature scope → handoff in that feature's handoffs/; --project scope → handoff in .engineer/handoffs/. Any errors → human_action_needed: yes. recommended_next: resolve via clarify / feature-edit / plan, then re-run.

References

  • ${CLAUDE_PLUGIN_ROOT}/references/ontology.md — the (ontology) rows: what dae_ontology.py decides and why the rest stays here
  • Foundation Design — every schema checked here
  • Tracker Integration — tracker_ref resolution

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/swingerman/engineer/consistency-check/badge)](https://verified-skill.com/skills/swingerman/engineer/consistency-check)

Something wrong with this skill or its page? Tell us.