Skip to content

haabe/mycelium

v0.332.0MIT

I realized I let the agent start coding before I was sure it was working on the right thing, so I built this. Now it doesn't get to write code before there's a reason. The agent asks who this is for. It asks what you're assuming, and what would show you wrong. The rules run as hooks, so once you have started it in a repo the build stays shut until the answers are there. Purpose, strategy, opportunities, then delivery and market feedback. It adds skills and hooks, keeps its own state in a .claude/ folder, and won't edit the files already in your repo unless you ask it to.

a11y-check

Accessibility audit, scoped to the surfaces a product actually has. Detects web / rendered_markdown / terminal / native_app / video_audio / document / headless, then applies only the criteria that bind. WCAG 2.1 AA in full for web; not at all for headless.

adopt

Bring Mycelium into a project that already has code. Detects that the repo predates the framework, asks before touching anything, then reads the codebase to draft what it CAN establish (delivery, solution shape) and — the actual point — names what it cannot (purpose, strategy, real user evidence). The output is a discovery backlog with a head start, never a filled canvas.

assumption-test

Design the smallest viable test to validate or invalidate a critical assumption. Based on Torres's assumption testing framework, organized by Gilad's AFTER model (Assessment → Fact-Finding → Tests → Experiments → Release Results).

bias-check

Use before any research activity or significant decision. Reviews cognitive biases relevant to the current stage.

bvssh-check

Use to evaluate whether current work aligns with Better Value Sooner Safer Happier. Run at diamond completion and periodically.

canvas-health

Lint canvas files for staleness, missing fields, inconsistent evidence types, and orphaned references. Run periodically or before major transitions.

canvas-sync

Synchronize canvas state across team sessions via git. Ensures all team members see the same product knowledge.

canvas-update

Update canvas sections with new evidence. Ensures canvas stays current as the single source of truth.

corrections-audit

Use to analyze correction trends, surface recurring patterns, and graduate repeat corrections to guardrails or anti-patterns.

count

Print your own north-star row from your own record, and nothing else. Reads .claude/harness/decision-log.md, the canvas and the hook logs in this project; prints one line (decisions before the first source file, of which citing outside evidence, kills before code, sessions). Sends nothing anywhere. Opt-in; paste the line where you like or not at all.

cycle-render

Render .claude/canvas/cycle-history.yml as a Gantt chart + outcome distribution pie (or ascii / json). Read-only. Consults the attribution registry per ${CLAUDE_PLUGIN_ROOT}/engine/render-conventions.md consent + privacy gate. Third specialist in the render fleet.

cynefin-classify

Use when facing a new problem to classify its domain (Clear, Complicated, Complex, Chaotic, Confused) and select appropriate methods.

define-done

Pin a measurable, outcome-based Definition of Done for a diamond — a behaviour-change that creates value, not a build-list. Problem-first Socratic sequence; writes definition_of_done to the diamond at birth or retrofits it when missing.

definition-of-done

Use to verify a feature/story meets all Definition of Done criteria before marking complete.

delivery-bootstrap

Use when starting implementation on a new or unfamiliar codebase. Auto-detects tech stack and sets up development context.

devils-advocate

Systematically challenge current assumptions before major decisions. Counters confirmation bias, groupthink, and overconfidence.

diamond-assess

Use to evaluate the current state of a diamond. Checks theory gates, confidence levels, and recommends next action.

diamond-progress

Record a diamond's next decision (set_target; start_experiment and commit_to_build; release; close; an L0's state_purpose or review). Runs the theory gates each decision needs, validates evidence, and at close runs the executable Definition of Done checklist.

diamond-render

Render .claude/diamonds/active.yml as the decisions each diamond has recorded, in order, grouped by mode (discovery, delivery). Read-only. Default format Mermaid stateDiagram-v2, drawn by a script. Recommended at the end of /mycelium:diamond-assess so every assessment closes with a visual state-of-play. See ${CLAUDE_PLUGIN_ROOT}/engine/render-conventions.md for shared render fleet conventions.

dora-check

Assess delivery health metrics. For software: DORA + APEX. For content/AI/service products: product-type-appropriate metrics.

eval-runner

Run eval scenarios to benchmark Mycelium effectiveness. Execute tasks using reflexion loop, validate against success criteria, record metrics.

fan-out

Parallel agent orchestration for OST exploration. Fan-out multiple solution explorations, fan-in results to compare and select winners.

feedback-review

Aggregate feedback signals across all active loops. Reports health, trajectory, overdue checks, regression warnings, and Goodhart's Law violations.

framework-health

Evaluate Mycelium's own process effectiveness. Measures cycle velocity, discard trends, confidence calibration, gate effectiveness, regression rate. Run quarterly or every 20 cycles.

friction-log

Draft a short, honest account of where using Mycelium was confusing or slow, for the user to edit and choose whether to send. Reports experience; never prescribes fixes. Based on Hoskins's friction logging.

gist-plan

GIST planning workflow. Structure goals into ideas, steps, and tasks using Gilad's evidence-guided framework.

handoff

Generate structured handoff materials for offline human tasks (interviews, observations, outreach). Creates actionable briefs with phone-friendly capture templates.

harms-check

Use when building anything USER-FACING (or with persuasion/retention/cancellation/consent/pricing flows, or that touches vulnerable people) to surface design-level harm the security/privacy/compliance gates miss: dark/deceptive patterns and foreseeable misuse. Assumes the product works as designed and asks who it could harm and whether it is Happier-negative. NUDGE, not a block.

ice-score

Use to prioritize solutions or opportunities using ICE scoring with evidence-backed confidence.

interview

Use when onboarding a new product/project. Progressive interview to understand purpose, vision, north star, and competitive landscape.

jtbd-map

Map the Jobs to be Done (functional, emotional, and social) that people are trying to get done. Based on Christensen's JTBD theory — applies to any object, not only software.

launch-tier

Classify releases into launch tiers and plan go-to-market. Based on Lauchengco's Loved framework.

log-evidence

Record findings from completed offline human tasks (interviews, observations, outreach) back into the canvas. The re-entry point after /mycelium:handoff.

metrics-detect

Detect which external metric sources apply to this product (GitHub, Plausible, Stripe, etc.) and configure adapters. Retrofit entry point for projects that started before v0.14; also runnable to refresh source list when the product grows.

metrics-pull

Pull snapshots from all configured metric sources, compute deltas against prior snapshots, flag unexplained signals, and draft evidence entries for canvas files. One entry point for all external product/market metrics.

migrate-from-legacy

Migrate a Mycelium project from legacy install (npx-degit, framework files in .claude/) to plugin install (framework lives in plugin cache, .claude/ holds project state only). Detects current install form, walks the user through plugin installation, runs the migration script, and verifies project state survived. Idempotent — safe to invoke on already-migrated projects.

mocked-persona-interview

Use when real user interviews aren't possible (solo/hobby/dogfood projects) but persona work is still needed. Enforces epistemic discipline: adversarial spectrum, pre-committed stop conditions, speculation tagging. NOT a substitute for /mycelium:user-interview when real users are available.

ost-builder

Use to build or update an Opportunity Solution Tree from research data. Never from brainstorming.

ost-render

Render .claude/canvas/opportunities.yml as a diagram or structured list. Read-only. Default format Mermaid mindmap. Consults the attribution registry per ${CLAUDE_PLUGIN_ROOT}/engine/render-conventions.md consent + privacy gate. Second specialist in the render fleet.

ping

Smoke-test skill that confirms the Mycelium plugin loaded correctly. Returns a deterministic marker string for plugin-shape validation. Not for end-user invocation in normal use.

preflight

Use before starting delivery work. Pre-implementation validation checklist to ensure readiness.

privacy-check

Use to assess Privacy by Design compliance and GDPR/data protection alignment for a feature or system.

prompt-optimizer

A/B test CLAUDE.md instruction changes against eval benchmarks. Capture baselines, test variants, compare results.

purpose-properties

Derive the binding properties your why/how/what impose on everything below them, so no solution can silently contradict your own product definition. Retrofit entry point for projects that started before v0.120.0; also the re-derive path when why/how/what change and every stance below them goes stale.

receipt-render

Render a completed diamond's work as a shareable, factual one-page "work receipt" (problem framed, assumptions tested, what was killed vs kept) carrying an origin line + a volitional onward-handoff data flow. Read-only. Consults the attribution registry per ${CLAUDE_PLUGIN_ROOT}/engine/render-conventions.md consent + privacy gate. Follows the render fleet's shared conventions + consent gate (Check 43 applies via the -render name); a standalone shareable-artifact generator, NOT a /render dispatcher target. Audience fixed external (a hand-it-over artifact).

reflexion

Use for self-correcting implementation. Implements the reflexion loop: implement, validate, self-critique, retry (max 3 iterations).

regulatory-review

Use to assess regulatory applicability for products that may fall under AI regulation (EU AI Act, Article 50 transparency).

render

Central dispatcher for the canvas/state render fleet. Routes intent to a specialist (/mycelium:diamond-render, /mycelium:ost-render, /mycelium:cycle-render) OR lists what's renderable. Cross-cutting views spanning multiple canvases (opp→sol→cycle traceability, confidence-over-time, cluster-graduation-flow) are research-gated and NOT emitted by default. See ${CLAUDE_PLUGIN_ROOT}/engine/render-conventions.md for shared conventions.

retrospective

Structured retrospective after completing a delivery increment or diamond. Captures learning for continuous improvement.

scaffold-cost-check

Measure Mycelium's own scaffold token cost (CLAUDE.md + engine + harness + canvas + memory) and surface a structured estimate. One-shot audit; pair with /framework-health for trend tracking.

security-review

OWASP secure design review for code and architecture. Checks input validation, authentication, authorization, data protection.

service-check

Use to evaluate a service or feature against Downe's 15 principles of good services.

setup

First-run setup for the Mycelium plugin. Creates project-state directories (.claude/canvas, .claude/diamonds, .claude/memory, .claude/harness) and minimal starter files in the user's project. Optionally provisions opencode runtime support (a starter scaffold) when opencode is detected or requested, and declares the gates in .vibe/hooks.toml when Mistral Vibe is. Idempotent — re-running on an initialized project is a no-op. Run this once after installing the Mycelium plugin and before invoking other skills.

start

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.

team-shape

Assess team structure against Skelton's Team Topologies. Evaluate cognitive load, interaction modes, and Conway's Law alignment.

theory-fidelity

Audit whether the theories/methodologies a project claims to implement are faithfully operationalized — or name-dropped, partially built, distorted, or over-claimed. Source-grounds the load-bearing theories; tags the rest provisional. Run periodically alongside /framework-health.

threat-model

Use to conduct STRIDE threat modeling for a system or feature design.

usability-check

Evaluate user-facing interfaces against Nielsen's 10 Usability Heuristics. Complements /mycelium:service-check (Downe = service-level quality, Nielsen = interface-level quality).

user-interview

Guide for conducting Torres-style story-based interviews with the people whose experience you're researching, with bias mitigation and a JTBD lens.

user-needs-map

Map the needs of the people you're building or exploring for, independently of solutions, using Allen's User Needs Mapping methodology. Identifies underserved needs that feed into the Opportunity Solution Tree.

wardley-map

Create or update a Wardley Map of how any domain delivers value. Maps the needs it serves, the capabilities involved, how each is evolving (genesis to commodity), and strategic plays. Applies to any domain, not only software.

wiring-contract

Derive this project's own integration conventions from what the code already does, draft them as a wiring contract, and hold new work to it. Closes the built-but-not-wired gap at L3 (walking skeleton) — a mechanism that ships and is never called reads green in every other check.

xai-check

Explainability (XAI) audit for products containing AI components. Five-stage tier-scaled check: risk classification, stakeholder×question matrix, fidelity audit, system card, recourse path. Honest about what was validated functionally vs what needs user testing.