@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,213 @@
1
+ ---
2
+ tier: lite
3
+ description: Technical. Direct. For the next agent or session picking up the work.
4
+ ---
5
+
6
+ # Writing Guide — Chronicles & LinkedIn
7
+
8
+ ## Two audiences, two registers
9
+
10
+ ### Chronicles (internal)
11
+
12
+ Technical. Direct. For the next agent or session picking up the work.
13
+
14
+ - Name files, functions, skills, hooks by their actual names
15
+ - Include commit refs, issue numbers, file paths
16
+ - Be factual, not promotional — record what happened
17
+ - Open Threads is the most important section
18
+
19
+ ### LinkedIn (external)
20
+
21
+ Personal. Specific. Story-first. For people who build, invest in, or
22
+ evaluate technology-driven operating models.
23
+
24
+ ---
25
+
26
+ ## LinkedIn Style Guide
27
+
28
+ ### Voice & Tone
29
+
30
+ First person. Tell the story of what happened. Let the reader draw
31
+ the lesson from the story — don't hand them a pre-digested thesis.
32
+
33
+ The voice is a builder-operator who has done hard things, learned from
34
+ failures, and shares the specifics openly. Not a consultant summarizing
35
+ from the outside. Not a brand speaking in third person. A person.
36
+
37
+ The primary voice reference is Sanjay's own writing:
38
+ - "Purpose Has Color" (Medium) — sensory, metaphorical, rooted in
39
+ lived experience. Santorini blue, Ducor pool, "bluetiful." Charming.
40
+ - "Life Is Too Short to Ship Products That Don't Make a Difference"
41
+ (Medium) — direct, operational, warm. "Crumple up the stuff that
42
+ doesn't work, fast." Flywheel as a living thing, not a framework.
43
+
44
+ These are the anchor. When in doubt, reread them.
45
+
46
+ Bezos, Jassy, and Collison are secondary references — study how they
47
+ actually write, not the sanitized version LinkedIn thinks they sound
48
+ like. Bezos shareholder letters are full of "we were wrong about this."
49
+ Jassy names the actual service that failed. Collison thinks out loud.
50
+ They share Sanjay's commitment to specificity and naming the real thing.
51
+ But the tone, the warmth, the sensory texture — that's Sanjay's own.
52
+
53
+ **The sound of it right**:
54
+ - "I built something with three knobs and couldn't remember what two of them did."
55
+ - "Purpose does not charm. Purpose agitates, roils, and compels."
56
+ - "Crumple up the stuff that doesn't work, fast. Build and ship the ones that do, fast."
57
+ - "Charming." (one word, dry, lets the reader smile)
58
+ - "When the person who built the thing can't say what it does without consulting the docs, the thing has a problem."
59
+
60
+ **The sound of it wrong** (processed cheese — ban these patterns):
61
+ - "Every unnecessary configuration axis in an autonomous system is a governance gap disguised as flexibility." (What does this mean? Who talks like this?)
62
+ - "This taxonomy IS the org chart for your AI workforce." (Thesis statement masquerading as insight)
63
+ - "The most secure, auditable autonomous systems are the ones with the smallest configuration surface." (Corporate whitepaper voice)
64
+ - Any sentence containing: "taxonomy," "governance gap," "ungoverned states," "configuration surface," "enterprise economics," "capital efficiency" as the *point* of the sentence rather than a detail inside a story
65
+
66
+ ### The "Monday morning" test
67
+
68
+ Read the sentence out loud. Would you say this to a smart friend over
69
+ coffee on a Monday morning? If it sounds like a keynote slide or a
70
+ consulting deck, rewrite it. The friend would interrupt and say "what
71
+ does that actually mean?"
72
+
73
+ ### Story structure, not thesis structure
74
+
75
+ **Wrong** (thesis-first):
76
+ > Configuration sprawl is governance debt. Every axis you add multiplies
77
+ > the ungoverned states in your system.
78
+
79
+ **Right** (story-first):
80
+ > I tried to explain my own configuration model on a Monday morning and
81
+ > couldn't. "Standard sequential orchestrator-gated" — what does that
82
+ > even mean? That's when I knew something was wrong.
83
+
84
+ The thesis can appear — but earned, at the end, after the story makes
85
+ it feel inevitable. Not announced at the top.
86
+
87
+ ### Sentence rhythm
88
+
89
+ Mix short and long. Short for emphasis. Long when building momentum.
90
+
91
+ - "So I deleted it." (punchy — the action)
92
+ - "Three axes became two. Twelve combinations became four. The manifest lost a field." (triplet — acceleration)
93
+ - "If I'm steering the session myself, I naturally call in a few agents as needed. If I let the system run itself overnight, it needs the full team. I don't configure that. It just falls out." (longer — builds the logic, then lands)
94
+
95
+ Avoid: every sentence the same length. Avoid: every paragraph the same
96
+ number of sentences. Rhythm creates feeling. Monotone creates pablum.
97
+
98
+ ### First person, always
99
+
100
+ Use "I" freely. This is a person writing about things they built and
101
+ broke and learned from. Not a company blog. Not a thought leadership
102
+ platform. A person.
103
+
104
+ - "I was proud of it for about a week."
105
+ - "I sat with the actual usage."
106
+ - "I was asking myself to decide something the system already knew."
107
+
108
+ "We" is fine when it genuinely means a team. Never use "we" as a
109
+ corporate "we" that means nobody in particular.
110
+
111
+ ### Metaphors from life, not business school
112
+
113
+ **Right**: volcanoes, pool water, crayon names, org charts, Monday mornings,
114
+ being unable to explain something to yourself, knobs on a dashboard
115
+
116
+ **Wrong**: "governance primitives," "coordination frameworks," "configuration
117
+ surfaces," "compliance architectures"
118
+
119
+ The metaphor should make the reader *see* something. If they have to
120
+ look up the metaphor, it's not a metaphor — it's jargon.
121
+
122
+ ### Technical vocabulary — when to use it
123
+
124
+ Name real things when they're part of the story: "the manifest,"
125
+ "worktree," "the pre-commit hook," "the boot sequence." These are
126
+ concrete. The reader can picture them.
127
+
128
+ Don't name abstractions that only exist in your framework: "governance
129
+ substrate," "quality gates," "specification quality." These are labels
130
+ for ideas, and the ideas should be shown through story, not labeled.
131
+
132
+ **Exception**: If a concept earns its name by being explained through
133
+ a story first, you can name it at the end. "We call this temperance —
134
+ a mandatory pause before the system acts" works because the story
135
+ showed what temperance *is* before naming it.
136
+
137
+ ### What goes in each post
138
+
139
+ - **What actually happened** — the specific situation, not a category
140
+ - **What went wrong or surprised you** — the tension that makes it a story
141
+ - **What you did about it** — the action, told simply
142
+ - **What it felt like** — the Monday morning confusion, the pride that
143
+ lasted a week, the "oh" moment when you saw the coupling
144
+ - **The pattern** (earned, at the end) — what someone else might recognize
145
+ in their own work
146
+
147
+ ### What to leave out
148
+
149
+ - Thesis statements as openers (earn them)
150
+ - "The key takeaway is..." (the reader gets to decide)
151
+ - Consultant-speak transitions ("Let's examine," "Consider the following")
152
+ - Abstract categories where a specific example would do
153
+ - Sentences that could appear in any company's blog post
154
+
155
+ ### Length
156
+
157
+ 600-1200 words. But only if every paragraph earns its place.
158
+ A 600-word post that tells one story well beats a 1200-word post
159
+ that makes three abstract points.
160
+
161
+ ### Structure
162
+
163
+ 1. **Hook** (1-2 lines) — a specific moment, a confession, something
164
+ that happened. Not a thesis. Not a question designed to sound profound.
165
+ 2. **The story** — what happened, in enough detail that the reader is
166
+ there with you. Include the wrong turns, the confusion, the feeling.
167
+ 3. **The turn** — the moment you saw it differently. This is the heart
168
+ of the post.
169
+ 4. **The pattern** (earned) — what this means beyond your specific
170
+ situation. Keep it to 2-3 sentences. Trust the reader.
171
+
172
+ ### Two audience variants
173
+
174
+ Each notable moment can produce two posts:
175
+
176
+ **Variant A (Board / PE / Search)**: The same story, but land on the
177
+ operating implications. What does this mean for how you run a company,
178
+ evaluate a technology investment, or assess an operator? Use analogies
179
+ to org design, capital allocation, or operational discipline. But still
180
+ tell the story first.
181
+
182
+ **Variant B (Engineering)**: The same story, with more technical detail.
183
+ Show the code diff, the configuration before and after, the specific
184
+ failure mode. Engineers want to learn something they can apply. But still
185
+ tell the story — engineers hate corporate abstractions even more than
186
+ PE partners do.
187
+
188
+ ### The audience recommendations table
189
+
190
+ Every draft file includes:
191
+
192
+ ```markdown
193
+ | # | Variant | Title | Primary audience | Hook strength | Publish priority |
194
+ |---|---------|-------|-----------------|--------------|-----------------|
195
+ ```
196
+
197
+ Rate hook strength honestly. "Very strong" = specific, surprising,
198
+ or confessional. "Strongest" = makes the reader stop scrolling.
199
+ "Medium" = solid but expected.
200
+
201
+ ### Feynman Sidebar Convention
202
+
203
+ When a post references a technical concept that deserves a plain-English
204
+ explanation, flag it:
205
+
206
+ ```
207
+ [FEYNMAN: concept name]
208
+ ```
209
+
210
+ Run /feynman afterward. Weave it in or use it as a comment-thread follow-up.
211
+ The Feynman explanation should sound like you're explaining it to a
212
+ sharp friend who works in a different field — not dumbing it down,
213
+ just making it vivid.
@@ -0,0 +1,75 @@
1
+ ---
2
+ tier: lite
3
+ session_id: {YYYY-MM-DD}-{HHMM}
4
+ project: {active project}
5
+ agent: personal
6
+ status: completed
7
+ tags: [relevant, tags]
8
+ started_at: {ISO 8601 — from session-end hook or /tmp/claude-session-timing-*}
9
+ ended_at: {ISO 8601 — from session-end hook or current time}
10
+ duration_minutes: {exact from hooks, or approximate as fallback}
11
+ turns: {approximate, e.g., ~40}
12
+ closes: [{list of issues closed, e.g., "#37", "#42"}]
13
+ ---
14
+
15
+ # Session: {Title}
16
+
17
+ ## Entry State
18
+ - State before this session
19
+
20
+ ## Work Done
21
+ - Bullet points of accomplishments
22
+ - Reference commits + PRs by SHA / number
23
+
24
+ ## Decisions Made
25
+ - Key decisions with rationale
26
+
27
+ ## Open Threads
28
+ - What's unfinished or needs follow-up
29
+ - (most important section — what the next session reads first)
30
+
31
+ ## Key Files Changed
32
+ - List of files created or modified
33
+
34
+ ## Gate Evidence
35
+
36
+ **MUST be populated.** This section is the authoritative input for the
37
+ 5-session gate-compliance counter. An empty/missing section reads as
38
+ "no data" and silences the compliance signal.
39
+
40
+ Auto-populate from gate markers (run before writing the chronicle):
41
+
42
+ ```bash
43
+ BRANCH_SLUG=$(git branch --show-current | tr '/' '-')
44
+ [ -f "state/markers/temperance/${BRANCH_SLUG}.marker" ] && echo "temperance: yes"
45
+ [ -f "state/markers/diagnose/${BRANCH_SLUG}.marker" ] && echo "diagnose: yes"
46
+ [ -f "state/markers/verify/${BRANCH_SLUG}.marker" ] && echo "verify: yes"
47
+ # For multi-branch sessions, iterate over each branch worked.
48
+ ```
49
+
50
+ | Gate | Fired | Evidence | Outcome |
51
+ |------|-------|----------|---------|
52
+ | Temperance | {yes/no/n/a} | {marker path or "session-level (longrun)" or n/a reason} | {PASS / N/A — reason} |
53
+ | Diagnosis | {yes/no/n/a} | {marker path; "n/a — not a fix/ branch"; or "trivial — [cause]"} | {root cause / n/a} |
54
+ | Tests | {yes/no/n/a} | {N unit, M integration; or "n/a — docs only"} | {pass count / n/a} |
55
+ | Verify | {yes/no/n/a} | {marker path; or "n/a — docs only"} | {PASS / N/A — reason} |
56
+
57
+ ### Gate skip justifications
58
+
59
+ If any gate shows `no` without a valid `n/a` reason, that's a compliance
60
+ failure (per `standards/sdlc-compliance.md`). Valid skip reasons:
61
+
62
+ - **n/a** — gate doesn't apply (e.g., diagnosis on a feature branch)
63
+ - **Degraded mode** — infrastructure unavailable; note workaround
64
+ - **Assessed as trivial** (diagnosis only) — cause was immediately obvious; state it
65
+
66
+ Invalid reasons: "ran out of time", "will do later", bare "no" with no rationale.
67
+
68
+ ## Promotable Patterns
69
+
70
+ Did this session produce a novel diagnostic, workaround, or workflow
71
+ improvement worth shipping to other repos? If yes:
72
+
73
+ - {Pattern name}: {one-sentence description} → /promote candidate
74
+
75
+ Then run /promote before session-end.
@@ -0,0 +1,45 @@
1
+ ---
2
+ tier: lite
3
+ id: <ISO-ts>-<slug>
4
+ created_by_session: <chronicle-slug>
5
+ created_in: desktop | ephemeral-mobile | ephemeral-ci | cloud-web
6
+ created_at: <ISO-8601 UTC>
7
+ pending_action: <verb-phrase-slug>
8
+ requires_capability: [<capability>, <capability>]
9
+ priority: medium
10
+ origin_skill: /<skill-name>
11
+ resolves_when: |
12
+ <one-to-two sentences describing the end state>
13
+ ---
14
+
15
+ ## Context
16
+
17
+ <One paragraph. Why was the work deferred? What produced it? Who needs
18
+ it and by when? Enough for a resolver without prior session context to
19
+ understand the gap.>
20
+
21
+ ## Command to execute
22
+
23
+ <Exact copy-pasteable command, env vars, agent instruction. If
24
+ multi-step, a small checklist. If operator judgment is required,
25
+ state "operator action" and describe what the operator decides.>
26
+
27
+ ```bash
28
+ # example
29
+ npx tsx scripts/push-to-gdoc.ts \
30
+ --file docs/release-notes/2026-04-20-internal.md \
31
+ --doc-id "$CHANGELOG_DOC_ID"
32
+ ```
33
+
34
+ ## On completion
35
+
36
+ - [ ] Verify downstream state (e.g., Google Doc shows the pushed content)
37
+ - [ ] `git mv docs/deferred-actions/<id>.md docs/deferred-actions/completed/<id>.md`
38
+ - [ ] `git commit -m "chore: resolve deferred action <id>"`
39
+ - [ ] (Optional) Note resolution in chronicle footnote if scope warrants
40
+
41
+ ## Cross-refs
42
+
43
+ - <Related PR(s) or issue(s)>
44
+ - <Chronicle entry that originated the deferral>
45
+ - <Memory entries, prior deferred actions, or standards>
@@ -0,0 +1,77 @@
1
+ ---
2
+ tier: lite
3
+ id: <ISO-ts>-memory-<topic-slug>
4
+ created_by_session: <chronicle-slug>
5
+ created_in: ephemeral-mobile | cloud-web
6
+ created_at: <ISO-8601 UTC>
7
+ pending_action: apply-memory-proposal
8
+ requires_capability: [memory-write]
9
+ priority: medium
10
+ origin_skill: /<skill-that-proposed-it>
11
+ resolves_when: |
12
+ Proposed memory file exists at the target path and MEMORY.md index
13
+ references it. Proposal file git mv'd to
14
+ docs/deferred-actions/completed/.
15
+ ---
16
+
17
+ ## Context
18
+
19
+ Mobile or cloud-web session identified a memory entry worth adding
20
+ but couldn't write to `~/.claude/projects/.../memory/` (ephemeral
21
+ sandboxes lack filesystem access to the operator's real home).
22
+
23
+ Surface the proposal here; a capable desktop session reviews and
24
+ applies it per the Command section below.
25
+
26
+ ## Proposed memory entry
27
+
28
+ **Target path**: `~/.claude/projects/<project>/memory/<category>_<topic>.md`
29
+
30
+ **Frontmatter + body** (copy-paste into the target file verbatim):
31
+
32
+ ```markdown
33
+ ---
34
+ name: <one-line title>
35
+ description: <one-line description for MEMORY.md index>
36
+ type: <user | feedback | project | reference>
37
+ ---
38
+
39
+ <memory content — follow the auto memory guide's structure for this type:
40
+ - user: role, preferences, responsibilities, knowledge
41
+ - feedback: rule + Why + How to apply
42
+ - project: fact/decision + Why + How to apply
43
+ - reference: pointer to external resource + purpose>
44
+ ```
45
+
46
+ **MEMORY.md index line to append**:
47
+
48
+ ```
49
+ - [<title>](<filename>.md) — <one-line hook>
50
+ ```
51
+
52
+ ## Command to execute
53
+
54
+ Operator action. Resolving session:
55
+
56
+ 1. Read the proposed content above
57
+ 2. Apply it verbatim (or edit first if the content needs refinement)
58
+ 3. Verify via the auto-memory guide in the main system prompt:
59
+ - frontmatter fields correct for the memory type
60
+ - content conforms to the type's structure
61
+ - MEMORY.md index line added (≤150 chars)
62
+ 4. Confirm the entry works: next session-start will load MEMORY.md
63
+ and the index line surfaces the new entry
64
+
65
+ ## On completion
66
+
67
+ - [ ] Memory file exists at target path with correct frontmatter
68
+ - [ ] MEMORY.md index updated with the new entry line
69
+ - [ ] `git mv docs/deferred-actions/<id>.md docs/deferred-actions/completed/<id>.md`
70
+ - [ ] `git commit -m "chore: apply memory proposal <id>"`
71
+
72
+ ## Cross-refs
73
+
74
+ - <chronicle that originated the proposal>
75
+ - <related memory entries, if the proposal extends or contradicts existing memory>
76
+ - `.claude/rules/session-artifacts.md`
77
+ - `.claude/rules/deferred-actions.md`
@@ -0,0 +1,200 @@
1
+ ---
2
+ tier: lite
3
+ ---
4
+
5
+ # Persona — [Name]
6
+
7
+ <!--
8
+ Bassclef persona template. Pichler-shaped with evidence-traceability.
9
+ Referenced by /personas skill (.claude/skills/personas/SKILL.md) and
10
+ validated by standards/persona-schema.md.
11
+
12
+ Delete this comment block after copy-paste.
13
+
14
+ Save location:
15
+ Preferred: docs/personas/{slug}.md
16
+ Legacy (backward-compat with /jtbd-tasks + /synthetic-user):
17
+ docs/design/personas/{slug}.md
18
+
19
+ The filename basename MUST match the `slug` field below.
20
+ -->
21
+
22
+ **Slug:** [url-safe-identifier]
23
+ **Name:** [Human-readable display name]
24
+ **Archetype:** [One-line categorical framing — e.g., "PE operator managing 50+ active deals", "Bootstrapped couple founders", "Tier-2 SaaS customer-success manager"]
25
+ **Evidence quality:** [High | Medium | Low | — (unsourced default)]
26
+ **Generated:** [YYYY-MM-DD] via [/psychographic-mine | /auto-user-research | manual research | operator-default]
27
+ **Source synthesis:** [path to research doc, or "—"]
28
+
29
+ ---
30
+
31
+ ## Provenance
32
+
33
+ <!--
34
+ Required for any persona with a claim about behavior, pain points, or
35
+ workflows. Every claim should trace to a source. Orphan claims
36
+ (claims without citation) surface as WARN in /personas validate.
37
+
38
+ If this is an operator-default, state so plainly:
39
+ "Operator-default; not research-backed."
40
+ -->
41
+
42
+ Persona built from:
43
+ - **[Source 1 name]** — [link or repo-local path]. [One-line characterization of what this source establishes]
44
+ - **[Source 2 name]** — [link]. [Characterization]
45
+ - **[Source 3+ as applicable]**
46
+
47
+ ---
48
+
49
+ ## Goal
50
+
51
+ <!--
52
+ REQUIRED. One sentence. What this persona is trying to accomplish
53
+ that the product hires to help with.
54
+
55
+ Not a feature. An outcome.
56
+ -->
57
+
58
+ [One-sentence goal. Start with a verb. End with an outcome, not a feature.]
59
+
60
+ ---
61
+
62
+ ## Role / Context
63
+
64
+ <!--
65
+ Pichler "context" field + enough environmental grounding that
66
+ downstream skills can frame tasks, jargon level, and viewport
67
+ appropriately.
68
+ -->
69
+
70
+ - **Relationship / cohort:** [e.g., married 5+ years, solo founder, cross-functional IC]
71
+ - **Organizational stage:** [e.g., bootstrapped pre-seed, Series B, established enterprise]
72
+ - **Revenue / scale context:** [if applicable]
73
+ - **Team size:** [self, 2, 10, 100+]
74
+ - **Industry:** [specific or range]
75
+
76
+ **Representative example (composite OK):** [Name + age + one-line bio so
77
+ downstream skills can render concrete scenarios. Mark explicitly as
78
+ composite vs. real if from research.]
79
+
80
+ ---
81
+
82
+ ## Workflows (today)
83
+
84
+ <!--
85
+ Pichler "tasks" + "approach" combined. How they currently operate,
86
+ what tools they use, what rhythm they follow.
87
+ -->
88
+
89
+ ### How they currently work
90
+
91
+ - [Primary tool / pattern / rhythm]
92
+ - [Secondary tools]
93
+ - [Coordination / collaboration mechanism if relevant]
94
+
95
+ ### Daily or typical rhythm
96
+
97
+ - [Morning routine]
98
+ - [Workday pattern]
99
+ - [Evening / end-of-day]
100
+
101
+ ---
102
+
103
+ ## Pain points (with evidence trace)
104
+
105
+ <!--
106
+ Each pain should cite a source. Formatting convention:
107
+ > *Source trace: [source-N reference] — "[direct quote]"*
108
+
109
+ This is the evidence-traceability rule. Orphan pains (no trace)
110
+ are WARN in /personas validate.
111
+ -->
112
+
113
+ ### P1 — [Concise pain label]
114
+
115
+ [One-paragraph description of the pain — what triggers it, how it
116
+ manifests, what it costs them.]
117
+
118
+ > *Source trace: [source reference] — "[direct quote or paraphrase]"*
119
+
120
+ ### P2 — [Concise pain label]
121
+
122
+ [Description]
123
+
124
+ > *Source trace: [source reference]*
125
+
126
+ ### P3+ as applicable
127
+
128
+ ---
129
+
130
+ ## Workarounds they've built
131
+
132
+ <!--
133
+ Important for JTBD reasoning and /value-prop-canvas Jobs mapping.
134
+ The workaround is the "status quo" alternative in the Strategyzer
135
+ Value Map.
136
+ -->
137
+
138
+ - [Workaround 1] — [effectiveness] — [source trace if applicable]
139
+ - [Workaround 2] — ...
140
+
141
+ ---
142
+
143
+ ## Knowledge / jargon comfort
144
+
145
+ <!--
146
+ Pichler "knowledge" field. Drives /synthetic-user viewport,
147
+ /visual-review jargon checks, /spec copy tier.
148
+ -->
149
+
150
+ - **Domain expertise:** [novice / working-knowledge / expert]
151
+ - **Technical fluency:** [what they use confidently; what they avoid]
152
+ - **Jargon comfort:** [specific terms known vs. need-plain-language]
153
+
154
+ ---
155
+
156
+ ## Biography
157
+
158
+ <!--
159
+ Pichler "biography" field. Short — 2-3 sentences. Formative
160
+ background, not life story. Use this to give downstream skills a
161
+ narrative anchor for synthesis and testing.
162
+ -->
163
+
164
+ [Short biographical framing — age range, prior roles, formative influences, what brought them to this goal.]
165
+
166
+ ---
167
+
168
+ ## Quotes / voice samples
169
+
170
+ <!--
171
+ Optional but highly valuable. Direct or paraphrased language from
172
+ source material. Drives /synthetic-user test narration and
173
+ /value-prop-canvas Gains articulation.
174
+ -->
175
+
176
+ > "[Direct quote from source]"
177
+ > — [source reference]
178
+
179
+ > "[Another quote]"
180
+ > — [source]
181
+
182
+ ---
183
+
184
+ ## Anti-persona / NOT this persona
185
+
186
+ <!--
187
+ Optional. Who this persona is explicitly NOT. Prevents downstream
188
+ skills from conflating adjacent cohorts.
189
+ -->
190
+
191
+ - NOT: [adjacent cohort that might get confused]
192
+ - NOT: [another adjacent cohort]
193
+
194
+ ---
195
+
196
+ ## Further reading
197
+
198
+ - Roman Pichler, *The Persona Template* — https://www.romanpichler.com/the-persona-template/
199
+ - Alan Cooper, *The Inmates Are Running the Asylum* — archetype-based persona framework (complementary to Pichler)
200
+ - Agile Alliance, *Personas* glossary — https://agilealliance.org/glossary/personas/
@@ -0,0 +1,45 @@
1
+ ---
2
+ tier: lite
3
+ ---
4
+
5
+ # [Initiative Name] — Press Release / FAQ
6
+
7
+ ## Press Release (Written as if launching today)
8
+
9
+ ### Headline
10
+ One sentence. What did we ship and why does anyone care?
11
+
12
+ ### Subheadline
13
+ Who is this for and what do they get?
14
+
15
+ ### Problem Paragraph
16
+ The world before this existed. Pain. Friction. Cost.
17
+
18
+ ### Solution Paragraph
19
+ What we built. How it works. What changes.
20
+
21
+ ### Quote (You)
22
+ Why you built it. What you believe.
23
+
24
+ ### How It Works
25
+ Three steps. Maximum.
26
+
27
+ ### Quote (Customer)
28
+ A fictional but realistic customer reaction.
29
+
30
+ ### Call to Action
31
+ What the reader does next.
32
+
33
+ ---
34
+
35
+ ## FAQ
36
+
37
+ ### Customer FAQ
38
+ Q: What does this cost?
39
+ Q: How is my data handled?
40
+ Q: What if it breaks something?
41
+
42
+ ### Internal FAQ
43
+ Q: How long will this take to build?
44
+ Q: What's the biggest technical risk?
45
+ Q: What do we explicitly NOT build in v1?