Read-only analysis of PDR↔PRD consistency, PDR quality, cross-PDR conflicts, and staleness. Outputs a structured markdown report with severity-assigned findings. Use after /product-implement or periodically to detect drift.
npx skills add https://github.com/tikalk/adlc-team-skills --skill product-analyze
Performs read-only product consistency analysis:
Output: Structured markdown analysis report (no files modified)
/product-implement to validate generated PRD/product-clarify to verify refinements/product-init or /product-specify first)sh: scripts/bash/setup-product-analyze.sh [--json]
ps: scripts/powershell/setup-product-analyze.ps1
Read:
PRD.md (project root){REPO_ROOT}/.adlc/drafts/pdr/PDR-*.md (individual PDR files){REPO_ROOT}/.adlc/memory/constitution.md (if exists)Build inventory:
| Artifact | Path | Status |
|----------|------|--------|
| Product PRD | PRD.md | Found/Missing |
| Product PDRs | .adlc/drafts/pdr/ | [N] files |
| Constitution | .adlc/memory/constitution.md | Found/Missing |
For each PDR file, check:
| Dimension | Check | Severity |
|-----------|-------|----------|
| 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 |
For each PDR, check if decision appears in PRD:
| PDR Element | Expected in PRD | Section |
|-------------|-----------------|---------|
| Problem decision | Problem statement | 3 |
| Persona decision | Personas | 6 |
| Scope decision | Requirements / Out of Scope | 7 / 9 |
| Metric decision | Success Metrics | 5 |
| Business Model | Overview | 2 |
| NFR decision | Non-Functional Requirements | 8 |
[TODO], [TBD], [PRODUCT_NAME], [DATE]| Severity | Criteria |
|----------|----------|
| CRITICAL | Constitution violation, major requirement undocumented |
| HIGH | PDR→PRD drift affecting requirements, conflicting PDRs |
| MEDIUM | Incomplete consequences, staleness, terminology drift |
| LOW | Style improvements, minor documentation gaps |
## Product Analysis Report
### Analysis Summary
| Attribute | Value |
|-----------|-------|
| Mode | [Full/PDRs/Sections] |
| Files Analyzed | [List] |
| Analysis Date | [Current date] |
### Findings
| ID | Pass | Severity | Location | Summary | Recommendation |
|----|------|----------|----------|---------|----------------|
| A1 | PDR Quality | MEDIUM | PDR-003 | Missing success metrics | Add metrics section |
| B1 | Inter-PDR | HIGH | PDR-002, PDR-005 | Conflicting target markets | Resolve B2B vs B2C |
| C1 | PDR→PRD | HIGH | PRD:5 | Persona not in PRD | Update PRD section 5 |
| D1 | PRD→PDR | HIGH | PRD:6 | Feature has no PDR | Create PDR |
| F1 | Staleness | LOW | PRD:1 | [PRODUCT_NAME] placeholder | Fill product name |
### Coverage Metrics
| Metric | Value |
|--------|-------|
| PDR Count | [N] |
| PRD Sections Complete | [N]/12 |
| PDR→PRD Coverage | [N]% |
| PRD→PDR Coverage | [N]% |
### Issue Distribution
| Severity | Count |
|----------|-------|
| CRITICAL | [N] |
| HIGH | [N] |
| MEDIUM | [N] |
| LOW | [N] |
### Next Actions
- **CRITICAL issues**: Resolve constitution violations before proceeding
- Command: `/product-clarify`
- **HIGH PDR quality**: Address missing alternatives and consequences
- Command: `/product-clarify`
- **PDR→PRD drift**: Update PRD to reflect PDR decisions
- Command: `/product-implement --update`
- **PRD→PDR drift**: Create missing PDRs
- Command: `/product-specify` or `/product-init`
PDR_DRAFTS_DIR — {REPO_ROOT}/.adlc/drafts/pdrPRD_FILE — {REPO_ROOT}/PRD.mdCONSTITUTION — {REPO_ROOT}/.adlc/memory/constitution.mdTake tikalk/product-analyze 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.