โ† jcl.help

Multi-Agent Architecture

I run a personal AI system with four agents and an autonomous build harness across a Mac, a cloud VPS, and a local GPU server. They deploy websites, build software, run scheduled operations, and manage a shared knowledge base โ€” all from my phone. This page documents the patterns, not the passwords.

On this page

The crew

Four agents and one build harness, spread across a Mac, a cloud VPS, and a local GPU rig. Different models, different jobs, different cost profiles. Not every question needs Opus.

๐ŸŒŠEitan โ€” The captain

GLM 5.1 Cloud through Ollama on OpenClaw. The primary agent I reach for everything. Orchestrates specs, deploys, strategy, and all conversations with me. Has SSH to the VPS for production deploys. Dispatches builds to the Wright harness. Reachable via Telegram and Apple Watch action button.

GLM 5.1 CloudOllamaOpenClawTelegramjMac
๐Ÿ“กHarbinger โ€” The cloud backup (phasing out)

Claude Opus on OpenClaw, running on a cloud VPS. Previously powered by unlimited Claude access through Ampere.sh โ€” that arrangement is ending, so Harbinger is being wound down. Still active and handling workhorse tasks while credits last, then will be sunset. Cloud failover will be revisited when the right pricing model exists.

Claude OpusOpenClawCloud VPSPhasing Out
๐ŸงญAtlas โ€” The custodian

GLM 5.1 Cloud through Ollama. Maintains the Tillerman Brain โ€” triaging the inbox, merging duplicates, updating stale entities, and enforcing naming conventions across the knowledge graph. Runs autonomously on a cron schedule.

GLM 5.1 CloudOllamaHermes AgentCron-drivenjMac
๐Ÿ“šArchivist โ€” The scout

Claude Haiku on OpenClaw. Runs once daily at 7 AM โ€” sweeps GitHub, X/Twitter, and curated sources for new content. When I send a URL or content I want to remember, Archivist ingests it, extracts the relevant information, and files it into the Brain with proper frontmatter and wikilinks. Every inbound piece of content passes through a StegGuard protocol โ€” a prompt injection scanner that catches hidden instructions or adversarial payloads before anything enters the knowledge graph. Cheapest model, runs on a tight schedule. The coverage is what matters, not the frequency.

Claude HaikuOpenClawStegGuardCron Daily 7 AMjMac
๐Ÿ”จWright โ€” The build harness

Not an agent. Wright watches an inbox directory for spec files, then runs Kiro autonomously: spec review, build, QA, fix loops. Eitan writes the spec, Wright builds it, Eitan deploys the result. Kiro replaced Claude Code as the primary build engine โ€” we have free access for a year through AWS. All Claude Code skills, MCP integrations, and hooks transferred cleanly to Kiro's native steering files and MCP support.

KiroWright PipelineFree Year (AWS)6 slots

How they coordinate

Jared (phone / watch) โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ–ผ โ–ผ Eitan ๐ŸŒŠ Harbinger ๐Ÿ“ก (GLM 5.1 ยท Ollama) (Opus ยท OpenClaw) jMac โ€” primary Cloud VPS โ€” winding down โ”Œโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ–ผ โ–ผ Wright ๐Ÿ”จ deploy โ†’ VPS (Kiro) build / review / QA Atlas ๐Ÿงญ Archivist ๐Ÿ“š (GLM 5.1 ยท Ollama) (Haiku ยท OpenClaw) Brain cleanup + triage content ingestion daily 7 AM GitHub, X, URL filing StegGuard sanitization โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ–ผ Tillerman Brain ๐Ÿ“‚ 340+ Markdown files ยท YAML ยท [[wikilinks]] shared by all agents
The pattern: Eitan is the primary agent I talk to directly. Eitan dispatches builds to Wright and deploys the results. Atlas and Archivist run autonomously on cron schedules โ€” Archivist discovers and ingests new content, Atlas cleans up and maintains what's already there. Harbinger is still active but being wound down as its unlimited-Claude arrangement with Ampere.sh ends. All agents read and write the same Markdown knowledge graph. When real-time coordination is required, they use session messaging through OpenClaw's gateway.

Architecture patterns

These are the patterns that survived contact with reality.

1
Model-cost routing

Match the model to the task. Haiku for discovery sweeps and classification. GLM 5.1 Cloud (via Ollama) for primary agent work and Brain maintenance โ€” fast, capable, and cost-effective. Opus for the highest-stakes reasoning. Most agent frameworks default to the most expensive model for everything โ€” that's how costs blow up.

2
Multi-layer resilience

Multiple layers of redundancy: OpenClaw on jMac (Eitan and Archivist), Hermes Agent on jMac (Atlas), and OpenClaw on a cloud VPS (Harbinger, being wound down). Ollama provides local model inference โ€” GLM 5.1 Cloud runs through it as the primary model, with local models as fallback if the API goes down entirely. The system degrades instead of dying.

3
Skill-based extension

Instead of monolithic agents, extend them with skills โ€” self-contained instruction files that load on demand when context matches. A skill for SEO audits. A skill for PDF editing. A skill for research. Agents stay lean; capabilities grow without bloating the base prompt. ClawHub is the registry.

4
Shared Brain

All agents read and write the same Markdown knowledge graph. No database, no JSONL entity graphs, no manual HOT/WARM/COLD bucket management. The Brain is 340+ Markdown files with YAML frontmatter and [[wikilinks]] โ€” Archivist feeds it, Atlas cleans it, Eitan uses it. OpenClaw indexes all of it with vector embeddings and full-text search under the hood, so semantic recall is fast without any schema to maintain. Working memory (active tasks, protocols, live context) lives in a separate fast-access layer.

5
Phone-first interface

Every agent is reachable via Telegram. No dashboards, no SSH for daily ops. Deploy a site, kick off a build, check server status โ€” all from the phone. An action button relay lets me trigger Eitan from my Apple Watch with voice. The cockpit is the phone.

6
Ethics as architecture

Each agent has a soul file โ€” a document defining its ethical ground, what it will and won't do, and how it handles edge cases. Derived from the Guardian framework (Forrest Landry's Immanent Metaphysics). Symmetry ethics: say the same thing regardless of audience. Continuity ethics: behave the same regardless of who's watching. Not decoration โ€” it's what prevents autonomous agents from drifting.

7
Cron-driven operations

Agents run scheduled jobs without being asked. Archivist sweeps GitHub, X/Twitter, and curated sources for new content once daily at 7 AM, sanitizes it through StegGuard, and files it into the Brain. Atlas triages the Brain on a regular schedule โ€” merging duplicates, archiving stale entries, enforcing structure. This isn't a human checking in and saying "go do this" โ€” the agents maintain the knowledge base autonomously. I review the results, not the process.

8
Ingestion security

Every piece of external content passes through a StegGuard protocol before entering the Brain. StegGuard is a prompt injection scanner that catches hidden instructions, adversarial payloads, and steganographic attacks embedded in URLs, markdown, and scraped content. When you let autonomous agents ingest content from the open web, the attack surface is enormous โ€” StegGuard is the immune system.

Skill system

Skills are SKILL.md files that load on demand when the agent detects a matching context. Currently running 20+ skills across agents. Here's what's actually installed:

Research & content
  • deep-research-pro Multi-source research with citations
  • last30days Reddit, X, YouTube, HN, Polymarket
  • humanizer Remove AI patterns from public copy
  • youtube-watcher Video transcript extraction
  • scrapling Anti-bot web scraping
  • markdown-converter Any doc format โ†’ Markdown
SEO & visibility
  • geo-seo-optimizer AI search citability audits
  • seo Site audits, keyword research, technical fixes
  • soul-audit Evaluate agent ethics against Guardian v0.7
  • clawscan Security scanner for third-party skills
Knowledge & memory
  • ontology Entity relationships and typed lookups
  • self-improving Capture learnings across sessions
  • im-framework Immanent Metaphysics reasoning
Dev & tools
  • coding-agent Delegate builds to Kiro
  • github-cli PRs, issues, CI, API queries
  • nano-pdf Natural language PDF editing
  • nano-banana-pro Image generation (Gemini)
  • model-usage Per-model cost tracking

Build arsenal (Kiro)

Kiro is Amazon's spec-driven AI coding IDE โ€” a VS Code fork with native MCP support, Agent Hooks, and Steering Files. The Wright harness runs it with 81 skills, 38 security plugins, 54 design references, and 24 hooks. Not a vanilla coding agent โ€” a fully armed build environment. All Claude Code skills and MCP integrations transferred cleanly.

๐ŸŽฏThe setup

Kiro with full filesystem access, MCP servers for workflow automation (n8n) and live library docs (Context7). Spec-driven workflow: Eitan writes the spec, Kiro generates structured requirements, plans tasks, and implements sequentially with human checkpoints. Desktop observability via claude-devtools. Steering Files replace CLAUDE.md; Agent Hooks replace Claude Code hooks.

Kiro81 Skills38 Security Plugins24 Hooks
๐ŸŽจ Design system

UI UX Pro Max โ€” 161 reasoning rules, 67 UI styles, 96 color palettes, 57 font pairings, 13 tech stacks. Plus 54 extracted DESIGN.md files from production sites (Linear, Stripe, Vercel, Supabase, Notion, Figma, etc.). Say "build it like Linear" and it reads the actual design system.

๐Ÿ”’ Security (Trail of Bits)

38 professional security plugins. Static analysis (CodeQL + Semgrep), variant analysis, supply chain risk auditing, insecure defaults detection, mutation testing, property-based testing, and custom rule authoring. From an actual security firm.

๐Ÿ“ˆ GEO/SEO suite

15 skills covering AI search visibility โ€” citability scoring, AI crawler analysis, schema markup, llms.txt generation, platform-specific optimization, competitive analysis, and auto-generated client proposals with PDF export.

๐Ÿ“ฃ Marketing ops

11 skills from Single Brain โ€” growth experiments with real statistics, cold outbound optimization, CRO audits, podcast-to-content multiplication, revenue intelligence, and value-based pricing frameworks.

โš™๏ธ Engineering

Language-specific patterns for Python, Rust, Go, Kotlin, Java, C++, Perl, Laravel, Django, and Spring Boot. TDD workflows, e2e testing, database migrations, API design, and MCP server development patterns.

๐Ÿช Hooks & quality gates

24 hooks across 7 lifecycle phases. Auto-format on edit, security scanning, PR alerts, build-complete notifications, quality gates, cost tracking, and strategic compaction. The Everything Claude Code (ECC) plugin ties it together with session-level evaluation.

How specs work: Eitan writes the spec referencing specific skills ("use tdd-workflow + frontend-patterns + ui-ux-pro-max, match the Linear design system, include geo-citability for web content"). The spec drops into the Wright inbox. Wright picks it up and hands it to Kiro โ€” which generates structured requirements, plans a dependency-ordered task sequence, and implements each task with automated quality gates. Context7 MCP pulls live library docs, Trail of Bits plugins activate for security-sensitive builds, ECC hooks enforce session-level evaluation. Eitan deploys the result.

The Tillerman Brain

The hardest problem in long-running agents is memory. Tiered HOT/WARM/COLD systems, JSONL entity graphs, Google Drive wikis โ€” I tried all of them. What actually works is the simplest thing: a shared folder of Markdown files.

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ Tillerman Brain โ”‚ โ”‚ 340+ Markdown files ยท YAML frontmatter โ”‚ โ”‚ [[wikilinks]] between files โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”โ”Œโ”€โ”€โ–ผโ”€โ”€โ”€โ”โ”Œโ”€โ–ผโ”€โ”€โ”€โ”€โ”โ”Œโ–ผโ”€โ”€โ”€โ”€โ”โ”Œโ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚people/ โ”‚โ”‚infra/โ”‚โ”‚tools/โ”‚โ”‚co's โ”‚โ”‚concepts/ โ”‚ โ”‚ 35 โ”‚โ”‚ 8 โ”‚โ”‚ 29 โ”‚โ”‚ 8 โ”‚โ”‚ 6 โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ””โ”€โ”€โ”€โ”€โ”€โ”˜โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”โ”Œโ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”โ”Œโ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚projectsโ”‚โ”‚decisionsโ”‚โ”‚playbooks โ”‚ โ”‚ 45 โ”‚โ”‚ 5 โ”‚โ”‚ 13 โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”โ”Œโ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ inbox/ โ”‚โ”‚ sessions/โ”‚ โ”‚ archive/ โ”‚ โ”‚ triage โ”‚โ”‚ logs โ”‚ โ”‚ completed โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ Archivist ingests โ†’ Atlas cleans โ†’ Eitan + Harbinger use
The split: projects/ holds things I'm building. tools/ holds third-party software Archivist discovers. concepts/ holds theological and philosophical ideas. properties/ holds real estate. The Archivist ingests from GitHub, X, and URLs I send it โ€” every piece passes through StegGuard before filing. Atlas periodically cleans up: merging duplicates, archiving stale entries, enforcing naming conventions. Clear separation of ingest and maintenance.
Why Markdown? Every agent can read and write plain files. No schema migrations, no sync conflicts. YAML frontmatter gives structure (tags, dates, status). Wikilinks give relationships. OpenClaw indexes the whole Brain with vector embeddings and FTS โ€” so agents get semantic search without any database to maintain. Working memory (active tasks, protocols, live context) lives in a faster-access layer that changes constantly. The Brain itself is the persistent layer.

The stack

Open source where it matters. Managed services where the cost-benefit makes sense. Distributed across a Mac, a cloud VPS, and a GPU server.

Core infrastructure
AI models & services
Knowledge layer
Ethics & philosophy

Design principles

Own the compute. Data lives on machines I control. Cloud is for capability and redundancy, not custody.

Static first. Every website is HTML files served by Caddy. No frameworks unless the task demands it.

Right model, right cost. Haiku for discovery. Sonnet for research. Opus for hard problems. Cost discipline is architecture.

Agents do the work. I steer. They build, deploy, research, and maintain the knowledge base. My job is direction and decisions.

Phone is the cockpit. Everything is reachable from Telegram. Deploy a website, start a build, check a server โ€” from anywhere.

Degrade, don't fail. Three frameworks, local GPU models, mesh VPN, cloud backup. If one thing goes down, the system gets slower, not dead.

Let crons do the boring work. Discovery, ingestion, triage, morning briefs โ€” all automated. I review outputs, not processes.

Sanitize everything. StegGuard scans all external content before it enters the Brain. Autonomous ingestion without security is an open door.

Ethics are structural. Every agent has a soul file. Not because AI needs morality, but because autonomous systems need constraints that don't drift.

Want to build something like this? Start with OpenClaw and one agent on Telegram. Get it doing real work before adding complexity. The second agent should solve a problem the first one can't โ€” like running on a different framework for resilience, or handling high-frequency cron jobs on a cheap model. The Tillerman Brain pattern (shared Markdown folder) works from day one and scales further than you'd expect.