Kickoff
Project context kickoff. Conversational interview that builds structured docs for AI agents.
Agent Capabilities
| Capability |
Used For |
Required |
Fallback |
| File read/write |
.context/ docs, CLAUDE.md |
Yes |
-- |
| Code search (grep/glob) |
Bootstrap scan, drift detection |
Recommended |
User describes project manually |
| User interaction |
Conversational interview, confirmations |
Yes |
-- |
| Task/subagent |
analyze action (parallel reviewers) |
Recommended |
Single-agent analysis |
| Shell/command execution |
Git log, package.json read |
Recommended |
User provides info manually |
Fallback rule: If codebase access is limited, the skill works from conversation alone. Warn the user and proceed.
Actions
| Action |
Input |
Output |
Reference |
init |
(none) or project path |
.context/ folder with axis docs |
init.md |
update {axis} |
Axis name (product, engineering, etc.) |
Updated axis docs |
update.md |
todo |
(none) — reads .context/TODO.md |
Updated context docs + trimmed TODO |
todo.md |
analyze |
(none) — reads existing .context/ |
Analysis report with findings |
analyze.md |
review |
(none) — reads .context/ + codebase |
Drift report |
review.md |
generate |
(none) — reads .context/ |
CLAUDE.md (or agent-specific config) |
generate.md |
Flow
First time (kickoff):
init → todo (answer open questions) → generate
With existing codebase:
init (bootstraps from artifacts) → todo → generate
Maintenance:
update {axis} → generate
Enrich context:
todo → generate
Health check:
review → update (if drift detected) → generate
Strategic challenge:
analyze → update (if insights) → generate
Quick regeneration:
generate (reads existing .context/)
Each action is standalone — usable independently without requiring prior actions.
Philosophy
- Kickoff, not questionnaire: The interview is a conversation. Agent adapts to answers, challenges vague responses, and knows when to stop.
- Objectives over scripts: Axis templates define WHAT to know, not WHAT to ask. The agent decides HOW based on the conversation.
- Bootstrap first: Read existing artifacts (package.json, README, git log, file structure) BEFORE asking questions. Interview fills gaps, not blanks.
- Checkpoint per axis: Write docs immediately after each axis completes. Session can be interrupted and resumed.
- TBD is a valid answer: Early-stage projects can't answer everything. "Not decided yet" is captured explicitly, never fabricated.
- Intention over description: Capture WHY decisions were made, not just WHAT exists. Agents can infer the "what" from code — they can't infer the "why".
- Merge, never overwrite: CLAUDE.md generation always diffs against existing content. Never silently destroy user's custom sections.
- Adapt to project: Not every project needs 7 axes. Detect project type and propose relevant axes.
Axes
| Axis |
Always? |
Content |
Depth |
| Product |
Yes |
Vision, users, features, roadmap |
Deep — agent challenges |
| Engineering |
Yes |
Stack, architecture, conventions |
Deep — agent challenges |
| Decisions |
Yes |
ADR-lite records of key choices |
Medium |
| Design |
If UI |
Principles, tokens |
Standard |
| Business |
If commercial |
Model, landscape |
Standard |
| Marketing |
If PLG/content |
Positioning |
Light |
| Team |
If >1 person |
Roles, process, tools |
Light |
Interview Conduct
The agent follows the rules in interview.md. Key rules:
- Max 2 questions per message
- Max 3 follow-ups per objective before accepting TBD
- Product and Engineering: insist and challenge vague answers
- Other axes: accept "not defined yet" and move on
- Reformulate understanding before moving to next axis
- Generate axis docs immediately when axis is complete (checkpoint)
- Never invent information — if it wasn't said, it's not written
Bootstrap Protocol
Before starting the interview, scan the project for existing artifacts:
1. SCAN sources (in order):
- package.json / Cargo.toml / pyproject.toml → stack, deps, scripts
- README.md → project description, setup instructions
- Git log (last 20 commits) → recent activity, conventions
- File structure (top 2 levels) → architecture patterns
- Existing CLAUDE.md → current context, conventions
- .env.example → services, integrations
- CI config (.github/workflows, etc.) → infrastructure
2. STORE scan results as bootstrap_context (do NOT write files yet):
- Pre-fill data for stack, architecture, conventions
- Note what was auto-detected vs what needs confirmation
- Files are written only at checkpoint time (after axis interview + user confirmation)
3. INTERVIEW fills gaps:
- Show what was auto-detected: "I found X — is this accurate?"
- Ask only about what couldn't be inferred
- Product axis is always fully conversational (can't be inferred from code)
Action Router
User input
|
|- "init", "kickoff", "kickoff init",
| "project setup", "onboard project" -> Load references/actions/init.md
|
|- "update product", "update engineering",
| "kickoff update {axis}" -> Load references/actions/update.md
|
|- "todo", "kickoff todo",
| "open questions", "@TODO.md" -> Load references/actions/todo.md
|
|- "analyze context", "challenge context",
| "kickoff analyze" -> Load references/actions/analyze.md
|
|- "review context", "check context",
| "kickoff review" -> Load references/actions/review.md
|
|- "generate", "generate claude",
"kickoff generate" -> Load references/actions/generate.md
Loading rule: Read the action file BEFORE executing. The action file contains all logic, references, and templates needed.
Output Structure (in user's project)
.context/
|-- product/
| |-- vision.md
| |-- users.md
| |-- features.md
| +-- roadmap.md
|-- engineering/
| |-- stack.md
| |-- architecture.md
| +-- conventions.md
|-- decisions/
| |-- 001-{decision-slug}.md
| +-- ...
|-- design/ (if UI)
| |-- principles.md
| +-- tokens.md
|-- business/ (if commercial)
| |-- model.md
| +-- landscape.md
|-- marketing/ (if PLG/content)
| +-- positioning.md
|-- team/ (if >1 person)
| +-- team.md
|-- TODO.md
+-- _meta.md
Principles
| Principle |
Purpose |
Reference |
| Interview conduct |
How to run the conversational interview |
interview.md |
Templates
Axis Templates (interview objectives + strategies)
| Template |
Used by |
Reference |
| Product |
init, update |
product.md |
| Engineering |
init, update |
engineering.md |
| Decisions |
init, update |
decisions.md |
| Design |
init, update |
design.md |
| Business |
init, update |
business.md |
| Marketing |
init, update |
marketing.md |
| Team |
init, update |
team.md |
File Templates (generated output files)
| Template |
Used by |
Reference |
| Context file schema |
init, update |
context-file.md |
| CLAUDE.md |
generate |
claude-md.md |
| Meta file |
init |
meta.md |
| Decision record |
init, update |
decision-record.md |
Output Templates (chat status messages)
| Template |
Used by |
Reference |
| Init output |
init |
init-output.md |
| Update output |
update |
update-output.md |
| Analyze output |
analyze |
analyze-output.md |
| Review output |
review |
review-output.md |
| Generate output |
generate |
generate-output.md |
| Todo output |
todo |
todo-output.md |
Configuration
All behavior is configurable by editing the skill files directly.
| What to change |
Edit |
| Action logic |
references/actions/{action}.md |
| Interview rules |
references/principles/interview.md |
| Axis objectives |
references/templates/axes/{axis}.md |
| Output formats |
references/templates/{template}.md |
References
Actions:
- Init | Update | Todo | Analyze | Review | Generate
Principles:
Templates (axes):
- Product | Engineering | Decisions | Design | Business | Marketing | Team
Templates (files):
- Context File | CLAUDE.md | Meta | Decision Record
Output (chat):
- Init | Update | Analyze | Review | Generate
1---2name: kickoff3description: Project context kickoff and maintenance. Conversational onboarding that generates structured context docs (.context/) and produces a CLAUDE.md for the project. 6 actions: init, update, todo, analyze, review, generate. Auto-activates on: "kickoff", "kickoff init", "kickoff update", "kickoff todo", "kickoff analyze", "kickoff review", "kickoff generate", "project kickoff", "project setup", "project context", "onboard project", "setup context", "open questions", "todo".4license: MIT5---67# Kickoff89Project context kickoff. Conversational interview that builds structured docs for AI agents.1011## Agent Capabilities1213| Capability | Used For | Required | Fallback |14|------------|----------|----------|----------|15| File read/write | `.context/` docs, CLAUDE.md | Yes | -- |16| Code search (grep/glob) | Bootstrap scan, drift detection | Recommended | User describes project manually |17| User interaction | Conversational interview, confirmations | Yes | -- |18| Task/subagent | `analyze` action (parallel reviewers) | Recommended | Single-agent analysis |19| Shell/command execution | Git log, package.json read | Recommended | User provides info manually |2021**Fallback rule:** If codebase access is limited, the skill works from conversation alone. Warn the user and proceed.2223## Actions2425| Action | Input | Output | Reference |26|--------|-------|--------|-----------|27| `init` | (none) or project path | `.context/` folder with axis docs | [init.md](references/actions/init.md) |28| `update {axis}` | Axis name (product, engineering, etc.) | Updated axis docs | [update.md](references/actions/update.md) |29| `todo` | (none) — reads `.context/TODO.md` | Updated context docs + trimmed TODO | [todo.md](references/actions/todo.md) |30| `analyze` | (none) — reads existing `.context/` | Analysis report with findings | [analyze.md](references/actions/analyze.md) |31| `review` | (none) — reads `.context/` + codebase | Drift report | [review.md](references/actions/review.md) |32| `generate` | (none) — reads `.context/` | CLAUDE.md (or agent-specific config) | [generate.md](references/actions/generate.md) |3334## Flow3536```37First time (kickoff):38 init → todo (answer open questions) → generate3940With existing codebase:41 init (bootstraps from artifacts) → todo → generate4243Maintenance:44 update {axis} → generate4546Enrich context:47 todo → generate4849Health check:50 review → update (if drift detected) → generate5152Strategic challenge:53 analyze → update (if insights) → generate5455Quick regeneration:56 generate (reads existing .context/)57```5859Each action is **standalone** — usable independently without requiring prior actions.6061## Philosophy6263- **Kickoff, not questionnaire**: The interview is a conversation. Agent adapts to answers, challenges vague responses, and knows when to stop.64- **Objectives over scripts**: Axis templates define WHAT to know, not WHAT to ask. The agent decides HOW based on the conversation.65- **Bootstrap first**: Read existing artifacts (package.json, README, git log, file structure) BEFORE asking questions. Interview fills gaps, not blanks.66- **Checkpoint per axis**: Write docs immediately after each axis completes. Session can be interrupted and resumed.67- **TBD is a valid answer**: Early-stage projects can't answer everything. "Not decided yet" is captured explicitly, never fabricated.68- **Intention over description**: Capture WHY decisions were made, not just WHAT exists. Agents can infer the "what" from code — they can't infer the "why".69- **Merge, never overwrite**: CLAUDE.md generation always diffs against existing content. Never silently destroy user's custom sections.70- **Adapt to project**: Not every project needs 7 axes. Detect project type and propose relevant axes.7172## Axes7374| Axis | Always? | Content | Depth |75|------|---------|---------|-------|76| **Product** | Yes | Vision, users, features, roadmap | Deep — agent challenges |77| **Engineering** | Yes | Stack, architecture, conventions | Deep — agent challenges |78| **Decisions** | Yes | ADR-lite records of key choices | Medium |79| **Design** | If UI | Principles, tokens | Standard |80| **Business** | If commercial | Model, landscape | Standard |81| **Marketing** | If PLG/content | Positioning | Light |82| **Team** | If >1 person | Roles, process, tools | Light |8384## Interview Conduct8586The agent follows the rules in [interview.md](references/principles/interview.md). Key rules:8788- Max 2 questions per message89- Max 3 follow-ups per objective before accepting TBD90- Product and Engineering: insist and challenge vague answers91- Other axes: accept "not defined yet" and move on92- Reformulate understanding before moving to next axis93- Generate axis docs immediately when axis is complete (checkpoint)94- Never invent information — if it wasn't said, it's not written9596## Bootstrap Protocol9798Before starting the interview, scan the project for existing artifacts:99100```1011. SCAN sources (in order):102 - package.json / Cargo.toml / pyproject.toml → stack, deps, scripts103 - README.md → project description, setup instructions104 - Git log (last 20 commits) → recent activity, conventions105 - File structure (top 2 levels) → architecture patterns106 - Existing CLAUDE.md → current context, conventions107 - .env.example → services, integrations108 - CI config (.github/workflows, etc.) → infrastructure1091102. STORE scan results as bootstrap_context (do NOT write files yet):111 - Pre-fill data for stack, architecture, conventions112 - Note what was auto-detected vs what needs confirmation113 - Files are written only at checkpoint time (after axis interview + user confirmation)1141153. INTERVIEW fills gaps:116 - Show what was auto-detected: "I found X — is this accurate?"117 - Ask only about what couldn't be inferred118 - Product axis is always fully conversational (can't be inferred from code)119```120121## Action Router122123```124User input125 |126 |- "init", "kickoff", "kickoff init",127 | "project setup", "onboard project" -> Load references/actions/init.md128 |129 |- "update product", "update engineering",130 | "kickoff update {axis}" -> Load references/actions/update.md131 |132 |- "todo", "kickoff todo",133 | "open questions", "@TODO.md" -> Load references/actions/todo.md134 |135 |- "analyze context", "challenge context",136 | "kickoff analyze" -> Load references/actions/analyze.md137 |138 |- "review context", "check context",139 | "kickoff review" -> Load references/actions/review.md140 |141 |- "generate", "generate claude",142 "kickoff generate" -> Load references/actions/generate.md143```144145**Loading rule:** Read the action file BEFORE executing. The action file contains all logic, references, and templates needed.146147## Output Structure (in user's project)148149```150.context/151|-- product/152| |-- vision.md153| |-- users.md154| |-- features.md155| +-- roadmap.md156|-- engineering/157| |-- stack.md158| |-- architecture.md159| +-- conventions.md160|-- decisions/161| |-- 001-{decision-slug}.md162| +-- ...163|-- design/ (if UI)164| |-- principles.md165| +-- tokens.md166|-- business/ (if commercial)167| |-- model.md168| +-- landscape.md169|-- marketing/ (if PLG/content)170| +-- positioning.md171|-- team/ (if >1 person)172| +-- team.md173|-- TODO.md174+-- _meta.md175```176177## Principles178179| Principle | Purpose | Reference |180|-----------|---------|-----------|181| Interview conduct | How to run the conversational interview | [interview.md](references/principles/interview.md) |182183## Templates184185### Axis Templates (interview objectives + strategies)186187| Template | Used by | Reference |188|----------|---------|-----------|189| Product | `init`, `update` | [product.md](references/templates/axes/product.md) |190| Engineering | `init`, `update` | [engineering.md](references/templates/axes/engineering.md) |191| Decisions | `init`, `update` | [decisions.md](references/templates/axes/decisions.md) |192| Design | `init`, `update` | [design.md](references/templates/axes/design.md) |193| Business | `init`, `update` | [business.md](references/templates/axes/business.md) |194| Marketing | `init`, `update` | [marketing.md](references/templates/axes/marketing.md) |195| Team | `init`, `update` | [team.md](references/templates/axes/team.md) |196197### File Templates (generated output files)198199| Template | Used by | Reference |200|----------|---------|-----------|201| Context file schema | `init`, `update` | [context-file.md](references/templates/context-file.md) |202| CLAUDE.md | `generate` | [claude-md.md](references/templates/claude-md.md) |203| Meta file | `init` | [meta.md](references/templates/meta.md) |204| Decision record | `init`, `update` | [decision-record.md](references/templates/decision-record.md) |205206### Output Templates (chat status messages)207208| Template | Used by | Reference |209|----------|---------|-----------|210| Init output | `init` | [init-output.md](references/templates/outputs/init-output.md) |211| Update output | `update` | [update-output.md](references/templates/outputs/update-output.md) |212| Analyze output | `analyze` | [analyze-output.md](references/templates/outputs/analyze-output.md) |213| Review output | `review` | [review-output.md](references/templates/outputs/review-output.md) |214| Generate output | `generate` | [generate-output.md](references/templates/outputs/generate-output.md) |215| Todo output | `todo` | [todo-output.md](references/templates/outputs/todo-output.md) |216217## Configuration218219All behavior is configurable by editing the skill files directly.220221| What to change | Edit |222|----------------|------|223| Action logic | `references/actions/{action}.md` |224| Interview rules | `references/principles/interview.md` |225| Axis objectives | `references/templates/axes/{axis}.md` |226| Output formats | `references/templates/{template}.md` |227228## References229230Actions:231- [Init](references/actions/init.md) | [Update](references/actions/update.md) | [Todo](references/actions/todo.md) | [Analyze](references/actions/analyze.md) | [Review](references/actions/review.md) | [Generate](references/actions/generate.md)232233Principles:234- [Interview Conduct](references/principles/interview.md)235236Templates (axes):237- [Product](references/templates/axes/product.md) | [Engineering](references/templates/axes/engineering.md) | [Decisions](references/templates/axes/decisions.md) | [Design](references/templates/axes/design.md) | [Business](references/templates/axes/business.md) | [Marketing](references/templates/axes/marketing.md) | [Team](references/templates/axes/team.md)238239Templates (files):240- [Context File](references/templates/context-file.md) | [CLAUDE.md](references/templates/claude-md.md) | [Meta](references/templates/meta.md) | [Decision Record](references/templates/decision-record.md)241242Output (chat):243- [Init](references/templates/outputs/init-output.md) | [Update](references/templates/outputs/update-output.md) | [Analyze](references/templates/outputs/analyze-output.md) | [Review](references/templates/outputs/review-output.md) | [Generate](references/templates/outputs/generate-output.md)