What's inside
One SQL file for the database, four plain-text documents the assistant reads, three skills, and three scripts. Nothing runs on its own.
starter/
├── README.md install, daily use, troubleshooting
├── LICENSE MIT
├── schema/
│ └── obligations.sql the whole database, one idempotent migration
├── ritual/
│ ├── SESSION_CONTEXT.md the operating doctrine the assistant reads
│ ├── OPEN.md how a session opens
│ ├── CLOSE.md how a session closes
│ └── DOCTRINE_TEMPLATE.md versioned laws learned from incidents
├── skills/
│ ├── session-ritual/SKILL.md
│ ├── approval-lattice/SKILL.md
│ └── capture/SKILL.md
└── scripts/
├── open.sql the three reads of the open
├── close.sql the close, as a fill-in template
└── seed.sql optional example rows for day one
The database is four tables (tasks, decisions, session_events, session_handoffs), a trigger that gives every open item a check date, and two views: v_due_for_check for completeness and v_next_up for importance, with a why column that shows how each score was built.
Install in five steps
-
Create a free Postgres project 3 min
Sign up for a free hosted Postgres such as Supabase, or use any Postgres 15 or newer you already run. Create a new project.
-
Run the schema 2 min
Open the project's SQL editor. Paste the whole of this file and run it:
starter/schema/obligations.sqlIt is safe to run twice. Optionally run
starter/scripts/seed.sqlas well, so the first open has six example tasks, one decision and one handoff to show. -
Give the assistant its doctrine 3 min
Read
starter/ritual/SESSION_CONTEXT.md, adjust anything that does not fit, then paste it into the assistant's standing instructions: a Claude Project's instructions, a ChatGPT project or custom instructions, or a Gemini Gem. If it accepts files, addOPEN.md,CLOSE.mdand the three skills as knowledge. -
Open the first session 5 min
Start a new chat in that project and type:
Open the sessionThen run
starter/scripts/open.sqlin the SQL editor and paste the three results into the chat, or connect a database tool so the assistant runs it itself. It should handle every row it owns, list yours as one group, and offer two or three ways to spend the session. -
Close it 2 min
When you are done, type:
Close the sessionThe assistant fills in
starter/scripts/close.sql: rows closed or re-dated, what shipped, what was ruled, and a handoff. Read it, then run it. It is one transaction, and the handoff is rejected if any of its four required fields is empty. The next open starts from it.
What this is not yet
Version one keeps every action inside a chat you are part of. The pieces below each add reach, which is exactly what the approval lattice exists to govern, so they come later, one at a time.
Each is described, tier by tier, in the guide.
Download
Download starter.zip 13 files · MIT licence · plain text and SQLOr browse the files
- README.mdstart here
- LICENSEMIT
- schema/obligations.sqlthe database
- ritual/SESSION_CONTEXT.mdthe doctrine
- ritual/OPEN.mdthe open
- ritual/CLOSE.mdthe close
- ritual/DOCTRINE_TEMPLATE.mdlaws from incidents
- skills/session-ritual/SKILL.mdskill
- skills/approval-lattice/SKILL.mdskill
- skills/capture/SKILL.mdskill
- scripts/open.sqlthree reads
- scripts/close.sqlclose template
- scripts/seed.sqloptional examples
Questions
- Does it need an API key?
- No. The assistant you already pay for reads the context you paste into its instructions. The database is reached through its own SQL editor, or through a database tool you choose to connect.
- Which assistant does it work with?
- Any assistant with project-level or custom instructions it reads on every chat. Nothing in the kit is tied to one vendor.
- Can I use my own schema?
- Yes. Everything lands in
publicfor simplicity; the header ofobligations.sqlshows the one line to add to put it in a schema of your own.