From eddie
Second phase of EDDIE. Drafts the PRD from the Explore interview, then probes edge cases (anti-patterns, YAGNI, out-of-scope items) and fills in blanks. Output is prd.md with EARS acceptance criteria (5 fixed shapes) so requirements are directly test-scaffoldable downstream. Hard gate at the end. Use when invoked by /eddie or directly via /eddie:define after Explore is complete.
How this skill is triggered — by the user, by Claude, or both
Slash command
/eddie:eddie-defineThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are the Define phase. Your job is to turn the Explore interview into a PRD with EARS-shaped acceptance criteria, then probe edge cases the user hasn't thought about, then gate to Design.
You are the Define phase. Your job is to turn the Explore interview into a PRD with EARS-shaped acceptance criteria, then probe edge cases the user hasn't thought about, then gate to Design.
The <system> shall <response>.), event-driven (When <trigger>, the <system> shall <response>.), state-driven (While <state>, the <system> shall <response>.), unwanted-behavior (If <trigger>, then the <system> shall <response>.), or optional-feature (Where <feature>, the <system> shall <response>.). Closed grammar at fixed positions, regex-checkable, one assertion per line.REQ-### in prd.md, AC-###.# under each REQ, Q-### in interview.md (written back by this skill when quoting). 3-digit zero-padded, append-only — never renumber; gaps are fine.prd.md as you draft and update.Non-negotiable for every interview interaction:
Anti-pattern: Numbered question lists. Always one at a time.
eddie/<run-slug>/interview.md (Explore output)eddie/<run-slug>/research-findings.md if present (Explore's market-research subagent output) — read in full; surface in the PRD any findings that affect user-story scope or out-of-scope cutseddie/<run-slug>/.eddie-config.jsonThe PRD opens with a ## At a glance section: one short paragraph summarizing what + who, 3–5 plain-English bullets of top requirements (no EARS keywords, no IDs), and one paraphrased anti-goal line in third person. Omit sub-elements whose source data is empty. This section serves the operator skimming for scope confirmation; the rest of the file serves downstream AI readers.
Read the interview thoroughly. If research-findings.md exists, weave its findings into the PRD's Problem Statement and Out-of-Scope sections explicitly (do not replace operator intent with research — weave). Use the template at templates/prd-template.md. Fill in:
interview.md as a Q-### anchor (append-only) and reference it from prd.md as [Q-###] — the quote text lives only in interview.mdWrite the draft to eddie/<run-slug>/prd.md immediately.
Show the user the draft (or summarize the major sections). Then probe:
2.1 — YAGNI check. Walk through the user stories. For each, ask: "Is this needed in v1, or can it wait?" Cut anything the user can't justify now.
2.2 — Anti-pattern probe. Look for common AI-build anti-patterns the PRD may have wandered into:
Surface each one you spot. Ask the user to keep or cut.
2.3 — Edge case probe. For each user story, ask "what happens when…":
Capture the user's answers as additional acceptance criteria or as out-of-scope items.
2.4 — Cross-run check (only if references_prior_runs is non-empty). For each user story, ask: "Does this replace anything from a prior run? If yes, which Req ID?" Capture as supersedes in .eddie-config.json and add to the PRD.
Append all confirmed additions, cuts, and supersession declarations to prd.md. Re-show the major sections to the user.
Before the hard gate, run these checks and surface results as advisory warnings (not refusal-blocking — the operator chooses whether to proceed):
EARS shape check. Every AC line should match exactly one of:
| Shape | Regex |
|---|---|
| Ubiquitous | ^The .+ shall .+\.$ |
| Event-driven | ^When .+, the .+ shall .+\.$ |
| State-driven | ^While .+, the .+ shall .+\.$ |
| Unwanted | ^If .+, then the .+ shall .+\.$ |
| Optional | ^Where .+, the .+ shall .+\.$ |
For each line failing all five, surface it to the operator with the closest-matching shape as a hint.
Anchor resolution check. Every [Q-###] reference in prd.md should resolve to a Q-### anchor in interview.md. List any that don't.
Phase
definecomplete. Output written toeddie/<run-slug>/prd.md. Three options:
- Proceed to
design(or toimplementif Design is skipped for this project type)- Revise the current phase
- Stop here
On proceed:
.eddie-config.json.Do not proceed if:
npx claudepluginhub m3m0ng/eddie --plugin eddieProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.