From PRD-Driven Context Engineering
Validates and registers new SoT IDs (BR-XXX, UJ-XXX, API-XXX, CFD-XXX) with format validation, uniqueness checks, cross-reference integrity, and confidence scoring.
How this skill is triggered — by the user, by Claude, or both
Slash command
/prd-ce:ghm-id-registerThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Validate and register new Source of Truth IDs with cross-reference integrity checks.
Validate and register new Source of Truth IDs with cross-reference integrity checks.
[PREFIX]-[3-digit] pattern| Element | Definition | Evidence |
|---|---|---|
| ID | Unique identifier | BR-101, UJ-045, API-012 |
| Title | Short descriptive name | Clear, specific |
| Cross-References | Links to related IDs | All referenced IDs exist |
| Status | Current state | Draft / Active / Deprecated |
| Prefix | Domain | File |
|---|---|---|
BR- | Business Rules | SoT/SoT.BUSINESS_RULES.md |
UJ- | User Journeys | SoT/SoT.USER_JOURNEYS.md |
API- | API Contracts | SoT/SoT.API_CONTRACTS.md |
CFD- | Customer Feedback | SoT/SoT.customer_feedback.md |
Check ID follows the pattern:
[PREFIX]-[XXX]
Where:
[A-Z]+-[0-9]{3}For each ID referenced in the new entry:
BR-XXX references exist in BUSINESS_RULESUJ-XXX references exist in USER_JOURNEYSAPI-XXX references exist in API_CONTRACTSCFD-XXX references exist in CUSTOMER_FEEDBACKreferences/cross-reference-patterns.md)Before registering, assign a confidence score (1-5) based on evidence strength:
| Score | Evidence Level | Examples |
|---|---|---|
| 1/5 | Assumption / PM decision | "We think users want X" |
| 2/5 | Secondary research | Competitive analysis, market report |
| 3/5 | Direct feedback | User interviews (3-5 conversations) |
| 4/5 | Validated behavior | Beta testing, small-scale usage |
| 5/5 | Production evidence | Real usage data at scale |
Question to ask: What's the highest evidence supporting this entry right now? What would move it to the next confidence level?
Example confidence annotations:
confidence: 2/5, source: competitive-analysisconfidence: 3/5, source: 5-user-interviews-jan-2026confidence: 4/5, source: beta-cohort-validationSee .claude/skills/PRINCIPLES.md for detailed confidence model by SoT type.
Add formatted entry to SoT file:
### [ID]: [Title]
**Status**: Draft
**Created**: YYYY-MM-DD
**Confidence**: [1-5]/5 (source: [evidence source])
**Next Confidence Target**: [What would move this to next level]
**Cross-References**: [List of related IDs]
[Description]
**Acceptance Criteria**:
- [ ] Criterion 1
- [ ] Criterion 2
Example entry with confidence:
### CFD-042: Users want dark mode
**Status**: Active
**Created**: 2026-02-01
**Confidence**: 3/5 (source: 5-user-interviews-jan-2026)
**Next Confidence Target**: 4/5 (would require beta cohort validation)
**Cross-References**: FEA-008 (dark mode feature)
During interviews, 4 of 5 users mentioned desire for dark mode. Competitors (Notion, Linear, Figma) all have it.
**Acceptance Criteria**:
- [ ] Feature FEA-008 delivered to beta cohort
- [ ] Track usage: % of beta users enabling dark mode
| Pattern | Example | Fix |
|---|---|---|
| Duplicate ID | Creating BR-101 when it exists | → Check uniqueness first |
| Orphan reference | References UJ-999 that doesn't exist | → Verify all cross-refs |
| Wrong prefix | Using BR- for an API contract | → Match prefix to domain |
| Missing zero-pad | BR-5 instead of BR-005 | → Always use 3 digits |
| Inflated confidence | Assigning 4/5 to a PM assumption | → Be honest about evidence level |
| No confidence source | "confidence: 3/5" with no source | → Always record source (CFD-001, user-interview-jan, etc.) |
| Missing confidence target | Confidence assigned but no forward path | → Ask "what would move this to 4/5?" |
DO:
DON'T:
After ID registration:
npx claudepluginhub mattgierhart/prd-driven-context-engineering --plugin prd-ceCreates new Source of Truth (SoT) files when existing templates don't fit. Guides schema design, template drafting, and registration for durable project artifacts.
Designs prefixed ID formats for API resources following Stripe patterns, including prefix conventions, ULID/KSUID generation, validation, type safety, and debugging benefits.
Manages unified IDs for PRDs, ADRs, PRPs, work-orders, GitHub issues, commits, and PRs with auto-generation on access, bidirectional links, and traceability via manifest.json.