Keep "Claude Design" only as the named default visual tool (like naming
Figma); generalize the spots that assumed the coding harness is Claude:
- Phase B framed as "the cloud tool" (Claude Design as default; adapt for Figma)
- export named the "coding-agent handoff bundle" (Claude Design's term noted)
- token extraction points at Style Dictionary / any harness skill, not Claude Code
- BRIEF prompt block paste target generalized
First real /design run (keysat import, document-as-is). Generalizable
process learnings, per the Phase-D loop:
- implemented CSS/tokens are authoritative over prose when they disagree
- real type scales/shadows resist strict DTCG — keep as documented strings
- encode stated intent even where code violates it; the gap is the backlog
- "each surface inlines its own tokens" is a recurring drift risk; grep
before relocating a design dir into _imports
- Phase 0 routes a run by situation: refine / import prior guidelines
(Case A) / extract the de-facto design from organic UI (Case B) / fresh,
plus a document-as-is vs redesign posture. Lets /design backfill repos
that grew a look organically, not just scope new ones.
- Phase D promotes generalizable PROCESS learnings back into this guide —
harvested from both the pre-flight scoping conversation and the Phase-C
distillation — with a Field notes section that accretes them. Brand facts
stay in the repo's DESIGN.md; process knowledge improves the global standard.
- Seed Field notes with research-verified Claude Design export facts.
Design/branding for any user-facing repo becomes a vendor-neutral on-disk
contract — design/DESIGN.md (nine-section brief) + design/tokens.tokens.json
(W3C DTCG tokens) — that every agent reads before building UI. Claude Design
is the interchangeable cloud front-end, never a dependency.
- /design (main-thread command): inspiration-first scoping -> BRIEF.md -> user
drives the cloud step -> distill the export back into the contract. Phase-C
token distillation is agent-mediated because the export is inline-hardcoded
HTML/CSS, not DTCG.
- design-checker (read-only subagent): audits a repo's UI against its own
committed contract; says "run /design first" when none exists.
- /new-project scaffolds design/ for user-facing projects.
Replace the one-shot/UNVERIFIED infra section with owner-confirmed facts:
x86 StartOS 0.4.0 box + full service inventory; the two-Spark role split
(LLM vs audio/speech, Qdrant on the audio Spark, matrix-bridge hosted there);
route via the Spark Control gateway and query the active model rather than
hardcoding one; networking reduced to LAN/WireGuard/StartTunnel (Proton/Tor
were legacy). Align decision steps 4 and 6.
The repo was renamed; note the rename in the STATUS.md scan header so the
historical snapshot stays unambiguous. The dead ~/Projects/Workout-log
folder (empty/crash logs, no git) was removed separately.
Harvest the retired idea-workshop skill into the current new-project flow:
- form-factor gate (is this even a standalone repo, or a feature/skill/agent
of something that exists? bail + reroute if so)
- worth-building gate at sign-off (build effort + ongoing tax -> BUILD/PARK/ADOPT)
- placement step that walks the new guides/placement.md
- falsifiable-exit substance rule and a posture section
- architectural decisions land in the new repo's AGENTS.md ## Decisions section,
absorbing the old DECISIONS.md function (no separate ADR file)
Add guides/placement.md (ported from the skill) and point how-i-work.md at it.
Its infra facts are UNVERIFIED (one-shot from chat history) and flagged for a
review pass with me (ROADMAP item 7).
Promote STATUS.md from an opt-in offer to standard behavior: every /roundup run now writes the report to ~/Projects/standards/STATUS.md (overwritten), shows it inline, and commits + pushes only that file so the portfolio state is diffable over time — the same durability reflex as /capture. STATUS.md remains the only file roundup writes; all project repos stay read-only. Updates guide (new Phase 4), wrapper, ROADMAP item 2, README, and Current state.
The inverse of /retrofit: workshops a captured (new) inbox idea into a repo that is standards-compliant from line one (AGENTS.md + CLAUDE.md symlink, ROADMAP, canonical deny-by-default .gitignore, .claude wiring, inbox-check line), publishes via a manual Gitea-create gate, and clears the (new) inbox item. Resolves ROADMAP item 5 open questions (manual Gitea gate; stack quality gate deferred to /harden; workshop seeds Current state) and marks it BUILT.
Add the inbox loop (/capture, /triage, /roundup) to README's 'The rhythm' section. Capture the ten31-transcripts mini-retrofit to INBOX.md with step-by-step instructions for next triage. Reconcile ROADMAP item 6 + Current state: recap-relay remote added/pushed in a later session.
The cross-repo git-hygiene audit (ROADMAP item 6) found the documented canonical .claude/ block was allow-by-default and would have un-ignored a password-bearing .claude/launch.json. Switch portability.md to a deny-by-default .claude/* + allow-list block and align the two retrofit summaries. Mark item 6 done with residuals; refresh Current state.
Retrofit playbook Step 0/Step 1 and the /retrofit guide now seed every new repo
with the canonical .gitignore block and the inbox-check line, and Part 5 documents
/capture, /triage, /roundup. portability.md and the portability-checker guide now
scope the relative-symlink mandate to in-repo (committed) symlinks, so global
~/.claude/* links are no longer flagged. ROADMAP adds a high-priority cross-repo
git-hygiene audit.
Fans out a read-only reader per repo over AGENTS.md/ROADMAP.md, folds in the
standards inbox, and synthesizes one priority-grouped to-do list across all
projects (including untriaged inbox items and proposed new projects). Reads and
reports only — prioritizing across projects stays with the user.
Introduce the cross-project capture->triage->roadmap loop: /capture appends an
idea or bug to INBOX.md from any repo (new-project ideas included), /triage drains
a project's items into its AGENTS.md or ROADMAP.md. Give the standards repo its own
AGENTS.md (+ CLAUDE.md symlink) and ROADMAP.md so it follows its own standard, and
add a 'What git tracks' section to portability.md plus the canonical .gitignore
block answering what is committed vs gitignored around .claude and symlinks.
The playbook assumed one canonical chat per project. Add a merge prompt to
Step 1 for reconciling further conversations into the existing AGENTS.md/
ROADMAP.md without overwriting, and note in the retrofit guide that the
"files exist" skip can't mine other chats — that stays manual.
ROADMAP.md was named as a destination in two places but never created,
indexed, or read back. Add the convention to how-i-work.md, note it after
the README decision tree and in the loads-when table, give it a row in the
portability layer table, make the retrofit prompt create it, and have
handoff seed it and pull from it when Current state's next steps run thin.
- Handbook: evaluator/security-auditor are opus/xhigh, not opus/high (matches wrappers).
- portability.md / retrofit-playbook.md: how-i-work.md is ~50 lines, not 'under 50' (it is 52).
- retrofit-playbook.md daily rhythm: close out with /handoff, not the old manual paste, matching README and the handbook.
Read-only documentation drift auditor: checks every README/instruction/HTML claim against the code and reports what no longer matches, modeled on the janitor/reviewer wrappers. Added to the full-eval suite (always-run) and to the subagents handbook roster and length budgets.
Automate the per-project retrofit (git audit, verify, scope, commit,
validate) as a main-thread slash command that asks for the judgment
calls. Step 1 (mining a past chat) stays manual — the command surfaces
which conversation to mine and hands back, since it can't resume one.
Read-only agent that hunts stale, orphaned, and superseded
docs and artifacts and reports removal candidates with evidence.
Scope is docs/artifacts only; never deletes. Adds the guide,
the Claude wrapper, and the handbook roster + length-budget lines.
Read-only subagent that audits a repo against the vendor-neutral /
hot-swap standard: AGENTS.md canonical with a CLAUDE.md symlink, scoped
guides symlinked from .claude/rules with index lines, thin wrappers, and
relative correctly-directed symlinks. Substance in guides/, thin Claude
wrapper in adapters/, catalogued in the subagents handbook.
The brace-bounded grep truncated at the first nested "}" in the usage
object, so the token segment silently rendered empty. Parse each
transcript JSONL line as JSON instead, summing input + cache_read +
cache_creation to match /context's window-occupancy figure.
Show it as "X.Xk/<limit> tokens (Y%)" with the limit auto-sized to the
model's context window (1m vs 200k), and color the segment red once
context reaches 200k.