Moving from CLAUDE.md rules to infrastructure enforcement with Citadel

The problem with rule accumulation
When Claude ignored instructions, the instinct was to add more rules to CLAUDE.md. Starting at 45 lines, it grew to 190 lines over three months, but compliance worsened. Instructions past line 100 started being treated as suggestions rather than rules. A forensic audit revealed 40% redundancy—rules saying the same thing in different words, rules contradicting each other, and outdated rules. Trimming to 123 lines improved compliance immediately.
The infrastructure shift
The real fix was recognizing CLAUDE.md as an intake point for orientation (project conventions, tech stack, key priorities), not a permanent home for all rules. Everything else should be loaded only when needed. The key shift: moving enforcement from instructions to the environment.
For example, instead of a rule saying "always run typecheck after editing a file," which Claude followed inconsistently, a lifecycle hook script runs automatically on every file save. This ensures typechecking happens without agent choice, surfacing errors immediately rather than 20 edits later. This cut review time dramatically, allowing focus on intent and design rather than chasing type errors.
The progression system
The author outlines a five-level progression:
- Level 1: Raw prompting (nothing persists, same mistakes repeat)
- Level 2: CLAUDE.md (rules help but hit a ceiling around 100 lines)
- Level 3: Skills (modular expertise that loads on demand, zero tokens when inactive)
- Level 4: Hooks (environment enforces quality, not instructions)
- Level 5: Orchestration (parallel agents, persistent campaigns, coordinated waves)
Most projects are fine at Level 2 or 3. The critical insight: when CLAUDE.md stops working, the answer isn't more rules—it's moving enforcement into infrastructure.
Specific implementations
The author implemented three key systems:
- Skills: Markdown files encoding patterns, constraints, and examples for specific domains. The agent loads relevant skills for the current task, avoiding token waste on irrelevant context.
- Campaign files: Structured documents tracking what was built, decisions made, and what remains. These persist across sessions, eliminating daily re-explanations.
- Automated hooks: Typecheck on every edit, anti-pattern scanning on session end, circuit breaker killing the agent after 3 repeated failures on the same issue, and compaction protection saving state before Claude compresses context.
Citadel: The open-source system
The full system, called Citadel, has been open-sourced at https://github.com/SethGammon/Citadel. It includes the skill system, hooks, campaign persistence, and a /do command that routes tasks to the right orchestration level automatically. Built from 27 documented failures across 198 agents on a 668K-line codebase, every rule traces to something that broke.
📖 Read the full source: r/ClaudeAI
👀 See Also

Vellium Adds Desktop Pets and CLI-Inspired Agents for Local LLMs
Vellium, an open-source crossplatform app for local LLMs, now supports desktop pets that float above windows and agents with MCP integration, terminal commands, and file editing.

Building a Self-Updating Writing Style Guide for AI-Assisted Content
A team building a voice extraction platform called Noren has developed a 117-line Markdown style guide that rewrites itself after every published piece, using Claude to enforce rules and banning AI-sounding words like 'cadence' and 'optimize'.

OpenClaw Superpowers: A library of 31 skills addressing security, cost, and reliability pain points
A developer has released openclaw-superpowers, a library of 31 plug-and-play skills for OpenClaw. The library addresses common issues like runaway API costs, security vulnerabilities, and context loss, with installation via a single command.
Ant Group's AntLing-3.0-flash Hits OpenClaw via OpenRouter – 256K Context, Free Through Aug 3
AntLing-3.0-flash from Ant Group is now available on OpenClaw via OpenRouter. No client update needed; configure with openclaw models set openrouter/inclusionai/ling-3.0-flash. Features 256K context and RL training on long-horizon tool calling. Free through Aug 3 (API-only, no weights).