| name | init-project |
| description | Initialize a new project. Interviews the user to capture project overview, tech stack, development workflow rules, and platform type, then creates Phase 0 documents and executes the appropriate platform setup (Phase 1). |
| disable-model-invocation | true |
Skill: Project Initialization
When to run: Run once at the start of a project (Phase 0 ā Phase 1)
Purpose: Create a state where team members (both human and AI agents) can understand
"how to operate this project" from a single file (CONTEXT.md),
and complete through the platform-specific development workflow definition (Phase 1).
Prerequisites: The repository must already be created.
What this skill creates
Phase 0 (common to all platforms)
| File | Role | How content is determined |
|---|
docs/00_project/overview.md | Project purpose, scope, and tech stack | Generated from Q1 & Q2 answers |
docs/00_project/decisions.md | Technology decision log (ADR format) | Generated from Q2 answers |
docs/06_ai_context/CONTEXT.md | Navigation map (including development rules) | Generated from all answers |
Phase 1 (executed based on the platform selected in Q4)
| Platform | Reference | Number of documents generated |
|---|
| Windows (WPF / .NET 8) | setup-windows.md | 6 files + CONTEXT.md update |
| Web (React / ASP.NET Core) | setup-web.md | 7 files + CONTEXT.md update |
Content is generated by the agent based on interview answers (not a fixed template).
See the "Document structure" section below for the list of documents to generate and criteria for required vs. optional.
Interview (Phase 0)
The agent asks the following questions one at a time, in order.
Q1. Project overview
"What will this project build? (Describe the purpose, target users, and main features in 3 lines or fewer)"
ā Used for the purpose, background, and scope fields of overview.md
ā Used for the opening 3 lines (project overview) of CONTEXT.md
Q2. Tech stack
"Please describe the tech stack you will use.
(e.g., platform / language / framework / DB / distribution method)"
Then ask:
"What are the main reasons for choosing each technology?
You can write 'undecided' for items you are unsure about."
ā Used for the tech stack table in overview.md
ā Recorded as ADRs in decisions.md (only for items with clear reasons)
ā Used for the tech stack section of CONTEXT.md
Q3. Development rules
"Let's confirm the development rules for this project.
You can write 'undecided' for anything not yet decided ā you can update CONTEXT.md later."
Confirm the following in order:
| # | Question | Example answer |
|---|
| Q3-1 | Branch strategy: How will you manage branches? | main + feature/xxx / main only (solo development) |
| Q3-2 | PRs and reviews: What is required before merging code? | PR required, 1 approval before merge / Self-merge allowed / AI review followed by human confirmation |
| Q3-3 | Testing policy: How will you handle tests? | 80%+ coverage for ViewModel/Service layer / Main logic only / CI required |
| Q3-4 | AI involvement: How much do you delegate to AI agents? | Autonomous through implementation, tests, and PR / Implementation assistance (human makes final decisions) / Documentation generation only |
ā Record all 4 answers together in the "Development rules" section of CONTEXT.md
Q4. Platform
"Select the target platform:
- Windows desktop app (WPF / .NET 8)
- Web app (React / ASP.NET Core / .NET 8)
- Other (Phase 1 will be set up manually)"
ā After generating Phase 0 documents, continue to Phase 1 setup based on the answer (see below)
Phase 0 output structure
CONTEXT.md structure (the version generated by this skill)
Composed of the following required sections.
## Project Overview (3 lines)
ā Generated from Q1 answer
## Tech Stack
ā Generated from Q2 answer
## Development Rules
Branch strategy ā Q3-1
PR & review ā Q3-2
Testing policy ā Q3-3
AI involvement ā Q3-4
## Document Structure
ā Generated from the path list in the "Document structure" section below
## Current Phase & Priority Tasks
Phase: Phase 1 (knowledge base construction) starting
Next action ā see exec-plans/active/
## Reference Documents
docs/00_project/overview.md
docs/00_project/decisions.md
docs/03_implementation/invariants.md (required reading before starting implementation)
Phase 1 setup (executed based on Q4 answer)
After Phase 0 document generation is complete, continue to Phase 1.
Q4 = Windows (WPF / .NET 8)
Generate Phase 1 documents following the contents of setup-windows.md.
Q4 = Web (React / ASP.NET Core)
Generate Phase 1 documents following the contents of setup-web.md.
Q4 = Other
Report Phase 0 completion and guide the user to set up Phase 1 manually.
Diagram rules (applies to all generated documents)
When generating any document that includes a diagram or figure:
- Use Mermaid for flows, sequences, class diagrams, ER diagrams, and state machines.
- Use ASCII art only when Mermaid cannot represent the layout (e.g., 2D UI panels, grid tables).
- When using ASCII art, always follow it immediately with a plain-text explanation of what the diagram shows and how it behaves.
This rule is defined in CLAUDE.md and applies to all skills in this project (documented guideline; no automated hook enforcement).
Document structure
A complete list of documents managed by the project. Required items are always created; Optional items are only created if the condition is met.
Required / Optional criteria
| File | Required/Optional | Condition |
|---|
docs/00_project/overview.md | Required | Always |
docs/00_project/glossary.md | Optional | When there is a risk of terminology misunderstanding |
docs/00_project/decisions.md | Required | Always (records technology decision ADRs) |
docs/01_requirements/functional/common.md | Optional | When multiple platforms exist |
docs/01_requirements/functional/{platform}.md | Required | Always (one file per platform) |
docs/01_requirements/non_functional/common.md | Optional | When multiple platforms exist |
docs/01_requirements/non_functional/{platform}.md | Required | Always |
docs/01_requirements/user_stories/common.md | Optional | When multiple platforms exist |
docs/01_requirements/user_stories/{platform}.md | Required | Always |
docs/01_requirements/constraints.md | Required | Always |
docs/02_design/architecture.md | Required | Always |
docs/02_design/data_model.md | Optional | When the project has a DB or persistent storage |
docs/02_design/api_spec.md | Optional | When the project has a publicly exposed API |
docs/02_design/ui_flows.md | Optional | When the project has a UI |
docs/03_implementation/coding_standards.md | Required | Always |
docs/03_implementation/directory_structure.md | Required | Always |
docs/03_implementation/patterns.md | Required | Always |
docs/03_implementation/dependencies.md | Required | Always |
docs/03_implementation/invariants.md | Required | Always |
docs/04_quality/test_strategy.md | Required | Always |
docs/04_quality/review_checklist.md | Required | Always |
docs/04_quality/security.md | Optional | When the project handles external communication, authentication, or sensitive data |
docs/04_quality/performance.md | Optional | When performance requirements are explicitly stated |
docs/05_operations/environments.md | Optional | When dev/staging/prod environment separation is needed |
docs/05_operations/deployment.md | Required | Always |
docs/05_operations/monitoring.md | Required | Always |
docs/06_ai_context/CONTEXT.md | Required | Always |
common / platform split criteria
| Situation | Rule |
|---|
| Only one platform | Do not create common.md. Write everything in {platform}.md |
| Two or more platforms | Write requirements common to all platforms in common.md |
| Requirements that are "common but implemented differently" | Write the requirement in common.md and add implementation constraints in each {platform}.md |
Document frontmatter
Each document should have the following frontmatter.
---
status: draft
tracks:
- src/**/models/**
---
docs/04_quality/test_strategy.md should additionally have the following fields:
---
status: active
test_command: dotnet test
test_command_fe: npm test
test_command_be: dotnet test
coverage_threshold: 80
---
Test assurance policy
At project initialization, record the following policy in docs/04_quality/test_strategy.md and docs/03_implementation/invariants.md.
INV-T01 (common to all platforms):
| # | Condition | On violation |
|---|
| INV-T01 | Tests must not be modified to match implementation behavior. Test modifications must always be grounded in a spec (AC-ID) | Review comment |
AC-ID tagging convention:
Acceptance criteria (in ## Acceptance Criteria of an exec-plan) are numbered as AC-001, AC-002, ...
Include the AC-ID in test code so that the run-tests skill can track coverage.
[Trait("AC", "AC-001")]
public void Login_WithInvalidPassword_Returns401() { ... }
describe('AC-001: Login with invalid password', () => {
it('returns 401', () => { ... });
});
status: transition rules:
| Transition | Trigger |
|---|
(new) ā draft | On file creation |
draft ā active | On PR merge, or when reviewed within 7 days of creation |
active ā deprecated | When the corresponding code/feature is deleted, or when a successor document becomes active |
deprecated ā (deleted) | Can be deleted 30 days after becoming deprecated |
Completion criteria
Phase 0
Phase 1 (meet the conditions for the selected platform)
Final report output by the agent:
=== Phase 0 ā Phase 1 complete ===
Files created:
docs/00_project/overview.md
docs/00_project/decisions.md
docs/06_ai_context/CONTEXT.md
(+ list of files generated in Phase 1)
Things to do in the next phase (Phase 2: requirements & design):
docs/00_project/glossary.md Terminology definitions
docs/01_requirements/constraints.md Constraints
It is recommended to create an execution plan for Phase 2 in exec-plans/active/.