Skill182 estrellas del repoactualizado 5d ago
ghm-self-install
>
Instalar en Claude Code
Copiargit clone --depth 1 https://github.com/mattgierhart/PRD-driven-context-engineering /tmp/ghm-self-install && cp -r /tmp/ghm-self-install/plugins/prd-ce/skills/ghm-self-install ~/.claude/skills/ghm-self-installDespués abre una sesión nueva de Claude Code; el skill carga automáticamente.
Definición
SKILL.md
# 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 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 |