| name | pm-project-templates |
| description | Tag-keyed template registry for project types (feature-epic, migration, research-track, integration). Mirrors pm-templates one tier up — the registry is consulted by pm-projects create (to scaffold a project body) and by pm-project-review (to lint required sections). Operates on a project (a Linear Project / GitHub Milestone), not an individual issue. Trigger phrases — "project template", "template for an epic", "template for a migration project", "list project templates", "add a project template", "register a project type", "/pm-project-templates". |
| version | 0.44.4 |
PM Project Templates
Tag-keyed registry of project-type templates. One template per type, two-layer resolution: <repo>/.claude/pm/project-templates/ overrides the plugin default if present.
Registry layout
<repo>/.claude/pm/project-templates/
├── _manifest.json
└── <type>.md
Plugin defaults ship at skills/pm-project-templates/templates/.
Manifest schema
_manifest.json:
{
"types": {
"<type-key>": {
"required_sections": ["..."],
"optional_sections": ["..."],
"labels": { "linear": ["..."], "github": ["..."] }
}
}
}
required_sections drive the pm-project-review linter; optional_sections are recommended but not enforced; labels are applied at create time per-tracker.
Default types shipped
| Type | Required sections |
|---|
feature-epic | Goal / Success Metrics / Milestones / Risks / Out of Scope |
migration | Goal / Scope / Rollback Plan / Cutover Steps / Risks |
research-track | Question / Hypotheses / Time Box / Deliverable / Decision Criteria |
integration | Goal / Systems Involved / Contract / Risks / Acceptance |
Resolution order
<repo>/.claude/pm/project-templates/_manifest.json — fully replaces plugin defaults if present (in-repo manifest is authoritative).
plugins/project-manager/skills/pm-project-templates/templates/_manifest.json — plugin default.
Body resolution (per type) follows the same two-layer rule.
Operations
| Task | How |
|---|
| List registered types | Read the resolved manifest's types keys |
| Show a type body | Read <type>.md (in-repo first, then plugin) |
| Register a new type | Author <repo>/.claude/pm/project-templates/<type>.md + add an entry to the in-repo _manifest.json |
| Drop a default type | Author the in-repo manifest with the trimmed types map |
Related
pm-projects — uses the template body + required sections to scaffold and validate creates.
pm-project-review — lints an existing project against its type's required_sections.
pm-templates — the issue-tier equivalent. Distinct registry, identical mechanic.