/ghm-sot-builder
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
$ npx -y skills add mattgierhart/PRD-driven-context-engineering --skill ghm-sot-builder --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/ghm-sot-builder
Context preview
The summary Claude sees to decide when to auto-load this skill.
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
SKILL.md
ghm-sot-builder.SKILL.mdname: ghm-sot-builder
description: >
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.
context: fork
allowed-tools:
- Read
- Write
- Edit
- Glob
- Grep
SoT Builder
Create new Source of Truth files that fit your product's unique needs while maintaining template purity.
When to Use This Skill
This skill is for **rare occasions** (3-4 times per product lifecycle) when:
- You fork this repo and the existing SoT files don't cover your artifact types
- Your product needs to track a concept that doesn't fit existing ID prefixes
- You need to consolidate scattered documentation into a canonical SoT
**Do NOT use** when:
- An existing SoT file covers your need (just add entries there)
- You want to track temporary/session-specific data (use `temp/` instead)
- The artifact type is already covered by `ghm-id-register`
Workflow Overview
1. **Identify Need** → Confirm no existing SoT fits 2. **Design Schema** → Define ID prefix, categories, required fields 3. **Draft Template** → Create pure structure (no methodology teaching) 4. **Validate Purity** → Apply the litmus test 5. **Register & Integrate** → Update SoT.README.md and ID system
Core Output Template
See `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 |
Step 1: Identify the Need
Before creating a new SoT, verify:
Checklist
- [ ] Searched existing SoT files for similar artifact types
- [ ] Confirmed the concept is **durable** (survives multiple sessions)
- [ ] Confirmed the concept needs **unique IDs** for cross-referencing
- [ ] Confirmed this isn't better served by a subsection in an existing SoT
Questions to Answer
1. **What artifact type does this track?**
- Bad: "Notes" (too generic)
- Good: "Partner Integration Contracts" (specific, durable)
2. **Why can't existing SoT files handle this?**
- Valid: "We need different fields than API contracts for partner integrations"
- Invalid: "I just want a separate file" (preference, not need)
3. **What ID prefix will you use?**
- Must be unique across the system
- 2-4 uppercase letters
- Check `SoT/SoT.UNIQUE_ID_SYSTEM.md` for existing prefixes
Step 2: Design the Schema
Define the structure before writing:
ID Prefix Selection
Format: [PREFIX]-[XXX]
Examples: PIC-001, INT-042, MIG-003
**Rules**:
- 2-4 uppercase letters
- Descriptive but short
- Unique across all SoT files
- Check existing prefixes in `SoT/SoT.UNIQUE_ID_SYSTEM.md`
Category Ranges
Reserve 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):
Required Fields per Entry
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 |
Optional Fields
Add domain-specific fields as needed, but keep them structural (not methodology):
- Good: "Partner Contact" (data field)
- Bad: "Best Practices for Partner Selection" (methodology teaching)
Step 3: Draft the Template
Use `assets/sot-template.md` as your starting point.
Structure Sections
1. **YAML Frontmatter** - Metadata for the file 2. **Title & Purpose Block** - What this SoT tracks 3. **Navigation by Category** - Quick links to entries 4. **Entry Template** - Repeatable structure (copy for each new entry) 5. **Deprecated Section** - Where old entries go 6. **Cross-Reference Index** - Bidirectional links 7. **Update Protocol** - When/how to maintain
Template Purity Rules
**KEEP in the template** (self-documentation):
- When to add new entries
- Required fields checklist
- Cross-reference integrity checks
- File-specific maintenance procedures
**MOVE to skill references** (methodology teaching):
- "Best practices" for this domain
- "What makes a good entry"
- Example workflows beyond format
- Evaluation criteria
Litmus Test
For each section, ask:
> "Is this teaching me how to maintain the FILE STRUCTURE, or teaching me DOMAIN KNOWLEDGE about what makes good content?"
- File structure maintenance → Keep in template
- Domain knowledge → Move to skill references
Step 4: Validate Purity
Before finalizing, run this checklist:
Purity Checklist
- [ ] No "how to analyze" or "how to evaluate" content
- [ ] No "best practices" or "key learnings" sections
- [ ] No cross-file workflows (multi-file coordination)
- [ ] No "what makes a good entry" evaluation criteria
- [ ] Examples show FORMAT only, not instructional CONTENT
- [ ] Self-documentation is under 20% of total file size
Self-Documentation Checklist
- [ ] Has "Update Protocol" section
- [ ] Documents when to add new IDs
- [ ] Includes cross-reference integrity checks
- [ ] Specifies required fields for new entries
- [ ] Self-documentation is file-specific (not generic)
Context Efficiency Checklist
- [ ] Template can be read
Read more
name: ghm-sot-builder description: > 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. context: fork allowed-tools: - Read - Write - Edit - Glob - Grep
SoT Builder
Create new Source of Truth files that fit your product's unique needs while maintaining template purity.
When to Use This Skill
This skill is for **rare occasions** (3-4 times per product lifecycle) when:
- You fork this repo and the existing SoT files don't cover your artifact types
- Your product needs to track a concept that doesn't fit existing ID prefixes
- You need to consolidate scattered documentation into a canonical SoT
**Do NOT use** when:
- An existing SoT file covers your need (just add entries there)
- You want to track temporary/session-specific data (use `temp/` instead)
- The artifact type is already covered by `ghm-id-register`
Workflow Overview
1. **Identify Need** → Confirm no existing SoT fits 2. **Design Schema** → Define ID prefix, categories, required fields 3. **Draft Template** → Create pure structure (no methodology teaching) 4. **Validate Purity** → Apply the litmus test 5. **Register & Integrate** → Update SoT.README.md and ID system
Core Output Template
See `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 |
Step 1: Identify the Need
Before creating a new SoT, verify:
Checklist
- [ ] Searched existing SoT files for similar artifact types
- [ ] Confirmed the concept is **durable** (survives multiple sessions)
- [ ] Confirmed the concept needs **unique IDs** for cross-referencing
- [ ] Confirmed this isn't better served by a subsection in an existing SoT
Questions to Answer
1. **What artifact type does this track?**
- Bad: "Notes" (too generic)
- Good: "Partner Integration Contracts" (specific, durable)
2. **Why can't existing SoT files handle this?**
- Valid: "We need different fields than API contracts for partner integrations"
- Invalid: "I just want a separate file" (preference, not need)
3. **What ID prefix will you use?**
- Must be unique across the system
- 2-4 uppercase letters
- Check `SoT/SoT.UNIQUE_ID_SYSTEM.md` for existing prefixes
Step 2: Design the Schema
Define the structure before writing:
ID Prefix Selection
Format: [PREFIX]-[XXX] Examples: PIC-001, INT-042, MIG-003
**Rules**:
- 2-4 uppercase letters
- Descriptive but short
- Unique across all SoT files
- Check existing prefixes in `SoT/SoT.UNIQUE_ID_SYSTEM.md`
Category Ranges
Reserve 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):
Required Fields per Entry
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 |
Optional Fields
Add domain-specific fields as needed, but keep them structural (not methodology):
- Good: "Partner Contact" (data field)
- Bad: "Best Practices for Partner Selection" (methodology teaching)
Step 3: Draft the Template
Use `assets/sot-template.md` as your starting point.
Structure Sections
1. **YAML Frontmatter** - Metadata for the file 2. **Title & Purpose Block** - What this SoT tracks 3. **Navigation by Category** - Quick links to entries 4. **Entry Template** - Repeatable structure (copy for each new entry) 5. **Deprecated Section** - Where old entries go 6. **Cross-Reference Index** - Bidirectional links 7. **Update Protocol** - When/how to maintain
Template Purity Rules
**KEEP in the template** (self-documentation):
- When to add new entries
- Required fields checklist
- Cross-reference integrity checks
- File-specific maintenance procedures
**MOVE to skill references** (methodology teaching):
- "Best practices" for this domain
- "What makes a good entry"
- Example workflows beyond format
- Evaluation criteria
Litmus Test
For each section, ask:
> "Is this teaching me how to maintain the FILE STRUCTURE, or teaching me DOMAIN KNOWLEDGE about what makes good content?"
- File structure maintenance → Keep in template
- Domain knowledge → Move to skill references
Step 4: Validate Purity
Before finalizing, run this checklist:
Purity Checklist
- [ ] No "how to analyze" or "how to evaluate" content
- [ ] No "best practices" or "key learnings" sections
- [ ] No cross-file workflows (multi-file coordination)
- [ ] No "what makes a good entry" evaluation criteria
- [ ] Examples show FORMAT only, not instructional CONTENT
- [ ] Self-documentation is under 20% of total file size
Self-Documentation Checklist
- [ ] Has "Update Protocol" section
- [ ] Documents when to add new IDs
- [ ] Includes cross-reference integrity checks
- [ ] Specifies required fields for new entries
- [ ] Self-documentation is file-specific (not generic)
Context Efficiency Checklist
- [ ] Template can be read
PRD-driven Context Engineering: A systematic approach to building AI-powered products using progressive documentation and context-aware development workflows
Repo: mattgierhart/PRD-driven-context-engineering
Other skills on prd-driven-context-engineering.
- /SKILL_TEMPLATE
[1-2 sentence description of what this skill does]. Triggers on [specific phrases/contexts that should activate this skill]. Outputs [what the skill produces].
Open skill - /ghm-gate-check
Validates gate criteria before PRD lifecycle advancement by delegating to the readiness scoring pipeline (scripts/readiness.py). Returns a graduated PASS / WARN / BLOCK verdict with top blockers and their causal chain. Triggers before advancing from v0.X to v0.Y or explicit
Open skill - /ghm-harvest
Extracts durable insights from temp/ files to SoT during EPIC Phase E. Triggers at EPIC completion or explicit `/ghm-harvest` invocation. Outputs new SoT entries and archive manifest.
Open skill - /ghm-id-register
Validates and registers new SoT IDs with cross-reference integrity. Triggers when creating BR-XXX, UJ-XXX, API-XXX, or CFD-XXX entries. Outputs formatted SoT entry with validated cross-references.
Open skill - /ghm-self-install
Install the PRD-Driven Context Engineering methodology into a fresh OR existing repository — the subscription-native alternative to forking the whole repo. Runs an interactive wizard that seeds the framework (.claude/ hooks, skills, agents, rules, scripts) without clobbering
Open skill - /ghm-status-sync
Synchronizes README.md Command Center with current project state. Triggers on gate changes, EPIC status changes, or explicit `/ghm-status-sync` invocation. Outputs updated README.md dashboard with current lifecycle stage, blockers, and metrics.
Open skill

