Pm-skills init-project-jpkb
Initialize new JPKB projects with standardized documentation and folder structure. JPKB-specific version with category folders and fixed base path. Use when creating a new project in the jpkb repository, when the user says "init project", "new project", or when the target is the JPKB projects folder.
git clone https://github.com/product-on-purpose/pm-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/product-on-purpose/pm-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/init-project-jpkb" ~/.claude/skills/product-on-purpose-pm-skills-init-project-jpkb && rm -rf "$T"
.claude/skills/init-project-jpkb/SKILL.mdJPKB Project Initialization Workflow
Scaffold new projects in the JPKB repository with standardized documentation artifacts.
Execution Steps
1. Gather Requirements
Before creating any files, clarify with user:
| Required | Question | Default |
|---|---|---|
| ✓ | Project name? | None — must ask |
| ✓ | Category/parent folder? | Prompt with existing options |
| Project type? | | |
| License preference? | MIT | |
| Brief description? | "A new project" |
Skip questions if context provides answers. If user says "init parametric-hinge in 3d-prints", don't re-ask.
2. Confirm Target Path
Before creating files, confirm the full path:
Target: E:\Projects\JP KB\jpkb\projects\<category>\<project-name>\
Wait for user confirmation or correction.
3. Check for Existing Files
Before creating, check what already exists:
| If Exists | Action |
|---|---|
| README.md | Skip — preserve existing |
| CHANGELOG.md | Skip — preserve existing |
| LICENSE | Skip — preserve existing |
| .gitignore | Merge — append missing entries |
| _NOTES/ | Skip — preserve existing |
| AGENTS/ | Create missing parts only |
This allows safe re-runs on existing projects to add agentic structure.
4. Create Directory Structure
<project-name>/ ├── README.md ├── CHANGELOG.md ├── LICENSE ├── .gitignore ├── _NOTES/ │ └── .gitkeep └── AGENTS/ └── claude/ ├── CONTEXT.md ├── TODO.md ├── DECISIONS.md └── SESSION-LOG/
5. Populate Files
Use templates from
assets/ folder, substituting:
— Project name{{PROJECT_NAME}}
— Project description{{DESCRIPTION}}
— Current date (YYYY-MM-DD){{DATE}}
— Current year{{YEAR}}
— Project category{{CATEGORY}}
See
references/project-types.md for type-specific variations.
6. Confirm Completion
Report to user:
- Full path created
- Files generated
- Suggested next steps
Project Types
| Type | Additional Structure | Use When |
|---|---|---|
| Base structure only | Default, documentation |
| + , , | Python projects |
| + , | Node.js projects |
| + , | 3D printing projects |
| + , | Research/data projects |
See
references/project-types.md for complete details.
Template Assets
| File | Source |
|---|---|
| README.md | |
| CHANGELOG.md | |
| LICENSE (MIT) | |
| LICENSE (Apache) | |
| .gitignore | |
| CONTEXT.md | |
| TODO.md | |
| DECISIONS.md | |
Integration with wrap-session
This skill creates the structure that
/wrap-session writes to:
| Init Creates | Wrap-Session Updates |
|---|---|
| README.md (template) | README.md (with progress) |
| CHANGELOG.md ([Unreleased]) | CHANGELOG.md (with changes) |
| CONTEXT.md (initial state) | CONTEXT.md (current state) |
| TODO.md (empty) | TODO.md (with tasks) |
| SESSION-LOG/ (empty) | SESSION-LOG/*.md |