Operating Stack26 Aug 2026 · Auckland

Everything Claude
runs for Danny.

Every principle, skill, plugin, sub-agent, connector and hook this machine loads, under a two-tier model: one global operator layer every session inherits, and project layers that defer to it. Every number is probed from the live machine at build time, never typed.

5
AI principles
~120
Skills loadable
5
Plugins enabled
11
Sub-agents
10
MCP in config
2
Scheduled agents

The Constitution

5 slugs · pull, don't inject

Slug-named, one idea each, distilled from AI tools in use. A reference to pull from on demand, never pasted wholesale into a prompt. Source: ~/Projects/dotfiles/docs/AI-Principles.md.

lean-store

A store of rules must obey the discipline it stores

If the store of 'don't bloat' lessons bloats, you've recreated the problem one level up. Models also read plain prose more reliably than custom notation, and decoding shorthand can quietly cost accuracy; token bloat lives mostly in conversation history and tool outputs, not in instruction files, so encoding files denser optimises the wrong variable.
one-job-one-home

Name the job before building a system, and host it somewhere you are keeping

Parallel systems for one job all go stale — maintenance splits N ways so none stays current, and the cost is drift, paid later. A source of truth also outlives the decision to create it, so hosting it on a platform you're leaving guarantees a migration later; deferred, not avoided.
file-by-behaviour

Organise knowledge by how a fact behaves, not by its topic

Topic-filing puts the same fact in several places where copies diverge. Behaviour-filing keeps one source per fact and signals how much to trust each store.
probe-dont-read

Code is the source of truth; docs are a lagging cache

Docs are point-in-time snapshots that go stale the moment reality moves; code is what runs and cannot be out of date. The failure is silent and self-propagating: an unverified claim copied between docs gains apparent corroboration with every copy, so the third reader finds three sources agreeing and no probe behind any of them. Deriving a status doc makes staleness a trigger to rebuild rather than a permanent property.
build-isnt-achieving

Do the move that generates evidence; building is not achieving

The deferral never looks lazy, it looks like diligence ("one more analysis first"). The tell: a document that ends by pointing at the real move instead of being it. Meta-work is safe, infinite and feels productive, while selling and shipping are exposed — and each rebuild resets context freshness to zero. Output volume is also the multiplier on error rate: every extra artifact carries extra claims, and unverified claims are where the cost lands.
Ten entries became five, and the specifics survived

Slugs replaced P0NN, so a citation can be sanity-checked where it sits and a merge needs no tombstone stub. The two concrete instructions were carried verbatim: derive from immutable sources and freeze the system for one full cycle. Seven files cited principles by number, not the four the proposal predicted, and all seven were re-pointed in the same change.

Operator Layer

global CLAUDE.md · inherited every session

The persona and epistemics loaded into every session, across code repos and context vaults alike. Project files defer here for operator-level rules.

Who Danny is

Auckland. The Creators Win (B2C mentorship, 35% profit share), WIN·WIN MEDIA (B2B UGC agency, 50%), and DHC advisory. Each client has its own vault.

How to answer

Shortest answer that is still true. Bullets, no preamble, no recap. Fewest tokens that achieve the goal, then stop. Report a finding; don't build the fix unasked.

How deliverables read

Current state only. No superseded sections, no strike-throughs, no evolution notes. The past lives in git and chat, never in the document.

Three confidence buckets

Every non-trivial claim tagged confident / best guessing / wildly speculating. Don't round up to certainty; the wobble is information.

Output Styles

3 installed · attention-span v0.7

A delivery layer under the operator layer: it governs how Claude talks, not how it codes. Installed from alexgreensh/attention-span, switched with /style. The active style costs roughly 900 input tokens per session, cached after the first request (installed range 580–1820).

Spartan default

Terse, warmth stripped, maximum compression. Arrow markers, bold carries the whole answer, no cushioning.

Attention-kind installed

The flagship. Answer first, plain English, expands only on what would cost you a mistake. Warm where Spartan is blunt.

Rundown installed

Briefing mode. TL;DR, then a status checklist and tagged next moves. Optimises for scannability over brevity, so it works for standups and fights the shortest-answer rule elsewhere.

Overlaps the operator layer on purpose, and only partly

The global CLAUDE.md already mandates short, bullets, no preamble. A style adds what prose rules cannot enforce: a format contract. It reaches the main conversation only, so sub-agents answer in default prose.

Capabilities

9 groups · 95 skills · 10 MCP · 11 agents

What this stack can actually do, grouped by the job rather than by how it is delivered. The marker says what backs each one: S skill, P plugin, M MCP server, A sub-agent, C claude.ai connector. Filter the band to see one kind at a time.

Build & ship websites 13S · 1P · 3A · 1C

Repo standard and docs gates, design and accessibility passes, then a typed Next.js build onto Vercel.

Sapply-standardSdocs-syncSdeploy-to-vercelSfrontend-designStailwind-design-systemSweb-design-guidelinesSaccessibilitySbrand-designSvercel-cli-with-tokensSvercel-composition-patternsSvercel-optimizeSvercel-react-best-practicesSvercel-react-view-transitionsPvercelAai-architectAdeployment-expertAperformance-optimizerCVercel

Cloudflare platform 8S · 6M

DNS and registrar moves, Workers and Durable Objects, KV/D1/R2, email routing, Turnstile. The one surface with both skills and live MCP behind it.

ScloudflareSworkers-best-practicesSwranglerSdurable-objectsSagents-sdkSsandbox-sdkScloudflare-email-serviceSturnstile-spinMcloudflareMcloudflare-docsMcloudflare-bindingsMcloudflare-buildsMcloudflare-observabilityMcloudflare-ar

Context system (ACS) 2S · 1P

Stand up a vault, run the memory cycle, turn meetings, docs and Slack into wikilinked summaries. The plugin half is explicit-invocation only.

Saic-project-setupScontext-cyclePacs-cowork

Payments 1P · 1M · 1A

Connect configuration, billing and tax, key security. Scoped per repo, never global.

PstripeMstripeAcompany-researcher

Evidence & citations 1P · 1M

Verify a claim against real papers, audit whether existing citations say what they are cited for. Metered: one credit per fresh run.

PscitrueMscitrue

Prompt architecture 1P · 1A

Architect layered system prompts, audit against the checklist, adversarial verification, coach a single outgoing prompt.

Pprompt-playbookArepo-verifier

Workspace & comms 1M · 5C

Mail, calendar, files and the Notion studio, plus the WhatsApp surface behind the concierge product.

MwhatsappCGmailCCalendarCDriveCNotionCEcomrads

Content, SEO & growth 3S

Keyword sets, landing-page copy, and finding a skill that already does the job.

Sfind-keywordsSlanding-page-copywriterSfind-skills

Delegation & search 6A

Fan out read-only searches, plan an implementation, answer harness questions. The conclusion returns to the main thread, not the file dumps.

AExploreAPlanAgeneral-purposeAclaude-code-guideAstatusline-setupAclaude
Provenance · 5 plugins enabled, cache is a copy
prompt-playbook
Prompt architecture, audit, adversarial verification, anti-rationalization.
v0.4.1 · 6 skills · 1 agent
acs-cowork
AI Context System for Cowork. Meetings, docs and Slack into wikilinked summaries; the memory cycle.
v0.2.0 · 22 skills
scitrue
Evidence-grounded claim verification (Akosophia). Bundles its own MCP.
v0.1.0 · 4 skills
vercel
Official. Next.js, AI SDK, deployments, functions, storage, caching, firewall.
v0.45.1 · 30 skills · 3 agents
stripe
Official. Connect, billing and tax, key security, docs retrieval.
v0.6.3 · 8 skills · 1 agent
What the band above does not mean. Each line is a limit the counts would otherwise hide.

22 of the 70 plugin skills are explicit-invocation only, so the model never offers them; only you typing the command reaches them.
Connectors are a dated claim, not a probe — last checked 2026-08-20. Slack and VoC Sales are gone from the last session checked.
A second plugin surface exists that this build cannot see: claude.ai keeps its own list, and sessions have loaded ecomrads-studio and cowork-plugin-management skills that appear in no local file.
Authored but not enabled: mohios-orchestrator sits in the marketplace directory and no session loads it.
Built-ins are declared, not probed: ~25 harness skills and 6 sub-agents are not enumerable from disk.

Automation & Memory

hooks · scheduler · persistent memory

The parts that run without you asking, and the parts that only look like they do.

Hooks 5 live

SessionStartsync.sh
Stopstop-gate.mjs
Stopmemory-autopush.sh
Stopstack-drift-hook.sh
UserPromptSubmitstyle-reminder.sh

Persistent memory 37 facts

One fact per file, indexed by MEMORY.md. Recall surfaces relevant facts as background context each session. A Stop hook pushes it to git at the end of every session.

Scheduled agents 2 live

The directory holds 6 tasks. 2 are registered and enabled. 0 are orphans: a SKILL.md on disk that the scheduler has never returned.

Every task directory, classified · registration last checked 2026-08-26 via mcp scheduled-tasks list_scheduled_tasks
gsc-dns-token-check
One-time, fired 2026-08-02.
registered · disabled
gsc-indexing-check-tcw-winwin
One-time, fired 2026-08-09.
registered · disabled
monthly-config-hygiene
Monthly, 1st at 09:00 NZST. Read-only config sweep; reports, changes nothing.
registered · enabled
supabase-us-east-cutover
One-time, fired. Cutover still not executed; needs Danny present.
registered · disabled
sync-tcw-roadmap
Fridays 09:08 NZST. Resyncs tcw.mohios.com from tcw origin/main via tcw-roadmap-site/auto-sync.sh; deploys only on change, byte-verifies the live page.
registered · enabled
tcw-expired-token-refresh-check
One-time, fired 2026-07-24.
registered · disabled
A SKILL.md on disk is not a scheduled job

The scheduler keeps its registry where this build cannot read it, so a task directory can look exactly like a live job while nothing runs it. This page now fails to build if a directory appears that the data file has not classified.

Project Layer

16 repos · 6 context vaults

Each defers to the operator layer and embeds website-build-rules v2, re-synced from one source and never hand-edited. Worktrees fold into their parent. The public ones run as the portfolio at mohios.com: chatbot · dashboard · menu · stack (this page) · tcw roadmap · angelic reiki.

angelic-reikiclient

The portfolio’s double proof, live at angelicreiki.nz. One: Vercel + Resend replace Squarespace and WordPress outright (same pattern the Hostinger Exit case study documents). Two: the website IS the business back office — customer portal, bookings, Stripe payments and packages, CRM, finances and accounting, run through AI on the same stack this page describes.

buy-low-warehouselab · NDA

Mohios code-audit engagement: 45 repos across interview, GTM and product assets.

chat-widgetproduct

Embeddable Mohios chatbot widget, the lead-capture engine behind the sites.

cwc-workshopslearning

Claude-with-code workshops: agent-battle, decomposition, eval-driven dev, rightmodel, and more.

dannyholtschke.comlive

Personal and consulting site, off Hostinger entirely since 2026-08-14: site on Vercel, DNS, mail and registration at Cloudflare. Renders the ported WordPress copy verbatim until the repositioning pass.

dotfilesSSOT

Canonical backup of global Claude config, and the home of this page. The live ~/.claude files symlink in here.

hermesinfra

Desktop and IPC tooling, with a scoped WhatsApp MCP.

jdn19static

Singapore holding-company page. A digital brass nameplate, intentionally nothing to do.

mohios.commarketing

NZ small-biz AI automation site: AI receptionist, WhatsApp concierge, lead-capturing chat.

nich-cycling-nzclient

NICH Cycling NZ marketing and lead-capture site, built for Kevin Cantwell.

paperclipOSS

Open-source orchestration for teams of AI agents. Symlinks skills into the global set.

skillsSSOT

Most of the global skills, the hook scripts, the launchd plist and the website build kit.

tcwtwo brands · 2 worktrees

The Creators Win (b2c mentorship) plus WIN·WIN MEDIA (b2b growth studio): one repo, host-based routing, two apex domains.

tcw-roadmap-sitemirror

Public-but-noindexed mirror of the TCW roadmap at tcw.mohios.com, resynced from tcw origin/main every Friday by a scheduled task.

website-menutool

The Website Menu at menu.mohios.com: 65 website elements with wireframe visuals, business value, live examples and effort tags. The scoping menu for client conversations.

whatsapp-mcpconnector

WhatsApp MCP surface feeding the concierge product.

Context vaults · ~/Documents · each with its own CLAUDE.md
dhcecomradsnichpodwin-winnich-creatives-studio

Case Studies

2 shipped · each one has a vault record

Client-ready records of work this stack shipped, written up in the DHC vault first and published second. The build fails if a vault record named here has moved, so a card can never point at nothing.

The Hostinger Exit 2026-08-14

A consulting site off WordPress and off its host in one working day — website, DNS, email and the domain registration, four vendors, not one. Zero downtime, no URL changed, annual cost USD 95.88 to 10.46. The sellable half is not the HTML: it is the twelve pre-existing faults the record-by-record pass surfaced (two SPF records, so no SPF; no DMARC; an AAAA record that would have left every IPv6 visitor on the old site) and a cutover order that never risks the mailbox and the website in the same operation.

The 60-Second Line 2026-08-22

GitHub Actions billed ~1,800 minutes a month across the org; rebuilt per-run from the API, about a third of it was rounding on jobs that finished in 13 seconds, because billing rounds each job up to a whole minute. Six repos folded to one job each with filtered triggers, and the fault was fixed in the build-kit template so the next site does not re-buy it. Now ~550. Two repos also had a docs gate and no build gate, which is worse than no CI: the green tick reads as "this builds".

What I Noticed

unprompted · 26 Aug 2026

Pushback from the current pass. Replaces the previous set rather than sitting beside it.

01

This page is generated because the hand-written one drifted on six of its six headline numbers.

Every count is probed at build time; the prose file contains no numbers at all. Claims that cannot be probed carry a visible date instead of pretending to be facts.

02

Nine skills stopped being loadable and only the build noticed.

The paperclip skills were unlinked from ~/.claude/skills on 24 Aug; they still sit in the repo, so nothing looked broken. They resolve to a warning, not an error, which is why the page shipped dead chips until this pass.

03

Registration state is the hole that remains.

The build fails on a scheduled-task directory the data file has not classified, which catches the next orphan. It cannot catch a task that gets disabled tomorrow, so a green build is not proof the schedule is what you think.