113 lines
7.2 KiB
Markdown
113 lines
7.2 KiB
Markdown
# Standards — AGENTS.md
|
|
|
|
The home of my agent-operating standards **and** the live global fleet that serves them.
|
|
This repo is both the documentation of how any coding agent works in my repos and the
|
|
actual source of the global agents, commands, and `how-i-work.md` that every project
|
|
inherits. Edit here and every repo on this machine feels it.
|
|
|
|
For a human-facing tour of the four standards documents, read `README.md` — this file is
|
|
the agent-facing orientation and does not restate it.
|
|
|
|
> **Inbox check (this repo):** At session start, if `INBOX.md` has unchecked items tagged
|
|
> `(standards)`, surface them before proposing next steps; triage with `/triage`.
|
|
|
|
## What this repo is the source of
|
|
|
|
The global layer lives here and is wired into `~/.claude` by **directory symlinks**, so a
|
|
file added under `adapters/` is live immediately — no per-file linking:
|
|
|
|
- `~/.claude/commands` → `adapters/claude/commands/` — global slash commands (`/retrofit`,
|
|
`/handoff`, `/full-eval`, `/capture`, `/triage`, `/roundup`, `/new-project`, `/design`).
|
|
- `~/.claude/agents` → `adapters/claude/agents/` — global subagents (reviewer, evaluator,
|
|
security-auditor, doc-auditor, exerciser, researcher, janitor, portability-checker,
|
|
start9-spec-checker, design-checker, onboarding-tester).
|
|
- `~/.claude/CLAUDE.md` → `how-i-work.md` — my universal preferences, loaded every session.
|
|
(Distinct from this repo's *root* `CLAUDE.md`, which → `AGENTS.md`: same filename, different
|
|
scopes — global preferences vs. this repo's orientation.)
|
|
- `~/.claude/statusline.sh` → `adapters/claude/statusline.sh` — the Claude Code CLI terminal
|
|
status-line script (invoked by `~/.claude/settings.json`).
|
|
|
|
Because these are *global*, decisions here are never scoped to this repo alone. The test
|
|
for anything proposed ("should we adopt linters / hooks / CI?", "is this skill worth
|
|
building?") is **whether it's generally best-in-class across all the repos I build** — this
|
|
repo is just where that cross-repo standard is authored and stored.
|
|
|
|
## Layout
|
|
|
|
- `README.md` — human index of the four standards docs.
|
|
- `how-i-work.md` — universal preferences (served as `~/.claude/CLAUDE.md`).
|
|
- `portability.md` — the vendor-neutral / hot-swap protocol.
|
|
- `retrofit-playbook.md` — terminal runbook for moving a project's brain onto disk.
|
|
- `subagents-handbook.md` — designing and running delegated agents.
|
|
- `guides/` — **neutral substance**: the self-contained operating guide for each command
|
|
and agent, written as plain prose any vendor's harness could follow. Also holds shared
|
|
reference docs that aren't tied to one command — e.g. `placement.md` (where a new project
|
|
should live), which `/new-project` and `how-i-work.md` both point at.
|
|
- `adapters/claude/{commands,agents}/` — **thin Claude wrappers**: frontmatter + a pointer
|
|
to the matching `guides/` file. Substance never lives in a wrapper.
|
|
- `INBOX.md` — cross-project capture buffer for untriaged ideas/bugs (see below).
|
|
- `ROADMAP.md` — longer-term backlog for this repo (future agents, commands, standards).
|
|
- `STATUS.md` — latest cross-project roundup snapshot, overwritten + committed by `/roundup`
|
|
each run (git history is the diff over time).
|
|
|
|
## Conventions when editing
|
|
|
|
- **Substance in `guides/`, machinery in `adapters/`.** To add or change what a
|
|
command/agent *does*, edit its `guides/<name>.md`. The wrapper only carries frontmatter
|
|
and the "read your guide, then follow it exactly; if you can't read it, stop — don't
|
|
improvise" pointer. Match the existing wrappers exactly.
|
|
- **Portability first.** Knowledge lives in vendor-neutral files; vendor-named paths are
|
|
relative symlinks into them. Full protocol in `portability.md`; the `portability-checker`
|
|
agent verifies it.
|
|
- **Keep this file lean.** Whole-repo, every-session facts only. Subsystem detail goes in a
|
|
guide. Near-term status goes in `## Current state` below; longer-term backlog in
|
|
`ROADMAP.md`.
|
|
- Follow `how-i-work.md` for collaboration, git, and debugging defaults.
|
|
|
|
## The capture → triage → roadmap loop
|
|
|
|
A frictionless path from "random thought about some repo" to "on the right list," so ideas
|
|
stop scattering into phone notes:
|
|
|
|
- **`/capture`** appends one structured line to `INBOX.md` from *any* repo (you need not be
|
|
in the target repo) and commits+pushes the standards repo so the note is durable. Capture
|
|
is deliberately dumb and uniform — no routing decision at capture time.
|
|
- **`/triage`**, run *inside* a project, drains that project's `INBOX.md` items and routes
|
|
each — `Current state`, the repo's `ROADMAP.md`, a guide, or discard — with your
|
|
approval, then clears them from the inbox.
|
|
- **Inbox is upstream of every repo's ROADMAP.** ROADMAP is triaged, owned backlog for one
|
|
repo; the inbox is the raw, cross-project buffer that feeds the ROADMAPs.
|
|
|
|
**Inbox-check line (the portable surfacing mechanism).** Every project repo's `AGENTS.md`
|
|
should carry this so any vendor's agent surfaces pending items at session start:
|
|
|
|
> **Inbox check:** At session start, if `~/Projects/standards/INBOX.md` exists, scan it for
|
|
> items tagged `(this-repo)` and surface them before proposing next steps; triage with
|
|
> `/triage`.
|
|
|
|
## Current state
|
|
|
|
- **Fleet built and live** — commands `/capture /triage /roundup /new-project /handoff /retrofit
|
|
/full-eval /design`; subagents incl. `design-checker` + `onboarding-tester` (substance in
|
|
`guides/`, thin wrappers in `adapters/claude/`, symlinked into `~/.claude`). Dogfoods its own
|
|
standard. Latest `/roundup`: `STATUS.md` 2026-06-16.
|
|
- **`onboarding-tester` built this session (ROADMAP item 9), live.** Docs-only adopter agent: walks
|
|
a product's published docs as a literal newcomer (never reading source), reports doc gaps, and on
|
|
a fully clean run emits a publishable "all it took was X, Y, Z" walkthrough. First target: keysat
|
|
SDK integration, **staged** — Stage 1 (Path 1, manual issuance under keysat's new `merchant-onboard`
|
|
key, `d5885d1`) is **unblocked**, runs in a keysat session; Stage 2 (Path 2, buyer-pays on regtest)
|
|
is **gated** on keysat's greenlit `payment_providers:write` scope + network gate + sandbox flag.
|
|
- **Design system (ROADMAP item 8) shipped** — `/design` → `design/DESIGN.md` + DTCG tokens;
|
|
`design-checker`; `/new-project` scaffolds `design/`. Pilot: keysat import (Case A). **In flight:**
|
|
the first **Case B (Extract) run on recap** — document-as-is, run in a recap session (no `design/`
|
|
there yet; entire UI is inline-styled `public/index.html`, palette drift confirmed). Closing it
|
|
exercises the previously-untested extract→reconcile path and feeds Phase-D learnings back to
|
|
`guides/design.md`. **Still open (decoupled):** a fresh Claude Design run to confirm export
|
|
internals + tune Phase-C — deliberately kept out of the recap run.
|
|
- **Next steps:** (1) run the Stage-1 `onboarding-tester` harness in a keysat session (item 9);
|
|
(2) **in flight** — recap Case B `/design` backfill (document-as-is), run in a recap session (item 8);
|
|
(3) cross-repo quality-gate standard + `/harden` (item 1); (4) non-git-folder sweep under `~/Projects` (~13).
|
|
- Queued in `INBOX.md` for other repos' `/triage`: keysat design cleanup (P2) + onboarding Path-2
|
|
(P3); `ten31-transcripts` mini-retrofit; `ten31-database` networking/icon/intake; (standards)
|
|
operator-onboarding agent (P3).
|