brd-reconcile

brd-reconcile is a command for Claude Code from ihudak/ihudak-claude-plugins. It costs 287 tokens per session (30,763 once invoked), scanned A, original, MIT.

A workflow for processing a customer's review of a BRD, or business requirements document. It records confirmed customer decisions and checks which existing delivery assumptions those decisions invalidate.

In plain words
What is it for?
Use it after sending a BRD for review to import the returned file, record decisions, and find requirements, plans, or other records that must be updated.
Why use it?
It prevents customer feedback from remaining scattered or conflicting with the team's current understanding. Decisions are recorded only after the customer has answered and an operator has confirmed the answer.

Command for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

Runs only inside its plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else. Install the plugin, not this.

Part of the product-workflows plugin — 14 commands, 13 agents shipped together

Good fit Use it after sending a BRD for review to import the returned file, record decisions, and find requirements, plans, or other records that must be updated.

Compare 6 commands from other repositories ↓
Install

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.

Claude Code
/plugin marketplace add ihudak/ihudak-claude-plugins
Claude Code
/plugin install product-workflows

Made for: Claude Code.

Or install product-workflows, the plugin that ships this one along with the rest of its 14 commands, 13 agents.

Wrote 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.

agentmods badge for brd-reconcile

README.md
[![agentmods](https://agentmods.dev/badge/commands/ihudak/ihudak-claude-plugins/brd-reconcile/github.svg)](https://agentmods.dev/commands/ihudak/ihudak-claude-plugins/brd-reconcile)
Your own site
<a href="https://agentmods.dev/commands/ihudak/ihudak-claude-plugins/brd-reconcile"><img src="https://agentmods.dev/badge/commands/ihudak/ihudak-claude-plugins/brd-reconcile/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.

agentmods 80×15 button for brd-reconcile

Your own site · 80×15
<a href="https://agentmods.dev/commands/ihudak/ihudak-claude-plugins/brd-reconcile"><img src="https://agentmods.dev/badge/commands/ihudak/ihudak-claude-plugins/brd-reconcile.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 287 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 30,763 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00287 $0.30763
Opus 5 $0.00143 $0.15381
Sonnet 5 $0.00057 $0.06153
Haiku 4.5 $0.00029 $0.03076

Measured today against content hash b10dffbd4bf7, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

brd-reconcile 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 today.

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.

plugins/product-workflows/commands/brd-reconcile.md · 1,535 lines

How it starts

The opening of the file, as written. The whole thing — 1,535 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Turn the customer's returned review into frozen decisions, and leave nothing in the tree still asserting a position it overturned: $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.

/brd-reconcile is the BRD-to-PRD route's last command (PM phase) — it takes the file that came back from the package /brd-package sent, freezes what the customer actually decided, and then goes looking for everything the delivery organisation still believes that their answer has made false. Its whole discipline is one rule: a customer decision enters the register only when the customer answered and an operator confirmed the answer (D14, ${CLAUDE_PLUGIN_ROOT}/references/decision-register-format.md §1). This command exists to make that happen, not to restate it.

Usage: /brd-reconcile <BRD-KEY> @<review-file> [--sent <path>…]

<BRD-KEY> still resolves through either of the two levels resolve-address searches (workflows-core:addressing §3) — a BRD that owns its source document, or one of its slices — because a root must be resolved before Phase 0 step 5a can refuse it by name. Only a slice is reconciled: a root BRD is refused, and reconciling happens at the slice and nowhere else — a slice holds its own register, its own [C] question set and its own ledger, and it is reconciled from those and no others. Two things follow from inheritance and are named where they arise: its requirement defect resolutions land in its parent's brd/brd-defect-log.md (${CLAUDE_PLUGIN_ROOT}/references/brd-format.md §2.1), and the stale cross-reference sweep's root is the parent's folder, so a sibling slice still asserting a superseded position is reached.

Standing rule, binding on every phase below. Nothing this command reads out of a returned review becomes a [CD#n] on its own. Schema mode parses; free-text mode infers; both hand the result to an operator before a single register record is written, and the operator sees the customer's own words beside every row they are asked to confirm. The section How no inferred decision becomes a [CD#n] below states the ordering that makes this structural rather than aspirational.

This command takes no --no-docs, and it does no documentation grounding at all. That is a decision, not an omission. /brd-intake and /prd-ground already ground this BRD against the shipped product documentation when $DOCS_PATH resolves (D22, workflows-core:docs-grounding), and /brd-interview and /brd-package deliberately do none for the same reason this command does none: it works on decisions already taken — here, on decisions taken by the customer. This command goes one step further than either. A documentation page is a claim about behaviour written by the delivery organisation, and the whole content of this run is what the customer said; consulting a page here could only produce a sentence that contradicts the one party whose authority this command is recording, and then quietly lose the argument to it. So there is no flag to turn off, no resolve-docs-grounding call, and no docs grounding: line in this command's report. The sentence is written here because leaving it unwritten is exactly how the gap it forecloses gets shipped.

No repository is opened, at any point. Every finding this run reads was pinned, written and independently re-derived by /prd-ground, so there is no baseline gate here, no dirty-tree stop, and no $REPOS_PATH requirement. That has one consequence this command states rather than works around: a customer challenge in the review's section 5 or 6, and a will-change finding whose named prerequisite decision this run has just frozen, are both named as needing a grounding pass and are never re-adjudicated here. A finding is not evidence until independently re-derived by a different agent (workflows-core:grounding-format §8), and this command re-derives nothing — a finding it wrote would be an unverified opinion wearing a [CG#n].

Read the full file on GitHub · 1,535 lines

Changes

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.

  1. today Changed · +23 lines b10dffbd4bf7
  2. yesterday Changed · +137 lines · +49 tokens per session e31965f9e253
  3. 5d ago Changed · +250 lines 348b0556ce9c
  4. 10d ago First seen · 1,125 lines · 238 tokens per session scan A 63d5654e24ae

Subscribe to this mod's changes

brd-reconcile is a command published in the GitHub repository ihudak/ihudak-claude-plugins (2 stars, last pushed today), licensed MIT. It adds 287 tokens to every session and 30,763 once invoked, about $0.0014 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.