@thebassclef/lite 1.0.3 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/dist/cli.cjs +92 -6
  2. package/dist/cli.js +92 -6
  3. package/dist/index.cjs +1 -1
  4. package/dist/index.d.ts +1 -1
  5. package/dist/index.js +1 -1
  6. package/dist/lite/.claude/agents/architect.md +70 -0
  7. package/dist/lite/.claude/agents/builder.md +114 -0
  8. package/dist/lite/.claude/agents/designer.md +156 -0
  9. package/dist/lite/.claude/agents/reviewer.md +88 -0
  10. package/dist/lite/.claude/hooks/bassclef-sync.sh +85 -27
  11. package/dist/lite/.claude/hooks/longrun-prep-compounding-axis-check.sh +492 -0
  12. package/dist/lite/.claude/hooks/longrun-prep-render-check.sh +236 -0
  13. package/dist/lite/.claude/hooks/persona-name-scrub-check.sh +105 -0
  14. package/dist/lite/.claude/hooks/skill-step-list-check.sh +171 -0
  15. package/dist/lite/.claude/luminaries/alan-cooper.md +170 -0
  16. package/dist/lite/.claude/luminaries/alistair-cockburn.md +140 -0
  17. package/dist/lite/.claude/luminaries/amazon-pr-faq.md +34 -0
  18. package/dist/lite/.claude/luminaries/andreas-zeller.md +74 -0
  19. package/dist/lite/.claude/luminaries/ash-maurya.md +121 -0
  20. package/dist/lite/.claude/luminaries/bill-buxton.md +210 -0
  21. package/dist/lite/.claude/luminaries/charles-sanders-peirce.md +150 -0
  22. package/dist/lite/.claude/luminaries/david-ogilvy.md +192 -0
  23. package/dist/lite/.claude/luminaries/don-norman.md +173 -0
  24. package/dist/lite/.claude/luminaries/edward-tufte.md +179 -0
  25. package/dist/lite/.claude/luminaries/eric-evans.md +160 -0
  26. package/dist/lite/.claude/luminaries/frederick-brooks.md +50 -0
  27. package/dist/lite/.claude/luminaries/gang-of-four.md +157 -0
  28. package/dist/lite/.claude/luminaries/glenford-myers.md +230 -0
  29. package/dist/lite/.claude/luminaries/hunt-thomas.md +115 -0
  30. package/dist/lite/.claude/luminaries/hyrum-wright.md +94 -0
  31. package/dist/lite/.claude/luminaries/jason-fried-dhh.md +46 -0
  32. package/dist/lite/.claude/luminaries/jesse-james-garrett.md +154 -0
  33. package/dist/lite/.claude/luminaries/john-ousterhout.md +94 -0
  34. package/dist/lite/.claude/luminaries/karl-popper.md +132 -0
  35. package/dist/lite/.claude/luminaries/kent-beck.md +168 -0
  36. package/dist/lite/.claude/luminaries/linus-torvalds.md +218 -0
  37. package/dist/lite/.claude/luminaries/martin-fowler.md +164 -0
  38. package/dist/lite/.claude/luminaries/michael-feathers.md +125 -0
  39. package/dist/lite/.claude/luminaries/michael-nygard.md +118 -0
  40. package/dist/lite/.claude/luminaries/robert-c-martin.md +164 -0
  41. package/dist/lite/.claude/luminaries/saltzer-schroeder.md +194 -0
  42. package/dist/lite/.claude/luminaries/sophia-prater.md +193 -0
  43. package/dist/lite/.claude/luminaries/stephen-toulmin.md +131 -0
  44. package/dist/lite/.claude/luminaries/tony-hoare.md +170 -0
  45. package/dist/lite/.claude/luminaries/vaughn-vernon.md +50 -0
  46. package/dist/lite/.claude/luminaries/w-edwards-deming.md +158 -0
  47. package/dist/lite/.claude/rules/accessor-library-discipline.md +110 -0
  48. package/dist/lite/.claude/rules/adr-discipline.md +96 -0
  49. package/dist/lite/.claude/rules/api-conventions.md +115 -0
  50. package/dist/lite/.claude/rules/artifact-ingestion.md +137 -0
  51. package/dist/lite/.claude/rules/assert-only-after-verify.md +111 -0
  52. package/dist/lite/.claude/rules/blocked-items.md +139 -0
  53. package/dist/lite/.claude/rules/bootstrap-pair-discipline.md +106 -0
  54. package/dist/lite/.claude/rules/branching.md +28 -0
  55. package/dist/lite/.claude/rules/cold-adopter-harness-discipline.md +93 -0
  56. package/dist/lite/.claude/rules/commit-conventions.md +22 -0
  57. package/dist/lite/.claude/rules/compounding-axis-fresh-analysis.md +173 -0
  58. package/dist/lite/.claude/rules/compounding-sequence-fresh-analysis.md +173 -0
  59. package/dist/lite/.claude/rules/context-engineering.md +155 -0
  60. package/dist/lite/.claude/rules/context-management.md +85 -0
  61. package/dist/lite/.claude/rules/defensive-bash.md +52 -0
  62. package/dist/lite/.claude/rules/deferred-actions.md +233 -0
  63. package/dist/lite/.claude/rules/destructive-operations.md +69 -0
  64. package/dist/lite/.claude/rules/diagnosis.md +38 -0
  65. package/dist/lite/.claude/rules/github-issue-flash-tweet.md +114 -0
  66. package/dist/lite/.claude/rules/guardrails.md +73 -0
  67. package/dist/lite/.claude/rules/hook-wire-on-author.md +77 -0
  68. package/dist/lite/.claude/rules/identifier-leak-prevention.md +73 -0
  69. package/dist/lite/.claude/rules/iteration-bet-brief-completeness.md +43 -0
  70. package/dist/lite/.claude/rules/lite-manifest-schema-change-discipline.md +79 -0
  71. package/dist/lite/.claude/rules/longrun-prep-plan-doc-compression.md +77 -0
  72. package/dist/lite/.claude/rules/loop-discipline.md +71 -0
  73. package/dist/lite/.claude/rules/manual-prod-approval.md +100 -0
  74. package/dist/lite/.claude/rules/marker-enrichment-discipline.md +72 -0
  75. package/dist/lite/.claude/rules/mobile-ephemeral-session.md +109 -0
  76. package/dist/lite/.claude/rules/new-dependency-check.md +44 -0
  77. package/dist/lite/.claude/rules/oo-ad-entry-point.md +95 -0
  78. package/dist/lite/.claude/rules/operator-facing-prose.md +177 -0
  79. package/dist/lite/.claude/rules/option-label-discipline.md +82 -0
  80. package/dist/lite/.claude/rules/pattern-annotation.md +83 -0
  81. package/dist/lite/.claude/rules/persona-name-leak-scrub.md +90 -0
  82. package/dist/lite/.claude/rules/plain-english-discipline.md +132 -0
  83. package/dist/lite/.claude/rules/plan-enumeration-needs-value-props.md +177 -0
  84. package/dist/lite/.claude/rules/pr-body-shape.md +195 -0
  85. package/dist/lite/.claude/rules/pr-strategy.md +142 -0
  86. package/dist/lite/.claude/rules/pr-title-shape.md +90 -0
  87. package/dist/lite/.claude/rules/prototype-workflow.md +53 -0
  88. package/dist/lite/.claude/rules/reserved-skill-names.md +103 -0
  89. package/dist/lite/.claude/rules/schema-management.md +42 -0
  90. package/dist/lite/.claude/rules/sdlc-gates.md +149 -0
  91. package/dist/lite/.claude/rules/security.md +37 -0
  92. package/dist/lite/.claude/rules/session-artifacts.md +236 -0
  93. package/dist/lite/.claude/rules/skill-composition-declarations.md +105 -0
  94. package/dist/lite/.claude/rules/skill-description-clarity.md +196 -0
  95. package/dist/lite/.claude/rules/skill-procedure-step-list.md +119 -0
  96. package/dist/lite/.claude/rules/sprint-prep-preset-picker.md +76 -0
  97. package/dist/lite/.claude/rules/state-schema-validation.md +156 -0
  98. package/dist/lite/.claude/rules/stuck-signal-diagnostic.md +111 -0
  99. package/dist/lite/.claude/rules/substrate-config-schema.md +85 -0
  100. package/dist/lite/.claude/rules/test-list-discipline.md +129 -0
  101. package/dist/lite/.claude/rules/test-sufficiency.md +186 -0
  102. package/dist/lite/.claude/rules/testing-tier-config.md +125 -0
  103. package/dist/lite/.claude/rules/testing.md +38 -0
  104. package/dist/lite/.claude/rules/turn-estimate-grounding.md +82 -0
  105. package/dist/lite/.claude/rules/visual-hierarchy.md +427 -0
  106. package/dist/lite/.claude/rules/we-dont-break-adopters.md +103 -0
  107. package/dist/lite/.claude/rules/whereami-load-bearing.md +184 -0
  108. package/dist/lite/.claude/rules/writing-craft-discipline.md +72 -0
  109. package/dist/lite/.claude/rules/wu-sequencing-compounds.md +119 -0
  110. package/dist/lite/.claude/skills/build/SKILL.md +640 -0
  111. package/dist/lite/.claude/skills/chronicle/SKILL.md +55 -0
  112. package/dist/lite/.claude/skills/clean-artifacts/SKILL.md +249 -0
  113. package/dist/lite/.claude/skills/decompose/SKILL.md +280 -0
  114. package/dist/lite/.claude/skills/diagnose/SKILL.md +297 -0
  115. package/dist/lite/.claude/skills/feynman/SKILL.md +90 -0
  116. package/dist/lite/.claude/skills/howdoi/SKILL.md +105 -0
  117. package/dist/lite/.claude/skills/ia-model/SKILL.md +108 -0
  118. package/dist/lite/.claude/skills/interaction-design/SKILL.md +112 -0
  119. package/dist/lite/.claude/skills/interpret-input/SKILL.md +180 -0
  120. package/dist/lite/.claude/skills/journal/SKILL.md +209 -0
  121. package/dist/lite/.claude/skills/kiss/SKILL.md +449 -0
  122. package/dist/lite/.claude/skills/launch/SKILL.md +915 -0
  123. package/dist/lite/.claude/skills/lean-canvas/SKILL.md +332 -0
  124. package/dist/lite/.claude/skills/longrun/SKILL.md +512 -0
  125. package/dist/lite/.claude/skills/luminary/SKILL.md +481 -0
  126. package/dist/lite/.claude/skills/ogilvy-writing-audit/SKILL.md +177 -0
  127. package/dist/lite/.claude/skills/onboard-repo/SKILL.md +1640 -0
  128. package/dist/lite/.claude/skills/pattern-review/SKILL.md +99 -0
  129. package/dist/lite/.claude/skills/personas/SKILL.md +207 -0
  130. package/dist/lite/.claude/skills/promote/SKILL.md +283 -0
  131. package/dist/lite/.claude/skills/requirement/SKILL.md +98 -0
  132. package/dist/lite/.claude/skills/retro/SKILL.md +117 -0
  133. package/dist/lite/.claude/skills/riff/SKILL.md +114 -0
  134. package/dist/lite/.claude/skills/roadmap-reconcile/SKILL.md +163 -0
  135. package/dist/lite/.claude/skills/session-end/SKILL.md +309 -0
  136. package/dist/lite/.claude/skills/session-log/SKILL.md +299 -0
  137. package/dist/lite/.claude/skills/skills/SKILL.md +228 -0
  138. package/dist/lite/.claude/skills/spec/SKILL.md +105 -0
  139. package/dist/lite/.claude/skills/sprint/SKILL.md +418 -0
  140. package/dist/lite/.claude/skills/stage/SKILL.md +384 -0
  141. package/dist/lite/.claude/skills/state-a-problem/SKILL.md +185 -0
  142. package/dist/lite/.claude/skills/temperance/SKILL.md +108 -0
  143. package/dist/lite/.claude/skills/use-case/SKILL.md +417 -0
  144. package/dist/lite/.claude/skills/user-stories/SKILL.md +268 -0
  145. package/dist/lite/.claude/skills/value-prop/SKILL.md +251 -0
  146. package/dist/lite/.claude/skills/verify/SKILL.md +160 -0
  147. package/dist/lite/.claude/skills/visual-review/SKILL.md +503 -0
  148. package/dist/lite/.claude/skills/whats-the-plan/SKILL.md +202 -0
  149. package/dist/lite/.claude/skills/whereami/SKILL.md +307 -0
  150. package/dist/lite/AGENTS.md +79 -0
  151. package/dist/lite/CLAUDE-lite.md +85 -0
  152. package/dist/lite/CODE_OF_CONDUCT.md +28 -0
  153. package/dist/lite/CONTRIBUTING.md +177 -0
  154. package/dist/lite/README.md +173 -0
  155. package/dist/lite/SECURITY.md +19 -0
  156. package/dist/lite/architecture/decisions/ADR-029-release-pipeline.md +79 -0
  157. package/dist/lite/architecture/decisions/ADR-031-non-breaking-changes-adopter-discipline.md +139 -0
  158. package/dist/lite/architecture/decisions/ADR-032-adopter-sync-dispatcher-architecture.md +192 -0
  159. package/dist/lite/architecture/decisions/ADR-039-release-tagging-scheme.md +145 -0
  160. package/dist/lite/architecture/decisions/ADR-040-planning-skill-vocabulary-and-lite-profile.md +155 -0
  161. package/dist/lite/architecture/decisions/ADR-044-unified-skill-body-template.md +162 -0
  162. package/dist/lite/lib/clean-artifacts-sweep.sh +112 -0
  163. package/dist/lite/lib/code-comment-discipline.sh +144 -0
  164. package/dist/lite/lib/composer-preflight.sh +459 -0
  165. package/dist/lite/lib/deferred-actions.sh +146 -0
  166. package/dist/lite/lib/hook-header-parser.sh +61 -0
  167. package/dist/lite/lib/hook-heartbeat.sh +152 -0
  168. package/dist/lite/lib/hook-inject.sh +255 -0
  169. package/dist/lite/lib/hook-installer.sh +195 -0
  170. package/dist/lite/lib/luminary-pick.sh +96 -0
  171. package/dist/lite/lib/output-discipline.sh +143 -0
  172. package/dist/lite/lib/prose-scan-boundary.sh +171 -0
  173. package/dist/lite/lib/rewrite-check.sh +214 -0
  174. package/dist/lite/lib/session-rescue.sh +151 -0
  175. package/dist/lite/lib/source-graph-walker.sh +277 -0
  176. package/dist/lite/lib/state.sh +1372 -0
  177. package/dist/lite/lib/telemetry.sh +205 -0
  178. package/dist/lite/lib/tier-check.sh +187 -0
  179. package/dist/lite/lib/tier-dependency-audit.sh +1088 -0
  180. package/dist/lite/presence/install/bassclef-hook-connect.sh +178 -0
  181. package/dist/lite/presence/install/bassclef-sync.dispatcher.template.sh +841 -0
  182. package/dist/lite/presence/install/bassclef-sync.template.sh +2278 -0
  183. package/dist/lite/presence/install/schedule-auto-save.cron.sh +88 -0
  184. package/dist/lite/presence/install/schedule-auto-save.taskscheduler.md +122 -0
  185. package/dist/lite/scripts/aggregate-telemetry.sh +217 -0
  186. package/dist/lite/scripts/analyze-tier-dependencies.sh +239 -0
  187. package/dist/lite/scripts/generate-lite-manifest.sh +505 -0
  188. package/dist/lite/scripts/generate-tier-manifest.sh +28 -0
  189. package/dist/lite/scripts/intent-drift-check.sh +456 -0
  190. package/dist/lite/scripts/lite-manifest-drift-check.sh +146 -0
  191. package/dist/lite/scripts/render-lite-manifest-doc.sh +150 -0
  192. package/dist/lite/standards/adr-template.md +86 -0
  193. package/dist/lite/standards/api-conventions/nextjs.md +84 -0
  194. package/dist/lite/standards/artifact-composition.md +209 -0
  195. package/dist/lite/standards/bash-hook-safety.md +246 -0
  196. package/dist/lite/standards/bassclef-configs-schema.md +232 -0
  197. package/dist/lite/standards/bassclef-evolution.md +143 -0
  198. package/dist/lite/standards/bassclef-internal-jargon.md +244 -0
  199. package/dist/lite/standards/bassclef-managed-sentinel.md +96 -0
  200. package/dist/lite/standards/bassclef-source-config.md +228 -0
  201. package/dist/lite/standards/branch-stacking.md +408 -0
  202. package/dist/lite/standards/code-safety-principles.md +176 -0
  203. package/dist/lite/standards/composer-prerequisites.md +155 -0
  204. package/dist/lite/standards/deferred-actions-schema.md +204 -0
  205. package/dist/lite/standards/dependency-discipline/cargo.md +39 -0
  206. package/dist/lite/standards/dependency-discipline/gem.md +43 -0
  207. package/dist/lite/standards/dependency-discipline/go-mod.md +41 -0
  208. package/dist/lite/standards/dependency-discipline/npm.md +42 -0
  209. package/dist/lite/standards/dependency-discipline/pip.md +42 -0
  210. package/dist/lite/standards/deployment-topology/ec2-tailscale.md +225 -0
  211. package/dist/lite/standards/deployment-topology.md +69 -0
  212. package/dist/lite/standards/docs-sync-allowlist.md +76 -0
  213. package/dist/lite/standards/domain-and-dns.md +145 -0
  214. package/dist/lite/standards/frontend-stack.md +67 -0
  215. package/dist/lite/standards/frontmatter-schema.md +154 -0
  216. package/dist/lite/standards/graceful-exit.md +227 -0
  217. package/dist/lite/standards/hook-idempotency.md +102 -0
  218. package/dist/lite/standards/hook-injection-discipline.md +202 -0
  219. package/dist/lite/standards/hook-install-class.md +215 -0
  220. package/dist/lite/standards/input-handler-interface.md +152 -0
  221. package/dist/lite/standards/lite-manifest-schema-changes.md +180 -0
  222. package/dist/lite/standards/lite-manifest.json +2797 -0
  223. package/dist/lite/standards/luminary-matching.md +105 -0
  224. package/dist/lite/standards/luminary-problem-patterns.md +481 -0
  225. package/dist/lite/standards/migration-discipline/active-record.md +50 -0
  226. package/dist/lite/standards/migration-discipline/alembic.md +43 -0
  227. package/dist/lite/standards/migration-discipline/gorm.md +50 -0
  228. package/dist/lite/standards/migration-discipline/prisma.md +53 -0
  229. package/dist/lite/standards/migration-discipline/sqlalchemy.md +51 -0
  230. package/dist/lite/standards/mobile-ephemeral-session.md +167 -0
  231. package/dist/lite/standards/model-routing-discipline.md +160 -0
  232. package/dist/lite/standards/ogilvy-writing-rules.md +225 -0
  233. package/dist/lite/standards/opener-discipline.md +96 -0
  234. package/dist/lite/standards/operator-facing-prose-discipline.md +201 -0
  235. package/dist/lite/standards/persona-schema.md +229 -0
  236. package/dist/lite/standards/pluggable-luminaries.md +323 -0
  237. package/dist/lite/standards/pr-body-discipline.md +115 -0
  238. package/dist/lite/standards/preview-state-schema.md +189 -0
  239. package/dist/lite/standards/project-directory-layout.md +276 -0
  240. package/dist/lite/standards/release-tagging.md +137 -0
  241. package/dist/lite/standards/reserved-skill-names.md +120 -0
  242. package/dist/lite/standards/scannable-multi-option-output.md +265 -0
  243. package/dist/lite/standards/sdlc-compliance.md +286 -0
  244. package/dist/lite/standards/sdlc-gates/typescript.md +57 -0
  245. package/dist/lite/standards/secrets-lifecycle.md +210 -0
  246. package/dist/lite/standards/security-scanner-adapter.md +145 -0
  247. package/dist/lite/standards/session-board.md +256 -0
  248. package/dist/lite/standards/skill-output-discipline.md +121 -0
  249. package/dist/lite/standards/state-spine-contract.md +255 -0
  250. package/dist/lite/standards/state-spine.md +511 -0
  251. package/dist/lite/standards/steering-hints/kiss-words.md +11 -0
  252. package/dist/lite/standards/substrate-config-schema.md +267 -0
  253. package/dist/lite/standards/tech-stack-config.md +109 -0
  254. package/dist/lite/standards/tier-dependency-analysis.md +167 -0
  255. package/dist/lite/standards/tier-runtime-deps/lite.md +57 -0
  256. package/dist/lite/standards/tier-tag-schema.md +155 -0
  257. package/dist/lite/standards/two-layer-config.md +99 -0
  258. package/dist/lite/standards/use-case-format.md +292 -0
  259. package/dist/lite/standards/user-story-invest.md +268 -0
  260. package/dist/lite/standards/velocity-and-appetite.md +229 -0
  261. package/dist/lite/standards/voice-input-pattern.md +119 -0
  262. package/dist/lite/standards/whereami-schema.md +301 -0
  263. package/dist/lite/standards/worktree-management.md +211 -0
  264. package/dist/lite/standards/writing-guide.md +213 -0
  265. package/dist/lite/templates/chronicle-template.md +75 -0
  266. package/dist/lite/templates/deferred-action-template.md +45 -0
  267. package/dist/lite/templates/memory-proposal-template.md +77 -0
  268. package/dist/lite/templates/persona-template.md +200 -0
  269. package/dist/lite/templates/pr-faq.md +45 -0
  270. package/dist/lite/templates/secret-rotation-template.md +162 -0
  271. package/dist/lite/templates/spec-template.md +131 -0
  272. package/dist/lite/templates/use-case-template.md +194 -0
  273. package/dist/lite/templates/user-story-template.md +107 -0
  274. package/dist/lite/templates/whereami-template.md +101 -0
  275. package/package.json +1 -1
@@ -0,0 +1,140 @@
1
+ ---
2
+ tier: lite
3
+ name: Alistair Cockburn
4
+ slug: alistair-cockburn
5
+ claimed_by: [architect, builder, shaper]
6
+ referenced_by_skills: [decompose, spec, prototype-variants]
7
+ primary_domain: architecture
8
+ depth: full
9
+ solves_problems_brownfield:
10
+ - "The system's business logic is tangled with database access, HTTP handling, and third-party calls — changing one requires understanding all"
11
+ - "Use cases are written as vague user stories that can't be used as acceptance tests"
12
+ - "The architecture works locally but fails at each deployment because no one tested the full wired path"
13
+ - "Every new feature requires touching the database, the service layer, and the API in one change — no independent seams"
14
+ solves_problems_greenfield:
15
+ - "Designing a system where business logic can be tested without a running database or HTTP stack"
16
+ - "Planning the first end-to-end slice that proves the architecture before building any feature depth"
17
+ - "Writing use cases that serve as both requirements and acceptance test specifications"
18
+ - "Choosing a methodology weight that fits the team size and stakes — lightweight for small teams, heavier for safety-critical work"
19
+ anti_patterns:
20
+ - "UI-only or data-layer-only work where hexagonal architecture is over-engineering for the scope"
21
+ - "Exploratory prototypes where formal use cases would slow down learning"
22
+ - "Teams that are fluent in BDD/TDD — the walking skeleton concept is built into their practice"
23
+ sources:
24
+ - type: book
25
+ title: "Writing Effective Use Cases"
26
+ authors: ["Alistair Cockburn"]
27
+ year: 2000
28
+ url: "https://www.amazon.com/Writing-Effective-Use-Cases-Cockburn/dp/0201702258"
29
+ isbn: "0201702258"
30
+ methodology_covered:
31
+ - "Use case writing — title, primary actor, preconditions, main success scenario, extensions"
32
+ - "Goal levels — cloud, kite, sea level (user goals), fish, clam; write at sea level"
33
+ - "Use cases as both requirements and acceptance test specifications"
34
+ - type: book
35
+ title: "Agile Software Development: The Cooperative Game"
36
+ authors: ["Alistair Cockburn"]
37
+ year: 2006
38
+ url: "https://www.amazon.com/Agile-Software-Development-Cooperative-Game/dp/0321482751"
39
+ isbn: "0321482751"
40
+ methodology_covered:
41
+ - "Crystal methodology family — process weight matched to team size and criticality"
42
+ - "Walking skeleton — thin, real, end-to-end path before any feature depth"
43
+ - "Software development as a cooperative game of invention and communication"
44
+ - type: article
45
+ title: "Hexagonal Architecture (Ports and Adapters)"
46
+ authors: ["Alistair Cockburn"]
47
+ year: 2005
48
+ url: "https://alistair.cockburn.us/hexagonal-architecture/"
49
+ methodology_covered:
50
+ - "Ports and Adapters — business logic in the center, ports define interfaces, adapters implement them"
51
+ - "Driving vs driven adapters — test adapters on the driving side; real infrastructure on the driven side"
52
+ - "Business logic never imports infrastructure"
53
+ - type: website
54
+ title: "Alistair Cockburn primary site"
55
+ authors: ["Alistair Cockburn"]
56
+ year: 2000
57
+ url: "https://alistair.cockburn.us/"
58
+ methodology_covered:
59
+ - "Primary site for Hexagonal Architecture article and use case writing resources"
60
+ verification_status: source_gap_flagged
61
+ description: "\"Build the walking skeleton first — the thinnest possible end-to-end slice that exercises every architectural layer, every deploy step, every test layer, before adding any feature."
62
+ ---
63
+
64
+ # Alistair Cockburn
65
+
66
+ ## Signature
67
+
68
+ *"Build the walking skeleton first — the thinnest possible end-to-end slice that exercises every architectural layer, every deploy step, every test layer, before adding any feature. Prove the architecture works; then add flesh."* [ref:2]
69
+
70
+ Agile Manifesto signatory; originator of the Crystal methodology family; author of **Writing Effective Use Cases** (2000) [ref:1] and the **Hexagonal Architecture** (Ports & Adapters) pattern [ref:3]. The bassclef voice on behavior-driven requirements writing and on architecture that separates business logic from all infrastructure.
71
+
72
+ <!-- SOURCE GAP: alistair.cockburn.us/hexagonal-architecture/ listed as [ref:3] could not be verified via HTTP fetch during audit (returned empty). URL is widely cited in the industry as the original source. If the page has moved, the SENTINEL_bassclef_URL is https://web.archive.org/web/2005*/https://alistair.cockburn.us/hexagonal-architecture/ as an archival fallback. -->
73
+
74
+ ## Core methods
75
+
76
+ - **Walking skeleton** — Build one thin, real, end-to-end path through the entire system before adding any feature depth: UI → API → service → DB → tests → CI → deploy. The path must be trivial but real — not a mock or a stub at any layer. The skeleton proves the architecture holds. Then add flesh (features, complexity, error paths) on a proven foundation. [ref:2]
77
+ - **Hexagonal Architecture (Ports & Adapters)** — Business logic lives in the center. Ports are interfaces the business logic defines: "I need a way to store a deal," "I need a way to send a notification." Adapters on the outside implement those interfaces with real infrastructure (Prisma, email providers, HTTP). The business logic never imports infrastructure. Tests inject test adapters; production injects real ones. [ref:3]
78
+ - **Use case writing** — A use case has: title (goal), primary actor, preconditions, main success scenario (numbered steps), and extensions (alternate flows and failure cases). Cockburn's goal levels matter: cloud level (abstract goals), kite level (near goals), sea level (user goals — the target), fish level (sub-goals), and clam level (too detailed). Write use cases at sea level. [ref:1]
79
+ - **Crystal methodology scaling** — Process weight should match team size and criticality. Crystal Clear (2-8 people, low stakes) is minimal. Crystal Orange (25-50 people, moderate stakes) is heavier. Crystal Red (10-20 people, high criticality) is heaviest. Rejects one-size-fits-all methodology: the right process is the lightest one that works for this team and these stakes. [ref:2]
80
+
81
+ ## When to channel this luminary
82
+
83
+ When the primary risk is that business logic will be entangled with infrastructure, or that the first deployable slice has never been verified end-to-end. Cockburn dominates new system setup (walking skeleton is the first commit), service layer design (hexagonal separates business from infrastructure), and requirements writing for complex workflows (use cases at sea level). Pair with Evans (domain modeling for the center of the hexagon), Brown (C4 for documenting the resulting architecture), and Beck (TDD for the tests that plug into the hexagonal ports).
84
+
85
+ INSTEAD of using Cockburn's use case formalism for simple CRUD features: a lightweight user story ("as a broker, I can submit a deal listing") is sufficient when the behavior has no branching extensions and no preconditions that matter. Use cases earn their weight when the behavior has multiple actors, multiple failure modes, or serves as an acceptance test specification.
86
+
87
+ ## Stack translation
88
+
89
+ In Next.js + Prisma + TypeScript:
90
+
91
+ - **Walking skeleton** — first PR on a new project: one route (`/api/deals`), one Prisma model (`Deal`), one React component (a deal card), one vitest test, one Playwright smoke test, wired CI/CD. No features yet. The skeleton proves the stack works end-to-end before any feature is built.
92
+ - **Hexagonal Architecture** — business logic lives in `src/lib/domain/`; Prisma is an adapter in `src/lib/infrastructure/database/`; the domain defines interfaces (`DealRepository`) that infrastructure implements. Server actions call domain functions; domain functions call repository interfaces; tests inject fake repositories.
93
+ - **Use cases → acceptance tests** — a Cockburn use case's main success scenario is a Playwright test script. Each step in the use case is an interaction. Each extension is a branch in the test. Use case writing and test writing become the same activity.
94
+ - **Goal levels in backlog** — sea-level use cases become iteration bets; sub-goals (fish/clam level) become tasks within a bet. Keeps the betting table at the right altitude.
95
+
96
+ ## Anti-patterns it prevents
97
+
98
+ - **Logic in the adapter** — business rules (deal qualification criteria, stage transition policies) coded inside the Prisma query or the Next.js route handler. These rules are invisible to unit tests, tangled with infrastructure, and duplicated when a new adapter (a worker, a CLI) needs the same rule.
99
+ INSTEAD: move the rule to the domain layer; the adapter calls the domain function, not the other way around.
100
+ - **Test-the-infrastructure tests** — tests that spin up a real database and test that Prisma can write to it. These are infrastructure tests, not domain tests. Slow, brittle, and they test the wrong thing.
101
+ INSTEAD: test the domain with test adapters; test the infrastructure adapter in integration tests that stay in the integration tier.
102
+ - **Flabby use cases** — use case main success scenarios that describe system internals ("the system updates the deal record in the database") rather than observable behavior ("the deal status changes to LOI and the broker is notified"). Cockburn's use cases are observable, not implementation-visible. [ref:1]
103
+ - **No skeleton, all flesh** — starting a project by building feature depth before verifying the architectural path end-to-end. The first deployment fails in production because the path was never real until then.
104
+
105
+ ## Worked example
106
+
107
+ For POA's deal stage transition feature:
108
+
109
+ **Walking skeleton**: before building any stage-transition UI, build one thin path: a Next.js server action that changes a deal's status, a Prisma write that persists it, a React component that shows the new status, and a Playwright test that confirms the status change is visible after the action. This skeleton runs in CI. Then add the full transition policy, the validation rules, and the notification flow.
110
+
111
+ **Hexagonal architecture**:
112
+ - Port: `StageTransitionPolicy` interface — `canTransition(deal: Deal, targetStage: Stage): PolicyResult`
113
+ - Adapter: `NdaRequiredPolicy` implements `StageTransitionPolicy` using domain logic (no Prisma, no HTTP)
114
+ - Server action: calls `StageTransitionService.advance(dealId, targetStage)` — domain function that uses the policy interface
115
+ - Test: injects `AlwaysAllowPolicy` or `AlwaysDenyPolicy` as test adapters; no DB required
116
+
117
+ **Use case (sea level)**:
118
+ - Title: Advance Deal to LOI
119
+ - Actor: Operator
120
+ - Preconditions: deal is in "Initial Contact" stage; operator is authenticated
121
+ - Main success: operator selects LOI from stage menu → system validates NDA signed → system changes status → broker is notified → operator sees updated stage
122
+ - Extension 2a: NDA not signed → system shows "NDA required" message → deal stage unchanged
123
+
124
+ ## Sources
125
+
126
+ - *Writing Effective Use Cases* — Cockburn, Addison-Wesley (2000) [ref:1]
127
+ - "Hexagonal Architecture" — Cockburn, alistair.cockburn.us (2005) — the original article [ref:3]
128
+ - *Agile Software Development: The Cooperative Game* — Cockburn, Addison-Wesley (2006) [ref:2]
129
+ - alistair.cockburn.us — primary site [ref:4]
130
+
131
+ ## Corrections applied
132
+
133
+ Cloud Strategy publisher: no correction needed for Cockburn entry. Note: hexagonal architecture URL [ref:3] could not be HTTP-verified during audit but is the widely-cited bassclef source; flagged as source gap.
134
+
135
+ ## Related luminaries
136
+
137
+ - **Eric Evans** — DDD provides the domain model that lives inside Cockburn's hexagon. Evans models the business concepts; Cockburn's ports protect them from infrastructure.
138
+ - **Kent Beck** — Walking skeleton aligns with Beck's "make it work" step at architectural scale; TDD tests slot into hexagonal ports as test adapters.
139
+ - **Jeff Patton** — User story mapping references Cockburn as a foundation; use cases and story maps are complementary at different resolution levels.
140
+ - **Simon Brown** — C4 model documents the container-level architecture that hexagonal architecture structures. The hexagon's center and adapters map to C4 components.
@@ -0,0 +1,34 @@
1
+ ---
2
+ tier: lite
3
+ name: Amazon PR/FAQ
4
+ slug: amazon-pr-faq
5
+ claimed_by: [shaper, product-manager]
6
+ primary_domain: shaping
7
+ depth: stub
8
+ description: "\"Write the press release first. If it doesn't excite, don't build.\""
9
+ ---
10
+
11
+ # Amazon PR/FAQ
12
+
13
+ ## Signature
14
+
15
+ *"Write the press release first. If it doesn't excite, don't build."*
16
+
17
+ Amazon's internal methodology for product definition. Write a mock
18
+ press release + customer FAQ BEFORE building. If the announcement
19
+ doesn't compel, the product isn't worth building.
20
+
21
+ ## Core methods
22
+
23
+ - **Mock press release** — 1-page release for a hypothetical future launch.
24
+ Customer benefits stated clearly, no jargon.
25
+ - **FAQ** — anticipated customer questions + internal stakeholder
26
+ questions + teardown-worthy concerns. Forces early clarity.
27
+ - **Working backward** — define customer experience first, then
28
+ derive requirements, then design.
29
+
30
+ ## Sources
31
+
32
+ - Jeff Bezos 2015 shareholder letter (references the practice)
33
+ - *Working Backwards* — Bryar, Carr (2021) — primary text on PR/FAQ practice
34
+ - *The Amazon Way* — Rossman (2014)
@@ -0,0 +1,74 @@
1
+ ---
2
+ tier: lite
3
+ name: Andreas Zeller
4
+ slug: andreas-zeller
5
+ claimed_by: [builder, reviewer]
6
+ referenced_by_skills: [diagnose]
7
+ primary_domain: engineering
8
+ depth: stub
9
+ sources:
10
+ - type: book
11
+ title: "Why Programs Fail: A Guide to Systematic Debugging"
12
+ authors: ["Andreas Zeller"]
13
+ year: 2009
14
+ url: "https://www.whyprogramsfail.com/"
15
+ isbn: "9780123745156"
16
+ methodology_covered:
17
+ - "Systematic debugging — every hypothesis has a test"
18
+ - "Delta Debugging — shrink a failing input to the minimum change"
19
+ - "Causal chain reasoning — walk from symptom to root cause via states"
20
+ - "Scientific method applied to bugs — observe, hypothesize, predict, test"
21
+ - type: online
22
+ title: "The Debugging Book"
23
+ authors: ["Andreas Zeller"]
24
+ year: 2024
25
+ url: "https://www.debuggingbook.org/"
26
+ methodology_covered:
27
+ - "Delta Debugging algorithms in Python — runnable code"
28
+ - "Statistical debugging — probability that a line contributes to failure"
29
+ - "Automatic fault localization — tools that point at suspect code"
30
+ - "Dynamic slicing — trace which statements influenced the buggy value"
31
+ verification_status: draft
32
+ description: "\"Every hypothesis has a test. Delta Debugging shrinks the failing input to its minimum. Debugging as science.\""
33
+ ---
34
+
35
+ # Andreas Zeller
36
+
37
+ ## Signature
38
+
39
+ *"Every hypothesis has a test. Every test either confirms or falsifies.
40
+ Debugging is science."*
41
+
42
+ Professor at CISPA Helmholtz Center. Author of **Why Programs Fail**
43
+ (2005/2009) and **The Debugging Book** (online, 2024). Invented
44
+ **Delta Debugging** — the algorithm that automatically shrinks a
45
+ failing input to the minimum change that reproduces the fault. Zeller
46
+ is the bassclef voice on systematic, provable debugging.
47
+
48
+ ## Core methods
49
+
50
+ - **Scientific method for bugs** — observation → hypothesis →
51
+ prediction → experiment → refined hypothesis. Every step written down.
52
+ - **Delta Debugging** — bisect the difference between passing and
53
+ failing inputs (or versions or configs). O(log n) shrinks to the
54
+ minimum failure-inducing change.
55
+ - **Causal chain from symptom to root** — walk backwards through
56
+ program states. Each state either causes the next failure or does not.
57
+ - **Anomalies over intuition** — pattern-match against the difference
58
+ between what's true when it fails and what's true when it passes.
59
+
60
+ ## When bassclef uses this lens
61
+
62
+ - Any "worked at SHA X, fails at SHA Y" bug — Delta Debugging bisects
63
+ the commit range.
64
+ - Any test that fails under condition A but passes under condition B —
65
+ Delta Debugging on the config diff.
66
+ - `/diagnose` skill Five Whys — Zeller's causal-chain framing keeps
67
+ each "why" as a testable hypothesis.
68
+ - Any complex multi-variable failure — force each hypothesis to name
69
+ its falsification predicate before running the experiment.
70
+
71
+ ## Depth
72
+
73
+ Stub. Build-out tracked at bassclef-upstream#TBD. Sources — the 2009
74
+ Morgan Kaufmann book plus the free online debugging book.
@@ -0,0 +1,121 @@
1
+ ---
2
+ tier: lite
3
+ name: Ash Maurya
4
+ slug: ash-maurya
5
+ claimed_by: [product-manager, shaper]
6
+ referenced_by_skills: [lean-canvas, canvas, value-prop, value-prop-canvas]
7
+ primary_domain: product
8
+ depth: full
9
+ sources:
10
+ - type: book
11
+ title: "Running Lean: Iterate from Plan A to a Plan That Works (3rd edition)"
12
+ authors: ["Ash Maurya"]
13
+ year: 2022
14
+ url: "https://www.oreilly.com/library/view/running-lean-3rd/9781098108762/"
15
+ isbn: "9781098108779"
16
+ methodology_covered:
17
+ - "Lean Canvas — nine-box business model adapted from Business Model Canvas for early-stage startups"
18
+ - "Problem-Solution Fit + Product-Market Fit progression"
19
+ - "Continuous innovation framework — experiment + measure + learn cycles"
20
+ - "Customer Factory + customer-development discipline"
21
+ - type: book
22
+ title: "Scaling Lean: Mastering the Key Metrics for Startup Growth"
23
+ authors: ["Ash Maurya"]
24
+ year: 2016
25
+ url: "https://www.penguinrandomhouse.com/books/541557/scaling-lean-by-ash-maurya/"
26
+ isbn: "9781591847267"
27
+ methodology_covered:
28
+ - "Customer Factory metrics framework — Acquisition + Activation + Retention + Revenue + Referral"
29
+ - "Modeling business as a system of metrics; identifying the bottleneck stage"
30
+ - "Scaling discipline distinct from initial-product-market-fit discipline"
31
+ - type: blog_post
32
+ title: "Leanstack — Ash Maurya methodology site"
33
+ authors: ["Ash Maurya"]
34
+ year: 2025
35
+ url: "https://www.leanfoundry.com/"
36
+ methodology_covered:
37
+ - "Primary venue for Lean Canvas + Running Lean methodology updates"
38
+ - "Continuous Innovation Framework deeper articulation"
39
+ verification_status: verified
40
+ description: "\"Document your Plan A, then identify the riskiest parts of your plan, and systematically test your plan.\""
41
+ ---
42
+
43
+ # Ash Maurya
44
+
45
+ ## Signature
46
+
47
+ *"Document your Plan A, then identify the riskiest parts of your plan, and systematically test your plan."*
48
+
49
+ The lean-shaping luminary for early-stage business model validation. Author of *Running Lean* and *Scaling Lean*. Creator of the **Lean Canvas** — a 9-box adaptation of Osterwalder's Business Model Canvas, optimized for entrepreneurs working under high uncertainty.
50
+
51
+ Lean Canvas asks "does the business model hold together at all" before the product team asks "what should we build." Dunford's positioning answers a different question (who is this for and why is it different); Pichler's product canvas answers another (what is the product shape). The three compose; they do not substitute for each other.
52
+
53
+ ## Sources
54
+
55
+ - *Running Lean* — 1st edition 2010, 2nd edition 2012, 3rd edition 2022. The bassclef Lean Canvas reference.
56
+ - *Scaling Lean* (2016) — Maurya's later work on growth metrics + Customer Factory model
57
+ - [leanstack.com](https://leanstack.com) — Maurya's company; templates + courses
58
+ - [practicetrumpstheory.com](https://blog.leanstack.com) — Maurya's blog; "What is the Right Fill Order for the Lean Canvas?" is the load-bearing piece for `/lean-canvas`
59
+ - `.claude/skills/lean-canvas/SKILL.md` — operationalizes Maurya's framework into agent dispatch
60
+ - `.claude/skills/canvas/SKILL.md` — sibling product canvas (Pichler); composes downstream after Lean Canvas validates the business model
61
+ - `.claude/luminaries/lean-product-canvas.md` — Dan Olsen's Product-Market Fit Pyramid; complementary, not duplicate
62
+
63
+ ## Core methods
64
+
65
+ - **Lean Canvas — 9 boxes on one page.** Problem → Customer Segments → Unique Value Proposition → Solution → Channels → Revenue Streams → Cost Structure → Key Metrics → Unfair Advantage. Forces concise articulation; 20-minute first pass.
66
+ - **Plan A vs Plan B.** Lean Canvas captures Plan A — the current best guess. Riskiest assumptions get tested; Plan A becomes Plan B when reality refuses to match. Iteration is the design, not failure.
67
+ - **Riskiest-assumption-first validation.** Each box contains beliefs. Beliefs classify as leap-of-faith / anecdotal observation / fact-with-evidence. The riskiest leap-of-faith is the next thing to validate — not the next thing to build.
68
+ - **Desirability → Viability → Feasibility.** When validating an idea (not generating one), test Problem + Customer Segments + UVP first (desirability), Channels + Revenue + Key Metrics second (viability), Solution + Cost + Unfair Advantage third (feasibility). Starting with Solution creates Innovator's Bias — you write Problem statements that justify the Solution you already wanted.
69
+ - **Customer Factory model** (from *Scaling Lean*). Treat the business as a factory that converts strangers into customers. Acquisition → Activation → Retention → Revenue → Referral (AARRR, attributed to Dave McClure, adopted by Maurya). Key Metrics box maps to factory stages.
70
+ - **20-minute snapshot rule.** First pass takes 20 minutes. Boxes can be blank. Iterate every week or after every meaningful customer conversation. The canvas is a thinking tool, not a deliverable.
71
+
72
+ ## INSTEAD-block discipline
73
+
74
+ Every "Don't" in lean validation gets a concrete substitute. Per `.claude/rules/context-engineering.md`.
75
+
76
+ | Anti-pattern | INSTEAD |
77
+ |---|---|
78
+ | Spending months writing a business plan | Spend 20 minutes filling a Lean Canvas; refine weekly |
79
+ | "We have no competitors" in Unfair Advantage | Name the closest existing alternative (in-house build, manual workaround, adjacent tool); your unfair advantage is what makes you sticky once they switch |
80
+ | Solving the wrong problem because Solution came first | Start with Problem + Customer Segments; if you must start with Solution, flag the Innovator's Bias risk and revisit Problem critically after first pass |
81
+ | Vanity metrics (registered users, page views) in Key Metrics | Customer Factory stage rates (activation rate, retention curve, referral coefficient). Each metric maps to a factory transition. |
82
+ | Generic UVP ("the best X for Y") | One specific sentence a target customer would forward to a peer. If the target customer wouldn't share it, the UVP isn't done. |
83
+ | Building before validating riskiest assumption | Identify the riskiest leap-of-faith; design the smallest experiment that resolves it; run it before building. |
84
+ | Treating the canvas as a deliverable | Treat it as a thinking surface. Update it after every customer conversation. Old canvases are historical record, not failure. |
85
+
86
+ ## When to channel
87
+
88
+ - `/lean-canvas` invocations (any mode) — Maurya's 9-box framework IS the skill's structural backbone
89
+ - `/canvas` Stage 1 (Thesis) — if the business model is unclear, run Lean Canvas first; Pichler's product canvas inherits validated assumptions
90
+ - `/value-prop` invocations — UVP box of Lean Canvas is the input to Dunford's positioning framework
91
+ - `/value-prop-canvas` — Strategyzer Value Proposition Canvas is the Lean Canvas Problem + UVP + Customer Segments boxes expanded; compose Lean Canvas first for business model fit, VPC second for product-market fit
92
+ - Iteration shaping — when a bet's scope feels uncertain, the riskiest-assumption-first lens cuts to the actual validation work
93
+
94
+ ## Composition pairs
95
+
96
+ - **Maurya + Dunford** — Lean Canvas validates the business model; Dunford's positioning sharpens the UVP box into a market-ready claim. Maurya answers "does it hold together"; Dunford answers "how do we say it."
97
+ - **Maurya + Pichler (lean-product-canvas)** — Maurya validates the business model first; Olsen's Product-Market Fit Pyramid then guides product detail (target customer → needs → value prop → feature set → UX). Different focal lengths.
98
+ - **Maurya + Osterwalder (Strategyzer)** — Strategyzer's Business Model Canvas is upstream of Lean Canvas; Maurya adapted it for early-stage uncertainty. For mature businesses, Strategyzer; for new bets, Maurya.
99
+
100
+ ## Distinct from
101
+
102
+ - **Dunford** — positioning, not business model. Once the business model holds together, Dunford makes the message sharp.
103
+ - **Olsen (lean-product-canvas)** — Product-Market Fit Pyramid, not business model. Once the business model holds, Olsen guides product shape.
104
+ - **Pichler (canvas)** — product canvas (Vision → Target → Stand-Out → Big Picture → Critical Questions). Product-detail-level; assumes the business model already holds.
105
+ - **Cockburn** — use cases at the system level; not strategy-level. Different altitude.
106
+
107
+ ## Why this luminary exists in the catalog
108
+
109
+ Three product-strategy luminaries were already in bassclef's catalog:
110
+
111
+ - April Dunford — positioning (the message)
112
+ - Dan Olsen (lean-product-canvas) — Product-Market Fit Pyramid (the product detail)
113
+ - Roman Pichler (canvas) — product canvas (the product vision)
114
+
115
+ None of them answers the upstream question: **does the business model hold together at all?** Maurya's Lean Canvas is the missing piece. For bassclef's growth-loop strategy specifically, the "Revenue Streams" + "Key Metrics" boxes need to be reframed for audience/credibility accrual rather than dollar revenue — Maurya's framework accepts this reframing because the underlying question (which assumptions are riskiest) is general.
116
+
117
+ INSTEAD of "build the product, hope the business model emerges," Maurya's discipline forces explicit business-model articulation upfront — and explicit identification of the riskiest assumption that needs testing before more building.
118
+
119
+ ## Closes
120
+
121
+ Backs the new `/lean-canvas` skill (filed 2026-05-25). Corrects the prior gap where the catalog had Olsen for Product-Market Fit Pyramid but no luminary for Lean Canvas itself.
@@ -0,0 +1,210 @@
1
+ ---
2
+ tier: lite
3
+ name: Bill Buxton
4
+ slug: bill-buxton
5
+ claimed_by: [designer]
6
+ referenced_by_skills: [prototype-variants, interaction-design, prototype-gallery]
7
+ primary_domain: ux
8
+ depth: full
9
+ agent_drafted: 2026-05-06
10
+ operator_review_pending: true
11
+ verification_status: verified
12
+ sources:
13
+ - type: book
14
+ title: "Sketching User Experiences: Getting the Design Right and the Right Design"
15
+ authors: ["Bill Buxton"]
16
+ year: 2007
17
+ isbn: "978-0123740373"
18
+ url: "https://www.elsevier.com/books/sketching-user-experiences/buxton/978-0-12-374037-3"
19
+ methodology_covered: ["fidelity ladder", "sketching vs prototyping distinction", "three-panel storyboarding", "champion-challenger principle"]
20
+ - type: website
21
+ title: "billbuxton.com"
22
+ authors: ["Bill Buxton"]
23
+ url: "https://billbuxton.com"
24
+ methodology_covered: ["ongoing research and practice commentary"]
25
+ solves_problems_brownfield:
26
+ - "Team jumps to high-fidelity prototypes without exploring alternatives"
27
+ - "First idea ships because nothing else was generated to compare it to"
28
+ - "Sketches and prototypes are conflated; divergent exploration is skipped"
29
+ - "Interactive prototypes lock in design decisions before exploration is done"
30
+ solves_problems_greenfield:
31
+ - "Establishing a prototype-discipline practice from day one"
32
+ - "Designing a process where divergent exploration precedes convergent refinement"
33
+ - "Building a team where sketching is the gateway, not a perfunctory step"
34
+ - "Planning a workflow where fidelity ladder is enforced (sketches before wireframes before mockups before interactive)"
35
+ anti_patterns:
36
+ - "Trivial design tasks where sketching overhead exceeds value"
37
+ - "Pure copy / microcopy work where sketching isn't the lens"
38
+ - "Teams that already have strong divergent-exploration habits"
39
+ description: "\"Get the design right, and the right design.\""
40
+ ---
41
+
42
+ # Bill Buxton
43
+
44
+ ## Signature
45
+
46
+ *"Get the design right, and the right design."*
47
+
48
+ Sketching pioneer. Author of *Sketching User Experiences: Getting the Design Right and the Right Design* (2007). The canonical voice on **fidelity discipline** — knowing when low-fi serves, when hi-fi misleads, and why most teams skip sketching to their detriment.
49
+
50
+ Buxton's signature contribution is the **two-phase model of design**: divergent (get the right design — explore many alternatives) → convergent (get the design right — refine the chosen one). Most teams collapse the phases or skip divergent entirely; the result is one-solution thinking. Buxton's method forces the divergent phase visible.
51
+
52
+ For canonical, Buxton is the variant-discipline luminary — the framework justifying `/riff-prototypes` and `/launch`'s emphasis on multiple variants per direction. Without Buxton's fidelity ladder, teams jump to interactive prototypes too fast, lock in answers that should have stayed exploratory.
53
+
54
+ ## Sources
55
+
56
+ - *Sketching User Experiences: Getting the Design Right and the Right Design* — Buxton, Morgan Kaufmann (2007) — primary
57
+ - [billbuxton.com](https://billbuxton.com) — primary site, ongoing essays
58
+ - *Sketching User Experiences: The Workbook* — Greenberg / Carpendale / Marquardt / Buxton (2011) — applied exercises
59
+ - Conference talks: CHI, IxDA (publicly archived; YouTube)
60
+ - Adjacent: *Sketching Interfaces* — Bill Verplank (peer); *Designing Interactions* — Bill Moggridge (1990s peer)
61
+
62
+ ## Core methods
63
+
64
+ - **Sketching vs prototyping** — [ref:1]
65
+ - **Sketches**: divergent, disposable, exploratory, fast, ambiguous-by-design
66
+ - **Prototypes**: convergent, refined, testable, slow, specific
67
+ - Teams that conflate them skip the divergent phase entirely and produce one-solution thinking
68
+ - The discipline is to recognize which mode you're in
69
+
70
+ - **Fidelity ladder** — Stages of refinement: [ref:1]
71
+ 1. **Sketches** (paper, whiteboard, low-fi digital) — many; cheap; exploratory
72
+ 2. **Wireframes** (more structured; still flexible)
73
+ 3. **Mockups** (visual fidelity; not interactive)
74
+ 4. **Interactive prototypes** (clickable; close to final)
75
+ 5. **Production** (real code, real data)
76
+ - Each rung answers different questions; climbing too fast locks in the wrong answer
77
+
78
+ - **Three-panel comic storyboarding** — Forces interaction thinking, not just screen thinking: [ref:1]
79
+ 1. Context (where + when + who)
80
+ 2. Action (what the user does)
81
+ 3. Reaction (what the system does + how user responds)
82
+ - Three-panel form is Buxton's signature; richer than wireframe, lighter than prototype
83
+
84
+ - **Reprise / theme-and-variations** — Generate MANY variations of a sketch before committing. Quantity over quality early; quality emerges from the comparison. The N-th sketch is often the strongest because the first N-1 cleared the obvious answers.
85
+
86
+ - **The right design vs designing right** — Different problems:
87
+ - "The right design" is divergent (which direction?); answered by exploration + variation
88
+ - "Design it right" is convergent (how do we execute?); answered by refinement + iteration
89
+ - Both are necessary; collapsing them produces "the well-executed first idea" which is rarely the strongest
90
+
91
+ - **Cost-of-iteration ratio** — Sketches cost $1; wireframes $10; prototypes $100; production $1,000. Wrong answers caught at sketch stage are 1000x cheaper than caught in production. Sketch-first economics are decisive.
92
+
93
+ ## INSTEAD-block discipline
94
+
95
+ | Anti-pattern | INSTEAD |
96
+ |---|---|
97
+ | Jumping to interactive prototype | Stage at the sketch rung first; generate 10-20 sketches; pick 2-3 to wireframe; 1 to prototype |
98
+ | Sketches conflated with prototypes | Distinguish: sketches divergent + cheap + disposable; prototypes convergent + invested. Both have place; not interchangeable |
99
+ | Skipping divergent phase | Force divergent: "give me 10 sketches before any of you starts on a prototype" — rule produces variation that quality-emerges-from |
100
+ | One sketch → one wireframe → one prototype | Many sketches → fewer wireframes → fewer prototypes; ratio narrows by stage; divergent phase bears the variation |
101
+ | Three-panel comic skipped for "just wireframes" | Three-panel forces interaction thinking; wireframes alone capture screen state but not user-system dialogue |
102
+ | Sketches polished | Sketches stay rough — pencil + paper + iterate fast; polishing too early kills the exploratory mode |
103
+ | Stakeholders shown low-fi sketches | Stakeholders shown high-fi only when ready; show low-fi internally, hi-fi externally; Buxton's *Sketching* book has 50 pages on this |
104
+ | Hi-fi prototype before research | Hi-fi at prototype rung; sketches inform research; prototypes test research findings; sequence matters |
105
+ | Climbing fidelity ladder too fast | Each rung answers questions the prior rung CAN'T; if you're answering a sketch-question with a prototype, you spent 100x what you needed to |
106
+ | Single-variation prototype | Even at prototype rung, generate 2-3 variations; comparison reveals strengths the single-variant misses |
107
+ | Treating prototyping as commitment | Prototypes are still iterable; not yet committed to production; Buxton's discipline keeps them flexible |
108
+ | Buxton method without storyboards | Storyboards (three-panel comic) are part of Buxton's method; skipping reduces the method to wireframing |
109
+
110
+ ## When to channel this luminary
111
+
112
+ - Always — when designing or planning a non-trivial design effort where exploration matters
113
+ - Especially — when teams default to high-fidelity prototypes without divergent exploration
114
+ - Pair with `dan-saffer` (microinteractions) — Saffer's microinteractions live at Buxton's prototype rung
115
+ - Pair with `jenifer-tidwell` (UI patterns) — Tidwell provides vocabulary for post-sketch refinement; Buxton provides pre-pattern exploration
116
+ - Pair with `golden-krishna` (no-interface) — Both push against screen-first thinking; Buxton via sketching, Krishna via no-screen-default
117
+
118
+ Do NOT use this luminary alone for trivial design tasks (overhead exceeds value), pure copy / microcopy work (wrong lens), or teams with strong divergent-exploration habits already (overhead).
119
+
120
+ ## Stack translation
121
+
122
+ Method, not implementation; translates to canonical artifacts:
123
+
124
+ - **Sketches** → Pencil + paper or low-fi digital (Excalidraw / FigJam); committed to `docs/sketches/<feature-slug>/N.png`; many; not polished
125
+ - **Three-panel comic storyboards** → Per major user flow; committed to `docs/storyboards/<feature-slug>.md`; markdown with embedded sketches
126
+ - **Wireframe artifact** → `docs/wireframes/<feature-slug>.md` per chosen sketch direction; structural-only
127
+ - **Mockup artifact** → `docs/mockups/<feature-slug>/` per chosen wireframe; visual fidelity
128
+ - **Interactive prototype** → `public/prototypes/<feature-slug>/variant-<X>/` per chosen mockup; HTML/React; close-to-final
129
+ - **Production** → `src/` integration; reviewed against prototype per `prototype-production-coupling.md`
130
+ - **Variation discipline at each rung** → 10-20 sketches → 2-5 wireframes → 2-3 mockups → 2-3 prototypes; narrowing ratio per rung
131
+ - **`/riff-prototypes` skill** → Direct operational descendant of Buxton's "reprise / theme-and-variations" — generates multiple prototypes against a brief
132
+ - **`/launch` skill** → Composes the full sketch → wireframe → mockup → prototype chain; fidelity ladder enforced
133
+
134
+ ## Anti-patterns it prevents
135
+
136
+ - **One-solution thinking** — first idea = shipped idea; alternatives never explored; better answers missed
137
+ - **Premature high-fidelity** — interactive prototype built before sketch exploration; investment locks in suboptimal direction
138
+ - **Polished sketches** — exploratory mode dies; sketches become wireframes-with-attitude; divergent phase lost
139
+ - **Storyboards skipped** — wireframes alone capture state but not interaction; user-system dialogue not designed
140
+ - **Stakeholder confusion** — stakeholders shown low-fi internally to ill effect; or shown only hi-fi and feel "deciding too late"
141
+ - **Sketches treated as commitment** — exploratory output treated as proposal; team commits to half-thought directions
142
+ - **Variation only at top of ladder** — variations explored in sketch; from wireframe onward single-track; loses post-sketch refinement opportunities
143
+
144
+ ## Worked example
145
+
146
+ For canonical's hypothetical "operator-roadmap mobile view" feature:
147
+
148
+ Buxton's prescription:
149
+
150
+ **Phase 1 — Sketches** (15 minutes; 12 sketches):
151
+ - 12 quick sketches of "what does the operator see when they open canonical on phone?"
152
+ - Variations: list view / card view / Kanban / timeline / dashboard / spatial / conversational / 3D / minimal-status / detail-first / etc.
153
+ - All on paper / Excalidraw; rough, fast, disposable
154
+
155
+ **Phase 2 — Three-panel storyboards** (30 minutes; 4 storyboards):
156
+ - Pick 3-4 promising sketch directions
157
+ - Three-panel storyboard per: Context (operator at coffee shop, phone in hand) → Action (opens canonical) → Reaction (sees state, decides what to do)
158
+ - Reveals which directions support the actual use case
159
+
160
+ **Phase 3 — Wireframes** (1 hour; 2 wireframes):
161
+ - Pick 2 storyboard directions
162
+ - Structural wireframes (Excalidraw or Figma low-fi)
163
+
164
+ **Phase 4 — Mockups** (2-4 hours; 2 mockups):
165
+ - Both wireframes get visual mockups; same brand tokens; varying composition
166
+
167
+ **Phase 5 — Interactive prototypes** (1 day; 2 prototypes):
168
+ - Both mockups become clickable prototypes (`/riff-prototypes` outputs)
169
+ - Both deployed; champion-challenger comparison
170
+
171
+ **Phase 6 — Production** (after operator picks):
172
+ - Single chosen direction goes to production via `/launch` chain
173
+
174
+ **Cost-of-iteration economy**:
175
+ - Wrong direction caught at sketch (Phase 1): 15 min
176
+ - Wrong direction caught at storyboard (Phase 2): 30-45 min
177
+ - Wrong direction caught at wireframe (Phase 3): 1-2 hours
178
+ - Wrong direction caught at prototype (Phase 5): 1-2 days
179
+ - Wrong direction caught in production: 1-2 weeks
180
+ - Buxton's discipline saves the latter cost by catching at the former rungs
181
+
182
+ What this luminary catches that "design the mobile view" misses: the divergent-then-convergent sequence; the variation discipline at each rung; the storyboard step (interaction thinking); the cost-of-iteration economy; the multi-variant prototype rung.
183
+
184
+ ## How to use in canonical's chain
185
+
186
+ In `/riff-prototypes`:
187
+ - Direct application of Buxton's reprise / theme-and-variations
188
+ - Multi-variant output enforces divergent phase
189
+ - Operator picks among variants → convergent
190
+
191
+ In `/launch`:
192
+ - Composes sketch → wireframe → mockup → prototype chain
193
+ - Phase ordering enforces fidelity ladder
194
+
195
+ In `/canvas`:
196
+ - Canvas Build Sequence section can include sketches at lowest fidelity
197
+ - Storyboards capture interaction thinking before spec
198
+
199
+ In `/spec`:
200
+ - Spec references which prototype direction won; cites the divergent options + decision rationale
201
+
202
+ ## Related luminaries
203
+
204
+ - **Jenifer Tidwell** — UI patterns provide post-sketch vocabulary; Buxton provides pre-pattern exploration
205
+ - **Dan Saffer** — Microinteractions at high-fidelity rung; Buxton's ladder leads to Saffer's territory
206
+ - **Golden Krishna** — No-interface thinking; both push against screen-first; Buxton via fidelity ladder, Krishna via no-screen-default
207
+ - **Don Norman** — Foundational interaction design; Buxton's storyboards apply Norman's principles
208
+ - **Bill Moggridge** — Peer; *Designing Interactions* covers similar ground
209
+ - **canonical's `/riff-prototypes` skill** — Direct operational descendant
210
+ - **canonical's `/launch` skill** — Direct operational descendant (full ladder)