Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add ihudak/ihudak-claude-plugins/plugin install dev-workflowsWrote 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/commands/ihudak/ihudak-claude-plugins/create-ard)<a href="https://agentmods.dev/commands/ihudak/ihudak-claude-plugins/create-ard"><img src="https://agentmods.dev/badge/commands/ihudak/ihudak-claude-plugins/create-ard.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.00000 | $0.18303 |
| Opus 5 | $0.00000 | $0.09151 |
| Sonnet 5 | $0.00000 | $0.03661 |
| Haiku 4.5 | $0.00000 | $0.01830 |
Grade A, and why
create-ard 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 2d 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 — 704 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Author an Architecture Requirements/Decision Document for the resolved item: $ARGUMENTS
/create-ard is sub-project 3 of the PRD-creation flow — the Product Architect (PA) phase. It
grounds on the mounted implementation repos and authors an ARD that establishes the architecture
invariants the downstream (/specify, /design, /implement) will later inherit. The ARD is
optional (a simple PRD may not need one) and scoped by the kind of the address it is given:
/create-ard <PRD-KEY>→ a PRD-level ARD./create-ard <EPIC-KEY>→ an Epic-level ARD (inherits the PRD-level ARD read-only). The Epic's own key is the whole address: it encodes its ancestry, so the PRD is the folder above it and is never typed beside it (D4)./create-ard <SLICE-KEY>→ an ARD on the BRD route, authored in thePRD-slice folder/brd-splitcarved and seeded from the reconciled BRD instead of from a PRD. ABRD-container is refused (Phase 0 step 1a). One address on every route: a second positional token is refused (Phase 0 step 1,CREATE_ARD_ONE_ADDRESS).
Usage: /create-ard <ADDRESS> [--no-docs], where <ADDRESS> is a key or an @<path>.
It authors architecture only — no code writing; grounding is architect-driven (there are no PRs at this stage). Zero external calls.
Phase 0 — Resolve input
-
Resolve the address.
One resolution, both routes. Parse the single positional address from
$ARGUMENTS— a<KEY>, or an@<path>naming a folder — and resolve it withresolve-address(${CLAUDE_PLUGIN_ROOT}/references/addressing.md§3). A key that fails §1's grammar stops withCREATE_ARD_NEEDS_KEY: /create-ard needs an address (^[A-Z][A-Z0-9_]*(-\d+)+$, e.g. EPIC-008 or the slice EPIC-008-01) — re-run '/dev-workflows:create-ard <ADDRESS>'.Shape only, and never checked against anything (§1) — a key names a folder in$SPECS_PATH.A second positional token is refused, on every route (D4). There is no
<PRD> <Epic>form to fall back to: an Epic key encodes its own ancestry, so a second argument would be derivable from the first and able to disagree with it, which is the failure class D4 exists to remove. Stop gracefully:CREATE_ARD_ONE_ADDRESS: /create-ard takes one address; <second-token> was given as a second. The kind of the folder the address resolves to is what sets the altitude — an EPIC- folder gives an Epic-level ARD, with its PRD read from the folder above it; a PRD- folder gives a PRD-level one. Re-run '/dev-workflows:create-ard <ADDRESS>' with the single address you meant.The resolved kind decides the altitude, which is what replaces the old two-key grammar:
- a
PRD-folder →<PRD>is itskey,<EPIC>isnull; - an
EPIC-folder →<EPIC>is itskeyand<PRD>is its parent's; - a
PRD-folder holding abrd-link.md→ the BRD route. Define<SLICE-KEY>= the resolved folder'skey.
The BRD route is detected, not declared. A folder carrying
brd-link.mdwas produced by/brd-splitand holds the seed this command reads; nothing about that needs restating on the command line, and a flag that could disagree with the folder it names is one more disagreement to have. Print which route the run entered before doing anything else. - a
1a. Refuse a BRD- container — on either route, and the moment the address resolves.
Resolution waits on $SPECS_PATH, and there is exactly one of them. resolve-key globs
specifications/**/*-<KEY>-*, so it needs $SPECS_PATH; run step 1's resolution only after step 2
has settled it, and let step 3 reuse that same resolution rather than taking a second one. With
the old ordering /create-ard ACME-77 against an unset $SPECS_PATH resolved absent at step 1 —
so this refusal did not fire and the route printed as the idea route — then step 2 stopped, the
operator supplied the path, and step 3 re-resolved and found the BRD- container with nothing
testing it. The run authored ard.md into the container, which is the exact state this step exists
to prevent. /create-prd states the same rule for the same reason ("Detection therefore waits on
resolution"); the two must not diverge on it.
A BRD- folder is not a fourth altitude, and this command used to route one onto the BRD
route. This test is not part of the BRD-route branch and must not be folded into it: that
route is detected from a brd-link.md, and a root BRD folder need not carry one — /brd-intake
writes none, and only /brd-ground, /brd-split and /brd-package ever do — so a
route-conditioned refusal would let /create-ard <ROOT-BRD-KEY> fall through and author an ARD
into the container. It is a container: the design's §4.1 tree places ard.md
only inside a PRD folder, while a BRD- folder holds brd/, grounding/, interview/,
coverage-ledger.md, decisions.md and slices.md — and no ARD. Authoring one there writes an
artifact the tree has no place for and that
${CLAUDE_PLUGIN_ROOT}/references/ard-resolution.md would then look for one level away.
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.
- 2d ago Changed · +180 lines 36956ef33607
- 7d ago First seen · 524 lines · 0 tokens per session scan A a781b15e4ab5
create-ard is a command published in the GitHub repository ihudak/ihudak-claude-plugins (2 stars, last pushed 4d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 18,303 tokens. 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 commands, from other repositories
battlecard
Create a sales-ready competitive battlecard — positioning, feature comparison, objection handling, and win strategies.
cloudflare-r2:presigned-url
Generate presigned URLs for secure client-side uploads or downloads.
create_handoff
Create handoff document for transferring work to another session.
pi-code-review
Adversarial code review via Codex — break confidence in changes, not validate them.
watch
You are executing the /hydra:watch command. Live monitoring of all background agents with real-time status updates.
infogenius
Research-First Image Generation - Facts → Visual Prompt → High-Quality Image.