/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
$ npx -y skills add mattgierhart/PRD-driven-context-engineering --skill ghm-self-install --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-self-install
Context preview
The summary Claude sees to decide when to auto-load this skill.
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
SKILL.md
ghm-self-install.SKILL.mdname: ghm-self-install
description: >
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 product content. Triggers on "install the methodology",
"adopt this into my repo", "self-install", "set up PRD lifecycle here", "onboard
existing project". Outputs an installed framework + a verification report.
disable-model-invocation: true
context: fork
execution_modes:
default: standard
supports: [quick, standard, deep]
allowed-tools:
- Read
- Write
- Edit
- Glob
- Grep
- Bash
Self-Install
Install the methodology into a target repo from the **install manifest**, the way Xantham's blueprint installs from markdown: the agent runtime *is* the installer, so the whole thing runs inside your Claude Code subscription — no API key, no metered calls, no service to stand up.
> **Two paths, one manifest.** This skill is the interactive path. `install.sh` is the > deterministic CLI path. Both read `.claude/install-manifest.yaml`, so they can't drift. > Prefer driving `install.sh` from this skill; fall back to manual copies only when the > script isn't reachable.
Consumes
- `.claude/install-manifest.yaml` — authoritative `framework` / `template_seed` /
`never_touch` lists (the keystone; never hardcode file lists).
- `install.sh` — the deterministic installer this skill normally drives.
- Safety rules from `ghm-template-sync` Phase "Safety Rules" — never overwrite
`MEMORY.md`, `SoT/*`, `PRD.md`, `README.md` content.
Produces
- An installed framework in the target repo (no new SoT IDs — this skill *places* the
engine, it doesn't author specs).
- A verification report (hooks emit valid JSON; `readiness.py` runs).
Workflow
Phase 1 — Preflight & mode detect
1. Confirm `git`, `python3`, `awk` are present; warn if the target isn't a git repo. 2. Detect mode: **greenfield** (no `.claude/`) vs **brownfield** (existing `.claude/`). Brownfield means *merge, never overwrite product*. 3. State the trade explicitly: this installs files only — it costs subscription tokens for the wizard turn, **zero API**.
Phase 2 — Wizard questions
Ask only what changes the outcome (honor the execution mode's budget):
- **Target directory** (default: current repo).
- **Domain profile**: `product` (default) · `library` · `infrastructure` · `research`.
- **Subset** `[standard+]`: keep all 4 agents + all skills (default), or trim to a role
subset. Quick mode skips this and installs everything.
Phase 3 — Install (drive `install.sh`)
Run the deterministic installer so behavior matches the CLI path exactly:
bash install.sh --target <DIR> --profile <PROFILE> # add --dry-run to preview
- Show the `--dry-run` plan first `[standard+]`, then execute.
- If a framework file shows **drift**, surface the diff and only re-run with `--force`
after the user confirms (mirrors `ghm-template-sync` "show diff before destructive").
- Never write anything in the manifest's `never_touch` list.
Phase 4 — Verify (trust-but-verify, the Xantham `verify-blueprint.sh` analog)
1. Run each `.claude/hooks/*.sh` in the target; assert valid JSON on stdout. 2. Run `python scripts/readiness.py run` — a non-zero exit on an empty scaffold is the **expected BLOCK gate** (no content yet), not a failure. Report the score. 3. Print next steps: customize `README.md` + `PRD.md`, then "Let's frame the problem".
Anti-patterns
| Pattern | Fix | |---------|-----| | Hardcoding the file list in the skill | Read `.claude/install-manifest.yaml` | | Overwriting a brownfield repo's `PRD.md`/`SoT` | Honor `never_touch`; seed templates once | | Treating readiness BLOCK on a fresh scaffold as a bug | It's the gate working — report the score | | Re-implementing copy logic instead of driving `install.sh` | One code path = no drift |
Read more
name: ghm-self-install description: > 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 product content. Triggers on "install the methodology", "adopt this into my repo", "self-install", "set up PRD lifecycle here", "onboard existing project". Outputs an installed framework + a verification report. disable-model-invocation: true context: fork execution_modes: default: standard supports: [quick, standard, deep] allowed-tools: - Read - Write - Edit - Glob - Grep - Bash
Self-Install
Install the methodology into a target repo from the **install manifest**, the way Xantham's blueprint installs from markdown: the agent runtime *is* the installer, so the whole thing runs inside your Claude Code subscription — no API key, no metered calls, no service to stand up.
> **Two paths, one manifest.** This skill is the interactive path. `install.sh` is the > deterministic CLI path. Both read `.claude/install-manifest.yaml`, so they can't drift. > Prefer driving `install.sh` from this skill; fall back to manual copies only when the > script isn't reachable.
Consumes
- `.claude/install-manifest.yaml` — authoritative `framework` / `template_seed` /
`never_touch` lists (the keystone; never hardcode file lists).
- `install.sh` — the deterministic installer this skill normally drives.
- Safety rules from `ghm-template-sync` Phase "Safety Rules" — never overwrite
`MEMORY.md`, `SoT/*`, `PRD.md`, `README.md` content.
Produces
- An installed framework in the target repo (no new SoT IDs — this skill *places* the
engine, it doesn't author specs).
- A verification report (hooks emit valid JSON; `readiness.py` runs).
Workflow
Phase 1 — Preflight & mode detect
1. Confirm `git`, `python3`, `awk` are present; warn if the target isn't a git repo. 2. Detect mode: **greenfield** (no `.claude/`) vs **brownfield** (existing `.claude/`). Brownfield means *merge, never overwrite product*. 3. State the trade explicitly: this installs files only — it costs subscription tokens for the wizard turn, **zero API**.
Phase 2 — Wizard questions
Ask only what changes the outcome (honor the execution mode's budget):
- **Target directory** (default: current repo).
- **Domain profile**: `product` (default) · `library` · `infrastructure` · `research`.
- **Subset** `[standard+]`: keep all 4 agents + all skills (default), or trim to a role
subset. Quick mode skips this and installs everything.
Phase 3 — Install (drive `install.sh`)
Run the deterministic installer so behavior matches the CLI path exactly:
bash install.sh --target <DIR> --profile <PROFILE> # add --dry-run to preview
- Show the `--dry-run` plan first `[standard+]`, then execute.
- If a framework file shows **drift**, surface the diff and only re-run with `--force`
after the user confirms (mirrors `ghm-template-sync` "show diff before destructive").
- Never write anything in the manifest's `never_touch` list.
Phase 4 — Verify (trust-but-verify, the Xantham `verify-blueprint.sh` analog)
1. Run each `.claude/hooks/*.sh` in the target; assert valid JSON on stdout. 2. Run `python scripts/readiness.py run` — a non-zero exit on an empty scaffold is the **expected BLOCK gate** (no content yet), not a failure. Report the score. 3. Print next steps: customize `README.md` + `PRD.md`, then "Let's frame the problem".
Anti-patterns
| Pattern | Fix | |---------|-----| | Hardcoding the file list in the skill | Read `.claude/install-manifest.yaml` | | Overwriting a brownfield repo's `PRD.md`/`SoT` | Honor `never_touch`; seed templates once | | Treating readiness BLOCK on a fresh scaffold as a bug | It's the gate working — report the score | | Re-implementing copy logic instead of driving `install.sh` | One code path = no drift |
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-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

