Ideation Intake
This skill operates in two phases:
Phase 1: Create Template
When the user invokes this skill for the first time (no filled intake.md exists):
Read configuration from
.claude/ideation.local.mdif it exists. Parse YAML frontmatter fordefault_run_prefixandoutput_root. Use defaults (ideation-run,.) if missing.Determine run folder name:
- If the user provides a run name argument, use it directly (e.g.
my-project-ideas) - Otherwise, auto-number: scan
output_rootfor existing folders matching{default_run_prefix}-NNand use the next number (zero-padded to 2 digits)
- If the user provides a run name argument, use it directly (e.g.
Create the run folder at
{output_root}/{run-name}/Write
intake.mdinto the run folder using the template from references/intake-template.md. Copy it verbatim.Tell the user: "I've created
{run-folder}/intake.md. Fill in the template with your problem areas, capabilities, and constraints, then run/ideation:intake {run-folder}again to validate and generate the problem space."
Stop here. Do not proceed to Phase 2 until the user has filled in the template.
Phase 2: Validate and Generate
When the user invokes this skill on a run folder that already has a filled intake.md:
Read
intake.mdfrom the run folder.Validate completeness:
- At least 1 problem area with all fields filled (Who, What happens, What should happen, Severity)
- At least 1 existing capability with all fields filled
- Solution constraints section has at least one "Must" and one "Must not"
- Target users is not empty
- If validation fails, report what's missing and stop
Assign IDs sequentially:
- Problems:
prob_01,prob_02, ... - Existing capabilities:
cap_01,cap_02, ... - Aspirational capabilities:
asp_01,asp_02, ...
- Problems:
Write
problem_space.mdwith YAML frontmatter following the data contract:
---
run_id: {run-folder-name}
created_at: {ISO8601 timestamp}
version: "1.0"
problem_count: {count}
capability_count: {count}
aspirational_count: {count}
timeline: {from constraints}
---
The body transforms the user's input into the structured format with assigned IDs. Preserve the user's language — do not rewrite their descriptions. Only clean up formatting and add IDs.
Severity mapping: The user's "How bad is it (1-5)" becomes **Severity**: X/5.
- Report: Show the user a summary of what was parsed — problem count, capability count, aspirational count, and the assigned IDs.
Reference
- Template: intake-template.md
- Output schema: data-contracts.md (Stage 1 section)