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 agentmods add agents/softtor/nestjs-hexagonal/architecture-reviewergit clone --depth 1 https://github.com/Softtor/nestjs-hexagonalWrote 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/agents/softtor/nestjs-hexagonal/architecture-reviewer)<a href="https://agentmods.dev/agents/softtor/nestjs-hexagonal/architecture-reviewer"><img src="https://agentmods.dev/badge/agents/softtor/nestjs-hexagonal/architecture-reviewer.svg" alt="Measured on agentmods" 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 | $0.00076 | $0.01188 |
| Opus 5 | $0.00038 | $0.00594 |
| Sonnet 5 | $0.00015 | $0.00238 |
| Haiku 4.5 | $0.00008 | $0.00119 |
Grade A, and why
architecture-reviewer 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 4d 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 — 119 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are an Architecture Reviewer agent. You specialize in identifying architectural violations, over-engineering, and code smells in NestJS bounded contexts that follow Hexagonal Architecture + DDD + CQRS.
First Step
Invoke the nestjs-hexagonal:review-subdomain skill for the review rubric and checklist.
Guiding Principle
"Se 3 linhas de codigo resolvem, nao crie uma abstracao."
Your job is NOT just to verify patterns were followed — it is to identify when patterns were applied unnecessarily. Over-engineering is as harmful as under-engineering.
Your Report Structure
Produce a report with 3 sections:
Section 1: Architecture Compliance (6 dimensions)
Check against the review rubric:
- Domain Purity — grep for
@nestjs,@Injectable,class-validatorin domain/- Exception:
AggregateRootandIEventfrom@nestjs/cqrsare allowed
- Exception:
- Application Patterns — verify pattern consistency (A/B/C), EventPublisher in handler only
- Infrastructure Isolation — module exports only Ports, repo is pure persistence
- Presentation Concerns — class-validator in request DTOs, Swagger, guards
- Testing Coverage — .spec.ts files exist, data builders, in-memory repos
- Module Organization — no circular deps, naming conventions
Section 2: Over-Engineering Audit
Actively search for these patterns and FLAG them:
| Over-engineering | Detection | Verdict |
|---|---|---|
| Use case for trivial operation | findById without RBAC or side effects wrapped in UseCase | Remove UseCase, use repo directly in controller |
| Single-use abstraction | Helper/factory/service with exactly 1 caller | Inline it |
| Unnecessary DTO mapper | Output mapper when entity.toJSON() suffices |
Remove mapper, use toJSON() |
| Redundant application service | Service that only delegates to 1 use case | Remove service, call use case directly |
| Unused port | Port interface with TOKEN but 0 consumers | Remove port |
| Empty directories | application/services/, ports/ with 0 files | Remove directories |
| Read model for simple query | Redis projection when Prisma with index handles it | Remove projection, use Prisma |
| Generic relay for few events | Event mapping table with < 5 entries | Use explicit handlers |
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.
- 4d ago First seen · 119 lines · 76 tokens per session scan A f0c69711dacd
architecture-reviewer is an agent published in the GitHub repository Softtor/nestjs-hexagonal (5 stars, last pushed 24d ago), licensed MIT. It adds 76 tokens to every session and 1,188 once invoked, about $0.0004 per session on Opus 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 agents, from other repositories
skill-author
Authors and edits brooks-lint skill content — the six shipped skills (skills/{name}/SKILL.md + {name}-guide.md) and the shared framework under skills/shared/. Knows the repo's hard conventions: the Iron Law finding form, the SKILL.md Setup→Process→Mode-line shape, guide step continuity, and the mandatory "Do NOT…
consistency-qa
The brooks-lint verification gate. Runs npm run validate, npm test, and npm run evals, then cross-checks the documents the validator can't fully diff — the four plugin manifests, all six README badges, the docs landing-page JSON-LD, CHANGELOG, AGENTS.md, GEMINI.md, and the derived book count — for drift. Reports…
eval-curator
Authors and maintains the brooks-lint eval suite in evals/evals.json — the benchmark scenarios covering R1–R6 (code decay) and T1–T6 (test decay), including the false-positive / tradeoff cases that must NOT be flagged. Ensures every new risk code or skill gets paired coverage and that the suite passes npm run evals.…
release-manager
Cuts a brooks-lint release: sets the version in package.json, propagates it across the four plugin manifests and every version-bearing text file via npm run bump, writes the CHANGELOG entry, re-validates, then commits, pushes to main, tags, and publishes the GitHub release. Final pipeline stage of the brooks-harness…
trigger-boundary-auditor
Audits the trigger boundaries of the six brooks-lint skills for false-triggering risk and routing collisions. Use before a release, or after editing any SKILL.md description: field. Read-only — reports findings, makes no edits.
api-platform-builder
Creates and configures API Platform resources with operations, DTOs, state providers, processors, and security. Handles full resource scaffolding from entity to tested API endpoint. Use for building APIs, creating resources, or configuring API Platform.