Architecture
Campaign Mode’s design decisions, principles, and project structure.
Design Principles
- User Agency First — You are the protagonist. Every design choice increases your agency. Mode selection, quest shaping, agent invocation — you drive.
- Proactive Elicitation — Agents offer the next step at every phase transition. You never need to remember slash commands — you choose from options. Ending a phase without offering next steps is a bug.
- Context Isolation — NPCs must not share context with party members. The Dragon operates at maximum isolation (success criteria + campaign mode + work product only). The Guardian evaluates each checkpoint independently.
- Complementary, Not Coupled — Six Animals works without Campaign Mode. Campaign Mode’s NPC agents can be invoked standalone but are designed to complement the animal agents.
- Broad Appeal First — The quest framing is engaging but optional. Lead with problems solved, layer in the narrative for those who want it.
- Extensible Archetypes — The animal archetypes are portable across cultures and themes. Campaign Mode supports different characterisations without being locked to any single genre.
Architecture Decision Records
Architectural decisions are documented as ADRs using the WH(Y) format in 2_adrs/. Each ADR captures the context, decision, and reasoning behind key design choices.
| ADR | Title |
|---|---|
| ADR-CM-001 | Campaign Mode Architecture |
| ADR-CM-002 | Quest Agent Decomposition |
| ADR-CM-003 | NPC Context Isolation |
| ADR-CM-004 | Skill-Based Implementation |
| ADR-CM-005 | Campaign Mode Selection |
| ADR-CM-006 | Character Generation |
| ADR-CM-007 | Plugin-Based Distribution |
| ADR-CM-008 | Proactive Elicitation |
| ADR-CM-009 | Quest Entry Commands |
| ADR-CM-010 | Quest State Tracking |
| ADR-CM-011 | Council Feature |
| ADR-CM-012 | Plugin Desktop Compatibility |
| ADR-CM-013 | Plugin Guidelines Parity |
| ADR-CM-014 | Animal Campaign Extensions |
| ADR-CM-015 | Plugin Injection Sandbox Fix |
| ADR-CM-016 | Profile Packs |
| ADR-CM-017 | Proactive Party Engagement |
Supporting specifications and reference materials live alongside the ADRs in 3_specs/ and 2_adrs/reference/.
Project Structure
campaign-mode/
├── .campaign/ # Campaign state directory
│ ├── quest.md # Quest definition, criteria, progress log (created Phase 1)
│ ├── council-report.md # Council analysis report (created by /council)
│ └── profiles/ # Character profiles (.md files per animal/NPC)
├── .claude/
│ └── skills/ # Claude Code skill auto-discovery (clone path)
│ ├── gandalf-agent/
│ │ └── SKILL.md
│ ├── dragon-agent/
│ │ └── SKILL.md
│ └── guardian-agent/
│ └── SKILL.md
├── .claude-plugin/
│ └── plugin.json # Plugin manifest (plugin path)
├── extensions/
│ └── animal-campaign-context.md # Animal agent campaign behaviour extensions
├── .github/
│ └── ISSUE_TEMPLATE/ # GitHub issue templates
│ ├── bug-report.md
│ ├── feature-request.md
│ └── profile-submission.md
├── skills/ # Canonical skill definitions
│ ├── gandalf-agent/
│ │ └── SKILL.md
│ ├── dragon-agent/
│ │ └── SKILL.md
│ └── guardian-agent/
│ └── SKILL.md
├── commands/ # Slash commands (plugin path)
│ ├── campaign-setup.md # /campaign-setup command
│ ├── council.md # /council command
│ ├── start-quest.md # /start-quest command
│ └── continue-quest.md # /continue-quest command
├── docs/
│ ├── north-star.md # Vision, architecture, and open questions
│ ├── ARCHITECTURE.md # This file
│ ├── 0_reference/
│ │ └── The-Complete-Guide-to-Building-Skill-for-Claude.pdf
│ ├── 1_initiation/ # Design conversation history
│ │ └── initial-thinking-on-campaign-mode.txt
│ ├── 2_adrs/ # Architecture Decision Records
│ ├── 3_specs/ # Design specifications
│ ├── 4_examples/ # Example content
│ │ ├── council-report.md # Example council diagnostic report
│ │ └── profiles/ # Example character profiles
│ └── 5_roadmap/ # Roadmap documents
├── profile-packs/ # Pre-built profile template sets
│ ├── fantasy/ # D&D-inspired theme (9 profiles)
│ ├── hundred-acre-wood/ # Winnie-the-Pooh theme (9 profiles)
│ └── family-parenting/ # Family & Parenting theme (9 profiles)
├── CHANGELOG.md # Version history
├── CLAUDE.md # Campaign guidelines (loaded per session)
├── CONTRIBUTING.md # Contribution guidelines
└── README.md
Alternative Installation Methods
The recommended installation is via the Claude Code plugin marketplace (see README). These alternatives are available for contributors and advanced users.
Clone the repo
git clone https://github.com/cgbarlow/campaign-mode.git
cd campaign-mode
# Skills auto-discovered via .claude/skills/
# CLAUDE.md guidelines loaded per session
Copy to your project
cp -r campaign-mode/.claude/skills/ your-project/.claude/skills/
cp campaign-mode/CLAUDE.md your-project/CLAUDE.md
Personal skills (all projects)
cp -r campaign-mode/.claude/skills/ ~/.claude/skills/
Note: Personal skills do not include CLAUDE.md or commands. Use a plugin install for the full experience.