@thebassclef/lite 0.1.3 → 1.0.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 (293) hide show
  1. package/dist/cli.cjs +216 -137
  2. package/dist/cli.js +218 -139
  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/.bassclef-source.json +10 -0
  7. package/dist/lite/.claude/settings.json +212 -0
  8. package/dist/lite/CLAUDE.md +41 -0
  9. package/dist/lite/gitignore +58 -0
  10. package/dist/lite/standards/bassclef-wiring-manifest.json +497 -0
  11. package/dist/lite/whereami.md +24 -0
  12. package/package.json +8 -2
  13. package/substrate/.bassclef/lite-manifest.json +0 -2701
  14. package/substrate/.claude/agents/architect.md +0 -70
  15. package/substrate/.claude/agents/builder.md +0 -114
  16. package/substrate/.claude/agents/designer.md +0 -156
  17. package/substrate/.claude/agents/reviewer.md +0 -88
  18. package/substrate/.claude/hooks/artifact-ingestion-gate.sh +0 -357
  19. package/substrate/.claude/hooks/assert-verify-steering.sh +0 -77
  20. package/substrate/.claude/hooks/bassclef-source-config-validate.sh +0 -215
  21. package/substrate/.claude/hooks/bassclef-sync.sh +0 -634
  22. package/substrate/.claude/hooks/compound-noun-scrub.sh +0 -292
  23. package/substrate/.claude/hooks/kiss-expansion-inject.sh +0 -69
  24. package/substrate/.claude/hooks/longrun-prep-compounding-axis-check.sh +0 -492
  25. package/substrate/.claude/hooks/longrun-prep-compounding-sequence-check.sh +0 -492
  26. package/substrate/.claude/hooks/plain-english-steering.sh +0 -156
  27. package/substrate/.claude/hooks/post-skill-friction-check.sh +0 -177
  28. package/substrate/.claude/hooks/post-skill-telemetry.sh +0 -62
  29. package/substrate/.claude/hooks/pre-build-gate.sh +0 -511
  30. package/substrate/.claude/hooks/pre-commit-gate.sh +0 -451
  31. package/substrate/.claude/hooks/session-end.sh +0 -433
  32. package/substrate/.claude/hooks/session-reflection.sh +0 -303
  33. package/substrate/.claude/hooks/skill-body-grade-gate.sh +0 -219
  34. package/substrate/.claude/hooks/skill-body-intent-drift.sh +0 -107
  35. package/substrate/.claude/hooks/skill-step-list-check.sh +0 -171
  36. package/substrate/.claude/hooks/state-validate.sh +0 -271
  37. package/substrate/.claude/hooks/substrate-clarity-gate.sh +0 -1110
  38. package/substrate/.claude/hooks/temperance-gate.sh +0 -147
  39. package/substrate/.claude/hooks/testing-tier-enforce.sh +0 -233
  40. package/substrate/.claude/hooks/turn-prose-grade-measure.sh +0 -219
  41. package/substrate/.claude/hooks/turn-prose-kiss-check.sh +0 -463
  42. package/substrate/.claude/hooks/vocabulary-migration-check.sh +0 -171
  43. package/substrate/.claude/hooks/whereami-utc-gate.sh +0 -142
  44. package/substrate/.claude/luminaries/alan-cooper.md +0 -170
  45. package/substrate/.claude/luminaries/alistair-cockburn.md +0 -140
  46. package/substrate/.claude/luminaries/amazon-pr-faq.md +0 -34
  47. package/substrate/.claude/luminaries/ash-maurya.md +0 -121
  48. package/substrate/.claude/luminaries/bill-buxton.md +0 -210
  49. package/substrate/.claude/luminaries/charles-sanders-peirce.md +0 -150
  50. package/substrate/.claude/luminaries/david-ogilvy.md +0 -192
  51. package/substrate/.claude/luminaries/don-norman.md +0 -173
  52. package/substrate/.claude/luminaries/edward-tufte.md +0 -179
  53. package/substrate/.claude/luminaries/eric-evans.md +0 -160
  54. package/substrate/.claude/luminaries/frederick-brooks.md +0 -50
  55. package/substrate/.claude/luminaries/gang-of-four.md +0 -157
  56. package/substrate/.claude/luminaries/glenford-myers.md +0 -230
  57. package/substrate/.claude/luminaries/hunt-thomas.md +0 -115
  58. package/substrate/.claude/luminaries/hyrum-wright.md +0 -94
  59. package/substrate/.claude/luminaries/jason-fried-dhh.md +0 -46
  60. package/substrate/.claude/luminaries/jesse-james-garrett.md +0 -154
  61. package/substrate/.claude/luminaries/john-ousterhout.md +0 -94
  62. package/substrate/.claude/luminaries/karl-popper.md +0 -132
  63. package/substrate/.claude/luminaries/kent-beck.md +0 -168
  64. package/substrate/.claude/luminaries/linus-torvalds.md +0 -218
  65. package/substrate/.claude/luminaries/martin-fowler.md +0 -164
  66. package/substrate/.claude/luminaries/michael-feathers.md +0 -125
  67. package/substrate/.claude/luminaries/michael-nygard.md +0 -118
  68. package/substrate/.claude/luminaries/robert-c-martin.md +0 -164
  69. package/substrate/.claude/luminaries/saltzer-schroeder.md +0 -194
  70. package/substrate/.claude/luminaries/sophia-prater.md +0 -193
  71. package/substrate/.claude/luminaries/stephen-toulmin.md +0 -131
  72. package/substrate/.claude/luminaries/tony-hoare.md +0 -170
  73. package/substrate/.claude/luminaries/vaughn-vernon.md +0 -50
  74. package/substrate/.claude/luminaries/w-edwards-deming.md +0 -158
  75. package/substrate/.claude/rules/accessor-library-discipline.md +0 -138
  76. package/substrate/.claude/rules/adr-discipline.md +0 -120
  77. package/substrate/.claude/rules/api-conventions.md +0 -125
  78. package/substrate/.claude/rules/artifact-ingestion.md +0 -179
  79. package/substrate/.claude/rules/assert-only-after-verify.md +0 -137
  80. package/substrate/.claude/rules/blocked-items.md +0 -146
  81. package/substrate/.claude/rules/bootstrap-pair-discipline.md +0 -141
  82. package/substrate/.claude/rules/branching.md +0 -28
  83. package/substrate/.claude/rules/cold-adopter-harness-discipline.md +0 -129
  84. package/substrate/.claude/rules/commit-conventions.md +0 -22
  85. package/substrate/.claude/rules/compounding-axis-fresh-analysis.md +0 -188
  86. package/substrate/.claude/rules/compounding-sequence-fresh-analysis.md +0 -188
  87. package/substrate/.claude/rules/context-engineering.md +0 -202
  88. package/substrate/.claude/rules/context-management.md +0 -85
  89. package/substrate/.claude/rules/defensive-bash.md +0 -68
  90. package/substrate/.claude/rules/deferred-actions.md +0 -233
  91. package/substrate/.claude/rules/destructive-operations.md +0 -69
  92. package/substrate/.claude/rules/diagnosis.md +0 -38
  93. package/substrate/.claude/rules/github-issue-flash-tweet.md +0 -156
  94. package/substrate/.claude/rules/guardrails.md +0 -73
  95. package/substrate/.claude/rules/hook-wire-on-author.md +0 -103
  96. package/substrate/.claude/rules/identifier-leak-prevention.md +0 -104
  97. package/substrate/.claude/rules/iteration-bet-brief-completeness.md +0 -54
  98. package/substrate/.claude/rules/lite-manifest-schema-change-discipline.md +0 -98
  99. package/substrate/.claude/rules/longrun-prep-plan-doc-compression.md +0 -89
  100. package/substrate/.claude/rules/loop-discipline.md +0 -81
  101. package/substrate/.claude/rules/manual-prod-approval.md +0 -100
  102. package/substrate/.claude/rules/marker-enrichment-discipline.md +0 -99
  103. package/substrate/.claude/rules/mobile-ephemeral-session.md +0 -109
  104. package/substrate/.claude/rules/new-dependency-check.md +0 -51
  105. package/substrate/.claude/rules/oo-ad-entry-point.md +0 -117
  106. package/substrate/.claude/rules/operator-facing-prose.md +0 -196
  107. package/substrate/.claude/rules/option-label-discipline.md +0 -108
  108. package/substrate/.claude/rules/pattern-annotation.md +0 -100
  109. package/substrate/.claude/rules/plain-english-discipline.md +0 -156
  110. package/substrate/.claude/rules/plan-enumeration-needs-value-props.md +0 -211
  111. package/substrate/.claude/rules/pr-body-shape.md +0 -317
  112. package/substrate/.claude/rules/pr-strategy.md +0 -167
  113. package/substrate/.claude/rules/pr-title-shape.md +0 -161
  114. package/substrate/.claude/rules/prototype-workflow.md +0 -65
  115. package/substrate/.claude/rules/reserved-skill-names.md +0 -123
  116. package/substrate/.claude/rules/schema-management.md +0 -49
  117. package/substrate/.claude/rules/sdlc-gates.md +0 -149
  118. package/substrate/.claude/rules/security.md +0 -37
  119. package/substrate/.claude/rules/session-artifacts.md +0 -236
  120. package/substrate/.claude/rules/skill-composition-declarations.md +0 -124
  121. package/substrate/.claude/rules/skill-description-clarity.md +0 -247
  122. package/substrate/.claude/rules/skill-procedure-step-list.md +0 -137
  123. package/substrate/.claude/rules/state-schema-validation.md +0 -162
  124. package/substrate/.claude/rules/stuck-signal-diagnostic.md +0 -140
  125. package/substrate/.claude/rules/substrate-config-schema.md +0 -98
  126. package/substrate/.claude/rules/test-list-discipline.md +0 -175
  127. package/substrate/.claude/rules/test-sufficiency.md +0 -210
  128. package/substrate/.claude/rules/testing-tier-config.md +0 -145
  129. package/substrate/.claude/rules/testing.md +0 -38
  130. package/substrate/.claude/rules/turn-estimate-grounding.md +0 -134
  131. package/substrate/.claude/rules/visual-hierarchy.md +0 -437
  132. package/substrate/.claude/rules/we-dont-break-adopters.md +0 -126
  133. package/substrate/.claude/rules/whereami-load-bearing.md +0 -202
  134. package/substrate/.claude/rules/writing-craft-discipline.md +0 -92
  135. package/substrate/.claude/rules/wu-sequencing-compounds.md +0 -145
  136. package/substrate/.claude/skills/build/SKILL.md +0 -640
  137. package/substrate/.claude/skills/chronicle/SKILL.md +0 -55
  138. package/substrate/.claude/skills/clean-artifacts/SKILL.md +0 -249
  139. package/substrate/.claude/skills/decompose/SKILL.md +0 -280
  140. package/substrate/.claude/skills/diagnose/SKILL.md +0 -297
  141. package/substrate/.claude/skills/feynman/SKILL.md +0 -90
  142. package/substrate/.claude/skills/howdoi/SKILL.md +0 -105
  143. package/substrate/.claude/skills/ia-model/SKILL.md +0 -108
  144. package/substrate/.claude/skills/interaction-design/SKILL.md +0 -112
  145. package/substrate/.claude/skills/interpret-input/SKILL.md +0 -180
  146. package/substrate/.claude/skills/journal/SKILL.md +0 -209
  147. package/substrate/.claude/skills/kiss/SKILL.md +0 -449
  148. package/substrate/.claude/skills/launch/SKILL.md +0 -915
  149. package/substrate/.claude/skills/lean-canvas/SKILL.md +0 -332
  150. package/substrate/.claude/skills/longrun/SKILL.md +0 -463
  151. package/substrate/.claude/skills/luminary/SKILL.md +0 -481
  152. package/substrate/.claude/skills/ogilvy-writing-audit/SKILL.md +0 -177
  153. package/substrate/.claude/skills/onboard-repo/SKILL.md +0 -1624
  154. package/substrate/.claude/skills/pattern-review/SKILL.md +0 -99
  155. package/substrate/.claude/skills/personas/SKILL.md +0 -207
  156. package/substrate/.claude/skills/promote/SKILL.md +0 -283
  157. package/substrate/.claude/skills/requirement/SKILL.md +0 -98
  158. package/substrate/.claude/skills/retro/SKILL.md +0 -117
  159. package/substrate/.claude/skills/riff/SKILL.md +0 -114
  160. package/substrate/.claude/skills/roadmap-reconcile/SKILL.md +0 -163
  161. package/substrate/.claude/skills/session-end/SKILL.md +0 -309
  162. package/substrate/.claude/skills/session-log/SKILL.md +0 -299
  163. package/substrate/.claude/skills/skills/SKILL.md +0 -228
  164. package/substrate/.claude/skills/spec/SKILL.md +0 -105
  165. package/substrate/.claude/skills/sprint/SKILL.md +0 -392
  166. package/substrate/.claude/skills/stage/SKILL.md +0 -384
  167. package/substrate/.claude/skills/state-a-problem/SKILL.md +0 -185
  168. package/substrate/.claude/skills/temperance/SKILL.md +0 -108
  169. package/substrate/.claude/skills/use-case/SKILL.md +0 -417
  170. package/substrate/.claude/skills/user-stories/SKILL.md +0 -268
  171. package/substrate/.claude/skills/value-prop/SKILL.md +0 -251
  172. package/substrate/.claude/skills/verify/SKILL.md +0 -160
  173. package/substrate/.claude/skills/visual-review/SKILL.md +0 -503
  174. package/substrate/.claude/skills/whats-the-plan/SKILL.md +0 -202
  175. package/substrate/.claude/skills/whereami/SKILL.md +0 -307
  176. package/substrate/AGENTS.md +0 -79
  177. package/substrate/CLAUDE-lite.md +0 -85
  178. package/substrate/CODE_OF_CONDUCT.md +0 -28
  179. package/substrate/CONTRIBUTING.md +0 -177
  180. package/substrate/README.md +0 -173
  181. package/substrate/SECURITY.md +0 -19
  182. package/substrate/architecture/decisions/ADR-029-release-pipeline.md +0 -79
  183. package/substrate/architecture/decisions/ADR-031-non-breaking-changes-adopter-discipline.md +0 -139
  184. package/substrate/architecture/decisions/ADR-032-adopter-sync-dispatcher-architecture.md +0 -192
  185. package/substrate/architecture/decisions/ADR-039-release-tagging-scheme.md +0 -145
  186. package/substrate/architecture/decisions/ADR-040-planning-skill-vocabulary-and-lite-profile.md +0 -155
  187. package/substrate/architecture/decisions/ADR-044-unified-skill-body-template.md +0 -162
  188. package/substrate/lib/clean-artifacts-sweep.sh +0 -112
  189. package/substrate/lib/code-comment-discipline.sh +0 -144
  190. package/substrate/lib/composer-preflight.sh +0 -459
  191. package/substrate/lib/hook-inject.sh +0 -255
  192. package/substrate/lib/luminary-pick.sh +0 -96
  193. package/substrate/lib/output-discipline.sh +0 -143
  194. package/substrate/lib/prose-scan-boundary.sh +0 -171
  195. package/substrate/lib/rewrite-check.sh +0 -214
  196. package/substrate/lib/state.sh +0 -1372
  197. package/substrate/lib/telemetry.sh +0 -205
  198. package/substrate/lib/tier-check.sh +0 -187
  199. package/substrate/lib/tier-dependency-audit.sh +0 -1088
  200. package/substrate/presence/install/bassclef-hook-connect.sh +0 -178
  201. package/substrate/presence/install/bassclef-sync.dispatcher.template.sh +0 -841
  202. package/substrate/presence/install/bassclef-sync.template.sh +0 -2076
  203. package/substrate/presence/install/schedule-auto-save.cron.sh +0 -88
  204. package/substrate/presence/install/schedule-auto-save.taskscheduler.md +0 -122
  205. package/substrate/scripts/aggregate-telemetry.sh +0 -217
  206. package/substrate/scripts/analyze-tier-dependencies.sh +0 -239
  207. package/substrate/scripts/generate-lite-manifest.sh +0 -505
  208. package/substrate/scripts/generate-tier-manifest.sh +0 -28
  209. package/substrate/scripts/intent-drift-check.sh +0 -456
  210. package/substrate/scripts/lite-manifest-drift-check.sh +0 -146
  211. package/substrate/scripts/render-lite-manifest-doc.sh +0 -150
  212. package/substrate/standards/adr-template.md +0 -86
  213. package/substrate/standards/api-conventions/nextjs.md +0 -84
  214. package/substrate/standards/artifact-composition.md +0 -209
  215. package/substrate/standards/bash-hook-safety.md +0 -246
  216. package/substrate/standards/bassclef-configs-schema.md +0 -232
  217. package/substrate/standards/bassclef-evolution.md +0 -143
  218. package/substrate/standards/bassclef-internal-jargon.md +0 -244
  219. package/substrate/standards/bassclef-managed-sentinel.md +0 -96
  220. package/substrate/standards/bassclef-source-config.md +0 -228
  221. package/substrate/standards/branch-stacking.md +0 -408
  222. package/substrate/standards/code-safety-principles.md +0 -176
  223. package/substrate/standards/composer-prerequisites.md +0 -155
  224. package/substrate/standards/deferred-actions-schema.md +0 -204
  225. package/substrate/standards/dependency-discipline/cargo.md +0 -39
  226. package/substrate/standards/dependency-discipline/gem.md +0 -43
  227. package/substrate/standards/dependency-discipline/go-mod.md +0 -41
  228. package/substrate/standards/dependency-discipline/npm.md +0 -42
  229. package/substrate/standards/dependency-discipline/pip.md +0 -42
  230. package/substrate/standards/deployment-topology/ec2-tailscale.md +0 -225
  231. package/substrate/standards/deployment-topology.md +0 -69
  232. package/substrate/standards/docs-sync-allowlist.md +0 -76
  233. package/substrate/standards/domain-and-dns.md +0 -145
  234. package/substrate/standards/frontend-stack.md +0 -67
  235. package/substrate/standards/frontmatter-schema.md +0 -154
  236. package/substrate/standards/graceful-exit.md +0 -227
  237. package/substrate/standards/hook-idempotency.md +0 -102
  238. package/substrate/standards/hook-injection-discipline.md +0 -202
  239. package/substrate/standards/hook-install-class.md +0 -215
  240. package/substrate/standards/input-handler-interface.md +0 -152
  241. package/substrate/standards/lite-manifest-schema-changes.md +0 -135
  242. package/substrate/standards/luminary-matching.md +0 -105
  243. package/substrate/standards/luminary-problem-patterns.md +0 -481
  244. package/substrate/standards/migration-discipline/active-record.md +0 -50
  245. package/substrate/standards/migration-discipline/alembic.md +0 -43
  246. package/substrate/standards/migration-discipline/gorm.md +0 -50
  247. package/substrate/standards/migration-discipline/prisma.md +0 -53
  248. package/substrate/standards/migration-discipline/sqlalchemy.md +0 -51
  249. package/substrate/standards/mobile-ephemeral-session.md +0 -167
  250. package/substrate/standards/model-routing-discipline.md +0 -160
  251. package/substrate/standards/ogilvy-writing-rules.md +0 -225
  252. package/substrate/standards/opener-discipline.md +0 -96
  253. package/substrate/standards/operator-facing-prose-discipline.md +0 -201
  254. package/substrate/standards/persona-schema.md +0 -229
  255. package/substrate/standards/pluggable-luminaries.md +0 -323
  256. package/substrate/standards/pr-body-discipline.md +0 -115
  257. package/substrate/standards/preview-state-schema.md +0 -189
  258. package/substrate/standards/project-directory-layout.md +0 -276
  259. package/substrate/standards/release-tagging.md +0 -137
  260. package/substrate/standards/reserved-skill-names.md +0 -120
  261. package/substrate/standards/scannable-multi-option-output.md +0 -261
  262. package/substrate/standards/sdlc-compliance.md +0 -286
  263. package/substrate/standards/sdlc-gates/typescript.md +0 -57
  264. package/substrate/standards/secrets-lifecycle.md +0 -210
  265. package/substrate/standards/security-scanner-adapter.md +0 -145
  266. package/substrate/standards/session-board.md +0 -256
  267. package/substrate/standards/skill-output-discipline.md +0 -90
  268. package/substrate/standards/state-spine-contract.md +0 -255
  269. package/substrate/standards/state-spine.md +0 -511
  270. package/substrate/standards/steering-hints/kiss-words.md +0 -11
  271. package/substrate/standards/substrate-config-schema.md +0 -267
  272. package/substrate/standards/tech-stack-config.md +0 -109
  273. package/substrate/standards/tier-dependency-analysis.md +0 -167
  274. package/substrate/standards/tier-runtime-deps/lite.md +0 -57
  275. package/substrate/standards/tier-tag-schema.md +0 -155
  276. package/substrate/standards/two-layer-config.md +0 -99
  277. package/substrate/standards/use-case-format.md +0 -292
  278. package/substrate/standards/user-story-invest.md +0 -268
  279. package/substrate/standards/velocity-and-appetite.md +0 -229
  280. package/substrate/standards/voice-input-pattern.md +0 -119
  281. package/substrate/standards/whereami-schema.md +0 -301
  282. package/substrate/standards/worktree-management.md +0 -211
  283. package/substrate/standards/writing-guide.md +0 -213
  284. package/substrate/templates/chronicle-template.md +0 -75
  285. package/substrate/templates/deferred-action-template.md +0 -45
  286. package/substrate/templates/memory-proposal-template.md +0 -77
  287. package/substrate/templates/persona-template.md +0 -200
  288. package/substrate/templates/pr-faq.md +0 -45
  289. package/substrate/templates/secret-rotation-template.md +0 -162
  290. package/substrate/templates/spec-template.md +0 -131
  291. package/substrate/templates/use-case-template.md +0 -194
  292. package/substrate/templates/user-story-template.md +0 -107
  293. package/substrate/templates/whereami-template.md +0 -101
@@ -1,449 +0,0 @@
1
- ---
2
- tier: lite
3
- name: kiss
4
- description: "Keep it simple. Two modes: scope (compresses what ships; runs /value-prop brief plus MUST/SHOULD/COULD buckets) and words (rewrites to grade 8; big word to small word swap). Reads standards/bassclef-internal-jargon.md."
5
- problem: "Scope grows. Prose fills with jargon. Adopters read a wall of bassclef-internal words and give up."
6
- value: "Two modes \u2014 scope compresses what ships. Words rewrites vocabulary to grade 8. Plain English at the wire."
7
- inputs: [A ticket or goal path for scope mode, Paragraph text for words mode]
8
- outputs: [MUST/SHOULD/COULD buckets when scope, Grade-8 rewrite when words]
9
- user_invocable: true
10
- disable_model_invocation: false
11
- modes: [scope, words]
12
- composes_with: [value-prop, feynman]
13
- ---
14
-
15
- # /kiss — Keep It Simple
16
-
17
- Two modes for the two ways things get complicated:
18
-
19
- 1. **`scope`** — too much being shipped. Cut down to what matters. Runs `/value-prop` brief + `/feynman` + MUST / SHOULD / COULD buckets with deferrals.
20
- 2. **`words`** — too much jargon. Rewrite at grade-10 reading level. Big word → small word swap that keeps the structure.
21
-
22
- `/feynman` stays separate (different output shape — narrative + analogy, not word swap). `/kiss words` and `/feynman` solve different problems: `/kiss words` swaps words in place; `/feynman` writes a new explanation.
23
-
24
- This skill reads its vocabulary list from `standards/bassclef-internal-jargon.md` — the one source of truth shared with the PR-body-scrub hook and the pre-push `/kiss` hook. Edits to the list flow to all surfaces at once.
25
-
26
- **Tier gate (bassclef#740 Task 1.8).** `/feynman` ships at `tier: standard`. Lite adopters skip the /feynman dispatch. Print: "/feynman requires bassclef standard. Skipping." Resolve tier via `lib/tier-check.sh`.
27
-
28
- ## Usage
29
-
30
- <!-- FKGL-EXEMPT: CLI reference table -->
31
- ```
32
- /kiss → infer mode from input + active context
33
- /kiss scope → default: read active iteration goal
34
- /kiss scope [ticket-ref] → specific ticket
35
- /kiss scope for [freeform description] → freeform scope
36
- /kiss words [text] → rewrite at grade-10 (default)
37
- /kiss words --grade8 [text] → strictest; board / mobile / parent-readable
38
- /kiss words --grade11 [text] → engineering precision OK; PR descriptions
39
- /kiss words --rewrite [text] → six heuristic checks per Hemingway / ONS / NN/g
40
- ```
41
- <!-- /FKGL-EXEMPT -->
42
-
43
- **Mode inference (when invoked without explicit mode):**
44
- - Input is a ticket-ref, goal path, or "for [scope description]" → `scope`
45
- - Input is paragraph text → `words`
46
- - Input is empty → `scope` reading the active iteration goal
47
-
48
- ---
49
-
50
- ## Mode: `scope` — compress what we're shipping
51
-
52
- One command that forces an agent to answer three questions about any
53
- scope it's about to act on:
54
-
55
- 1. **What's the value?** (`/value-prop` brief mode)
56
- 2. **Can you explain it simply?** (`/feynman`)
57
- 3. **What's actually MUST vs SHOULD vs COULD?** (bucketed enumeration with explicit deferrals)
58
-
59
- Combined, the three answers constitute a one-page gut check. If the
60
- agent can't answer all three clearly, the scope isn't ready to build.
61
-
62
- ### When to use scope mode
63
-
64
- - Scope feels bloated — too many WS, too many deliverables per WS
65
- - Operator can't cleanly say "this is what we're doing" in one sentence
66
- - Before committing a stacked-branch plan to Construction
67
- - When `/sprint` surfaces multiple options and you need to pick one
68
- - Post-canvas, pre-spec — sanity check the shape
69
-
70
- ### When NOT to use scope mode
71
-
72
- - Trivial tasks (typo fix, single-line config change)
73
- - Tasks already covered by a specific chain (`/new-feature` for
74
- greenfield features, `/autonomous` for SDLC sessions)
75
- - Standalone `/value-prop` or `/feynman` invocations when you only
76
- need one of them
77
- - When you want to *produce the shaping artifacts*, not compress scope.
78
- See `/shape` (preset-sized chain that runs the full shaping flow).
79
- `/kiss scope` compresses; `/shape` dispatches.
80
-
81
- ### Ticket references accepted (same shape as `/value-prop`)
82
-
83
- - GitHub issue: `#NNN` or `owner/repo#NNN`
84
- - File path: `docs/iteration-bets/YYYY-MM-DD-slug.md`
85
- - Spec path: `docs/specs/NNN-feature.md`
86
- - Canvas path: `docs/strategy/canvases/YYYY-MM-DD-slug.md`
87
-
88
- ### Procedure (scope mode)
89
-
90
- #### Step 1: Read the scope
91
-
92
- Apply `artifact-ingestion.md` — read every referenced artifact before
93
- producing output. State sources read upfront.
94
-
95
- #### Step 2: Run /value-prop in brief mode
96
-
97
- Produce: claim (≤180 chars) + 3 RTBs (reasons to believe). Each RTB
98
- backed by evidence (prior chronicle, telemetry, commit history, or
99
- operator feedback).
100
-
101
- #### Step 3: Run /feynman
102
-
103
- Plain-English explanation of what this is and why it matters. 2-4
104
- sentences max. No jargon (composes with `words` mode below if needed).
105
-
106
- #### Step 4: Bucket the work
107
-
108
- Three buckets:
109
- - **MUST** — what gets built this iteration. Must fit declared time budget.
110
- - **SHOULD** — wanted but cuttable; explicitly defer with rationale
111
- - **COULD** — nice-to-have; explicit deferral
112
-
113
- Per `.claude/rules/plan-enumeration-needs-value-props.md`: each item
114
- in each bucket carries a tweet (claim + sharpener), not a bare
115
- ticket number or task name.
116
-
117
- #### Step 5: Gut-check question
118
-
119
- End with a single yes/no question for the operator: "Are we agreed
120
- that [MUST item 1] and [MUST item 2] are the only things in scope,
121
- and [SHOULD item], [COULD item] are explicitly deferred?"
122
-
123
- ### Output format (scope mode)
124
-
125
- ```markdown
126
- ## /kiss scope — [goal/ticket name]
127
-
128
- ### Value (per /value-prop brief)
129
- **Claim**: [≤180 chars]
130
-
131
- **Reasons to believe**:
132
- 1. [evidence-backed reason]
133
- 2. [evidence-backed reason]
134
- 3. [evidence-backed reason]
135
-
136
- ### Feynman (plain-English)
137
- [2-4 sentences, plain language]
138
-
139
- ### Buckets
140
-
141
- **MUST** (this iteration):
142
- - [item with tweet]
143
- - [item with tweet]
144
-
145
- **SHOULD** (deferred — reason):
146
- - [item with tweet] — *deferred because [reason]*
147
-
148
- **COULD** (further deferred):
149
- - [item with tweet]
150
-
151
- ### Gut-check
152
- Are we agreed [MUST list] is the entire scope, and [SHOULD/COULD] are
153
- explicitly deferred?
154
-
155
- ### Sources read
156
- - [paths read for this output]
157
- ```
158
-
159
- ---
160
-
161
- ## Mode: `words` — rewrite vocabulary at grade-10
162
-
163
- Take any agent-produced text and rewrite it using grade-10 vocabulary. Mechanical word substitution. No new structure, no analogies, no stories.
164
-
165
- ### The contract — substitute, do not advise
166
-
167
- `/kiss words` **rewrites the text and returns the rewritten output**. It does not flag terms and ask the operator to fix them. It does not produce a list of findings. It produces clean prose.
168
-
169
- When invoked on input containing BLOCK terms from `standards/bassclef-internal-jargon.md`:
170
-
171
- - `composer` becomes `runs` or `chains` (per surrounding context — pick whichever fits)
172
- - `load-bearing` becomes `required` or `essential`
173
- - `operationalize` becomes `do` or `ship`
174
- - `primitive` becomes `building block`
175
- - `tier-preset` becomes `preset` or `size`
176
- - `blast radius` becomes `impact` or `what it can break`
177
- - `compose-with` becomes `uses` or `builds on`
178
- - `scope-bounded` becomes `small` or `tight`
179
-
180
- This is the substitution contract. Skills firing `/kiss words` get back text without these terms; the CI advisory + scrub hooks then have nothing to flag.
181
-
182
- If the surrounding context genuinely requires the BLOCK term (e.g., quoting an external source verbatim), backtick the term so it ships as code reference, not prose. The hooks strip backticked content from their checks.
183
-
184
- ### When to use words mode
185
-
186
- - Agent output reads as obtuse or jargon-heavy ("atomic," "load-bearing,"
187
- "blast radius," "machine-readable," "determinism")
188
- - Operator on mobile asks "say that simpler" or "more plain English"
189
- - Chronicle, journal entry, or status surface needs to read clean
190
- - Composing into output that downstream skills (e.g., `/value-prop`
191
- tweet mode) want plain by default
192
-
193
- ### When NOT to use words mode
194
-
195
- - Code, commit messages, or technical reference where precise
196
- terminology is essential (file paths, function names, API names —
197
- these stay)
198
- - `/feynman` is the right call: needs analogy + story to ground a
199
- concept for a non-technical audience. `/kiss words` doesn't add
200
- explanation; it just trades words.
201
- - Operator-asked-for jargon ("explain rebase precisely") — don't
202
- strip precision the operator asked for.
203
-
204
- ### Sub-modes (words)
205
-
206
- Sub-mode names label the word swap tier. They do not name the target reading grade. The target lives in `skill-body-grade-gate.sh` and `plain-english-steering.sh`. Aim grade 8 for 80% of sentences. Ceiling grade 10 per sentence.
207
-
208
- Renamed 2026-07-27 per bassclef-upstream#957 Path A (Norman consult). The old name `grade10words` stays working as an alias through 2026-10-31 per ADR-031.
209
-
210
- <!-- FKGL-EXEMPT: flag-name reference table -->
211
- - **`default`** — moderate word swap. Keeps engineering terms. Alias: `grade10words` through 2026-10-31.
212
- - **`--grade11`** — lighter word swap. Jargon stays where precise. PR bodies and design docs.
213
- - **`--grade8`** — heaviest word swap. Strips bare technical terms unless backticked. Journal entries and executive summaries.
214
- - **`--rewrite`** — six heuristic checks on top of the substitution table:
215
- passive voice, hyphen words, long sentences, non-SVO openers,
216
- noun stacks, adverb density. Surfaces candidates for human review.
217
- Grounded in Hemingway Editor + UK ONS Style Guide + NN/g Plain
218
- Language + US Federal Plain Language Guidelines. Ships via
219
- `lib/rewrite-check.sh` (goal 25d Step 5).
220
- <!-- /FKGL-EXEMPT -->
221
-
222
- ### Procedure (words mode)
223
-
224
- #### Step 1: Read input
225
-
226
- Take input as inline text, file path, or "the previous agent output."
227
- If multiple inputs, process each separately.
228
-
229
- #### Step 2: Apply substitution table
230
-
231
- Run mechanical substitution per the table below. For each match:
232
- - Replace the term with its plain equivalent
233
- - Preserve case (lowercase → lowercase, Capital → Capital)
234
- - Preserve surrounding punctuation + structure
235
- - Code paths, file names, function names, API names — DON'T touch
236
- - Backtick-quoted text — DON'T touch (it's code)
237
-
238
- #### Step 3: Apply mode-specific rules
239
-
240
- `grade10` (default):
241
- - Substitute table-listed jargon
242
- - Keep widely-understood technical terms (commit, branch, merge, test, schema, hook, file, function)
243
-
244
- `--grade11`:
245
- - Substitute only the most opaque jargon (Helland, Yegge, GRASP, BCE)
246
- - Keep engineering-common terms
247
- - For PR descriptions where engineering precision matters
248
-
249
- `--grade8`:
250
- - Substitute table + drop ALL bare technical terms unless backticked
251
- - Pre-pend a one-line "what this is" if the paragraph is dense
252
- - For executive / board / parent-readable output
253
-
254
- #### Step 4: Output
255
-
256
- Print the rewritten text. Optionally show a diff (`--diff`) if the
257
- operator wants to audit the substitutions.
258
-
259
- ### Substitution table (~40 entries — v0)
260
-
261
- Seeded from observed jargon in bassclef agent output. Grows over time
262
- as new jargon surfaces (mark new entries with the date they were added
263
- so growth is visible).
264
-
265
- | Big word / phrase | Plain equivalent (grade-10) |
266
- |---|---|
267
- | atomic | all-or-nothing |
268
- | determinism | same answer every time |
269
- | replay-deterministic | gives the same answer when re-run |
270
- | load-bearing | actually used / counted on |
271
- | machine-readable | the system can read it directly |
272
- | primitive | building block |
273
- | substrate | shared toolkit |
274
- | compose / composes | combine / works with |
275
- | ingest / ingestion | read in / reading |
276
- | enforcement | the rule that catches it |
277
- | enforce | catch it / make it stick |
278
- | instrumentation | what we measure |
279
- | blast radius | how much breaks if this goes wrong |
280
- | idempotent | safe to run twice |
281
- | bassclef | shared / official |
282
- | orthogonal | unrelated / separate concern |
283
- | obviate | make unnecessary |
284
- | supersede / supersedes | replaces |
285
- | coherent | consistent / it fits together |
286
- | heterogeneous | mixed / not the same kind |
287
- | homogeneous | same kind / consistent |
288
- | nominal | the expected case |
289
- | pathological | the bad case |
290
- | degenerate | broken / not the normal shape |
291
- | MECE | clean buckets, nothing overlaps, nothing missed |
292
- | time budget | how much we'll spend |
293
- | iteration / iteration goal | a chunk of work we commit to |
294
- | stack / stacked | a chain of small PRs |
295
- | retro | look-back / what we learned |
296
- | scope-bounded | bounded by what we said we'd ship |
297
- | stopping criteria | when we know we're done |
298
- | surface | the thing the user sees |
299
- | projection | computed view |
300
- | invariant | thing that's always true |
301
- | anti-pattern | the wrong way that looks right |
302
- | harness | the system Claude Code runs in |
303
- | hook | code that fires automatically |
304
- | cardinality | how many of them |
305
- | latency | wait time |
306
- | throughput | how many per second |
307
- | backpressure | when to slow down |
308
- | tier-preset | preset / size |
309
- | compose-with | uses / builds on |
310
- | operationalize | do / ship |
311
- | stuck-signal | repeated warning |
312
- | substrate-defect | bug in the rules |
313
- | INSTEAD-block discipline | the pairing rule |
314
- | composer (as bassclef noun) | runs / chains / combines |
315
-
316
- ### Standard tech vocabulary — keep as-is
317
-
318
- These stay. Don't expand them into multi-sentence explanations. Per `.claude/rules/plain-english-discipline.md`:
319
-
320
- ```
321
- API, SDK, CLI, GUI, HTTP, REST, JSON, YAML, schema, regex, hook,
322
- repo, branch, commit, PR, MR, CI, CD, workflow, action, artifact,
323
- function, class, method, property, field, constant, variable, enum,
324
- database, query, index, migration, transaction, cache, queue, lock,
325
- container, image, pod, cluster, node, runner, build, deploy, rollback,
326
- test, assert, mock, stub, fixture, snapshot, regression,
327
- auth, token, secret, credential, scope, permission, role,
328
- file, directory, path, glob, pattern, prefix, suffix
329
- ```
330
-
331
- If a term is in this whitelist, words mode does NOT substitute it. The whitelist works alongside the substitution table — words mode runs the table substitutions, then verifies whitelist terms remain untouched.
332
-
333
- ### What words mode does NOT touch
334
-
335
- - File paths: `lib/state.sh`, `docs/whereami.md`
336
- - Function names: `state_roadmap_get`, `claim_wu`
337
- - Issue / PR refs: `bassclef#337`, `PR #343`
338
- - Branch names: `feature/BASSCLEF-339-...`
339
- - Backticked strings: `` `last_event` ``
340
- - Code blocks (anything between triple backticks)
341
- - Skill names: `/temperance`, `/verify`, `/longrun`
342
-
343
- ### What words mode does NOT do
344
-
345
- - Doesn't add new content. If a paragraph is missing context, it stays
346
- missing — `/kiss words` trades vocabulary; it doesn't explain.
347
- - Doesn't restructure. Long sentences stay long; verbose paragraphs
348
- stay verbose. Use `/value-prop` for compression.
349
- - Doesn't translate language. English stays English.
350
- - Doesn't replace `/feynman`. They're different jobs.
351
-
352
- ---
353
-
354
- ## Surfaces that MUST use /kiss words by default
355
-
356
- These surfaces should pass output through `/kiss words` by default:
357
-
358
- - **Chronicle entries** — body should read in plain language
359
- - **journal entries** — board-level audience; use `--grade8`
360
- - **`/sprint` output** — operator-facing scan surface; default
361
- - **`/longrun` status blocks** — same
362
- - **`/whats-the-plan` output** — operator decides from this; default
363
- - **`/value-prop` tweet/flash output** — composing per bassclef#339 rule
364
- - **PR descriptions** — `--grade11` (engineering precision OK)
365
- - **Ticket bodies** (gh issue create / gh issue comment) — `--grade11` (engineering precision OK; same audience as PR descriptions). Per bassclef#832: ticket-body authoring without `/kiss words` lets bassclef-internal jargon leak into adopter-facing surfaces. Apply at every `gh issue create` invocation and at every ticket-body edit.
366
- - **SKILL.md bodies** (any edit to any `.claude/skills/*/SKILL.md`) — `--grade11` applied to the WHOLE file in the same change as any edit, per `standards/operator-facing-prose-discipline.md` Rule 2 (the meta-discipline: substrate that prescribes plain language must itself be plain). Per bassclef#790: when the agent updates a skill body for any reason, the existing bassclef-internal vocabulary in that same file gets rewritten in the same pass. Otherwise discipline-as-substrate edits ship with the very jargon the discipline catches. Scope per Rule 2: prose sections (descriptions, procedure narrative, when-to-use, why-this-exists, examples). Does NOT cover code blocks, file paths, reserved skill names, or quoted vocabulary from operator memory/chronicles.
367
-
368
- ## Rules
369
-
370
- - Every `/kiss scope` output MUST include all five sections (value prop,
371
- RTBs, Feynman, buckets, gut-check question). Omitting any defeats
372
- the purpose.
373
- - Bucket enumerations (MUST/SHOULD/COULD) MUST follow
374
- `.claude/rules/plan-enumeration-needs-value-props.md` — each item
375
- carries a tweet (claim + sharpener), not a bare ticket number.
376
- - MUST items must fit declared time budget. If they don't, the skill has
377
- done its job — force the re-shape.
378
- - Never invent evidence for RTBs. Use prior chronicle entries,
379
- telemetry, commit history, or stated operator feedback. "Proven to
380
- work" is not evidence.
381
- - Never output more than one page of content for `scope`. If the bet
382
- is too complex to fit, it's too complex for one `/kiss scope` pass —
383
- run once per workstream.
384
- - For `words` mode, never invent substitutions not in the table. If a
385
- jargon term isn't listed, leave it (and propose adding it for next
386
- session). Preserve all structure: headings, bullets, code blocks,
387
- links. Preserve all proper nouns (people, places, products) and
388
- code identity.
389
- - For `--grade8`, if a sentence still reads obtuse after substitution,
390
- suggest invoking `/feynman` for full explanation.
391
-
392
- ## Relationship to other skills
393
-
394
- | Skill | Relationship |
395
- |-------|-------------|
396
- | `/ogilvy-writing-audit` | Pair skill — audit diagnoses via Ogilvy's 10 rules; `/kiss words` fixes what a wordlist covers. Run audit first, then kiss (per `standards/ogilvy-writing-rules.md`) |
397
- | `/value-prop` | Composer embeds `/value-prop` brief mode in `scope` Step 2; `words` mode operates on /value-prop OUTPUT |
398
- | `/feynman` | Composer embeds `/feynman` in `scope` Step 3; different from `words` mode (analogy vs substitution) |
399
- | `/whats-the-plan` | Orthogonal — `/whats-the-plan` declares skill chain; this declares scope shape |
400
- | `/sprint` | `/sprint` proposes next work; `/kiss scope` gut-checks it before commit; `/kiss words` makes its output mobile-readable |
401
- | `/canvas` | Canvas stages produce raw scope; `/kiss scope` compresses for decision |
402
- | `/spec` | Spec is the full contract; `/kiss scope` is the one-pager gut check before spec |
403
- | `/longrun`, `/chronicle`, `/journal` | MUST use `/kiss words` per the surfaces list above |
404
-
405
- ## Relationship to rules + standards
406
-
407
- - `.claude/rules/assert-only-after-verify.md` — plain English does
408
- not replace argument shape. `/kiss words` swaps vocabulary; the
409
- assert-verify rule requires My claim + Evidence + Why the evidence supports the claim at every
410
- operator-facing assertion regardless of vocabulary level. The two
411
- rules compose — grade-10 vocabulary carrying a well-shaped Toulmin
412
- argument. Per bet 2026-07-01b (R8 cure) + anchor luminary
413
- `.claude/luminaries/stephen-toulmin.md`
414
-
415
- ## Common pitfalls
416
-
417
- - **Bucketing by hope, not discipline** — "this one small extra thing
418
- should fit in MUST" is how scope creeps. If it wasn't in the goal's
419
- acceptance criteria, it's SHOULD or COULD.
420
- - **Inventing RTBs** — if no evidence exists, state "no prior
421
- evidence — proof is forward-looking, validate via [signal]."
422
- - **Skipping Feynman because "it's obvious"** — if it's obvious,
423
- writing it takes 30 seconds. The discipline is the point.
424
- - **Running on trivial scope** — this combined skill has overhead; don't use it
425
- on single-line changes.
426
- - **Words mode mistaken for /feynman** — `/kiss words` swaps
427
- vocabulary; `/feynman` writes a new explanation. Use the right
428
- tool.
429
-
430
- ## History
431
-
432
- - 2026-04-29: Renamed from `/keep-it-simple` to `/kiss`. Added `words`
433
- mode (mechanical vocabulary substitution at grade-10 / 11 / 8 levels).
434
- Closes bassclef#340 (folds the planned `/grade10words` skill
435
- into this one; same intent — keep it simple — different axes).
436
- - (prior history) — `/keep-it-simple` shipped 2026-04 with the scope
437
- combined skill (value-prop + feynman + MUST/SHOULD/COULD).
438
-
439
- ## Retirement condition
440
-
441
- This skill retires only if both axes get separate dedicated tooling:
442
- `/value-prop` brief becomes the bassclef scope chain (no need for
443
- this layer) AND agent output is uniformly grade-10 by default (no
444
- need for vocabulary substitution). Until then, both modes earn their
445
- place.
446
-
447
- ## Output discipline
448
-
449
- Dispatch `/kiss words --rewrite` on your skill output before you return it. See `standards/skill-output-discipline.md` for the contract.