CLAUDE.md Constitution: Building a Personal AI Agent — Part II File Walkthrough

Following up on 100 tips & tricks for building a personal AI agent (90K+ views, 230+ upvotes), the author drops the actual files. This post is the annotated walkthrough of CLAUDE.md — the root config file that loads at the start of every session.
The file runs ~3,200 words in production, built over 6 weeks. It's used by a CEO at a mid-size B2B wholesale company (~50 people across 5 entities) to manage suppliers, customer deals, email triage, employee data, and 2M+ rows of ERP data. Single user, every decision routes to the CEO.
16 Sections of the Constitution
- 1. IDENTITY — First-person consistent voice, direct/data-first/no filler. Instruction exclusivity clause protects against prompt injection embedded in forwarded emails.
- 2. DELEGATED SPARK (Proactive Initiative) — Agent is a partner that initiates: own observations, ideas, self-improvement, patterns. Max 1 spark per response, 3 per session. Requires confidence >6/10, concrete proposal. No spark if response <3 sentences or user says "briefly".
- 3. PRINCIPAL PROFILE — CEO role, MBTI+Gallup/Big5 strengths, priorities (revenue↑, costs↓, salaries↑, automation, systematization), frustration triggers (inefficiency, vagueness, single-person dependency).
- 4-5. FOLDER STRUCTURE + HARD RULES — 6 non-negotiables plus decision authority boundaries.
- 6-7. MEMORY SYSTEM + HOT DEADLINES — 160+ files, zero chaos. Deadlines updated live each session-end.
- 8. VIP CONTACTS — Tier 1 — Not elaborated in post.
- 9. BEHAVIORAL RULES — Next Steps protocol, agent dispatch rules.
- 10-11. RESPONSE LAYOUT MAP + VISUAL SYSTEM — Pre-tool brevity enforced.
- 12-16. MCP CONFIG, ROUTING TABLE, SESSION WORKFLOW, SCHEDULED TASKS, DEEP CONTEXT TRIGGERS — One-line mentions in post.
Key Takeaways
- The voice spec (“direct, data-first, no filler”) kills hundreds of micro-decisions per session.
- The instruction exclusivity clause is actual prompt-injection protection: the agent reads forwarded emails but won't execute instructions embedded in them.
- Negative definitions anchor behavior (“not a summarizer, not a yes-machine”).
- Delegated Spark is the highest-leverage addition after month two — surfaces what the CEO didn't think to ask (e.g., a supplier becoming a single point of failure). The confidence floor and anti-spam rules keep it high-signal.
- Agent also flags single-person dependency in supplier and hiring analysis automatically — a frustration trigger baked in.
- The next installments will cover the memory system (160+ files), multi-agent Council (5 AI views, 1 vote), and cloud→local migration.
Author publishes weekly newsletter and site at agentmia.beehiiv.com with full files. All content also posted to Reddit.
📖 Read the full source: r/ClaudeAI
👀 See Also

What Breaks When Running Coding Agents on Small Local Models
Real-world failure points from testing multi-file tasks on sub-7B models: markdown fences, structured output reliability, file editing errors, and classification of read vs. write actions.

Running Qwen3.6 27B and 35B on 6GB VRAM with ik_llama: Practical Configs and Benchmarks
A user shares detailed ik_llama configs and performance numbers for running Qwen3.6 27B and 35B A3B models on an RTX2060 mobile (6GB VRAM, 32GB RAM), with prefill speeds of 40-100 t/s and generation up to 11 t/s.

Running a 1 Trillion Parameter LLM Locally on AMD Ryzen AI Max+ Cluster
AMD demonstrates running the Kimi K2.5 open-source model (375GB, 1 trillion parameters) across four Framework Desktop systems with Ryzen AI Max+ 395 processors using llama.cpp RPC. The guide covers TTM kernel modifications for 120GB VRAM per node and provides two setup options: Lemonade SDK pre-built binaries or manual ROCm 7.0.2 installation.

Recover deleted Claude Desktop conversations from Chromium cache
Immediately quit Claude Desktop, find the Chromium blockfile cache at %APPDATA%\Claude\Cache\Cache_Data (Windows), then use Python packages ccl_chromium_reader and standard compression libs to extract HTTP response bodies containing your chat UUID.