/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.
$ npx -y skills add mattgierhart/PRD-driven-context-engineering --skill ghm-harvest --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-harvest
Context preview
The summary Claude sees to decide when to auto-load this skill.
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.
SKILL.md
ghm-harvest.SKILL.mdname: ghm-harvest
description: >
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.
context: fork
allowed-tools:
- Read
- Write
- Edit
- Glob
- Grep
Harvest
Extract durable insights from temporary files to Source of Truth during EPIC Phase E (Finish).
Workflow Overview
1. **Enumerate Temps** → List all temp/ files from current EPIC 2. **Identify SoT-worthy** → Determine what should persist 3. **Format Entries** → Convert to proper SoT templates 4. **Archive** → Move temps to archive, update manifest
Core Output Template
| Element | Definition | Evidence | |---------|------------|----------| | **Temp Files** | Files processed | List with paths | | **New SoT Entries** | IDs created | BR-XXX, UJ-XXX, etc. | | **Archive Manifest** | What was archived | Paths and dates | | **Discarded** | What was not kept | Reason for each |
Harvest Decision Matrix
| Content Type | Action | Destination | |--------------|--------|-------------| | Business rule discovered | Extract | `SoT/SoT.BUSINESS_RULES.md` | | User flow documented | Extract | `SoT/SoT.USER_JOURNEYS.md` | | API design finalized | Extract | `SoT/SoT.API_CONTRACTS.md` | | Customer feedback captured | Extract | `SoT/SoT.customer_feedback.md` | | Session notes | Archive only | `archive/YYYY-MM/` | | Scratch work | Discard | Delete after review |
Step 1: Enumerate Temp Files
1. Read EPIC Execution Plan for temp file references 2. List all files in `temp/` directory 3. Match temps to EPIC (by date or naming)
Checklist
- [ ] All EPIC-referenced temps identified
- [ ] Temp directory scanned
- [ ] Files categorized by content type
Step 2: Identify SoT-Worthy Content
For each temp file, evaluate:
| Question | If Yes | If No | |----------|--------|-------| | Is this a business rule? | Extract as BR-XXX | Continue | | Is this a user flow? | Extract as UJ-XXX | Continue | | Is this an API design? | Extract as API-XXX | Continue | | Is this customer evidence? | Extract as CFD-XXX | Continue | | Is this useful context? | Archive | Continue | | Is this scratch work? | Discard | - |
Checklist
- [ ] Each temp file evaluated
- [ ] Extract/Archive/Discard decision made
- [ ] Decisions documented
Step 3: Format SoT Entries
For each extracted item:
1. Generate appropriate ID using `ghm-id-register` 2. Format per SoT template 3. Add cross-references 4. Insert into correct SoT file
Entry Template
### [ID]: [Title]
**Status**: Active
**Created**: YYYY-MM-DD
**Source**: temp/[filename].md (EPIC-XX)
**Cross-References**: [Related IDs]
[Extracted content, properly formatted]
Checklist
- [ ] All extracts have valid IDs
- [ ] Formatting matches SoT templates
- [ ] Cross-references verified
Step 4: Archive and Cleanup
1. Create archive directory: `archive/YYYY-MM/` 2. Move processed temps to archive 3. Generate manifest 4. Update EPIC Phase E checklist
Archive Manifest Template
## Archive Manifest: EPIC-XX
**Date**: YYYY-MM-DD
**Archived To**: archive/YYYY-MM/
### Extracted to SoT
| Temp File | New ID | SoT File |
|-----------|--------|----------|
| temp/file.md | BR-XXX | SoT.BUSINESS_RULES.md |
### Archived Only
| Temp File | Reason |
|-----------|--------|
| temp/notes.md | Session context |
### Discarded
| Temp File | Reason |
|-----------|--------|
| temp/scratch.md | No durable value |
Quality Gates
Pass Checklist
- [ ] All temps processed (none orphaned)
- [ ] Extracted content has valid IDs
- [ ] Archive manifest is complete
- [ ] EPIC Phase E checklist updated
Testability Check
- [ ] SoT entries are findable by ID
- [ ] Archive manifest matches actual files
- [ ] Temp directory is clean
Anti-Patterns
| Pattern | Example | Fix | |---------|---------|-----| | Orphan temps | Temps not in manifest | → Process all files | | Lost context | Archive without manifest | → Always create manifest | | Over-extraction | Everything becomes SoT | → Apply decision matrix | | Under-extraction | Valuable insights lost | → Review before discard |
Boundaries
**DO**:
- Extract durable insights
- Format per templates
- Create complete manifests
- Clean up temps
**DON'T**:
- Create new analysis
- Modify conclusions
- Skip the manifest
- Delete without review
Handoff
After harvest completes:
- SoT files updated with new entries
- Temps archived with manifest
- EPIC Phase E marked complete
- Ready to close EPIC
Read more
name: ghm-harvest description: > 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. context: fork allowed-tools: - Read - Write - Edit - Glob - Grep
Harvest
Extract durable insights from temporary files to Source of Truth during EPIC Phase E (Finish).
Workflow Overview
1. **Enumerate Temps** → List all temp/ files from current EPIC 2. **Identify SoT-worthy** → Determine what should persist 3. **Format Entries** → Convert to proper SoT templates 4. **Archive** → Move temps to archive, update manifest
Core Output Template
| Element | Definition | Evidence | |---------|------------|----------| | **Temp Files** | Files processed | List with paths | | **New SoT Entries** | IDs created | BR-XXX, UJ-XXX, etc. | | **Archive Manifest** | What was archived | Paths and dates | | **Discarded** | What was not kept | Reason for each |
Harvest Decision Matrix
| Content Type | Action | Destination | |--------------|--------|-------------| | Business rule discovered | Extract | `SoT/SoT.BUSINESS_RULES.md` | | User flow documented | Extract | `SoT/SoT.USER_JOURNEYS.md` | | API design finalized | Extract | `SoT/SoT.API_CONTRACTS.md` | | Customer feedback captured | Extract | `SoT/SoT.customer_feedback.md` | | Session notes | Archive only | `archive/YYYY-MM/` | | Scratch work | Discard | Delete after review |
Step 1: Enumerate Temp Files
1. Read EPIC Execution Plan for temp file references 2. List all files in `temp/` directory 3. Match temps to EPIC (by date or naming)
Checklist
- [ ] All EPIC-referenced temps identified
- [ ] Temp directory scanned
- [ ] Files categorized by content type
Step 2: Identify SoT-Worthy Content
For each temp file, evaluate:
| Question | If Yes | If No | |----------|--------|-------| | Is this a business rule? | Extract as BR-XXX | Continue | | Is this a user flow? | Extract as UJ-XXX | Continue | | Is this an API design? | Extract as API-XXX | Continue | | Is this customer evidence? | Extract as CFD-XXX | Continue | | Is this useful context? | Archive | Continue | | Is this scratch work? | Discard | - |
Checklist
- [ ] Each temp file evaluated
- [ ] Extract/Archive/Discard decision made
- [ ] Decisions documented
Step 3: Format SoT Entries
For each extracted item:
1. Generate appropriate ID using `ghm-id-register` 2. Format per SoT template 3. Add cross-references 4. Insert into correct SoT file
Entry Template
### [ID]: [Title] **Status**: Active **Created**: YYYY-MM-DD **Source**: temp/[filename].md (EPIC-XX) **Cross-References**: [Related IDs] [Extracted content, properly formatted]
Checklist
- [ ] All extracts have valid IDs
- [ ] Formatting matches SoT templates
- [ ] Cross-references verified
Step 4: Archive and Cleanup
1. Create archive directory: `archive/YYYY-MM/` 2. Move processed temps to archive 3. Generate manifest 4. Update EPIC Phase E checklist
Archive Manifest Template
## Archive Manifest: EPIC-XX **Date**: YYYY-MM-DD **Archived To**: archive/YYYY-MM/ ### Extracted to SoT | Temp File | New ID | SoT File | |-----------|--------|----------| | temp/file.md | BR-XXX | SoT.BUSINESS_RULES.md | ### Archived Only | Temp File | Reason | |-----------|--------| | temp/notes.md | Session context | ### Discarded | Temp File | Reason | |-----------|--------| | temp/scratch.md | No durable value |
Quality Gates
Pass Checklist
- [ ] All temps processed (none orphaned)
- [ ] Extracted content has valid IDs
- [ ] Archive manifest is complete
- [ ] EPIC Phase E checklist updated
Testability Check
- [ ] SoT entries are findable by ID
- [ ] Archive manifest matches actual files
- [ ] Temp directory is clean
Anti-Patterns
| Pattern | Example | Fix | |---------|---------|-----| | Orphan temps | Temps not in manifest | → Process all files | | Lost context | Archive without manifest | → Always create manifest | | Over-extraction | Everything becomes SoT | → Apply decision matrix | | Under-extraction | Valuable insights lost | → Review before discard |
Boundaries
**DO**:
- Extract durable insights
- Format per templates
- Create complete manifests
- Clean up temps
**DON'T**:
- Create new analysis
- Modify conclusions
- Skip the manifest
- Delete without review
Handoff
After harvest completes:
- SoT files updated with new entries
- Temps archived with manifest
- EPIC Phase E marked complete
- Ready to close EPIC
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-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-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
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

