project-spine-templatelisted
Install: claude install-skill PetriLahdelma/project-spine
# Template save / apply flow
**Goal:** reuse a team's agreed-upon project structure (brief scaffold + design rules + compile-time contributions) across client projects.
## Template sources, priority order
Project Spine resolves templates from these roots (highest priority first):
1. **Project-local** — `./.project-spine-templates/<name>/` committed to the current repo.
2. **User-local** — `~/.project-spine/templates/<name>/` on this machine.
3. **Bundled** — `saas-marketing`, `app-dashboard`, `design-system`, `docs-portal`, `api-service`, and `monorepo` ship with the CLI.
Same name in a higher tier overrides lower tiers.
## Flow A — apply an existing template to a new project
```bash
spine template list
```
Shows all templates reachable from this shell. The `[source]` column tells the user where each one comes from.
```bash
spine init --template <name>
```
Scaffolds `brief.md` from the template's starter content. Then follow project-spine-kickoff from Step 3.
## Flow B — save the current project as a template
Prerequisite: the user already has a `brief.md` and ran `spine compile` at least once. The compiled `.project-spine/spine.json` is used to derive the template's `contributes` block automatically.
```bash
spine template save \
--name my-agency-saas \
--title "My agency SaaS starter" \
--description "Our marketing site template (Acme Inc.)" \
--location user
```
`--location` options:
- `user` (default) — saves to `~/.project-spine/templates/<name>/`;