doc-prd-autopilot
Generate PRDs end-to-end from a BRD, a prompt, or an IPLAN - detect input, derive scope, generate, validate, and run the audit/fix cycle. Use to create or batch-create PRDs.
What this skill does
# doc-prd-autopilot
## Purpose
Automated **PRD generation pipeline**. From an upstream BRD, a user prompt, or
an implementation plan (`IPLAN-*`), it analyzes the source, derives product
scope, generates a complete PRD, validates EARS-readiness, maintains
`PRD-00_index.md`, and drives the audit↔fix cycle to a passing score — for one
PRD or a batch.
**Layer**: 2. **Upstream**: a BRD (or prompt/IPLAN input). **Downstream**: a
validated PRD + index entry.
## Skill Dependencies
| Skill | Role |
|-------|------|
| `../doc-prd/SKILL.md` | PRD structure and authoring rules (generation) |
| `../doc-brd-audit/SKILL.md` | upstream BRD quality gate (PRD-Ready) |
| `../doc-prd-audit/SKILL.md` | quality gate (scoring + findings) |
| `../doc-prd-fixer/SKILL.md` | applies fixes from the audit report |
| `../doc-naming/SKILL.md` | element-ID standards |
## Input Contract
Accepts: a target PRD id/path; a source BRD id/path; a free-text prompt; or an
IPLAN path. Optional: score threshold (default 90), max fix iterations (default
3), batch list. With no explicit input, treat the request as a prompt.
Precedence when multiple are given: IPLAN > BRD/REF > prompt; conflicting
objective/scope is blocking and requires user clarification.
## Smart Document Detection
For each target, check whether the PRD already exists (nested folder
`docs/02_PRD/PRD-NN_{slug}/`):
- **Missing** → *generate* mode (from the source BRD/prompt/IPLAN).
- **Exists** → *review & fix* mode (audit, then fix if below threshold).
A `BRD-NN` input maps to the corresponding PRD: generate if missing, review if
it already exists. Determine `deliverable_type`
(`code`/`document`/`ux`/`risk`/`process`) inherited from the source BRD.
## Workflow
### Saga-driven generation loop (`review_mode: team`)
**Step 1 — Invoke the driver. Period.** The harness sets `PREV_OUTPUT`,
`ARTIFACT_ID`, `ARTIFACT_PATH` env vars before invoking this SKILL.
Your VERY FIRST tool call MUST be the `Bash` tool, running exactly:
```sh
python3 "${CLAUDE_PLUGIN_ROOT}/tools/saga_driver.py" \
--layer 02_PRD \
--threshold 90
```
Use a generous timeout (≥1800s). Do not pre-analyze the input. Do not
read the BRD. Do not classify type/scope. The driver and its
dispatched subprocesses (`/aidoc-flow:doc-prd` for draft,
`/aidoc-flow:doc-prd-audit` for review, `/aidoc-flow:doc-prd-fixer`
for fixer) handle all of that. The driver enforces the state machine
preemptively per
`${CLAUDE_PLUGIN_ROOT}/framework/governance/REVIEW_SAGA.md`; this
SKILL's job is to invoke it and report.
**Step 2 — After the driver returns, report.** Read
`.aidoc/review/02_PRD/${ARTIFACT_ID}/saga.json`. Final status MUST be
one of `CLOSED` (PASS), `ESCALATED` (terminal FAIL), or
`PARTIAL_TIMEOUT` (soft-deadline; resumable). Print the status, the
final score from `verdict.json` if present, and a 1-line summary.
**Step 3 — Index update (only on `CLOSED`).** Add a row to
`docs/02_PRD/PRD-00_index.md` referencing the new PRD; update the
parent BRD's downstream entry.
That is the entire workflow in `team` mode. If you find yourself
doing anything else here — drafting prose, dispatching Task subagents,
invoking other slash commands — STOP, recognize that you are
bypassing the driver, and invoke the Bash command above instead.
### Linear Pipeline (`review_mode: single_pass`)
Unchanged legacy behaviour — used when the profile says so, when `Task`
subagent dispatch is unavailable, or at write-time (`on_author`) where
cost is the primary concern. The 5-step in-session pattern below
produces the PRD without saga.json; the harness's saga-journal
check will then fail the layer, so this mode is only appropriate for
manual dry-runs.
1. **Input analysis** — classify the input (BRD / prompt / IPLAN), locate the
source material, and decide generate vs review-and-fix.
2. **BRD readiness** — when generating from a BRD, confirm it passes
`../doc-brd-audit/SKILL.md` (PRD-Ready ≥ threshold); read all BRD section
files as one document; reserve the next `PRD-NN`.
3. **Generation** — produce the PRD per `../doc-prd/SKILL.md`: Document Control
first (with `@brd:` reference + EARS-Ready score), all 15 sections, §10 in
≥3 categories, §14 ADR-topic elaboration (no ADR numbers), element IDs
`PRD.NN.SS.xxxx`, cumulative `@brd:` tags, diagram tags via
`../charts-flow/SKILL.md` (`c4-l2`/`dfd-l2`/`sequence-sync` with `alt/else`).
4. **Validation** — run `../doc-prd-audit/SKILL.md` from scratch.
5. **Audit ↔ fix cycle** — while score < threshold and iterations < max: run
`../doc-prd-fixer/SKILL.md`, then re-audit. On pass, update
`docs/02_PRD/PRD-00_index.md` and the parent BRD's downstream entry; on
exhausting iterations, flag for manual review.
## Execution Modes
- **Single** — one PRD (generate or review-and-fix).
- **Batch** — multiple PRDs, processed in **chunks of 3** to bound context;
generate each PRD only after its source BRD is ready.
- **Dry-run** — report the planned actions (source, sections, IDs) without
writing files.
## Quality Gates
- Generation does not complete until the audit passes (EARS-Ready ≥ threshold,
0 Tier-1 errors) or the iteration cap is hit (then: manual-review flag).
- The PRD index and parent-BRD downstream entry are updated only after a PRD
passes.
- Fresh audit every cycle — no cached scores.
## Error Handling
| Situation | Action |
|-----------|--------|
| Source BRD missing or below PRD-Ready | stop; report the unmet dependency |
| Max iterations reached below threshold | write reports, flag for manual review, continue batch |
| Source input ambiguous | fall back to prompt mode; record assumptions in the PRD |
| Write/permission error | log, skip the item, continue the batch |
## Adaptation
Before applying defaults, read the project adaptation profile
(`.aidoc/profile.yaml`) and apply it in both the generation and the internal
audit/fix phases. Honor `section_toggles`, `active_layers`, `audit_threshold`
(raise-only — stricter only), and `glossary`. Ignore any unknown or
out-of-surface key; absent a profile, use framework defaults.
Authority: `${CLAUDE_PLUGIN_ROOT}/framework/governance/ADAPTATION.md`.
## Related Resources
- Create: `../doc-prd/SKILL.md` · Audit: `../doc-prd-audit/SKILL.md` · Fix:
`../doc-prd-fixer/SKILL.md`
- Authority: `${CLAUDE_PLUGIN_ROOT}/framework/layers/02_PRD/PRD-TEMPLATE.yaml`,
`${CLAUDE_PLUGIN_ROOT}/framework/layers/02_PRD/README.md`,
`${CLAUDE_PLUGIN_ROOT}/framework/layers/02_PRD/PRD-00_index.TEMPLATE.md`
Related in AI Agents
skill-development
IncludedComprehensive meta-skill for creating, managing, validating, auditing, and distributing Claude Code skills and slash commands (unified in v2.1.3+). Provides skill templates, creation workflows, validation patterns, audit checklists, naming conventions, YAML frontmatter guidance, progressive disclosure examples, and best practices lookup. Use when creating new skills, validating existing skills, auditing skill quality, understanding skill architecture, needing skill templates, learning about YAML frontmatter requirements, progressive disclosure patterns, tool restrictions (allowed-tools), skill composition, skill naming conventions, troubleshooting skill activation issues, creating custom slash commands, configuring command frontmatter, using command arguments ($ARGUMENTS, $1, $2), bash execution in commands, file references in commands, command namespacing, plugin commands, MCP slash commands, Skill tool configuration, or deciding between skills vs slash commands. Delegates to docs-management skill for official documentation.
reprompter
IncludedTransform messy prompts into well-structured, effective prompts — single or multi-agent. Use when: "reprompt", "reprompt this", "clean up this prompt", "structure my prompt", rough text needing XML tags and best practices, "reprompter teams", "repromptception", "run with quality", "smart run", "smart agents", multi-agent tasks, audits, parallel work, anything going to agent teams. Don't use when: simple Q&A, pure chat, immediate execution-only tasks. See "Don't Use When" section for details. Outputs: Structured XML/Markdown prompt, quality score (before/after), optional team brief + per-agent sub-prompts, agent team output files. Success criteria: Single mode quality score ≥ 7/10; Repromptception per-agent prompt quality score 8+/10; all required sections present, actionable and specific.
adaptive-compaction
IncludedAdaptive add-on policy and recovery layer that decides WHEN to compact, prune, snapshot, or fork -- replacing fixed-percent auto-compaction across Claude Code, Codex, and MCP-capable hosts. Trigger on auto-compact timing or damage: "when should I compact", "is it safe to compact now or start a fresh session", "auto-compact fires too early/mid-task", "switching to an unrelated task but the window still has space", "context rot", "answers get worse the longer the session runs", "the agent forgot the plan or my decisions after it summarized", "add a layer on top that manages context without changing the agent", raising autoCompactWindow to give the policy room, or installing/tuning a cross-tool compaction policy or PreCompact hook -- even when "compaction" is never said but the problem is context-window pressure or post-summarization memory loss. Do NOT use to summarize a conversation, build RAG, write a summarization prompt (decides WHEN not HOW), or answer max-context-length trivia.
agent-skill-creator
IncludedCreate cross-platform agent skills from workflow descriptions. Activates when users ask to create an agent, automate a repetitive workflow, create a custom skill, or need advanced agent creation. Triggers on phrases like create agent for, automate workflow, create skill for, every day I have to, daily I need to, turn process into agent, need to automate, create a cross-platform skill, validate this skill, export this skill, migrate this skill. Supports single skills, multi-agent suites, transcript processing, template-based creation, interactive configuration, cross-platform export, and spec validation.
llm-wiki
IncludedUse when building or maintaining a persistent personal knowledge base (second brain) in Obsidian where an LLM incrementally ingests sources, updates entity/concept pages, maintains cross-references, and keeps a synthesis current. Triggers include "second brain", "Obsidian wiki", "personal knowledge management", "ingest this paper/article/book", "build a research wiki", "compound knowledge", "Memex", or whenever the user wants knowledge to accumulate across sessions instead of being re-derived by RAG on every query.
skill-master
IncludedAgent Skills authoring, evaluation, and optimization. Create, edit, validate, benchmark, and improve skills following the agentskills.io specification. Use when designing SKILL.md files, structuring skill folders (references, scripts, assets), ingesting external documentation into skills, running trigger evals, benchmarking skill quality, optimizing descriptions, or performing blind A/B comparisons. Keywords: agentskills.io, SKILL.md, skill authoring, eval, benchmark, trigger optimization.