.claude/skills/ghm-sot-builder/SKILL.md
Creates new Source of Truth (SoT) files when existing templates don't fit your needs. Triggers on requests to create a new SoT file, add a new artifact type, or when user says "I need to track [X] but there's no SoT for it", "create SoT", "new source of truth". Outputs a properly structured SoT.*.md file with ID prefix, frontmatter, and update protocol.
npx skillsauth add mattgierhart/PRD-driven-context-engineering ghm-sot-builderInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create new Source of Truth files that fit your product's unique needs while maintaining template purity.
This skill is for rare occasions (3-4 times per product lifecycle) when:
Do NOT use when:
temp/ instead)ghm-id-registerSee assets/sot-template.md for the copy-paste starter template.
| Element | Definition | Required | |---------|------------|----------| | YAML Frontmatter | version, purpose, id_prefix, authority | Yes | | Purpose Block | Single paragraph explaining what this tracks | Yes | | Navigation Section | Category links for quick access | Yes | | Entry Template | Repeatable structure for each ID | Yes | | Cross-Reference Index | Bidirectional links to other SoT files | Yes | | Update Protocol | When/how to add new entries | Yes |
Before creating a new SoT, verify:
What artifact type does this track?
Why can't existing SoT files handle this?
What ID prefix will you use?
SoT/SoT.UNIQUE_ID_SYSTEM.md for existing prefixesDefine the structure before writing:
Format: [PREFIX]-[XXX]
Examples: PIC-001, INT-042, MIG-003
Rules:
SoT/SoT.UNIQUE_ID_SYSTEM.mdReserve ID ranges for logical groupings:
**Category A** (XXX-001 to XXX-099):
**Category B** (XXX-101 to XXX-199):
**Category C** (XXX-201 to XXX-299):
Define the minimum fields every entry needs:
| Field | Purpose | Example |
|-------|---------|---------|
| ID | Unique identifier | PIC-001 |
| Title | Human-readable name | "Stripe Payment Integration" |
| Status | Current state | Active / Deprecated / Planned |
| Created | Origin date | 2025-01-10 |
| Last Updated | Last modification | 2025-01-15 |
| Related IDs | Cross-references | BR-101, API-045 |
Add domain-specific fields as needed, but keep them structural (not methodology):
Use assets/sot-template.md as your starting point.
KEEP in the template (self-documentation):
MOVE to skill references (methodology teaching):
For each section, ask:
"Is this teaching me how to maintain the FILE STRUCTURE, or teaching me DOMAIN KNOWLEDGE about what makes good content?"
Before finalizing, run this checklist:
After creating the SoT file:
Add entry to the structure table:
| `SoT.{YOUR_FILE}.md` | {PREFIX}-### | {Purpose description} |
Add new prefix to Section 1.2 Standard Prefixes:
| **{PREFIX}** | {Meaning} | `SoT.{YOUR_FILE}.md` |
Add empty index table in Part 2 of SoT.UNIQUE_ID_SYSTEM.md:
#### {Your Type} ({PREFIX}-XXX)
| ID | Title | Status | Used By |
|----|-------|--------|---------|
| {PREFIX}-001 | {Title} | Active | {IDs} |
| Pattern | Example | Fix | |---------|---------|-----| | Methodology in template | "Best practices for partner selection" | Move to skill references | | Duplicate prefix | Using BR- for a new file | Choose unique prefix | | Too generic | "Notes.md" | Be specific: "Partner_Integrations.md" | | No update protocol | Template with no maintenance section | Add "Update Protocol" section | | Orphan SoT | Not registered in SoT.README.md | Always register new files |
references/sot-patterns.md — Common patterns across existing SoT filesreferences/examples.md — Before/after examples of SoT creationassets/sot-template.md — Copy-paste starter templateAfter creating a new SoT:
SoT/SoT.{NAME}.mdghm-id-register for adding entriestools
Make technology decisions for every product capability by discovering existing assets, evaluating vendor-aligned options, and categorizing as Reuse/Extend/Build/Buy/Integrate/Research during PRD v0.5 Red Team Review. Handles both greenfield and brownfield contexts. Triggers on "tech stack", "build or buy?", "what technologies?", "technical decisions", "what do we reuse?", "existing stack", "vendor constraint", "IBM-first", "what tools do we need?", "evaluate solutions", "select tech stack". Consumes FEA- (features), SCR- (screens), RISK- (constraints). Outputs TECH- entries with decisions, rationale, and cross-references. Feeds v0.6 Architecture Design.
development
Define success criteria and tracking setup for launch during PRD v0.9 Go-to-Market. Triggers on requests to define launch metrics, set up tracking, or when user asks "how do we measure launch success?", "launch KPIs", "tracking setup", "success criteria", "analytics", "launch goals". Outputs KPI- entries specialized for launch measurement.
development
Define go-to-market strategy including launch plan, messaging, channels, and timing during PRD v0.9 Go-to-Market. Triggers on requests to plan launch, define GTM strategy, or when user asks "how do we launch?", "go-to-market", "launch plan", "marketing strategy", "messaging", "launch channels", "GTM". Outputs GTM- entries with launch plan components.
development
Establish channels and processes for capturing and processing post-launch feedback during PRD v0.9 Go-to-Market. Triggers on requests to set up feedback systems, capture user input, or when user asks "how do we collect feedback?", "feedback loop", "user research", "post-launch feedback", "customer feedback", "NPS", "voice of customer". Outputs CFD- entries specialized for post-launch feedback capture.