ship-checklistlisted
Install: claude install-skill Necmttn/ax
# 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 in `SCHEMA_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)
- [ ] `--json` envelope 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 recommend` generator - mint a proposal when the signal crosses a threshold (agent gets the suggesti