Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add cdeust/ai-architect-mcp-codebase --skill validate-change-plangit clone --depth 1 https://github.com/cdeust/ai-architect-mcp-codebaseWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/cdeust/ai-architect-mcp-codebase/validate-change-plan)<a href="https://agentmods.dev/skills/cdeust/ai-architect-mcp-codebase/validate-change-plan"><img src="https://agentmods.dev/badge/skills/cdeust/ai-architect-mcp-codebase/validate-change-plan/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/cdeust/ai-architect-mcp-codebase/validate-change-plan"><img src="https://agentmods.dev/badge/skills/cdeust/ai-architect-mcp-codebase/validate-change-plan.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00053 | $0.00577 |
| Opus 5.5 | $0.00021 | $0.00231 |
| Sonnet 5.5 | $0.00011 | $0.00115 |
| Haiku 4.5 | $0.00005 | $0.00058 |
Grade A, and why
validate-change-plan scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 35 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Validate Change Plan
Use only the eight tools in the core profile. Do not present this workflow as equivalent to the full profile's PRD validator, security gates, or semantic-diff verifier.
For Rust caller or impact questions, request lsp: true in analyze_codebase
and make rust-analyzer available. Inspect lsp_status.state: disabled means
static-only analysis; failed means analysis continued and may retain partial
LSP results. Record the error and treat affected conclusions as unverified until
source checks or a successful rerun support them. completed means the pass
returned, not that every call resolved. Record unresolved sites and coverage gaps.
If a full-profile workflow supplies a check_security_gates receipt, inspect
both gates_passed and report.assessment_complete. A true pass with an incomplete
assessment is not security clearance: report skipped checks, unresolved symbols
and warnings. This core-profile workflow does not invoke that additional tool.
Workflow
- Break the plan into falsifiable claims: files exist, symbols exist, dependency directions are correct, named boundaries match communities or processes, and the stated blast radius is plausible.
- Call
health_check, then build or refresh the graph withanalyze_codebase. Reuse the returnedgraph_path. - Resolve each named symbol with
search_codebase, then verify it withget_symbolorget_context. Mark ambiguous or missing names as unverified instead of choosing a convenient match. - Call
get_impactfor every symbol the plan changes. Compare callers, importers, users, implementors, communities, and processes with the plan's scope claims. - If a real diff exists, call
detect_changesand compare its affected symbols and risk scores with the plan. Skip this step for a plan-only review. - Call
query_graphwithgraph="missed". Inspect flagged ranges and search the relevant source, including unflagged files, before accepting any absence-based claim. A clean coverage report does not prove all relationships were recovered. - Use read-only
query_graphqueries for remaining structural assertions, addingORDER BYwhen paging.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago Changed · +11 lines 9e9dc013f5f3
- 1mo ago First seen · 24 lines · 53 tokens per session scan A be3417813b75
validate-change-plan is a skill published in the GitHub repository cdeust/ai-architect-mcp-codebase (7 stars, last pushed today), licensed MIT. It adds 53 tokens to every session and 577 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
brooks-harness
Maintenance orchestrator for the brooks-lint plugin itself. Runs a sequential subagent pipeline — author → eval → QA → trigger-audit → release — to add or edit a skill, refresh the eval suite, keep the four manifests + all README translations + CHANGELOG + AGENTS/GEMINI in sync, audit trigger boundaries, and cut…
release
Cut a brooks-lint release: set the version in package.json, propagate it across all four plugin manifests and every version-bearing text file (README badges, docs site metadata), write the CHANGELOG entry, validate, then commit, push, tag, and publish the GitHub release. Triggers when the maintainer asks to "release"…
new-skill
Scaffold a new brooks-lint analysis skill so it passes npm run validate and npm run evals on the first try — generates skills/{name}/SKILL.md (with the mandatory "Do NOT trigger for:" clause and a Process section citing guide step ranges) plus skills/{name}/{name}-guide.md (sequentially numbered steps), then appends…
brooks-audit
Architecture audit that maps module dependencies, checks layering integrity, and flags structural decay across a codebase, drawing on twelve classic engineering books. Triggers when: user asks to audit architecture, review folder/module structure, check for circular imports, understand how the codebase is organized…
brooks-sweep
Full-sweep mode: runs a unified analysis across all quality dimensions — code decay, architecture, tech debt, and test quality — then applies fixes directly to the codebase. Safe changes are auto-applied; risky changes are confirmed before execution. Drawing on twelve classic engineering books. Triggers when: user…
brooks-debt
Tech debt assessment that identifies, classifies, and prioritizes maintainability problems — helping teams build a refactoring roadmap — drawing on twelve classic engineering books. Triggers when: user asks about tech debt, refactoring priorities, what to clean up first, or asks "why is this so hard to change?", "what…