ship-checklist - every write needs a read path an agent can find
The recurring miss in ax: we ship the write + an on-demand CLI read, and skip the proactive / agent-facing read. A signal only visible on a manual CLI run is invisible to the self-improvement loop. ax's whole thesis is that agents discover and act on signals - so a new write is not done until an agent can find it without being told.
Organizing rule: every write needs (B) an on-demand read AND (C) a proactive read AND an agent-facing surface (MCP/skill). Most features do A+B and stop.
Run this before opening the PR. Skipping a row is fine - but say so in the PR and why, don't skip silently.
A. Write
- Schema in
schema.surql+ registered inSCHEMA_TABLES(CI mirror guard) - Ingest idempotent + incremental (since-aware) + deref-free denormalization for reads (no record derefs inside aggregates - they hang prod)
- Backfill: does history get the signal, or only new data? Note "dark until re-ingest" if so
- Stage
deps= every producer of the input table
B. Read - on-demand
- CLI: a command or a facet on an existing one (consistent family)
-
--jsonenvelope for scripting - Dashboard/studio surface (if visual)
C. Read - proactive (the usually-missed half)
- MCP tool so an agent can query it in-context (
apps/axctl/src/mcp/tools.ts) -
ax improve recommendgenerator - mint a proposal when the signal crosses a threshold (agent gets the suggestion unprompted) -
ax insights/ dashboard next-actions wiring (if it implies an action) - dojo agenda item (if the overnight loop should act on it)
- Skill: a cognitive pattern teaching an agent to act on the signal (e.g. the
lnskill routes visual judgment to subagents offax cost images)
D. Documentation
-
CLAUDE.mdcommand/section docs (there is a docs gate for new subcommands) - llms.txt / site docs / README, if user-facing
- CHANGELOG + release notes (release-please)
- Spec in
docs/superpowers/specs/for non-trivial features
E. Onboarding / distribution
- Onboarding prompt (
@ax/onboarding-prompt) - should a day-1 user/agent know it exists? - Marketing coverage (site page / blog / X), if a user-facing capability
-
/api/versioncapability flag, if relevant
F. Verify (evidence, not assertion)
- Tests: unit on pure helpers + schema-mirror guard + CLI command-list test
- Live-verified against the real DB - paste the actual output in the PR
- "Dark until data" honesty: state if it needs backfill/telemetry to light up
How to use
Create a TodoWrite item per relevant row, or paste the A-F headers into the PR body as a checked list. The point is the C section - if a new signal has no MCP tool, no improve generator, and no skill, an agent will never surface it on its own, and the feature is half-built no matter how clean the write is.