name: project-induction
description: Run a guided induction interview with the operator to establish a new project's context, constraints, and success criteria. Generates a bootstrap spec, a project-level AGENTS.md, and a Plane epic with initial tasks. Use this skill when starting a new project or when the operator invokes 'walter-os new project '.
Skill: project-induction
Trigger: Invoked when walter-os new project <type> <name> is called,
or directly via skills/project-induction/scripts/induction.sh.
Purpose: Runs a guided induction interview with the operator to establish
a new project's context, constraints, and success criteria. Generates a
bootstrap spec, a project-level AGENTS.md, and a Plane epic with initial tasks.
Inputs
| Field | Source | Required |
|---|---|---|
project_name |
CLI arg or interview | yes |
project_type |
CLI arg (webapp|service|solana|hackathon|personal) |
yes |
description |
Interview question 1 | yes |
stack |
Interview question 2 (with type-specific defaults) | yes |
non_negotiable_rules |
Interview question 3 (compliance, perf, etc.) | no |
critical_integrations |
Interview question 4 (DB, APIs, 3rd party) | no |
success_kpis |
Interview question 5 | no |
phi_data |
Interview question — "Does this project handle medical/health data?" | no |
financial_data |
Interview question — "Does this project handle payments?" | no |
Non-interactive mode: all inputs may be supplied via a YAML file
(--answers-file <path>), enabling scripted and test invocations.
Outputs
Project charter (
docs/specs/<project-name>-bootstrap.md): problem statement, decisions, acceptance criteria for the bootstrap phase, non-goals. Written to--output-dirif specified, otherwise todocs/specs/.Project AGENTS.md (written to
--output-dir/AGENTS.mdor./AGENTS.mdin the project root): local agent contract with rules derived from the interview. Ifphi_data: true, includes themedical-data-complianceskill and the PHI hard rules. Iffinancial_data: true, includes a TODO block for a pending financial-data-compliance skill (deferred backlog) with manual PCI-DSS guidance.Plane epic (created via
plane_issue_create): main bootstrap epic with 5 tasks: Setup CI pipeline, Initial test infrastructure, First feature skeleton, Setup local dev environment, Write README + getting started guide. Skipped if--skip-planeflag is set (for offline/test use).
Interview flow (interactive mode)
The 7-9 structured questions (5 core + 2 compliance + optional type-specific):
Q1: What does this project do? (free-form, 1-3 sentences)
Q2: What stack will you use? [default based on type]
Q3: Any non-negotiable rules? (compliance, performance, legal)
Q4: Critical integrations? (external services, APIs, databases)
Q5: How will you know this project succeeded? (KPIs / goals)
Q6: Does this project handle medical or health data? (yes/no)
Q7: Does this project handle financial transactions? (yes/no)
Defaults per type:
webapp: Next.js 15 + Supabase + Vercel + Tailwindservice: Node.js/Rust + Postgres + Dockersolana: Anchor + TypeScript SDK + solana-test-validatorhackathon: Next.js 15 + Supabase (quick-start defaults)personal: Obsidian + local scripts
Dependencies
scripts/agents/lib/plane.sh— forplane_issue_createscripts/agents/lib/llm.sh— for generating charter/AGENTS.md contentPLANE_API_TOKEN,PLANE_API_URL,PLANE_WORKSPACE,PLANE_PROJECTenv vars (not required when--skip-planeis set)
Exit codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 2 | Bad arguments (invalid type, missing name) |
| 3 | Dependency missing (plane.sh not found, jq not available) |
| 4 | LLM invocation failed |
Non-goals
- Full project scaffolding (file generation, repo init) — that's a separate skill.
- Auto-pushing to remote or creating GitHub repos — operator action.
- Running the CI setup — the generated Plane tasks cover that.
Related
docs/specs/walter-council-v2.md— Improvement 6 (T-23, T-24)bin/walter-os— canonical entry point:bin/walter-os new project <type> <name>.bin/walteris an alias; when in doubt, usebin/walter-os.