phase-project-init
Skill0 starsChanged 3 months agoMITView on GitHub
Use to bootstrap a fresh project for the phase-driven workflow. Trigger when the user is starting a brand-new project, says "initialize the project", "set up the project", "bootstrap this repo", "set up the phase workflow here", "phase init", or otherwise wants the scaffolding (development directories, phase-log templates, optionally git) in place before any phase work begins. Asks whether the project should use git (it is optional), sets up the development/phase_log/ structure, the plan/log/index templates, and the conventions the phase-tracker and phase-recap skills expect, then hands off to phase-tracker or phase-loop for the first phase.
In this repository25 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- phase-adoptSkill
- phase-amendSkill
- phase-auditSkill
- phase-decomposeSkill
- phase-loopSkill
- phase-project-initSkill
- phase-recapSkill
- phase-trackerSkill
- phase-adoptSkill
- phase-amendSkill
- phase-auditSkill
- phase-decomposeSkill
- phase-loopSkill
- phase-project-initSkill
- phase-recapSkill
- phase-trackerSkill
- phase-adoptSkill
- phase-amendSkill
- phase-auditSkill
- phase-decomposeSkill
- phase-loopSkill
- phase-recapSkill
- phase-trackerSkill
The file
We split this skill into the rules it gives an agent
12 rules. About 0 are common, 6 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 36
If not already a repo, git init and set the default branch (git branch -M main, or ask if they want another name).
- Very specific: line 37
Create a .gitignore if none exists — minimal and appropriate to the stack the user names (don't guess heavily.
- Very specific: line 61
If the project uses git and will open PRs (a remote / forge exists or is planned), also copy assets/.github/pull_request_template.md → …
- Very specific: line 74
Keep design/ even if the project has nothing to document yet.
- Distinctive: line 91
If a guide file exists, append the charter (don't overwrite the project's existing guidance).
- Very specific: line 96
If the project uses git, stage the scaffolding with an explicit file list (the development/ tree, .gitignore, …
- Very specific: line 119
Do not run it on an already-initialized project (one that has development/phase_log/).
- Distinctive: line 120
Do not initialize git without asking.
- Very specific: line 121
Do not put anything but concepts inside development/.
- Distinctive: line 122
Do not treat the bootstrap as a phase — no plan/log for the setup itself.
- Distinctive: line 123
Do not commit project source code in the bootstrap commit.
- Distinctive: line 124
Do not invent project specifics (stack, design docs, branch names) — ask when unsure.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Phase Project Init
This skill prepares an empty or new project so the rest of the phase workflow has the structure it expects. Run it once, at the very start of a project.
Empty repo only. If the project already has code and git history, use
phase-adoptinstead — it lands the same scaffolding through a docs-lane PR rather than the direct bootstrap commit below.
It is not itself a phase — bootstrapping needs no phase plan or log. In a git-tracked project it is the one time it is acceptable to make a direct commit to the default branch (the initial scaffold commit), because there is nothing yet to branch from. Every commit after this one goes through the branch + worktree + PR cycle.
What "set up" means
By the end, the project has:
- A decision about git — and, if the user wants it, a repository with an initial commit and a known default branch. Git is optional; the workflow runs without it.
- A knowledge bundle at
development/— adesign/layer, aphase_log/layer with the three templates and a seededphase_index.md, and the reserved root files. - The conventions the phase skills rely on, optionally documented at the project root.
- A clear answer to "what's the first phase?" — handed off to
phase-tracker(single effort) orphase-loop(large umbrella plan).
Procedure
Step 1: Confirm the project root and intent
Confirm the directory to initialize and that it is meant to be a new phase-workflow project. If it already has a development/phase_log/, stop — it's already initialized; offer phase-recap instead. Ask the user one question if anything is ambiguous: project name, whether this project will keep living design docs, and — always — whether they want to use git (see Step 2).
Step 2: Ask about git, then initialize it (or don't)
Ask the user whether this project should use git — never assume it. Git buys the workflow its branch/worktree/PR discipline, but the phase workflow itself (plans before code, logs after, the index) works fine without it. Put the question plainly: "Do you want this project under git? The phase workflow works either way — with git each Minor gets its own branch and PR; without it, phases are just tracked in development/phase_log/."
If the user wants git:
- If not already a repo,
git initand set the default branch (git branch -M main, or ask if they want another name). - Create a
.gitignoreif none exists — minimal and appropriate to the stack the user names (don't guess heavily; a near-empty.gitignoreis fine to start). Include.worktrees/— every phase worktree is created there and must never be tracked by the primary checkout. - Note the branch-protection convention to the user: the default branch is protected by policy — all later changes reach it only through PRs. Local git can't enforce this; if a remote exists, suggest enabling branch protection there. Record it as a rule, not an enforced setting.
If the user declines git:
- Skip everything git-related, here and in every later phase: no branches, worktrees, commits, or PRs. The phase cycle reduces to plan → approve → implement → log + index.
- Tell them git is easy to add later: run
git init, commit everything as the baseline, and follow the workflow's git rules from that point on — no restructuring needed, because the phase artifacts are ordinary files that git picks up as-is. Any phase skill can help do this when asked.
Step 3: Create the knowledge bundle
development/ is a knowledge bundle: everything inside it is a concept — a
document with YAML front matter, following the shape the templates carry.
Evidence and analysis (audits, triage notes, scratch research) live outside
it, so the directory explains itself.
Copy this skill's bundled payload wholesale — the asset tree is already the target shape:
assets/development/→development/index.md,log.md— the reserved root files.design/index.md,design/_element_template.md— the curated current-state layer.phase_log/phase_plan_template.md,phase_log/phase_log_template.md,phase_log/phase_index.md— the phase-history layer, seeded and empty.
- If the project uses git and will open PRs (a remote / forge exists or is
planned), also copy
assets/.github/pull_request_template.md→.github/pull_request_template.mdso every PR carries the phase-artifacts and agent-signatures sections. Skip it in a no-git project.
(The remaining asset, assets/phase_project.md, is the portable workflow
charter — it is installed in Step 5, not copied to the project root.)
There is no separate schema file or validator tool — the templates are the
contract, and upholding it (complete front matter, one ## OKF relationships
footer per phase record, no stray files in the bundle) is part of writing each
record.
Keep design/ even if the project has nothing to document yet; the layer costs
one index file and phase-tracker Step 3.5 fills it in as phases land.
Step 4: Install the conventions (optional but recommended)
The phase skills each embed their own conventions, so they work without these files. Installing them at the project root makes the project self-documenting and lets the skills' reference links resolve:
TERMINOLOGY.md— the Major / Minor / Patch glossary and the scoped-recap rules.templates/recap_template.mdandtemplates/response_templates.md— the recap report format and the labeled response banners.
These ship only with the full phase-skills repository, not with the installed skills. If the full suite is available alongside the skills, copy those files to the project root; if only the skills were installed (the plugin or copied skill folders), skip this — nothing breaks, because every skill embeds what it needs.
Step 5: Seed or update the project's agent guide
Add the phase workflow charter to the project's agent guide file: paste the content of this skill's assets/phase_project.md (everything below its ---). The charter ships as an asset of this skill precisely so this step works in every install — never skip it because a repo-root phase_project.md wasn't found; the asset copy is the same file.
- Which guide file: whichever the project's agents read —
CLAUDE.md(Claude Code),AGENTS.md(Codex, Copilot, and other agents), or both if in doubt or the user works with several. When both exist they should carry the same charter text. - If a guide file exists, append the charter (don't overwrite the project's existing guidance); if not, create it with the charter.
- The asset is the single source for this section — don't hand-write a divergent version.
Step 6: Initial commit (git projects only)
If the project uses git, stage the scaffolding with an explicit file list (the development/ tree, .gitignore, .github/pull_request_template.md if installed, and the guide file(s) touched in Step 5) and commit to the default branch:
chore: bootstrap phase workflow scaffoldingEnd with the Co-Authored-By: trailer. This is the only sanctioned direct-to-default-branch commit; say so when you make it. In a project without git, skip this step.
Step 7: Hand off to the first phase
Determine the first unit of work with the user and route to the right skill:
- One concrete effort →
phase-tracker, starting at1.1.0(the first Minor of Major 1). In a git project, cut the branch + worktree (under.worktrees/) and write the plan; without git, just write the plan. - A large multi-step plan / umbrella →
phase-decomposeto chunk it into a quality roadmap, thenphase-loopto run the cycles until complete. The umbrella/roadmap plan is1.0.0(MAJOR.0.0).
Numbering starts at Major 1. Reserve MAJOR.0.0 for a Major's umbrella/roadmap plan; the first real feature is 1.1.0.
Setup summary
When done, give the user a short report: git set up (default branch) or deliberately skipped, development/phase_log/ created with templates + seeded index, PR template installed (or not applicable), conventions installed (or skipped), which agent guide file(s) got the charter (CLAUDE.md / AGENTS.md), initial commit made (git projects), and the proposed first phase with the skill that will run it.
What this skill should not do
- Do not run it on an already-initialized project (one that has
development/phase_log/). Usephase-recapto load state instead. - Do not initialize git without asking. Git is optional; the user decides, and declining it must not degrade the rest of the setup.
- Do not put anything but concepts inside
development/. Audits, triage notes, scratch research, and tooling go elsewhere in the project — keeping the bundle clean is the point. - Do not treat the bootstrap as a phase — no plan/log for the setup itself.
- Do not commit project source code in the bootstrap commit; this commit is scaffolding only. Real work starts on a branch in the next step.
- Do not invent project specifics (stack, design docs, branch names) — ask when unsure.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

