Live inventory · 20 Aug 2026

The working
AI stack

Every model, skill, gate, and hook actually installed on this machine — read straight from ~/.claude, not from a wishlist. All four layers are now wired. The open question is no longer capability, it is cost.

114
Skills reachable
4
Models on tap
3/6
MCP servers live
3
Hooks wired
14.3k
Tokens/turn overhead
01 — Request lifecycle

How one prompt moves through the stack

Seven stages from keystroke to answer. Every stage is now configured: a permission gate with veto power on the way in, and hooks firing on the way out.

agentic loop — re-plan until the task is actually done Prompt CLI / VS Code Gate 31 rules + PreToolUse veto Model Opus / Sonnet Fable / Haiku Skills 24 loaded + memory Tools Bash / Edit MCP servers Hooks 3 of 33 wired Pre / Post / Start Result + deploy 01 02 03 04 05 06 07
Built & running Skills / context layer Cost centre Agentic loop
02 — Model routing

Four models, one job each

Your default is set globally in ~/.claude/settings.json. Everything else is per-session or per-subagent.

Fable 5 default 1M context

Currently the machine-wide default. The [1m] suffix opts into the million-token window, which is why whole manuscripts and long audits fit in one pass.

claude-fable-5[1m]

Opus 5 planning

Architecture, plans, and any judgement call that is expensive to get wrong. Slowest and priciest, so it earns its place on decisions rather than execution.

claude-opus-5

Sonnet 5 execution

The workhorse. Once Opus has decided what to build, Sonnet builds it at a fraction of the cost.

claude-sonnet-5

Haiku 4.5 fast lane

Cheap, quick classification and lookups. Good for the mechanical passes inside a larger job.

claude-haiku-4-5-20251001

Groq · Gemini · Codestral not on this Mac

Your Windows box ran a multi-model MCP server exposing free Groq, Gemini, and Codestral endpoints for research-grade work. That server did not migrate.

Routing policy manual

The Opus-plans/Sonnet-executes split is a habit, not a rule. Nothing in config enforces it, so every session starts on the global default until you switch by hand.

03 — Skills

114 skills reachable. That is the problem.

Seventeen personal skills plus ninety-seven from five enabled plugin packs. Skills load on demand, but their descriptions are injected on every single turn, before you type anything.

Source In listing Tokens / turn
marketing-skills498,617
claude-seo252,651
personal171,575
taste-skill131,125
impeccable + watch2307
Total10614,277

114 SKILL.md files exist; 106 carry a description and so appear in the listing. The other eight cost nothing until invoked.

One pack is 60% of the bill

marketing-skills alone costs ~8,617 tokens every turn, for 49 skills that overlap heavily with claude-seo. Its descriptions are the longest on the machine: six exceed 940 characters.

Duplicate names, undefined winner

Across the caches, seo-page appeared four times and seo-drift four times. When two enabled packs ship the same skill name, which one fires is not something you control.

04 — Tools & MCP

One server live, four waiting on OAuth

MCP servers extend the tool surface past the built-ins. Four of yours are connected accounts that need authorising before their tools appear.

chrome-devtools connected

Full browser control: navigate, snapshot, screenshot, run scripts, trace performance, audit with Lighthouse. This is what read 21st.dev to build this page.

stdio · npx chrome-devtools-mcp@latest

Gmail connected

Search, read, draft, send, label. The one connector already carrying your account.

claude.ai connector

Google Drive needs auth

Worth fixing first. If your manuscripts are backed up to Drive, this is the path that gets them onto this Mac without touching the Windows laptop.

Google Calendar needs auth

Unauthorised. Scheduling and availability tooling stays dark until it is connected.

Apollo.io needs auth

Your prospecting database. On Windows this fed the Tampa cold-call pipeline through a custom wrapper.

multi-model not migrated

A Python MCP server exposing groq_chat, gemini_chat, and codestral_chat. Still on the old machine.

05 — Gates & hooks

Three hooks live, thirty remaining

Hooks are shell commands the harness runs at fixed points. They are how you get deterministic behaviour instead of asking the model to remember. All three below were verified firing, not just written to config.

PreToolUse · Bash
The gate with veto power. Blocks recursive deletes of home or root, piping remote downloads into a shell, Keychain credential deletion, and force-push to main. Strips quoted spans first, so those strings pass freely as data.
live
PostToolUse · Write|Edit
Validates any JSON file after it is written. A malformed settings file does not error, it silently disables every setting in it — including the gate above. This makes that loud.
live
SessionStart
Injects a live brief into every new session: skill counts, enabled plugins, and the exact Keychain command for Cloudflare deploys. Read fresh from disk each time, so it cannot go stale.
live
Stop · SubagentStop
Fires when a response finishes. Commit, deploy, or announce completion.
available
PreCompact · PostCompact
Fires around context summarisation. Persist anything that must survive the squeeze.
available

31 permission rules

Thirty allow rules cover read-only inspection, git status/log/diff, and read-only wrangler. Deliberately excluded: wrangler pages deploy, because it is outward-facing, and security find-generic-password, because reading a secret should stay a conscious act. One deny rule blocks Keychain deletion outright.

The gate caught its author twice

While being installed, it blocked two of its own build commands — both false positives, where the dangerous string appeared as quoted data rather than as an invocation. Fixed by stripping quoted spans before matching. A gate that fires on echo "rm -rf ~" is one you disable within a day.

06 — What is left

Ranked by payoff

01

Rotate the Cloudflare token

It sits in plaintext in a session transcript under ~/.claude/projects/. The token is Pages-scoped and returns 403 on /user/tokens, so it cannot rotate itself — that has to happen in the dashboard. Re-vault with security add-generic-password -U -s cloudflare-pages-token.

02

Decide on marketing-skills

8,617 tokens every turn, on every task, whether or not the work is marketing. Disabling is one line in enabledPlugins and fully reversible. Kept for now by explicit choice.

03

Recover the manuscripts

Six finished books exist as memory entries only — titles, word counts, and build decisions, but not one manuscript file on this machine. Authorising the Google Drive connector is the likely route.

04

Rebuild the KDP toolchain

Typst 0.15 and Pandoc 3.9 drove the book build on Windows. Neither is installed here. brew install typst pandoc restores it.

05

Rotate the older leaked keys

Groq, Apollo, FAL, and HeyGen keys rode across from the Windows backup in cleartext and still sit in restored memory files. GEMINI_API_KEY has been moved to Keychain; these have not.