brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
docs-ai-prdWrites PRDs and specs optimized for coding assistants. Use when authoring requirements or project context for Claude Code, Cursor, Copilot, or Codex.
Independent GitHub snapshot · Automated classification · Original documentation governs
python3 scripts/validate_sources.py --scan-only; it excludes archives and symlinks and exits 2 for invalid or empty scan roots and unreadable source files. Inventory success does not verify claims or live URLs.| Need | Start Here |
|---|---|
| core PRD | assets/prd/prd-template.md |
| AI feature PRD | assets/prd/ai-prd-template.md |
| technical design | assets/spec/tech-spec-template.md |
| story map or backlog framing | assets/stories/story-mapping-template.md |
| acceptance criteria | assets/stories/gherkin-example-template.md |
| delivery milestones (multi-session work) | references/delivery-milestones.md |
| planning checklist | assets/planning/planning-checklist.md |
| agentic handoff | assets/planning/agentic-session-template.md |
| minimal agent context files | assets/minimal-claudemd.md, assets/minimal-agents.md |
| cross-tool context layering | assets/cross-tool-context.md |
| stack-specific project context (fill in the blanks, don't write from scratch) | assets/web-app-context.md, assets/api-service-context.md, assets/cli-context.md, assets/library-context.md, assets/react-context.md, assets/nodejs-context.md, assets/python-context.md, assets/go-context.md |
Before handoff, check whether an agent can satisfy the written requirements while producing behavior the author did not intend.
Scan for these six ambiguity classes:
Calibrate detail level to three variables, not to habit or template length:
| Blast radius | Reversibility | Agent autonomy | Right level of detail |
|---|---|---|---|
| High (payments, auth, deletion, PII) | Low (hard to roll back) | Any | Spec every edge case explicitly, plus a "must NOT" list |
| Medium | Medium | Supervised turn-by-turn (human reviews each step) | State decisions + open questions; let the review loop resolve remaining edge cases |
| Low (prototype, internal tool, behind a flag) | High (cheap to revert) | Any | Outcome + happy path; let the agent propose and flag edge cases |
| Medium or High | Any | Unattended/autonomous run (no human in the loop until done) | Spec every edge case — there is no reviewer to catch drift mid-run |
references/acceptance-criteria-patterns.md covers format and common mistakes. Two judgment calls sit above that checklist:
Keep unresolved product choices out of declarative requirements. For each unknown, record the decision needed, current assumption, owner, deadline or blocking milestone, affected requirements, and what evidence will close it. Mark acceptance criteria that depend on the assumption so an implementer cannot mistake a placeholder for approved behavior.
A repository shows how the system behaves today, not what the business requires. Never infer SLAs, pricing, compliance or retention duties, priorities or target users from code; enter them in the ledger as assumptions to confirm until the user or an authoritative document states them. Block on the user only for unknowns whose wrong guess risks security exposure, data loss, an irreversible migration, contract or API breakage, material cost, or a destructive external action; otherwise record the assumption and proceed.
When implementation shows an acceptance criterion cannot be met, do not drop it or work around it silently. Mark it [revised], state the constraint, adjust its scope or verification method, bump the spec revision, and re-present only the changed criteria. Require explicit confirmation only when the revision changes a blocking decision or weakens a safety or correctness guarantee.
When the decision lands, update the requirement and its acceptance criteria together, then close the ledger entry with the decision source. A PRD is implementation-ready only when every blocking unknown is closed, explicitly deferred outside scope, or represented as a safe runtime/configuration choice with a named default and fallback.
Treat project memory as layered. The table names each tool's usual surfaces; which files a runtime actually loads, and in what precedence, is a lookup owned by agents-memory.
| Tool | Primary Surface | Supporting Surfaces |
|---|---|---|
| Claude Code | AGENTS.md when native loading is verified for every contributor; otherwise CLAUDE.md importing AGENTS.md | scoped Claude files, agents, skills, hooks |
| GitHub Copilot | .github/copilot-instructions.md | additional GitHub instructions, AGENTS.md |
| Cursor | .cursor/rules/ or root AGENTS.md | root CLAUDE.md, scoped rule files |
| portable baseline | AGENTS.md | link outward instead of duplicating deep guidance |
Whether Claude Code reads AGENTS.md natively, and what takes precedence when both files exist, changes between releases: do not state a support status in a spec. Keep AGENTS.md the single source. Follow the agents-memory lookup step and verify loaded files with /memory for every contributor's version, provider, and configuration. If native loading is verified for all and no CLAUDE.md-family file suppresses it, no bridge is needed. Otherwise import @AGENTS.md at the top of CLAUDE.md (Claude-only content below) or use a CLAUDE.md → AGENTS.md symlink.
References — Core (load first)
References — Spec-driven & prompt craft
References — Codebase context extraction
Stakeholder & team process (owned by product-management)
product-management's references/prd-review-facilitation.md — review-type selection, agenda template, feedback labeling, and iteration workflow; load when running a PRD review
product-management's references/prd-stakeholder-alignment.md — RACI mapping, async/sync review patterns, conflict resolution, and decision-log template; load when managing multi-stakeholder sign-off
product-management's references/pm-collaboration-guide.md — interview debrief structure and PRD handoff for human PM teams; load for stakeholder-interview-to-PRD tasks
product-management's references/traditional-prd-writing.md — section-by-section PRD guidance for human teams (Cagan/Wiegers lineage); load when the audience is a PM team, not a coding agent
Additional assets
Agent-consumed context files (CLAUDE.md, AGENTS.md, .cursor/rules/) stay Markdown. For long, read-once, human-facing artifacts (PRDs over ~100 lines, exploration specs comparing options, interactive specs), consider HTML, keep acceptance criteria extractable as a table or code block, and end interactive specs with an export control ("copy as JSON / prompt / diff"). Decision table, tradeoffs, and recipe: references/html-vs-markdown-output.md.
docs-ai-prd owns requirements, specs, acceptance criteria, and context-file strategydocs-codebase owns README, runbooks, API reference, changelogs, and canonical documentation qualityIf you are deciding what context an agent needs or how a spec should be structured, stay here. If you are rewriting repository docs, use docs-codebase.
When prior decisions or pitfalls are relevant, consult learnings.consolidated.md if present; use learnings.md only for needed history or as the available fallback. Otherwise skip both.
After applying it, if you encountered a pattern worth remembering, a mistake worth preventing, or a domain fact that surprised you, append one dated bullet to learnings.md via agents-skills-feedback-loop/scripts/append_learning.py. Do not modify SKILL.md itself.