Skip to main content
skill CX Codex

start · haabe — Claude Code skill: what it does, how to install

Combines Mycelium project initialization and a ten-minute discovery interview into a single entry flow.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add haabe/mycelium --skill start -a claude-code
Open on GitHub

What start does

The skill merges /mycelium:setup and /mycelium:interview to give first-time users an immediate starting point. Right after a short welcome message, it inspects ${CLAUDE_PROJECT_DIR:-.}/.claude/diamonds/active.yml. If the state file already exists, it skips directory creation entirely to avoid tool write errors and token waste.

On a fresh project, the skill sets up the .claude/ directory structure, stubs, and configuration files. It deliberately defers questions about AGENTS.md until after the brief is finished. The interview then asks four targeted questions about target users, core assumptions, and delivery risks to produce a one-page project brief.

This skill depends on the Mycelium harness: without its active hooks and canvas state, the agent operates without delivery gates or evidence verification.

What it helps with

  • bootstrap Mycelium workspace files without running setup separately
  • draft a one-page project discovery brief in four questions
  • verify active session hooks before beginning product delivery
  • assign code directory locations to product_paths in active.yml

Example prompts for the agent

  • /mycelium:start
  • Run the initial setup and project interview using mycelium:start
  • Start onboarding this repository with the Mycelium start skill

How to install start

1Skills CLI (Vercel)

npx skills add haabe/mycelium --skill start -a claude-code

2Manually: put the files in place

~/.claude/skills/start/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/start/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about start

How to install start in Claude Code?

Run npx skills add haabe/mycelium --skill start -a claude-code in your terminal.

What does the start skill do?

It prepares .claude/ configuration files and conducts a discovery interview covering user assumptions and delivery risks.

Why does the skill check for hooks-alive on startup?

It confirms that Mycelium session hooks are active so that theory gates and evidence checks enforce delivery boundaries.

Source text

SKILL.md · MIT
---
name: start
description: One command from "plugin installed" to "running brief on your idea." Combines /mycelium:setup (project-state initialization) and /mycelium:interview (10-minute discovery brief) into a single flow. Run this immediately after installing the Mycelium plugin — it's the recommended entry point for first-time users.
metadata:
  framework_dependency: "mycelium"
  framework_dependency_note: "This skill is designed to run within the Mycelium framework (https://github.com/haabe/mycelium). Standalone use will skip the canvas state, theory gates, and harness behavior the skill assumes. Install: /plugin install mycelium@haabe-mycelium."
---

# /mycelium:start — combined first-time entry

When this skill runs, follow the flow below. The skill is designed so a first-time user goes from "plugin installed" to "holding a one-page brief on their idea" in a single invocation.

## Step 1: Welcome (~30 seconds of context, then move on)

Output a short welcome before doing anything. Do NOT skip this — the install-to-here gap is the friction point this skill exists to address. The user just installed a 45-skill framework and has no context yet.

> "Welcome to Mycelium.
>
> Mycelium makes the agent think before it builds — it can't skip the hard questions; each step has to clear an evidence check first. Grounded in 30+ established product-thinking frameworks; you'll meet the relevant ones as they come up.
>
> Two quick steps:
>   1. Set up Mycelium's files in `.claude/` — about 10 seconds. Your existing files (CLAUDE.md, README, etc.) aren't changed. A new `.claude/` directory is added, and setup may add an `AGENTS.md` at the project root (it asks first when you are there to answer).
>   2. A 10-minute discovery brief: one line about the project, 4 questions about your idea, then a one-page brief covering who it's for, the biggest assumption, the biggest risk, and your next concrete move.
>
> One thing to know before you answer: once the brief exists, the agent builds the product itself only after a delivery diamond is open with its reasons written down, new files and edits to existing code alike. Code in a folder listed under `prototype_paths` in `.claude/diamonds/active.yml` stays free, and you can lift the hold yourself with `.claude/state/delivery-skip-ack`. Uninstalling is one command.
>
> Let's begin."

## Step 2: Detect existing state — HARD GATE

**This must be the very first action after the welcome. Do NOT run any other Bash commands, Edit/Write operations, or "let me prepare the directories" reasoning before this gate fires.**

Run exactly this check, and only this check:

```bash
test -f "${CLAUDE_PROJECT_DIR:-.}/.claude/diamonds/active.yml"; echo "state=$?"; find .claude/state/hooks-alive "${TMPDIR:-/tmp}/mycelium-hooks-alive-$(id -u)" -mmin -60 2>/dev/null
```

(`${CLAUDE_PROJECT_DIR:-.}` since v0.286.0: Codex CLI does not set the variable, and the bare form
tested `/.claude/...`, so an initialized project read as new and setup ran over it.)

- **Hooks (v0.286.0)**: if the `find` printed nothing, Mycelium's hooks did not run in this
  session: its gates and the rules it gives the agent at session start are off, and nothing else
  will say so. Tell the user in one line before going on: "Mycelium's hooks are not running in
  this session, so its gates are off. On Codex CLI, open `/hooks`, trust Mycelium's hooks and
  start a new session; on Claude Code, check the plugin is enabled in `/plugin`." Then continue
  with the state result below. If it printed a path, say nothing about it. (Since v0.318.0 the hooks do nothing in a project with no `.claude/canvas/` or `.claude/diamonds/`; there they only stamp the temp-folder marker, which is why the `find` names both.)

- **If `state=0`** (file EXISTS): the project already has Mycelium state. Skip directly to Step 4 routing output. **Do NOT run setup. Do NOT run mkdir. Do NOT touch `.gitkeep` stubs.** Setup-style operations on an already-initialized project waste tokens and trigger Read-before-Write tool errors when the agent then tries to write to existing files. Detected during 2026-05-09 plugin-form dogfood — the agent ran `mkdir -p .claude/...` before honoring this gate, then hit a Write error on `active.yml` and only then realized the project was initialized. The fix is structural: the gate is the first action.

- **If `state=1`** (file does NOT exist): invoke the setup workflow inline. Follow the instructions in `${CLAUDE_PLUGIN_ROOT}/skills/setup/SKILL.md` exactly — same Step 1 detection (which will fall through), Step 2 directory creation with `.gitkeep` stubs, Step 3 starter file writes, Step 5 confirmation message — **but DEFER setup's Step 4 (the AGENTS.md prompt) to after the brief** (see below). Do not duplicate the setup logic here; reference it.

**AGENTS.md deferral (v0.56.0)**: in the /start composition, setup's Step 4 question does NOT fire before the interview. A first-time user's opening minutes must go to their idea, not to file administration — the 2026-07-02 roadmap dogfood run showed the AGENTS.md exchange consuming the first two conversational rounds before Question 1 was asked. Instead: after the brief is rendered and the depth menu is answered, IF `<project_root>/AGENTS.md` is absent or lacks a Mycelium section, ask setup's Step 4 question then (one exchange, at the natural pause). Setup's detect-first rule still applies: an AGENTS.md that already covers Mycelium is skipped silently. When `/mycelium:setup` is run standalone (not via /start), its Step 4 order is unchanged.

After setup completes, do NOT print setup's "Next:" line — this skill is the next step. Print:

> "Setup done. Now: one line about the project, then 4 questions about your idea, ~10 minutes."

## Step 3: Run interview (universal-flow shape)

Invoke the interview workflow inline. Follow the instructions in `${CLAUDE_PLUGIN_ROOT}/skills/interview/SKILL.md` from Phase 0 onward.

Because setup just ran, the canvas is empty — /interview's canvas-state detection will route to the Universal Brief Flow (the 4-question brief shape, not the legacy time-budget-routed ceremony). Render the brief, write canvas state, render the depth menu. Per opp-006 narration discipline in interview/SKILL.md, do not narrate phase numbers to the user — reference the outcome (e.g., "the brief", "the project-type question") instead of the phase index.

**Where the product lives (v0.270.0).** Before the depth menu, ask in one line where the product's
own files will live and record the answer as `product_paths` at the top of
`.claude/diamonds/active.yml`: `app/` for software, `pilot/` for a service's documents, `course/`
for lessons, `manuscript/` for a book, or `[]` if the product is code only. The delivery gate knows
code by its extension and everything else only by this: a bookkeeping service in the E2E second
world wrote its whole client pack under an L0 in discover and nothing noticed. If the user does not
know yet, leave it; the next session start asks again.

After the brief is rendered and the user picks a depth-menu option, the start skill is done. Hand off to whatever the user chose (`/mycelium:assumption-test` for "Test the biggest assumption", a prototype folder for "Build a prototype to learn", continued discovery for "Go deeper", a graceful exit for stopping, etc.).

## Step 3b: Derive purpose properties (immediately after why/how/what land)

**The why/how/what are not decoration — everything below is checked against them, so they have to be
checkable.** Propose a property list from what the user just wrote, then have them confirm it. Write
to `purpose.yml#purpose_properties`. Full contract: `docs/purpose-stance.md`.

**For each element, ask yourself: can I name a specific solution that would CONTRADICT this?**
- Yes → it is a candidate property. Record `verbatim`, `source` (why/how/what), and the contradicting
  solution in `contradicted_by`.
- No → **do not force one.** Quality adjectives ("secure", "accessible", "fast", "simple") yield
  nothing checkable, because every candidate solution claims to satisfy them. Measured 2026-08-23:
  "accessible and secure" produced no checkable property at all.

**When a word fails, ask the user — and offer candidates rather than an open question:**

> You said "secure". Which of these would you call a violation?
> (a) passwords stored in plaintext (b) no transport encryption (c) sessions that never expire (d) something else

**Recognition is cheap; generation is not.** If they answer, you have a property. **If they cannot,
record it as an aspiration** (`aspiration_reason`) and say plainly: *"'secure' stays undefined, so no
solution will be checked against it."* A skip is a recorded choice, never a blank.

**The user marks `binding: true` on the few whose violation would break the product.** Only those are
ever checked. Set `confirmed_by: human` once they have.

**This is NOT `/mycelium:user-interview`.** That skill asks about specific past behaviour, which is
right for discovering user needs and wrong here — this elicits a definition from the builder about
their own intent, where the question is hypothetical by design.

## Step 4: Routing for already-initialized projects

If Step 2 detected existing canvas state (the user has Mycelium installed already on this project), do NOT run setup or interview. Instead, print:

**If the project has canvas state but no `purpose.yml#purpose_properties`, say so in the same
breath** — it existed before v0.120.0, so nothing below has ever been checked against its own
why/how/what, and `/mycelium:purpose-properties` is the retrofit. One line, not a sales pitch.

> "This project already has Mycelium state from [date of last write to .claude/diamonds/active.yml]. Last diamond touched: [scale, phase, confidence, name]. Three options:
>   1. Run `/mycelium:diamond-assess` to see current state and what to work on next.
>   2. Run `/mycelium:interview` to add a new idea as a sibling diamond on this product.
>   3. Stop and look around. Canvas files are in `.claude/canvas/`."

Then exit. The user picks the next move.

## What this skill does NOT do

- Does NOT modify CLAUDE.md, README.md, CONTRIBUTORS.md, or LICENSE.
- Does NOT block or prompt at the welcome step — it's read-and-continue, not interactive.
- Does NOT replace setup or interview. They remain invocable directly. start is the convenience composition.
- Does NOT run on every session — only on first invocation. After the first run, canvas state exists and Step 2 routes to diamond-assess.

## Why this skill exists

Without `/mycelium:start`, the first-time plugin user has to:
1. Run `/plugin install mycelium@haabe-mycelium` (Claude Code message: "installed")
2. Wonder what to do
3. Find `/mycelium:setup` (no obvious pointer at install time)
4. Run setup (gets a brief next-step message)
5. Run `/mycelium:interview`
6. Get value (the brief)

That's 5 typed commands and 2 cognitive gaps before value lands. The void between steps 1 and 5 is real friction.

`/mycelium:start` collapses 1→6 into 1→2 with a welcome message that gives the framework a 30-second introduction at exactly the moment the user has the question "what is this and what do I do." Setup+interview both still exist as separate skills for users who want them piecewise.

## Theory grounding

- Norman: visible affordances at the moment of cognitive need (the welcome message at the install gate).
- Krug "Don't Make Me Think": one command instead of two, with explanation built in.
- Hashimoto regeneration zones: the welcome is generation-cheap context that the user can re-read or skip; doesn't add discipline cost to the actual work.
- Brownfield-additive principle (Bentes 2026-05-08): the start skill respects the same "no project root modification" constraint as setup — it adds project state without touching user-owned root files.

## Source

The friction this skill addresses surfaced 2026-05-09 during the founder's smoke-test of the v0.20.x plugin form. The user reported: "the onboarding has worsened substantially since converting to plugin. The user is left in the unknown void for quite a bit."

Setup + welcome + immediate interview transition is the first response. If the welcome-as-text approach proves insufficient (subsequent dogfood reports the void persists), graduate to: SessionStart hook that detects first-run-after-install and emits the welcome unprompted.

© haabe · MIT · haabe/mycelium

Similar skills

All skills for Agent setup: memory, context, orchestration →

start by other authors comes first.

start official anthropics Checks connected MCP servers and surveys bio-research tools. Helps researchers get oriented with the plugin before starting a project. CX Codex +1 4,900installs start Donchitos Onboarding guide for Claude Code Game Studios projects. It inspects repository state, sets project stage and rigor, and points to the next workflow step. CX Codex +1 461installs start official Zoom This skill identifies what you need to build or fix with Zoom, then points to the relevant workflow. Use it as the entry point for Zoom API, SDK, OAuth, and integration questions. CX Codex GP ChatGPT ★ 7,604repo stars start nimbalyst This skill introduces Nimbalyst Wiki and guides the first steps: create a repository wiki, record decisions, or look up what the team settled on. CX Codex +1 ★ 1,979repo stars start TakaGoto Walks a newcomer through picking a language and track, scoring their level, and running a first RAG pipeline in the same session. CX Codex +1 ★ 24repo stars setup-matt-pocock-skills Matt Pocock This skill configures a repository for Matt Pocock's engineering skills by setting its issue tracker, triage labels, and domain docs layout. Run it before using the other skills. 1,052,851installs ask-matt Matt Pocock Routes you to the right Matt Pocock skill or flow for the task at hand. Use it when you need a starting point for a feature, prototype, incoming issue, or hard bug. 766,587installs to-tickets Matt Pocock Turns a plan, spec, or conversation into small end-to-end tickets with explicit blockers. Use it to agree on the work breakdown before tickets go to a tracker. 711,230installs writing-plans Jesse Vincent This skill turns requirements for a multi-step task into an implementation plan before code changes begin. It helps when another engineer needs exact files, interfaces, and checks. CX Codex 282,859installs caveman-review JuliusBrussee Turns code review comments into one line per finding: location, problem, fix. Useful when a diff or PR needs a fast pass without the filler. CX Codex +1 411,800installs caveman-compress JuliusBrussee Compresses CLAUDE.md, todo lists, and other prose files into a shorter format while retaining a readable backup. CX Codex +1 411,500installs

From the same set58

usability-check Runs a screen-level usability review against Nielsen's 10 heuristics and returns a pass/partial/fail table, useful before calling UI work done. CX Codex +1 ★ 47repo stars threat-model Runs STRIDE threat modeling for features and system architectures. Evaluates data flows, trust boundaries, and AI vulnerabilities before code ships. CX Codex +1 ★ 47repo stars theory-fidelity This skill checks whether a project’s claimed theories are reflected in its mechanisms and whether those mechanisms match the theories. Run it after adding a theory or changing its implementation. CX Codex +1 ★ 47repo stars team-shape Checks your teams against Team Topologies: types, cognitive load, interaction modes and whether the architecture follows Conway's Law on purpose. CX Codex +1 ★ 47repo stars setup This skill initializes Mycelium in a project, creates its state layout, and can add an OpenCode starter scaffold when that runtime is detected or requested. CX Codex +1 ★ 47repo stars security-review Runs OWASP Secure by Design assessments tailored to your product code and architecture. CX Codex +1 ★ 47repo stars scaffold-cost-check This skill estimates how many tokens Mycelium’s stable scaffold uses and breaks the result down by file surface. Run it to audit the context before changing the project scaffold. CX Codex +1 ★ 47repo stars retrospective Logs a completed cycle to the canvas: what you predicted, what actually happened, where the estimate missed. Keeps retros on data instead of memory. CX Codex +1 ★ 47repo stars

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor