You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Extract the INVEST validation logic into a dedicated subagent at agents/invest-gate.md. Update every command that currently inlines INVEST validation to delegate to this agent.
Why
INVEST validation appears verbatim across add-backlog-item.md, migrate-backlog.md, refine-backlog-item.md, and validate-backlog.md. Any wording drift between copies is a real bug — refinement and creation can disagree on what "ready" means. Pulling the prompt into a subagent collapses 4 copies into 1, gives the orchestrator commands cleaner context, and lets us pin a cheap model (haiku) since the check is mechanical (six pass/fail letters with one-line justifications).
description: Returns PASS/FAIL per INVEST letter for a given issue body, with one-line reasoning per criterion. Invoke when a backlog item needs gating.
Body of the agent file: clear input contract (issue body text + optional metadata), explicit output schema (per-letter PASS/FAIL + reasoning + overall verdict), and the canonical INVEST table from the project docs as the rubric.
Update callers:
commands/add-backlog-item.md — replace inline INVEST check with delegation to invest-gate.
commands/migrate-backlog.md — same.
commands/refine-backlog-item.md — same. The pre-removal validation gate becomes an invest-gate call.
commands/validate-backlog.md — same. The INVEST-related part of the audit calls the agent per item.
What
Extract the INVEST validation logic into a dedicated subagent at
agents/invest-gate.md. Update every command that currently inlines INVEST validation to delegate to this agent.Why
INVEST validation appears verbatim across
add-backlog-item.md,migrate-backlog.md,refine-backlog-item.md, andvalidate-backlog.md. Any wording drift between copies is a real bug — refinement and creation can disagree on what "ready" means. Pulling the prompt into a subagent collapses 4 copies into 1, gives the orchestrator commands cleaner context, and lets us pin a cheap model (haiku) since the check is mechanical (six pass/fail letters with one-line justifications).Sub-issue of #34.
In Scope
agents/invest-gate.mdwith frontmatter:name: invest-gatemodel: haikueffort: lowdisallowedTools: Write, Edit(read-only validator)description: Returns PASS/FAIL per INVEST letter for a given issue body, with one-line reasoning per criterion. Invoke when a backlog item needs gating.commands/add-backlog-item.md— replace inline INVEST check with delegation toinvest-gate.commands/migrate-backlog.md— same.commands/refine-backlog-item.md— same. The pre-removal validation gate becomes aninvest-gatecall.commands/validate-backlog.md— same. The INVEST-related part of the audit calls the agent per item.Out of Scope
### What/### Why/etc.).Acceptance Criteria
agents/invest-gate.mdexists with the frontmatter above.invest-gateand contain no inline INVEST prompt logic./add-backlog-itemfor a deliberately under-specified item produces a per-letter FAIL report frominvest-gate.claude --debugshows the agent registered.INVEST Notes
haikutosonnetif smoke testing shows gaps.