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 product-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/idea)<a href="https://agentmods.dev/commands/ihudak/ihudak-claude-plugins/idea"><img src="https://agentmods.dev/badge/commands/ihudak/ihudak-claude-plugins/idea/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/commands/ihudak/ihudak-claude-plugins/idea"><img src="https://agentmods.dev/badge/commands/ihudak/ihudak-claude-plugins/idea.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.00298 | $0.18904 |
| Opus 5.5 | $0.00119 | $0.07562 |
| Sonnet 5.5 | $0.00060 | $0.03781 |
| Haiku 4.5 | $0.00030 | $0.01890 |
Grade A, and why
idea 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 — 800 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Refine an idea into idea.md: $ARGUMENTS
Core references. A citation of the form workflows-core:<name> names a shared reference in the workflows-core plugin. Load it with Skill(skill: "workflows-core:reference", args: "<name>") — never by path: ${CLAUDE_PLUGIN_ROOT} resolves to this plugin, which does not carry it.
/idea is the front door of the PRD-creation flow (PM phase) — upstream of /create-prd and
the existing pipeline. It ingests one source, refines it through a grill, and writes a lean one-page
idea.md (per ${CLAUDE_PLUGIN_ROOT}/references/idea-format.md) that seeds the Product Requirements Document. It is
not a PRD: no code change. Output lands in the PRD folder the key names, on the first write and never relocated.
It then vendors what it read into that same folder (Phase 4.5) so the record the specs repo keeps is
one whose links resolve for everybody, not only for the operator whose disk the sources came off.
Flags: --deep switches the grill from bounded (≤10 questions) to relentless (until convergence).
--no-docs turns off documentation grounding (see Phase 1).
--docs <path> points documentation grounding at <path> instead of ${DOCS_PATH:-/workspace/docs}
(see Phase 1); the token after it is always its value.
--ground-code [<repo>[,<repo>…]] grounds the idea against mounted code (see Phase 2.6) — bare it derives the repo set, with a value it scans exactly those repos. The token after --ground-code is its value only when it contains no whitespace and every comma-separated part matches a top-level directory basename under ${REPOS_PATH:-/workspace}; otherwise the flag is bare and the token is idea text.
Phase 0 — Resolve the address + model routing
-
The address (mandatory). Parse the first token that is neither a flag nor a flag's value —
--docsalways consumes the token after it, and--ground-codeonly as the Flags paragraph above conditions it, and a value skipped as "non-flag" would be read as the key and validate it withkey-valid(workflows-core:addressing§1). Absent or malformed → stop:IDEA_NEEDS_KEY: /idea needs a PRD key (^[A-Z][A-Z0-9_]*(-\d+)+$, e.g. ACME-77) — it names the folder this idea will live in. Re-run '/product-workflows:idea <PRD-KEY> [<prompt>|@<file>]'.The key is an argument because there is nowhere keyless to write.
idea.mdlands in its final folder on the first write —PRD-<KEY>-<slug>/under$SPECS_PATH/specifications/. So$SPECS_PATHcomes first: if it is unset, stop naming it (choices: ["Set SPECS_PATH (enter the path)", "Cancel"],workflows-core:escalation-rulesRequired path environment variable unset) — resolution and Phase 4's write both need it, and an empty one would aimidea.mdat/specifications/under the filesystem root. Resolve the folder here withresolve-address(Skill(skill: "workflows-core:reference", args: "addressing resolve-address"), §3):foundis the folder this run writes into — where it is an idea-route PRD folder, below — andambiguousis §3's hard stop. Onabsentnothing is created here, because Phase 0 holds no slug to name a folder with: the folder is created by Phase 4's first write, asPRD-<KEY>-<candidate_slug>/(workflows-core:addressing§2),candidate_slugbeing the one Phase 2's digest returns. Creating it withidea.md, which carries itskindandkey, is also what keeps it from ever being keyless (§4). Either way it is never relocated afterwards, and/create-prd <KEY>finds it there.A
foundfolder must be an idea-route PRD folder. Test the folder, never the kind it asserts — a BRD-route slice isPRD--prefixed and assertskind: brdthrough itsbrd-link.md(workflows-core:addressing§4) — in this order, stopping on the first that holds. A folder carrying abrd-link.mdnaming aparent:at its top level is a BRD-route slice, whatever its name. Then, where the resolution record readslegacy: false, test the prefix:BRD-is a BRD container,EPIC-an Epic folder. Where it readslegacy: truethere is no prefix to test — §5's unprefixed name starts with the key, and a key may itself begin with a kind token, soBRD-12-checkout/is a legacy folder keyedBRD-12and not a BRD container — so place it by positive evidence instead, asworkflows-core:addressing§4.1 does:coverage-ledger.mdorbrd/brd-inventory.mdpresent is a BRD container, a resolvedkind: epican Epic folder. An idea brief seeds the PRD authored beside it, and none of these takes one: a BRD container never holds a PRD, a slice's PRD is seeded from its BRD with no idea ladder, and an Epic folder sits below its PRD:IDEA_NOT_AN_IDEA_FOLDER: <KEY> resolves to <folder path>, <a BRD container | a BRD-route slice | an Epic folder> — /idea writes only into an idea-route PRD folder. <remedy> For a separate idea, give it a key of its own: '/product-workflows:idea <NEW-KEY> [<prompt>|@<file>]'.<remedy>names the run that does take that folder's work, by what the folder is — and, in the slice and Epic rows below, names a run only where that run can itself take the folder, since each command it could name refuses some shape of it. The BRD container row is the exception: it names each slice's/create-prdas where a PRD belongs, not as a run promised to start, and/brd-splitwith its no-op case said beside it. The slice rows read the gate set${CLAUDE_PLUGIN_ROOT}/references/coverage-ledger-format.md§5.2 defines — this slice's owncoverage-ledger.mdrows narrowed by itsbrd-link.mdclaims:, read out of the ledger file and never off aledger:line (§6.1) — exactly as/product-workflows:update-prdPhase 0 step 4 and/product-workflows:epicsPhase 0 step 1b read it:
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 · +19 lines 4fea52b45a8c
- 1mo ago Changed · +242 lines · +16 tokens per session 64ce494de185
- 1mo ago Changed · +11 lines · +15 tokens per session 446e313407fd
- 2mo ago Changed · +5 lines 53a0572cb469
- 2mo ago Changed · +1 tokens per session 652aa0cf9066
- 2mo ago Changed · +170 lines · +73 tokens per session a03f934f2510
- 2mo ago First seen · 353 lines · 193 tokens per session scan A 0869ea33bfe0
idea is a command published in the GitHub repository ihudak/ihudak-claude-plugins (2 stars, last pushed 1mo ago), licensed MIT. It adds 298 tokens to every session and 18,904 once invoked, about $0.0012 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.
idea compared with commands from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| ideaihudak/ihudak-claude-plugins | Command | 2 | 1mo ago | MIT | A | 298 | Claude Code |
| battlecardphuryn/pm-skills | Command | 28k | 2d ago | MIT | A | 19 | Claude Code |
| memorizelucasrosati/claude-code-memory-setup | Command | 1.1k | 21d ago | MIT | A | 0 | Claude Code |
| watchMarcel-Bich/marcel-bich-claude-marketplace | Command | 12 | 2d ago | MIT | A | 11 | Claude Code |
| opsfrankxai/agentic-creator-os | Command | 12 | 2d ago | Apache-2.0 | A | 35 | Claude Code |
| value-prop-statementsstefanoskarakasis/Product-Marketing-Skills | Command | 11 | 2d ago | MIT | A | 16 | Claude Code |
| commitjoaquimscosta/arkhe-claude-plugins | Command | 22 | 26d ago | MIT | A | 11 | Claude Code |