arch-check skillA
arch-check is agent-read markdown (skill) from swingerman/engineer: Use to check a feature's code against the charter's architecture rules — dependency layering, cycles, forbidden patterns, file naming, file size. Triggers — "/engineer.arch-check", "architecture check", "check architecture fitness", "does this follow the charter", "check layering"..
Indexed from public GitHub and served as immutable, content-addressed versions. Install it pinned to an exact SHA-256 with the mdr CLI, and every file is verified against the hash recorded here before it reaches your agent. The deterministic audit below grades the latest version, and the same file always earns the same grade.
What the file says
# arch-check
Run the charter architecture fitness check — Checkpoint 7 (Light Verify),
alongside `crap-analyzer`. Turns the charter's architectural vision from prose
into an objective gate: `dae_arch.py` reads the manifest's `architecture:` rules
and reports violations.
Read-only on the codebase — it reports, it does not fix.
## When to use
Checkpoint 7, after the feature's code is implemented and refined. Also useful
as a standalone audit (`--full`) of an existing project.
**Not for:** change-risk analysis (`crap-analyzer`); artifact consistency
(`consistency-check`); fixing violations (that is a human/agent decision per
violation).
## Workflow
### Step 0 — Entry gate
Verify the prior checkpoint is complete: run
`${CLAUDE_PLUGIN_ROOT}/scripts/dae_handoff.py <feature-dir> --through 6`. On a
non-zero exit, **stop** and surface the gap to the human.
Verify branch hygiene: run `${CLAUDE_PLUGIN_ROOT}/scripts/dae_branch.py <feature-dir>`.
On a non-zero exit, **stop** and surface the message to the human — switch
branches and re-invoke. The check honors the `git.manual: true` manifest
opt-out.
After the gate passes, show the **pipeline breadcrumb**: run
…Read the whole file at its exact version.
How to install
mdr add swingerman/engineer/arch-check@git:20260604.4191d6amdr add swingerman/engineer/arch-check@sha256:7e502fe67204a5afPin to a label to follow the author's releases, or to a sha256 to freeze the exact bytes forever. Either way the resolved hash is written to mdr.lock, and mdr install reproduces it on any machine.
[](https://markdownregistry.com/a/art_nxamcjjlij5rimvg)
1 badge views in 30 days
Versions
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20260604.4191d6a latest | 2026-06-04 | 4191d6a | 3,526 B | A | view · diff |
| git:20260520.8eccc6b | 2026-05-20 | 8eccc6b | 3,094 B | A | view · diff |
| git:20260520.18fc0fe | 2026-05-20 | 18fc0fe | 3,086 B | A | view · diff |
| git:20260519.eeaf71b | 2026-05-19 | eeaf71b | 2,838 B | A | view · diff |
| git:20260518.27ad4f6 | 2026-05-18 | 27ad4f6 | 2,404 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (3526 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
swingerman/engineer · 150 stars · license MIT · pushed 2026-09-22 · branch master
API
GET https://markdownregistry.com/api/v1/artifacts/art_nxamcjjlij5rimvg GET https://markdownregistry.com/api/v1/resolve?ref=swingerman/engineer/arch-check GET https://markdownregistry.com/api/v1/blob/7e502fe67204a5af93d1ab4b9c3eab1168ce701629922f015970d402d3866ade
Your agent does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.