@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.
- package/dist/cli.cjs +216 -137
- package/dist/cli.js +218 -139
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/lite/.bassclef-source.json +10 -0
- package/dist/lite/.claude/settings.json +212 -0
- package/dist/lite/CLAUDE.md +41 -0
- package/dist/lite/gitignore +58 -0
- package/dist/lite/standards/bassclef-wiring-manifest.json +497 -0
- package/dist/lite/whereami.md +24 -0
- package/package.json +8 -2
- package/substrate/.bassclef/lite-manifest.json +0 -2701
- package/substrate/.claude/agents/architect.md +0 -70
- package/substrate/.claude/agents/builder.md +0 -114
- package/substrate/.claude/agents/designer.md +0 -156
- package/substrate/.claude/agents/reviewer.md +0 -88
- package/substrate/.claude/hooks/artifact-ingestion-gate.sh +0 -357
- package/substrate/.claude/hooks/assert-verify-steering.sh +0 -77
- package/substrate/.claude/hooks/bassclef-source-config-validate.sh +0 -215
- package/substrate/.claude/hooks/bassclef-sync.sh +0 -634
- package/substrate/.claude/hooks/compound-noun-scrub.sh +0 -292
- package/substrate/.claude/hooks/kiss-expansion-inject.sh +0 -69
- package/substrate/.claude/hooks/longrun-prep-compounding-axis-check.sh +0 -492
- package/substrate/.claude/hooks/longrun-prep-compounding-sequence-check.sh +0 -492
- package/substrate/.claude/hooks/plain-english-steering.sh +0 -156
- package/substrate/.claude/hooks/post-skill-friction-check.sh +0 -177
- package/substrate/.claude/hooks/post-skill-telemetry.sh +0 -62
- package/substrate/.claude/hooks/pre-build-gate.sh +0 -511
- package/substrate/.claude/hooks/pre-commit-gate.sh +0 -451
- package/substrate/.claude/hooks/session-end.sh +0 -433
- package/substrate/.claude/hooks/session-reflection.sh +0 -303
- package/substrate/.claude/hooks/skill-body-grade-gate.sh +0 -219
- package/substrate/.claude/hooks/skill-body-intent-drift.sh +0 -107
- package/substrate/.claude/hooks/skill-step-list-check.sh +0 -171
- package/substrate/.claude/hooks/state-validate.sh +0 -271
- package/substrate/.claude/hooks/substrate-clarity-gate.sh +0 -1110
- package/substrate/.claude/hooks/temperance-gate.sh +0 -147
- package/substrate/.claude/hooks/testing-tier-enforce.sh +0 -233
- package/substrate/.claude/hooks/turn-prose-grade-measure.sh +0 -219
- package/substrate/.claude/hooks/turn-prose-kiss-check.sh +0 -463
- package/substrate/.claude/hooks/vocabulary-migration-check.sh +0 -171
- package/substrate/.claude/hooks/whereami-utc-gate.sh +0 -142
- package/substrate/.claude/luminaries/alan-cooper.md +0 -170
- package/substrate/.claude/luminaries/alistair-cockburn.md +0 -140
- package/substrate/.claude/luminaries/amazon-pr-faq.md +0 -34
- package/substrate/.claude/luminaries/ash-maurya.md +0 -121
- package/substrate/.claude/luminaries/bill-buxton.md +0 -210
- package/substrate/.claude/luminaries/charles-sanders-peirce.md +0 -150
- package/substrate/.claude/luminaries/david-ogilvy.md +0 -192
- package/substrate/.claude/luminaries/don-norman.md +0 -173
- package/substrate/.claude/luminaries/edward-tufte.md +0 -179
- package/substrate/.claude/luminaries/eric-evans.md +0 -160
- package/substrate/.claude/luminaries/frederick-brooks.md +0 -50
- package/substrate/.claude/luminaries/gang-of-four.md +0 -157
- package/substrate/.claude/luminaries/glenford-myers.md +0 -230
- package/substrate/.claude/luminaries/hunt-thomas.md +0 -115
- package/substrate/.claude/luminaries/hyrum-wright.md +0 -94
- package/substrate/.claude/luminaries/jason-fried-dhh.md +0 -46
- package/substrate/.claude/luminaries/jesse-james-garrett.md +0 -154
- package/substrate/.claude/luminaries/john-ousterhout.md +0 -94
- package/substrate/.claude/luminaries/karl-popper.md +0 -132
- package/substrate/.claude/luminaries/kent-beck.md +0 -168
- package/substrate/.claude/luminaries/linus-torvalds.md +0 -218
- package/substrate/.claude/luminaries/martin-fowler.md +0 -164
- package/substrate/.claude/luminaries/michael-feathers.md +0 -125
- package/substrate/.claude/luminaries/michael-nygard.md +0 -118
- package/substrate/.claude/luminaries/robert-c-martin.md +0 -164
- package/substrate/.claude/luminaries/saltzer-schroeder.md +0 -194
- package/substrate/.claude/luminaries/sophia-prater.md +0 -193
- package/substrate/.claude/luminaries/stephen-toulmin.md +0 -131
- package/substrate/.claude/luminaries/tony-hoare.md +0 -170
- package/substrate/.claude/luminaries/vaughn-vernon.md +0 -50
- package/substrate/.claude/luminaries/w-edwards-deming.md +0 -158
- package/substrate/.claude/rules/accessor-library-discipline.md +0 -138
- package/substrate/.claude/rules/adr-discipline.md +0 -120
- package/substrate/.claude/rules/api-conventions.md +0 -125
- package/substrate/.claude/rules/artifact-ingestion.md +0 -179
- package/substrate/.claude/rules/assert-only-after-verify.md +0 -137
- package/substrate/.claude/rules/blocked-items.md +0 -146
- package/substrate/.claude/rules/bootstrap-pair-discipline.md +0 -141
- package/substrate/.claude/rules/branching.md +0 -28
- package/substrate/.claude/rules/cold-adopter-harness-discipline.md +0 -129
- package/substrate/.claude/rules/commit-conventions.md +0 -22
- package/substrate/.claude/rules/compounding-axis-fresh-analysis.md +0 -188
- package/substrate/.claude/rules/compounding-sequence-fresh-analysis.md +0 -188
- package/substrate/.claude/rules/context-engineering.md +0 -202
- package/substrate/.claude/rules/context-management.md +0 -85
- package/substrate/.claude/rules/defensive-bash.md +0 -68
- package/substrate/.claude/rules/deferred-actions.md +0 -233
- package/substrate/.claude/rules/destructive-operations.md +0 -69
- package/substrate/.claude/rules/diagnosis.md +0 -38
- package/substrate/.claude/rules/github-issue-flash-tweet.md +0 -156
- package/substrate/.claude/rules/guardrails.md +0 -73
- package/substrate/.claude/rules/hook-wire-on-author.md +0 -103
- package/substrate/.claude/rules/identifier-leak-prevention.md +0 -104
- package/substrate/.claude/rules/iteration-bet-brief-completeness.md +0 -54
- package/substrate/.claude/rules/lite-manifest-schema-change-discipline.md +0 -98
- package/substrate/.claude/rules/longrun-prep-plan-doc-compression.md +0 -89
- package/substrate/.claude/rules/loop-discipline.md +0 -81
- package/substrate/.claude/rules/manual-prod-approval.md +0 -100
- package/substrate/.claude/rules/marker-enrichment-discipline.md +0 -99
- package/substrate/.claude/rules/mobile-ephemeral-session.md +0 -109
- package/substrate/.claude/rules/new-dependency-check.md +0 -51
- package/substrate/.claude/rules/oo-ad-entry-point.md +0 -117
- package/substrate/.claude/rules/operator-facing-prose.md +0 -196
- package/substrate/.claude/rules/option-label-discipline.md +0 -108
- package/substrate/.claude/rules/pattern-annotation.md +0 -100
- package/substrate/.claude/rules/plain-english-discipline.md +0 -156
- package/substrate/.claude/rules/plan-enumeration-needs-value-props.md +0 -211
- package/substrate/.claude/rules/pr-body-shape.md +0 -317
- package/substrate/.claude/rules/pr-strategy.md +0 -167
- package/substrate/.claude/rules/pr-title-shape.md +0 -161
- package/substrate/.claude/rules/prototype-workflow.md +0 -65
- package/substrate/.claude/rules/reserved-skill-names.md +0 -123
- package/substrate/.claude/rules/schema-management.md +0 -49
- package/substrate/.claude/rules/sdlc-gates.md +0 -149
- package/substrate/.claude/rules/security.md +0 -37
- package/substrate/.claude/rules/session-artifacts.md +0 -236
- package/substrate/.claude/rules/skill-composition-declarations.md +0 -124
- package/substrate/.claude/rules/skill-description-clarity.md +0 -247
- package/substrate/.claude/rules/skill-procedure-step-list.md +0 -137
- package/substrate/.claude/rules/state-schema-validation.md +0 -162
- package/substrate/.claude/rules/stuck-signal-diagnostic.md +0 -140
- package/substrate/.claude/rules/substrate-config-schema.md +0 -98
- package/substrate/.claude/rules/test-list-discipline.md +0 -175
- package/substrate/.claude/rules/test-sufficiency.md +0 -210
- package/substrate/.claude/rules/testing-tier-config.md +0 -145
- package/substrate/.claude/rules/testing.md +0 -38
- package/substrate/.claude/rules/turn-estimate-grounding.md +0 -134
- package/substrate/.claude/rules/visual-hierarchy.md +0 -437
- package/substrate/.claude/rules/we-dont-break-adopters.md +0 -126
- package/substrate/.claude/rules/whereami-load-bearing.md +0 -202
- package/substrate/.claude/rules/writing-craft-discipline.md +0 -92
- package/substrate/.claude/rules/wu-sequencing-compounds.md +0 -145
- package/substrate/.claude/skills/build/SKILL.md +0 -640
- package/substrate/.claude/skills/chronicle/SKILL.md +0 -55
- package/substrate/.claude/skills/clean-artifacts/SKILL.md +0 -249
- package/substrate/.claude/skills/decompose/SKILL.md +0 -280
- package/substrate/.claude/skills/diagnose/SKILL.md +0 -297
- package/substrate/.claude/skills/feynman/SKILL.md +0 -90
- package/substrate/.claude/skills/howdoi/SKILL.md +0 -105
- package/substrate/.claude/skills/ia-model/SKILL.md +0 -108
- package/substrate/.claude/skills/interaction-design/SKILL.md +0 -112
- package/substrate/.claude/skills/interpret-input/SKILL.md +0 -180
- package/substrate/.claude/skills/journal/SKILL.md +0 -209
- package/substrate/.claude/skills/kiss/SKILL.md +0 -449
- package/substrate/.claude/skills/launch/SKILL.md +0 -915
- package/substrate/.claude/skills/lean-canvas/SKILL.md +0 -332
- package/substrate/.claude/skills/longrun/SKILL.md +0 -463
- package/substrate/.claude/skills/luminary/SKILL.md +0 -481
- package/substrate/.claude/skills/ogilvy-writing-audit/SKILL.md +0 -177
- package/substrate/.claude/skills/onboard-repo/SKILL.md +0 -1624
- package/substrate/.claude/skills/pattern-review/SKILL.md +0 -99
- package/substrate/.claude/skills/personas/SKILL.md +0 -207
- package/substrate/.claude/skills/promote/SKILL.md +0 -283
- package/substrate/.claude/skills/requirement/SKILL.md +0 -98
- package/substrate/.claude/skills/retro/SKILL.md +0 -117
- package/substrate/.claude/skills/riff/SKILL.md +0 -114
- package/substrate/.claude/skills/roadmap-reconcile/SKILL.md +0 -163
- package/substrate/.claude/skills/session-end/SKILL.md +0 -309
- package/substrate/.claude/skills/session-log/SKILL.md +0 -299
- package/substrate/.claude/skills/skills/SKILL.md +0 -228
- package/substrate/.claude/skills/spec/SKILL.md +0 -105
- package/substrate/.claude/skills/sprint/SKILL.md +0 -392
- package/substrate/.claude/skills/stage/SKILL.md +0 -384
- package/substrate/.claude/skills/state-a-problem/SKILL.md +0 -185
- package/substrate/.claude/skills/temperance/SKILL.md +0 -108
- package/substrate/.claude/skills/use-case/SKILL.md +0 -417
- package/substrate/.claude/skills/user-stories/SKILL.md +0 -268
- package/substrate/.claude/skills/value-prop/SKILL.md +0 -251
- package/substrate/.claude/skills/verify/SKILL.md +0 -160
- package/substrate/.claude/skills/visual-review/SKILL.md +0 -503
- package/substrate/.claude/skills/whats-the-plan/SKILL.md +0 -202
- package/substrate/.claude/skills/whereami/SKILL.md +0 -307
- package/substrate/AGENTS.md +0 -79
- package/substrate/CLAUDE-lite.md +0 -85
- package/substrate/CODE_OF_CONDUCT.md +0 -28
- package/substrate/CONTRIBUTING.md +0 -177
- package/substrate/README.md +0 -173
- package/substrate/SECURITY.md +0 -19
- package/substrate/architecture/decisions/ADR-029-release-pipeline.md +0 -79
- package/substrate/architecture/decisions/ADR-031-non-breaking-changes-adopter-discipline.md +0 -139
- package/substrate/architecture/decisions/ADR-032-adopter-sync-dispatcher-architecture.md +0 -192
- package/substrate/architecture/decisions/ADR-039-release-tagging-scheme.md +0 -145
- package/substrate/architecture/decisions/ADR-040-planning-skill-vocabulary-and-lite-profile.md +0 -155
- package/substrate/architecture/decisions/ADR-044-unified-skill-body-template.md +0 -162
- package/substrate/lib/clean-artifacts-sweep.sh +0 -112
- package/substrate/lib/code-comment-discipline.sh +0 -144
- package/substrate/lib/composer-preflight.sh +0 -459
- package/substrate/lib/hook-inject.sh +0 -255
- package/substrate/lib/luminary-pick.sh +0 -96
- package/substrate/lib/output-discipline.sh +0 -143
- package/substrate/lib/prose-scan-boundary.sh +0 -171
- package/substrate/lib/rewrite-check.sh +0 -214
- package/substrate/lib/state.sh +0 -1372
- package/substrate/lib/telemetry.sh +0 -205
- package/substrate/lib/tier-check.sh +0 -187
- package/substrate/lib/tier-dependency-audit.sh +0 -1088
- package/substrate/presence/install/bassclef-hook-connect.sh +0 -178
- package/substrate/presence/install/bassclef-sync.dispatcher.template.sh +0 -841
- package/substrate/presence/install/bassclef-sync.template.sh +0 -2076
- package/substrate/presence/install/schedule-auto-save.cron.sh +0 -88
- package/substrate/presence/install/schedule-auto-save.taskscheduler.md +0 -122
- package/substrate/scripts/aggregate-telemetry.sh +0 -217
- package/substrate/scripts/analyze-tier-dependencies.sh +0 -239
- package/substrate/scripts/generate-lite-manifest.sh +0 -505
- package/substrate/scripts/generate-tier-manifest.sh +0 -28
- package/substrate/scripts/intent-drift-check.sh +0 -456
- package/substrate/scripts/lite-manifest-drift-check.sh +0 -146
- package/substrate/scripts/render-lite-manifest-doc.sh +0 -150
- package/substrate/standards/adr-template.md +0 -86
- package/substrate/standards/api-conventions/nextjs.md +0 -84
- package/substrate/standards/artifact-composition.md +0 -209
- package/substrate/standards/bash-hook-safety.md +0 -246
- package/substrate/standards/bassclef-configs-schema.md +0 -232
- package/substrate/standards/bassclef-evolution.md +0 -143
- package/substrate/standards/bassclef-internal-jargon.md +0 -244
- package/substrate/standards/bassclef-managed-sentinel.md +0 -96
- package/substrate/standards/bassclef-source-config.md +0 -228
- package/substrate/standards/branch-stacking.md +0 -408
- package/substrate/standards/code-safety-principles.md +0 -176
- package/substrate/standards/composer-prerequisites.md +0 -155
- package/substrate/standards/deferred-actions-schema.md +0 -204
- package/substrate/standards/dependency-discipline/cargo.md +0 -39
- package/substrate/standards/dependency-discipline/gem.md +0 -43
- package/substrate/standards/dependency-discipline/go-mod.md +0 -41
- package/substrate/standards/dependency-discipline/npm.md +0 -42
- package/substrate/standards/dependency-discipline/pip.md +0 -42
- package/substrate/standards/deployment-topology/ec2-tailscale.md +0 -225
- package/substrate/standards/deployment-topology.md +0 -69
- package/substrate/standards/docs-sync-allowlist.md +0 -76
- package/substrate/standards/domain-and-dns.md +0 -145
- package/substrate/standards/frontend-stack.md +0 -67
- package/substrate/standards/frontmatter-schema.md +0 -154
- package/substrate/standards/graceful-exit.md +0 -227
- package/substrate/standards/hook-idempotency.md +0 -102
- package/substrate/standards/hook-injection-discipline.md +0 -202
- package/substrate/standards/hook-install-class.md +0 -215
- package/substrate/standards/input-handler-interface.md +0 -152
- package/substrate/standards/lite-manifest-schema-changes.md +0 -135
- package/substrate/standards/luminary-matching.md +0 -105
- package/substrate/standards/luminary-problem-patterns.md +0 -481
- package/substrate/standards/migration-discipline/active-record.md +0 -50
- package/substrate/standards/migration-discipline/alembic.md +0 -43
- package/substrate/standards/migration-discipline/gorm.md +0 -50
- package/substrate/standards/migration-discipline/prisma.md +0 -53
- package/substrate/standards/migration-discipline/sqlalchemy.md +0 -51
- package/substrate/standards/mobile-ephemeral-session.md +0 -167
- package/substrate/standards/model-routing-discipline.md +0 -160
- package/substrate/standards/ogilvy-writing-rules.md +0 -225
- package/substrate/standards/opener-discipline.md +0 -96
- package/substrate/standards/operator-facing-prose-discipline.md +0 -201
- package/substrate/standards/persona-schema.md +0 -229
- package/substrate/standards/pluggable-luminaries.md +0 -323
- package/substrate/standards/pr-body-discipline.md +0 -115
- package/substrate/standards/preview-state-schema.md +0 -189
- package/substrate/standards/project-directory-layout.md +0 -276
- package/substrate/standards/release-tagging.md +0 -137
- package/substrate/standards/reserved-skill-names.md +0 -120
- package/substrate/standards/scannable-multi-option-output.md +0 -261
- package/substrate/standards/sdlc-compliance.md +0 -286
- package/substrate/standards/sdlc-gates/typescript.md +0 -57
- package/substrate/standards/secrets-lifecycle.md +0 -210
- package/substrate/standards/security-scanner-adapter.md +0 -145
- package/substrate/standards/session-board.md +0 -256
- package/substrate/standards/skill-output-discipline.md +0 -90
- package/substrate/standards/state-spine-contract.md +0 -255
- package/substrate/standards/state-spine.md +0 -511
- package/substrate/standards/steering-hints/kiss-words.md +0 -11
- package/substrate/standards/substrate-config-schema.md +0 -267
- package/substrate/standards/tech-stack-config.md +0 -109
- package/substrate/standards/tier-dependency-analysis.md +0 -167
- package/substrate/standards/tier-runtime-deps/lite.md +0 -57
- package/substrate/standards/tier-tag-schema.md +0 -155
- package/substrate/standards/two-layer-config.md +0 -99
- package/substrate/standards/use-case-format.md +0 -292
- package/substrate/standards/user-story-invest.md +0 -268
- package/substrate/standards/velocity-and-appetite.md +0 -229
- package/substrate/standards/voice-input-pattern.md +0 -119
- package/substrate/standards/whereami-schema.md +0 -301
- package/substrate/standards/worktree-management.md +0 -211
- package/substrate/standards/writing-guide.md +0 -213
- package/substrate/templates/chronicle-template.md +0 -75
- package/substrate/templates/deferred-action-template.md +0 -45
- package/substrate/templates/memory-proposal-template.md +0 -77
- package/substrate/templates/persona-template.md +0 -200
- package/substrate/templates/pr-faq.md +0 -45
- package/substrate/templates/secret-rotation-template.md +0 -162
- package/substrate/templates/spec-template.md +0 -131
- package/substrate/templates/use-case-template.md +0 -194
- package/substrate/templates/user-story-template.md +0 -107
- 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.
|