agentsclimarketplace

Kickoff

Skill babiskon/kickoff/kickoff/skills/kickoff

Claude Code skill: definition-of-done gate, structured intake, and CLAUDE.md generation for new and existing projects

Install
npx -y skills add babiskon/kickoff --skill kickoff

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use when starting a new project from scratch, spinning up something new, scaffolding a codebase, onboarding an existing project for Claude context, or adding CLAUDE.md to a repo. Trigger phrases: "new project", "from scratch", "start fresh", "build something new", "set it up properly", "document this project", "add CLAUDE.md", "set up context".

SKILL.md

8.3 KB, as published. Nobody here has run it

Kickoff

Runs a structured project intake before any code is written: pins down the definition of done first, asks 7 high-impact questions, and generates a CLAUDE.md so Claude has full context from session one. Works for new and existing projects.

Deferring Answers (Open Decisions)

The user can defer any answer with "TBD", "skip", or "not sure yet". When this happens:

  • Accept without pushing back further
  • Record in CLAUDE.md as: - [ ] **[Topic]**: [what needs deciding] — deferred at intake

At the start of every future session, surface unchecked Open Decisions.


Steps

0. Detect Mode: New or Existing Project

Infer from context — do not ask unless genuinely ambiguous.

If new: proceed to Step 1 with all questions blank.

If existing:

  1. Ask for the project folder path.
  2. Scan before asking anything: read existing CLAUDE.md, requirements/package files, config files, and entry-point scripts.
  3. Pre-fill as many intake answers as you can, then present them as a confirmation list rather than open questions.
  4. If a CLAUDE.md already exists, show what will change before writing — do not silently overwrite.

1. Ask the 7 Questions

Ask Q1 alone first — it is the critical gate. Once answered (or explicitly deferred), present Q2–Q7 as a single grouped block.

Q1. What does "done" look like for this project?
    Be specific: what output exists, where does it go, and how will we know it works?

Q2. What is the project name? (this becomes the folder name)

Q3. What type of project is this?
    a) Data analysis / EDA / report
    b) Machine learning / predictive model
    c) Web app / dashboard
    d) Scheduled automation / monitoring job
    e) MCP server / AI agent integration
    f) API / backend service
    g) Google Apps Script / Sheets integration
    h) CLI tool / library
    i) Other (describe)

Q4. What data sources are involved?
    (databases, files, APIs, spreadsheets, etc.)

Q5. What is the expected output and where does it go?
    (file, database table, dashboard, API, email, etc.)

Q6. What is explicitly OUT of scope?

Q7. Is there an existing project I should reference or reuse patterns from?

2. Clarification Loop

Always check the done answer first. A done criterion must pass this test: can we run a single check at the end of a session and say yes or no? Push back once if vague — if the user defers after one push, accept it and move on.

Always check these regardless of type:

  • Data source is vague → ask for exact names (table paths, file names, API endpoints)
  • Output destination is unclear → ask where it goes and in what format
  • Out of scope is blank → ask for at least one explicit boundary

For Google Sheets projects: ask for the Sheet URL; extract and store the bare spreadsheet ID.

For GAS/Drive automation: confirm move vs copy, trigger mechanism (menu/button/auto), search scope (top-level vs recursive), and multiple-match behavior.

For BigQuery/database projects: confirm the exact project.dataset.table path and key columns.

For ML projects: ask for target variable, feature sources, training data range, and deployment target.

Do NOT proceed to folder creation until confident the CLAUDE.md will be accurate, or the user has explicitly chosen to proceed with open decisions.


3. Propose the Session 1 Goal

Before creating anything, propose a narrower milestone based on what you know:

"Based on what you've described, here's what I suggest we accomplish today: [one specific, verifiable output]. Does that sound right?"

This must be narrower than the full definition of done — the smallest useful thing shippable in one session. Do not write this goal to CLAUDE.md; it belongs to this session only.


4. Create Project Folder

For existing projects: confirm the path exists and skip creation.

For new projects: ask the user where to create the project, or default to the current working directory:

mkdir -p "<parent_dir>/<project_name>"

5. Set Up Environment (if applicable)

Skip for GAS-only projects. Ask: "Do you want me to set up an environment now?"

Python:

python3 -m venv venv

Create requirements.txt pre-populated by type:

TypeStarter packages
Data analysispandas numpy scipy matplotlib seaborn python-dotenv
MLpandas numpy scikit-learn python-dotenv
Web app / dashboardstreamlit pandas plotly python-dotenv
Automationpython-dotenv requests
MCP servermcp python-dotenv
API / backendfastapi uvicorn python-dotenv

Also create a .env stub (# PROJECT_ENV_VAR=) and .gitignore (venv/, .env, __pycache__/).

Node.js projects: run npm init -y and create .gitignore (node_modules/, .env).


6. Write CLAUDE.md

Create <project_dir>/CLAUDE.md. Include only sections that apply — an N/A entry is worse than no entry.

Core template (all projects)

# <Project Name>

## Definition of Done
<answer from Q1>

## Out of Scope
<answer from Q6>

## Project Type
<answer from Q3>

## Purpose
<brief description inferred from answers>

## Data Sources
<answer from Q4 — be specific: exact table paths, file names, API endpoints>

## Expected Output
<answer from Q5>

## Tech Stack
<inferred from project type — list key libraries>

## CRITICAL Constraints
<from clarification loop — exhaustive and concrete; omit section if none>

## Reference Projects
<answer from Q7 — omit section if none>

## Open Decisions
<deferred items as: - [ ] **[Topic]**: [what needs deciding] — deferred at intake>
<write "None" if nothing was deferred>

## Notes
- Project directory: <full path>

Type-specific additions

GAS / Sheets / Drive automation:

## Script Behavior
<trigger → what it reads → what it does → what it writes back>

## Source Schema
<tab names; for each relevant tab: column names, data types, value formats>

## Existing Automation
<any AppScript or scheduled process already in place — one sentence each, or "None">

Data analysis / EDA / Dashboard:

## Analysis Scope
<specific metrics and questions the analysis must answer>

## Source Schema
<key columns and data types of the source data>

Machine learning:

## Model Spec
- Target variable: <name and type>
- Feature sources: <tables or files>
- Training data range: <date range>
- Deployment target: <batch job / API / output file>

MCP server / AI agent integration:

## Tools Exposed
<list of MCP tools this server will expose, one per line>

7. Initialize OpenWolf (optional)

Run only if openwolf is installed:

command -v openwolf > /dev/null 2>&1 && openwolf init || true

If openwolf is absent: skip this step silently. CLAUDE.md is the critical artifact — OpenWolf is an enhancement.

If openwolf initializes successfully and the project involves a Google Sheet, append to .wolf/cerebrum.md:

Working Google Sheet for this project: {sheet_url}

8. Create Obsidian Index Note (optional)

Run only if mcp__obsidian__write_note is available in your tool set. If unavailable, skip silently.

Ask: "What path in your Obsidian vault should I create the project index at?" (suggest: Work/<project_name>/<project_name>_index.md)

Use mcp__obsidian__write_note to create:

# <project_name>

## Sessions

## Decisions

## Open Questions

9. Confirm and Summarize

Tell the user:

  • Folder: confirmed path; whether it was created or already existed
  • CLAUDE.md: written fresh or updated (and what changed)
  • Environment: whether venv/npm was set up, or skipped
  • OpenWolf: initialized / skipped (not installed)
  • Obsidian: index created / skipped (MCP unavailable)
  • Open Decisions: how many were deferred, and that they'll be surfaced at session start
  • For new Python projects: suggest opening the folder in their IDE and pointing the interpreter at venv/

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.