substrate · the system every external draft passes through before it ships.
Substrate is the open-source refinement of three systems that came before it.
MessagingGPT (a customGPT for messaging variants, the precursor).
Commons (the team-shared brain I shipped inside JustCall).
Flywheel (the operator workflow I built personally, never shipped to a team).
MIT, on GitHub. v1.0 to v1.2 in four days after the JustCall resignation, every move on the public commit log.
The patterns inside were learned at Wingman, Fincent, and JustCall.
If you want to know whether the way I think matches the way you ship, open the repo and read one skill end to end.
What it is, in one sentence
Substrate is the system every external draft passes through before it ships. It is open source, MIT, on GitHub at github.com/k3sava/substrate (publishing soon).
Why it exists
A senior product marketer's output is a stream of artifacts: positioning docs, homepage rewrites, win-loss reads, launch plans, memos nobody opens. Each one has a structural ancestry: the reasoning behind why this word, this section, this order. AI can't reconstruct that from a prompt. Substrate is that ancestry, written down where the AI can read it. MessagingGPT was the precursor, a customGPT scoped to messaging variants, the first time I put canonical context in a place an AI could read. Commons was version two, the team-shared cut I shipped inside JustCall, write-back enabled. Flywheel was version three, the personal operator workflow I refined on my own time (never shipped to a team). Substrate is version four: refined, public, the version the next engagement gets installed against.
Structural choices
- Each layer is a file. Not a section heading. A file. A reader can browse on GitHub and grep with `?q=`.
- Each pattern cites three or more operators. A pattern with one citation is a hunch. Three is the minimum for "this generalizes."
- Each skill is runnable from one dispatcher. The dispatcher is a small CLI. Skills are not paragraphs. They are procedures, callable.
- The principles layer is the only one that says no. The other seven layers describe and compose. Principles is the layer with veto.
The eight layers, in dependency order
Eight conceptual layers — context, skills, goals, routines, ux, calibration, principles, reconciliation — that compose how substrate thinks. They are a frame, not a directory listing. The repo organizes them across actual directories: skills/ (79 procedural moves, runnable from one dispatcher), routines/ (when to deploy which skill, cadence and triggers), goals/ (what the operator is trying to move, in measurable terms), knowledge/patterns/ (73 patterns, each citing three or more operators), knowledge/contradictions/ (15 surfaced contradictions, each with a resolution path), PRINCIPLES.md (the code-enforceable rules), personas/ (who the operator is and what they carry), and metrics/ (the calibration substrate).
The diff, v1.0 to v1.2
| layer | v1.0 | v1.2 | delta |
|---|---|---|---|
| skills | 16 | 79 | +63 |
| patterns | 0 | 73 | +73 |
| principles | 8 | 9 | +1 |
| contradictions surfaced | 3 | 15 | +12 |
What this case proves
Three things, in increasing order of difficulty. The operator can write a system. The operator can iterate it on a public commit log without the structure falling apart. And the operator can author a system that an AI can read and act on without somebody hand-holding it through every prompt.
How to verify
- Open
github.com/k3sava/substratein a browser (publishing soon). ReadPRINCIPLES.md. - Pick one principle. Use GitHub's file search to find the cited examples in the patterns folder. Confirm three operators.
- Open any skill file. The procedure is the file. Reading the file is the verification.
Like what you read? Book 30 minutes.
Pick a slot →