Refine and validate Product Decision Records through targeted clarification questions. Review PDR completeness, detect conflicts, approve decisions, and update status to Accepted. Use before /product-implement.
npx skills add https://github.com/tikalk/adlc-team-skills --skill product-clarify
Reviews existing PDRs for quality gaps, asks targeted clarification questions, and promotes approved PDRs to Accepted status. This is the quality gate before PRD generation.
Input: Individual PDR-*.md files in .adlc/drafts/pdr/ (status Proposed or Discovered)
Output: Updated PDR-*.md files (status Accepted where approved), regenerated pdr.md index
/product-specify or /product-init to refine initial PDRs/product-implement to approve PDRs (required — implement skips non-Accepted)/product-specify or /product-init first)sh: scripts/bash/setup-product-clarify.sh [--json]
ps: scripts/powershell/setup-product-clarify.ps1
{REPO_ROOT}/.adlc/drafts/pdr/PDR-*.md{REPO_ROOT}/.adlc/memory/constitution.md if exists| PDR | Title | Status | Category |
|-----|-------|--------|----------|
| PDR-001 | Target Market | Proposed | Problem |
| PDR-002 | Primary Persona | Proposed | Persona |
Check each PDR against standards:
| Dimension | Check | Severity if Missing |
|-----------|-------|---------------------|
| Context | Problem clearly stated | MEDIUM |
| Decision | Actionable, testable | HIGH |
| Consequences | Positive AND negative | HIGH |
| Success Metrics | Defined with targets | HIGH |
| Alternatives | At least 2 with neutral trade-offs | HIGH |
| Constitution | Aligns with vision | CRITICAL |
Quality checklist:
Generate gap report:
## PDR Clarification Report
| PDR | Title | Gap Type | Severity |
|-----|-------|----------|----------|
| PDR-001 | [Title] | Missing alternatives | HIGH |
| PDR-002 | [Title] | Incomplete consequences | MEDIUM |
Severity:
For each gap, present one clarification at a time:
## Clarification [N]: PDR-XXX — [Gap Type]
**Current State**:
[Quote current PDR content]
**Gap Identified**:
[Explain what's missing]
**Question**:
[Specific question]
**Suggested Options**:
| Option | Description |
|--------|-------------|
| A | [Option A] |
| B | [Option B] |
| C | [Custom response] |
Rules:
For Duplicates:
## Constitution Duplication Detected
**PDR**: PDR-XXX — [Title]
**Constitution Principle**: §[Section] — [Principle]
**Options**:
| Option | Action |
|--------|--------|
| A | Remove PDR |
| B | Convert to Reference |
| C | Add Context |
| D | Extend |
For Violations (⭐ RECOMMENDED: Amend Constitution):
## Constitution Violation Detected ⭐
**⭐ RECOMMENDED: A. Amend Constitution**
Update constitution §[Section] to accommodate this decision.
**Alternatives**:
B. Override in PDR — Document justification
C. Revise PDR — Change decision to comply
D. Remove PDR — Delete and follow constitution
pdr.md indexCritical: /product-implement only processes PDRs with Accepted status.
## PDR Approval ⭐
**Total PDRs**: [N]
**Status Distribution**:
- Accepted: [N]
- Proposed: [N]
- Discovered: [N]
**Options**:
| Option | Action |
|--------|--------|
| A | Accept All — Change Proposed/Discovered → Accepted |
| B | Review Specific — Select individual PDRs |
| C | Defer — Keep current status |
Bulk approval (Option A):
## Confirm Bulk Approval
Change [N] PDRs to Accepted?
| PDR | Current | New |
|-----|---------|-----|
| PDR-001 | Proposed | Accepted |
| PDR-002 | Discovered | Accepted |
Post-approval:
## PDRs Approved
**Ready for Implementation**:
- Accepted PDRs: [N]
- Pending: [N]
Run `/product-implement` to generate PRD.md.
PDR_DRAFTS_DIR — {REPO_ROOT}/.adlc/drafts/pdrPDR_INDEX — {REPO_ROOT}/.adlc/drafts/pdr/pdr.mdCONSTITUTION — {REPO_ROOT}/.adlc/memory/constitution.md| Rationalization | Reality |
|-----------------|---------|
| "The PDRs look fine — let's skip clarify." | Implement will skip non-Accepted PDRs, silently dropping decisions from the PRD. |
| "I'll just accept all at once." | Bulk accept without review risks embedding bad decisions into the PRD. |
| "A warning on constitution is basically okay." | Constitution violations are CRITICAL because they undermine product coherence. |
pdr.md index regeneratedTake tikalk/product-clarify from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.