From mycelium
Initializes Mycelium project state in .claude/ and runs a 10-minute discovery interview generating a one-page brief on your idea. Recommended first command after plugin install.
npx claudepluginhub haabe/mycelium --plugin myceliumThis skill uses the workspace's default tool permissions.
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.
Initializes Mycelium plugin by creating .claude/ directories (canvas, diamonds, memory, harness, evals, jit-tooling) with .gitkeep stubs and minimal starter files like active.yml. Idempotent setup.
Onboards first sessions in new projects to Pith: introduces features, gathers project details, sets up wiki for decisions/architecture, bootstraps from existing code.
Initializes projects: detects existing code, questions for requirements, researches via subagents, scopes needs, generates roadmap.
Share bugs, ideas, or general feedback.
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.
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 is a discovery-and-discipline harness for AI agents — it forces the agent to think before it codes. 30+ product-thinking frameworks (JTBD, OST, Wardley, Cagan four risks, Cynefin, BVSSH...) connected by evidence gates, so critical steps cannot be skipped.
What I'm about to do, in two steps:
- Set up project-state directories in your
.claude/(canvas, diamonds, memory). ~10 seconds.- Run a 10-minute discovery brief: 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.
Your project root files (CLAUDE.md, README.md, LICENSE, etc.) are NOT touched — Mycelium ships as a Claude Code plugin and lives in plugin cache. Only your
.claude/directory is created.Let's begin."
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:
test -f "$CLAUDE_PROJECT_DIR/.claude/diamonds/active.yml"
If exit code 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 exit code 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 4 AGENTS.md prompt (default-yes in non-interactive contexts), Step 5 confirmation message. Do not duplicate the setup logic here; reference it.
After setup completes, do NOT print setup's "Next:" line — this skill is the next step. Print:
"Setup done. Now: 4 questions about your idea, ~10 minutes."
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 Phase 0 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.
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", continued discovery for "Go deeper", graceful exit for "Stop for now", etc.).
If Step 2 detected existing canvas state (the user has Mycelium installed already on this project), do NOT run setup or interview. Instead, print:
"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:
- Run
/mycelium:diamond-assessto see current state and what to work on next.- Run
/mycelium:interviewto add a new idea as a sibling diamond on this product.- Stop and look around. Canvas files are in
.claude/canvas/."
Then exit. The user picks the next move.
Without /mycelium:start, the first-time plugin user has to:
/plugin install mycelium@haabe-mycelium (Claude Code message: "installed")/mycelium:setup (no obvious pointer at install time)/mycelium:interviewThat'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.
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.