Skip to content
Back to skills

Ghm Sot Builder

ASecurity

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.

  • 666 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added February 8, 2026
documentationgoapidocumentation

Works with

  • api

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill ghm-sot-builder --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ghm Sot Builder?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ghm Sot Builder
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-ghm-sot-builder/badge)](https://www.skillsdirectory.com/skills/majiayu000-ghm-sot-builder)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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.
---

# 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:

```markdown
**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 without loading other files
- [ ] Methodology examples are in skill references, not template
- [ ] General governance references SoT.README.md

## Step 5: Register and Integrate

After creating the SoT file:

### Update SoT.README.md

Add entry to the structure table:

```markdown
| `SoT.{YOUR_FILE}.md` | {PREFIX}-### | {Purpose description} |
```

### Update SoT.UNIQUE_ID_SYSTEM.md

Add new prefix to Section 1.2 Standard Prefixes:

```markdown
| **{PREFIX}** | {Meaning} | `SoT.{YOUR_FILE}.md` |
```

### Create Index Tables

Add empty index table in Part 2 of SoT.UNIQUE_ID_SYSTEM.md:

```markdown
#### {Your Type} ({PREFIX}-XXX)

| ID | Title | Status | Used By |
|----|-------|--------|---------|
| {PREFIX}-001 | {Title} | Active | {IDs} |
```

## Quality Gates

### Pass Checklist
- [ ] ID prefix is unique across all SoT files
- [ ] Template follows purity standard
- [ ] Update protocol included
- [ ] Cross-reference index structure defined
- [ ] SoT.README.md updated
- [ ] SoT.UNIQUE_ID_SYSTEM.md updated

### Testability Check
- [ ] Can create a new entry using only the template instructions
- [ ] Cross-references can be validated programmatically
- [ ] Entries can be found by ID search

## Anti-Patterns

| 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 |

## Bundled Resources

- **`references/sot-patterns.md`** — Common patterns across existing SoT files
- **`references/examples.md`** — Before/after examples of SoT creation
- **`assets/sot-template.md`** — Copy-paste starter template

## Handoff

After creating a new SoT:
1. SoT file exists at `SoT/SoT.{NAME}.md`
2. SoT.README.md lists the new file
3. SoT.UNIQUE_ID_SYSTEM.md has the new prefix
4. Ready to use `ghm-id-register` for adding entries

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.