What this skill does
factory-product orchestrates the product-decisions lifecycle. It coordinates individual product-related skills (product-init, product-specify, product-clarify, product-implement, product-analyze) to maintain a consistent PRD.md at docs/adlc/product/PRD.md (ADR-401).
It operates as a Kind-A DAG orchestrator in alignment with the shared executor engine contract in factory-mission/references/executor.md.
When to use
- You want to bootstrap, refine, or analyze a product's requirements and decisions (PDRs) end-to-end.
- You want a guided, accept-gated, and verified product definition process with a resume checkpoint.
When NOT to use:
- For software implementation task execution (use
factory-missioninstead). - For architecture decision records (use
factory-architectinstead).
Lifecycle DAG & Step Resolution
factory-product implements a fixed named-skill DAG (fixed step resolution):
Greenfield Route (default on empty project)
specify(generatephase) -> Invokeproduct-specifyto collaboratively capture PDR drafts in.adlc/drafts/pdr/.clarify⭐ (clarifyphase) -> Invokeproduct-clarifyto run interactive quality checks and mark PDRs Accepted (human sign-off gate).implement(buildphase) -> Invokeproduct-implementto compile accepted PDRs intodocs/adlc/product/PRD.mdand promote them todocs/adlc/memory/pdr/.analyze(analyzephase) -> Invokeproduct-analyzeto verify PRD/PDR consistency and output a severity-ranked report.
Brownfield Route (default if code exists but no PDRs)
init(generatephase) -> Invokeproduct-initto reverse-engineer draft PDRs from the existing codebase.clarify⭐ →implement→analyze(same as Greenfield).
Refresh Route (default if PRD.md and memory PDRs already exist)
analyze(analyzephase) -> Run product-analyze first to detect drift.clarify⭐ →implement→analyze(drift-correction cycle).
Shared Executor Overrides
factory-product overrides the shared executor engine primitives as follows:
- Publish Target: Fixed to
local. Outputs are written todocs/adlc/memory/pdr/anddocs/adlc/product/PRD.md. If tracker-integrated, atrackercompletion summary comment is also posted. - Output Types: Steps use the following
output_typeassignments:specify/init→draft(PDR drafts stay in.adlc/drafts/pdr/, not published to comment bus)clarify⭐ →decision(accepted/rejected PDR list published to comment bus)implement→artifact-ref(PRD.md path reference published, content stays on disk)analyze→findings(severity-ranked consistency report published to comment bus)
- Correction Loop: If
analyzereturnsCRITICALorHIGHconsistency errors, the executor routes back toclarifywith the analyze marker inreads_from.clarifyreads the findings from the PR/MR/issue comment bus (or local fallback). This loop is bounded bymax_corrections(default 2); if exceeded, the orchestrator halts for human review. - Supervision Default:
hybrid. A human gate is hard-enforced atclarify⭐ (for PDR approvals) and at finalPRD.mdreview. - Pre-flight Check: Verifies that the
product-*lifecycle skills are installed in the workspace before beginning Phase 0.