Build a NEW optional vertical (an "add-on") in the Cos repo the framework-native way — one four-layer slice (nav + API + data + MCP) gated by ONE Settings.addons.[id] flag, with all data folded onto cases.json. Use when adding a whole new feature area (a "health" dashboard, a "finance" tracker, a "reading list"…
Set up and operate the encrypted off-site backup for the chief-of-staff live data (board, guard, config, vault). Daily AES-256-GCM snapshots are pushed to a PRIVATE GitHub repo (immutable git history); the recovery key lives in the macOS Keychain. Use when bootstrapping the app on a new machine, when you need to…
Stand up the body MCP for the foundational "Body" add-on on a new machine and wire it into both Claude clients — an in-repo thin fetch-wrapper over the board's /api/body/ routes (like the nutrition/fitness servers). Body is the single owner of body identity, the weight + body-composition series, and the free-text…
The single first-run entry point that stands up the WHOLE Cos system, sequencing the four component setup skills in dependency order — setup-vault → guard-setup → mcp-bridge-setup → backup-recovery — then finishes with the automation step, installing the operator skill bundles into Cowork and creating the scheduled…
Upgrade an EXISTING Cos install to the latest code — the post-pull runbook for a machine that already ran cos-setup (a hub) or spoke-setup (a spoke). It takes an on-demand backup, pulls, runs scripts/upgrade-check.mjs (the diff → checklist planner), applies every automatable step in order (npm install, gen-launchd…
Diagnose and fix a Cos MCP server that is failing in Claude Cowork Desktop (or in Claude Code) — "board not responding", a server missing from the tool list, a tool call erroring, vault 401, openwhispr can't open its DB, whatsapp dead, or a server that dies after a while. Walks the escalation ladder (relaunch → read…
Stand up the fitness MCP for the "Fitness" add-on on a new machine and wire it into both Claude clients — an in-repo thin fetch-wrapper over the board's /api/fitness/ routes (like the nutrition/calendar servers). Its writes are add-on-gated (attributed to the agent via x-actor) and its reads are open. It is exposed to…
Set up the prompt-injection Guard classifier model end-to-end — pick a named model preset (default the gated Meta Llama-Prompt-Guard-2-86M), accept the Llama license + authenticate with the current hf CLI, prefetch the gated model, configure COSGUARDMODEL/THRESHOLD/CLASSIFIER in config/cos.env, install/reload the…
Move the HUB role from one machine to another — promote a new machine to hub and demote the old one to a browser viewer, a spoke, or retire it. The ceremony that makes the swap DATA-SAFE — it freezes the source board BEFORE the final backup (so no write is stranded), enforces a schema precondition on the promoting…
Wire this repo's CORE stdio MCP servers (board, calendar, guard, vault) into Claude Cowork Desktop and Claude Code. (The optional openwhispr voice add-on and the whatsapp add-on each have their OWN setup skill — /openwhispr-mcp-setup, /whatsapp-mcp-setup — so they're out of scope here.) Cowork uses direct stdio…
Stand up the nutrition MCP for the "Nutrition & Chef" add-on on a new machine and wire it into both Claude clients — the simplest of the optional add-ons (a pure thin fetch-wrapper over the board's /api/nutrition/ routes, like the calendar server; NO sidecar, NO external repo, all in-repo at mcp/nutrition-server). It…
Stand up the openwhispr voice-notes MCP on a new machine and wire it into both Claude clients — the OpenWhispr add-on alongside mcp-bridge-setup (like whatsapp-mcp-setup). It exposes the external OpenWhispr desktop app's local transcript store (a SQLite DB + .webm recordings under /Library/Application…
Bootstrap a NEW private vault instance from the committed example-vault template — copy the template to vault/[name], point the vault MCP bridge (:8005) at it via COSVAULTDIR, register it with Obsidian + capture its unique vault ID into settings.json (so the board's obsidian:// deep-links open the in-repo vault…
Add this machine to an EXISTING Cos as a SPOKE — a stateless client of the hub. It flips COSDEVICEROLE=spoke, points BOARDURL at the hub's tailnet URL, and wires ONLY the board-facing MCP wrappers (board, calendar, and any enabled add-on wrappers) so Claude Code + Cowork on this machine drive the hub's board over…
Drive the openwhispr MCP — read OpenWhispr voice transcripts (text + .webm audio) and own the idempotency watermark. listtranscripts returns only UNPROCESSED notes; markprocessed (LAST, after a note is fully handled) advances the watermark so it is never re-emitted. Use for any voice-note read, audio fetch, or…
Stand up WhatsApp on a new machine and wire the whatsapp MCP into both Claude clients — the WhatsApp add-on alongside mcp-bridge-setup. It builds the external whatsapp-mcp repo's TWO processes (the Go whatsmeow bridge, run as a launchd SIDECAR like search/guard on $WHATSAPPGOPORT/:8010; the Python stdio MCP, exposed…
The board's housekeeper — a periodic maintenance sweep that REORGANIZES the case tree into a clean Initiative ▸ Workstream ▸ Case hierarchy. It clusters orphans under Initiatives, splits grown ones into Workstreams, and renames and describes its own containers — ALWAYS grounded in the user's stated priorities (starred…
Manage the BODY add-on — the single owner of your body identity, your weight + body-composition history, and your GOAL. It drives the body MCP: set/read your FREE-TEXT objective (what you're after in your own words — fat loss, muscle gain, recomposition — plus an optional target weight) via setbodyobjective /…
Manage the ATHLETE PROFILE — the Fitness add-on's TRAINING-FOCUS singleton that the AI coaching skills (training plan, weekly review, pre-workout brief) read to personalise their output. It SETS / UPDATES / READS the one profile per board via the fitness MCP's getathleteprofile / setathleteprofile tools: the…
The Fitness add-on OVERVIEW / router — the index that fires on GENERIC or ambiguous fitness requests and points you at the right FOCUSED skill. Use it when the user gestures at fitness without a specific ask — "help me with my fitness", "what can the fitness add-on do", "I want to get fit / train better", "set me up…
Surface and INTERPRET the sleep ↔ performance CORRELATIONS the board computes from the logged Apple-Watch + workout data — the deterministic stats twin of the Fitness add-on. The board computes (and persists) the Pearson r and the linear regression deterministically; YOU (the agent) trigger that compute via the…
The Fitness DATA-PLANE operator — ingests, queries, and maintains Apple Watch health data on the Cos board via the fitness MCP, and pushes a health report to the vault. It INGESTS canonical health entries (workout / sleep / HRV / resting-HR / steps / VO2max, dedup by id, 90-day auto-purge), READS the data back (raw…
Prepare and persist TODAY'S pre-workout / training-readiness brief — the daily "should I train today?" call. It reads the board's deterministic FORM SCORE (0–100, with its hrv / sleep / resting-HR / load breakdown), folds in last night's sleep + this morning's metrics + recent training load + the athlete profile +…
The Fitness coach's HEADLINE skill — generate a personalised WEEKLY TRAINING PLAN for the athlete with deliberate VARIETY / ROTATION (rotate sports and intensity; alternate hard/easy; progressive overload toward the goal date), then PERSIST it via savetrainingplan so it lands on the /fitness/training-plan history…