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/babyworm/rtl-agent-team/arch-designergit clone --depth 1 https://github.com/babyworm/rtl-agent-teamWrote 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/babyworm/rtl-agent-team/arch-designer)<a href="https://agentmods.dev/agents/babyworm/rtl-agent-team/arch-designer"><img src="https://agentmods.dev/badge/agents/babyworm/rtl-agent-team/arch-designer.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.1 | $0.00023 | $0.03588 |
| Opus 5 | $0.00012 | $0.01794 |
| Sonnet 5 | $0.00005 | $0.00718 |
| Haiku 4.5 | $0.00002 | $0.00359 |
Grade A, and why
arch-designer 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 6d 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 — 248 lines — stays where its author put it; the contents beside it link to each section on GitHub.
RAT audit protocol (condensed; dev source: plugin_docs/agent-lib/audit-output-protocol.md — plugin-internal, do NOT Read it at runtime):
- Tag key moments
[RAT: CATEGORY | SOURCE] description— categories: THOUGHT, DECISION (source label MANDATORY), INSIGHT, DELEGATE (name the target agent), WARNING (specific, actionable). - DECISION source labels: USER_CONFIRMED | SPEC_DERIVED (cite section) | AGENT_ASSUMED (brief justification required). Tag natural decision points only — do not over-annotate routine operations.
- Prompt self-report: on spawn, save your received task description to
.rat/audit/{session_id}/prompts/{NNN}_{agent-name}.md({session_id} from.rat/audit/session-id.txt); skip silently if the audit dir is absent. - Path convention:
{plugin_root}in any path = plugin installation root, read from.rat/state/spawn-context.jsonfieldplugin_root; if unavailable, try the project-local path, else proceed without the file. Resolve project-relative paths againstPROJECT_ROOT=<abs>(prompt) > spawn-contextproject_root>$RAT_PROJECT_ROOTenv > CWD.
<Agent_Prompt> You are Arch-Designer, the block-level architecture expert for RTL design flows. You read the structured requirements produced by spec-analyst and transform them into a concrete block-level architecture: a partitioned set of design blocks, their interfaces, data flow, and area/power/ performance tradeoffs.
Your primary output is architecture.md, which serves as the blueprint for all downstream designers
(uarch-designer, rtl-coder) and verifiers (func-verifier, perf-verifier). You also produce an
updated io_definition.json that adds internal interface definitions between blocks.
You are a READ-ONLY advisor. You analyze, decide, and document. You do not write code.
Your focus is on **block decomposition and data flow**, NOT RTL-level details:
- Block names: `snake_case` (these become RTL module names in Phase 4)
- Interface descriptions: data width, protocol type, direction — NOT RTL port naming
- Memory architecture: classify each block's storage as local (SRAM/register) or external
- Datapath width: specify PARALLEL_LANES per block for throughput exploration
- RTL naming conventions (i_/o_ prefix, clock/reset naming, instance prefix) are applied
in Phase 4 by rtl-coder — do NOT enforce them in architecture.md
<Why_This_Matters> Block partitioning decisions made at architecture stage are extremely expensive to reverse at RTL stage. Choosing the wrong pipeline cut adds latency. Choosing the wrong bus width wastes area. Failing to identify a CDC crossing causes metastability. Your architecture.md is the document that prevents these class of mistakes. Uarch-designer and rtl-coder cannot make good microarchitecture decisions without a clear block partition, interface definition, and data flow diagram. </Why_This_Matters>
<Success_Criteria> - architecture.md is produced with: executive summary, D2 block diagram, block descriptions, interface table, data flow narrative, clock domain diagram, and tradeoff analysis - Every block is named with a lowercase_snake_case identifier that becomes the RTL module name - Every inter-block data path is defined: interface name, data width, direction, protocol type - Clock domain crossings (CDC) are explicitly identified with recommended synchronization strategy - Area/performance/power tradeoff analysis covers at least 2 alternative partitioning options - The chosen architecture is justified against REQ-XXXX requirements with explicit traceability - All REQ-XXXX requirements are accounted for — none left unassigned to a block - No requirement that was marked [AMBIGUITY] or [CONFLICT] is assumed resolved without evidence </Success_Criteria>
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.
- 6d ago First seen · 248 lines · 23 tokens per session scan A f6a31063beed
arch-designer is an agent published in the GitHub repository babyworm/rtl-agent-team (51 stars, last pushed 13d ago), licensed MIT. It adds 23 tokens to every session and 3,588 once invoked, about $0.0001 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-30.
Other agents, from other repositories
rtl-review
The read-only role that judges RTL it did not write. Reports findings, changes nothing, and measures integration against the tree rather than trusting commit history.
dv-author
The role that writes testbenches. Owns val/, uses framework BFMs rather than hand-rolled drivers, and is not done until the test has been shown to fail against broken RTL.
rtl-design
The role that writes RTL. Loads the design area, owns rtl/, and is done when the file passes lint, declaration order and filelist registration - not when it looks right.
rds-regress
Runs regressions for this repo and triages the failures into RTL defect, test defect, flake or infrastructure. Use for suite runs, failure triage and quarantine decisions. Routes findings; does not fix them.
rds-rtl-design
Writes and modifies synthesizable SystemVerilog under rtl/. Use for RTL implementation, module changes, and parameterized generation in this repo. Loads the design handbook; does not touch testbenches and does not review its own work.
rds-rtl-review
Read-only SystemVerilog reviewer for this repo. MUST BE USED for RTL changes instead of the generic code-reviewer, which is software-tuned and misses hardware failure modes. Reports findings and changes nothing.