bassclef
SkillsPlanning
LitePhase PlanningAlso useful in Concept, DesignBody 4 sections · ~414 wordsUpdated 2026-10-02

/lean-canvas

Produce a Lean Canvas — Ash Maurya's 9-box template — filled through persona lenses. Two modes: commercial (revenue in dollars) and growth-loop (audience plus credibility). Outputs the riskiest assumption to validate next.

Copy the command
/lean-canvas
/lean-canvas commercial
/lean-canvas growth-loop

Type it bare, or paste it with loose context after — Claude figures out the rest.

Solves

New products get built without naming the customer or the problem or the unfair advantage.

Payoff

Ash Maurya's 9-box canvas filled through persona work. One page names the business.

Takes in

  • Personas file
  • Value proposition data
  • A rough product idea

Returns

  • Lean Canvas 9-box filled
  • Problem and solution named per persona
Runs with
—
Needs first
—
Called by
—
Deep dive — 4 sections · ~414 words · original SKILL.mdScroll for tutorial ↓

What it does

Use this skill when an idea is early enough that the business model isn't proven yet. Lean Canvas asks "does this hold together at all" before product work asks "what should we build."

Distinct from /canvas (Roman Pichler — product vision and feature shape) and /value-prop (April Dunford — message positioning). All three compose. Lean Canvas comes first when business model fit is uncertain.

Read the full skill

The complete instructions live at .claude/skills/lean-canvas/SKILL.md in your repo after bassclef-sync. Open with your editor for phases, rules, and worked examples.

Where in the SDLC

Also relevant in: Concept, Design.

Why this phase: Ash Maurya nine-box canvas through persona lenses. Home = Planning because a canvas IS a planning artifact — strategic direction shaping. Bleeds back into Concept (framing) and forward into Design (surface work).

FAQ

Terms from bassclef vocabulary that appear on this page.

cameo
A pattern for routing a specific practitioner's documented judgment into a specific software development task. Bassclef implements it as three parts — a curated catalog of practitioners, a matcher that connects problems to relevant experts, and invokable skills that channel the pick. You see 'Cooper says X' or 'Norman flags Y' inline rather than the skill running a full consult. Trades depth for speed on lower-stakes surfaces. See: /docs/skills/luminary, doi:10.5281/zenodo.22145491
luminary
A design or engineering thinker whose discipline bassclef borrows as a review lens — the practitioner in the cameo pattern above. Cooper for personas, Norman for signifiers, Feathers for characterization tests, Beck for TDD rhythm, plus about 90 others. Skills invoke a lens to check work against a specific discipline. `/luminary` browses the catalog. See: /docs/skills/luminary, doi:10.5281/zenodo.22145491
load-bearing
A part of the system that other parts depend on — remove it and downstream things break. Bassclef uses the word for artifacts that other artifacts read: a canvas is load-bearing when a spec cites it, a spec is load-bearing when Builder uses it. Plain equivalent: 'actually used' or 'counted on'.
hook
A shell script bassclef wires into Claude Code's tool-invocation lifecycle. Hooks fire at events like PreToolUse (before an Edit lands) or SessionStart (when a session opens). Hooks enforce rules mechanically — a rule says 'don't do X'; a hook fires and BLOCKs if X happens.
rule
A markdown file auto-loaded into every session's context. Rules pin discipline the agent applies to every response (plain-English writing, blocked-items protocol, temperance gates). Different from a hook — rules are steering; hooks are enforcement.
skill
A user-invocable command (like `/kiss` or `/temperance`) that runs a specific bassclef workflow. Every skill lives at `.claude/skills/<name>/SKILL.md` with frontmatter + procedure. Adopters type the slash command; Claude Code loads the skill and runs it.
adopter
A repo that has bassclef installed — either via `bassclef init` (lite tier from npm) or via the symlink pattern (standard tier with an Anthropic key). Bassclef's discipline: never break adopters. Every change to a downstream-observable surface ships with a compat shim.
bassclef-upstream
The private repo where bassclef substrate is authored. Ships to a public `bassclef` npm package + a public `bassclef-web` docs site. Adopters read the public tier; the operator maintains upstream.

Shipped by @kingofrock · Read the essays

On this page

© 2025–2026 Sunjay Pandey·Privacy·Apache-2.0 code