This skill should be used when the user asks to "check if the code conforms to the architecture spec", "verify architecture conformance", "does the code follow the arch spec?", "check if the project respects the architecture", "validate architecture rules in the codebase", "run an architecture check", "arch conformance check", or wants to verify that the actual project structure and code comply with documented architecture technical specifications.
How this skill is triggered — by the user, by Claude, or both
Slash command
/pragmatic-devx-plugin:pragmatic-arch-spec-checkThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Verify whether the actual project code and structure conform to the rules and decisions declared in one or more architecture tech spec documents (`.arch.md`).
Verify whether the actual project code and structure conform to the rules and decisions declared in one or more architecture tech spec documents (.arch.md).
Bridge the gap between the documented architecture and the implemented code. Scan the codebase using static analysis (file structure, imports, naming, dependency direction) and compare it against the architectural rules extracted from the spec(s). Produce a CONFORMANT/PARTIAL/NON-CONFORMANT report grouped by severity. Do not modify any file — only report findings with actionable suggestions.
This skill is language-agnostic: it applies to any codebase regardless of programming language.
pragmatic-arch-spec-create → pragmatic-arch-spec-validate → [pragmatic-arch-spec-check] → pragmatic-arch-spec-update → pragmatic-arch-spec-check
Use this skill after pragmatic-arch-spec-validate confirms the spec is sound. Run it periodically to detect drift between code and spec. When Option B is chosen for a violation (the code reflects an intentional evolution), use pragmatic-arch-spec-update to capture the decision in the spec, then re-run this check.
Use this skill when an arch spec and a codebase both exist, and the user wants to verify whether the code follows the spec.
Do not use when:
pragmatic-arch-spec-create firstpragmatic-arch-spec-validatepragmatic-arch-spec-updatePrerequisite: the arch spec should pass pragmatic-arch-spec-validate before running this check. If the spec has unresolved [TODO] items or missing sections, conformance results will be unreliable.
Key distinction from pragmatic-arch-spec-validate: pragmatic-arch-spec-validate reviews the spec document; pragmatic-arch-spec-check scans the actual codebase against the spec.
Infer the report language from the arch spec(s) being checked:
Language: metadata field, use itAskUserQuestion:In which language would you like the conformance report to be generated?
1. pt-BR — Portuguese (Brazil)
2. es-ES — Spanish (Spain)
3. en-US — English (United States)
4. Other — specify which language
Record the chosen language and use it for all report content — section headings, check descriptions, findings, and suggested actions.
Before loading any spec, check each target arch spec for:
Status field: if Draft → assert: "This spec is in Draft status. Conformance results will be unreliable. Run pragmatic-arch-spec-validate first to confirm the spec is ready."[TODO: ...] items: note their count upfront — these indicate areas where the spec's rules are incomplete, and violations in those areas may not be meaningful.STOP if any spec is in Draft status and the user has not explicitly confirmed they want to proceed anyway.
This is a mandatory step. Use AskUserQuestion to ask the user two questions in the same prompt:
Before I run the conformance check, I need to define the scope:
**Which architecture spec(s) should I check against?**
- [ ] All specs found in `docs/arch/` (*.arch.md)
- [ ] A specific spec — provide the file path or name
**Which part of the project should I scan?**
- [ ] The entire project
- [ ] A specific directory or module — provide the path
Record both answers and use them to constrain all subsequent steps. If the user chooses "all specs" and "entire project", apply every rule found across all spec files to the full codebase.
For each spec in scope:
Read the full .arch.md file
Extract the following as explicit, checkable rules:
Build a rule list before scanning the codebase. Each rule should be traceable to a specific section of the spec.
Use Glob and Grep to gather evidence from the codebase within the defined scope. Apply each extracted rule against what you observe.
*Service, *Repository, *Handler)?TODO, FIXME, or HACK comments that indicate intentional or unresolved architectural debt?Produce the report using the format and output rules defined in references/report-format.md.
After generating the report, assert based on the overall status:
pragmatic-arch-spec-update to capture the decision before the next check. Do not leave known violations unresolved in the spec."references/report-format.md — Full conformance report format, field definitions, and output rulesnpx claudepluginhub rvfvazquez/pragmatic-devx-plugin --plugin pragmatic-devx-pluginProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.