SKILL.md
Workflow: Template Extractor (Real Project → Template)
Goal: Turn a real project into a shareable, runnable template in templates/ with minimal manual cleanup.
This is intended for “proven projects” you want to reuse as a baseline for future builds.
Input (pass paths only)
sourcereporoot: Path to the real projecttargetreporoot: Ship Faster repository root (wheretemplates/lives)rundir:runs/template-extractor/active/<runid>/extract_spec.md: What to keep/remove/generalize (brand, copy, assets, integrations, auth gates)
Output (persisted)
03-plans/extract-plan.md05-final/extract-summary.mdtemplates/<NNN>-<slug>/(runnable)
Workflow
0) Initialize
- Create
run_dir. - Decide
<slug>and<NNN>(next available template number). - Copy
sourcereporoot→templates/<NNN>-<slug>/(no build outputs, no caches).
1) De-secrets + de-brand
Must do:
- Remove secret values from all files (
.env*, config, hard-coded tokens). - Replace project IDs (Stripe price IDs, Supabase URLs/keys, webhook secrets) with env var keys.
- Replace branding (names/domains/logos) with neutral placeholders unless the template is intentionally branded.
2) Normalize template entry docs
Required files:
README.md(5‑minute runnable).env.local.example(keys only)metadata.json(name + description)
Recommended:
- Ensure scripts exist for
dev,build,start - If lint/typecheck/format are missing and the repo is TS-heavy, add minimal guardrails (avoid heavy governance)
3) Verification
Document in 05-final/extract-summary.md:
- install works
devstartsbuildsucceeds (or clearly document why it can’t without credentials)
Constraints
- Never commit secret values.
- Extraction should be “copy + cleanup”, not a refactor project.