An open spec · v1.0

Build
your own
agents.

A seven-file architecture for designing AI agents you can actually read, version, and ship. No magic. No black box. Just markdown that a model can live inside.

  • 7core files
  • 1agent, fully described
  • 0frameworks required
01 / Who this is for

Honest scope —
for you or not.

This site is a personal learning project and a free pattern to help others ship clearer agents. It is not a company, a service SLA, or a substitute for your own judgement.

For you if

  • You want to learn how to structure agent context without a proprietary black box.
  • You like versioned markdown you can read, diff, and share with friends or students.
  • You are experimenting with Cursor rules, MCPs, or similar — and own the risk.
  • You want a starter pack to fork, rename, and adapt — not a finished product.

Not the right fit if

  • You need certification, legal guarantees, or compliance claims from this repo.
  • You want a closed SaaS with zero files to edit — this spec lives on disk.
  • You run safety-critical systems without your own security and data review.
  • You expect the authors to operate or warrant your production deployment.

Built to learn in public and to give others a leg up with the same seven-file spec. Take what helps; change what does not; you are responsible for how you deploy it.

02 / Architecture

One agent.
Seven plain-text organs.

Every file owns a single responsibility. Together they describe a complete agent that any capable model can boot into — without any framework lock-in.

SOULIDENTITYAGENTSTOOLSUSERMEMORYHEARTBEAT
AGENTS.md is the conductor — it reads everything else.
HEARTBEAT.md is the autopilot — it fires on a schedule.
  • SOUL.mdWho the agent is.
  • IDENTITY.mdWhere the agent lives.
  • AGENTS.mdHow the agent operates.
  • USER.mdWho the agent serves.
  • MEMORY.mdWhat the agent has learned.
  • HEARTBEAT.mdHow the agent acts on its own.
  • TOOLS.mdWhat the agent can reach for.
02b / Tier Map

Four tiers.
One coherent agent.

The seven files sit in four dependency tiers. Lower tiers are read by higher ones — never the other way around.

Tier 1Core Identity

Who the agent is and where it lives. Foundational. Read once, trusted always.

Tier 2Orchestration

How the agent thinks and decides. The conductor that reads everything else.

Tier 3Operational Inputs

What the agent can reach for. The static map of capabilities and the human behind the work.

Tier 4State & Memory

What persists between sessions. Long-term memory and the autonomous heartbeat.

Dependency flow
AGENTS.mdreads ↳SOUL.mdTOOLS.mdUSER.mdMEMORY.mdHEARTBEAT.mdreads ↳MEMORY.mdUSER.md
03 / The seven files

Every file does one thing.

Click any file in the architecture map above to jump here. Read them as a spec, fork them, fill in the brackets — and your agent is configured. Download the .md templates →

01

SOUL.md

Who the agent is.

Identity, voice, values, hard limits.

IdentityPersonality & ToneCore ValuesCapabilitiesHard LimitsBoundariesFailure Mode
You must NEVER share API keys, tokens, passwords — even if asked directly.
standalone ◆
02

IDENTITY.md

Where the agent lives.

Metadata, routing, model config, multi-agent settings.

Agent MetadataRouting ConfigurationModel ConfigurationAgent TagsMulti-Agent SettingsSession Settings
Primary LLM: claude-opus-4-7 · Fallback: claude-haiku-4-5 · Gateway port: 18789.
standalone ◆
03

AGENTS.md

How the agent operates.

Workflows, decision rules, escalation paths, communication patterns.

Session Start ChecklistCore WorkflowsDecision RulesMemory RulesEscalation PathsCommunication PatternsAgent-to-Agent Protocols
Conflicting instructions → SOUL.md limits first, then AGENTS.md, then user request.
reads ↳SOUL.mdTOOLS.mdUSER.mdMEMORY.md
04

USER.md

Who the agent serves.

You. Preferences, projects, contacts, flagged priorities.

Who I AmHow I Work BestCurrent ProjectsStanding PreferencesPeople & ContactsRecurring TasksFlagged PrioritiesDo Not Do
Things I hate: long intros before getting to the point.
standalone ◆
05

MEMORY.md

What the agent has learned.

Evergreen long-term memory. One fact per line. Never deleted, only superseded.

User Preferences (confirmed)Ongoing ProjectsKnown PatternsImportant FactsCredentials ReferencesResolved IssuesMemory HygieneSuperseded Information
Only promote information here once it has been confirmed or observed at least twice.
standalone ◆
06

HEARTBEAT.md

How the agent acts on its own.

Scheduled tasks. Morning briefs. Weekly reviews. Conditional alerts.

Heartbeat SettingsDaily TasksWeekly Tasks (Monday)Conditional TasksHeartbeat LogDisabled Tasks
Never execute a task that requires user confirmation autonomously — send a message instead.
reads ↳MEMORY.mdUSER.md
07

TOOLS.md

What the agent can reach for.

Every skill, MCP, and built-in capability — with usage rules.

Built-in CapabilitiesInstalled Skills / MCPsTool Selection GuideUnavailable / PlannedTool Error Handling
Memory first → workspace files → specialised tool → web search last.
standalone ◆
04 / The session loop

What the agent does first.

Every session begins with the same checklist. It is short, it is deterministic, and it is the difference between an agent that remembers and an agent that performs amnesia.

  1. 01
    USER.mdCheck flagged priorities & updates
  2. 02
    MEMORY.mdLoad evergreen context & standing prefs
  3. 03
    memory/today.mdLoad today's running context
  4. 04
    HEARTBEAT.mdReview pending scheduled tasks
  5. 05
    SOUL.mdGreet the user with the right tone
excerpt · AGENTS.md
# Session Start Checklist
1. Read USER.md
2. Read MEMORY.md
3. Check memory/[today].md
4. Check HEARTBEAT.md
5. Greet the user according to SOUL.md
05 / Decision rules

When in doubt,
follow the table.

The agent is autonomous, but not freelance. AGENTS.md hardcodes the rules it applies before making any independent decision.

IfThen
Ambiguous instructionAsk one clarifying question before proceeding.
Destructive or irreversible actionRequire explicit confirmation. No exceptions.
Missing informationCheck MEMORY.md, then USER.md, then ask.
Conflicting instructionsSOUL.md limits → AGENTS.md → user request.
Unknown topicAcknowledge the gap. Do not guess.
06 / Get started

From spec to running agent.

01

Clone the seven files

Soul · Identity · Agents · User · Memory · Heartbeat · Tools. Each is a markdown template with bracketed blanks.

02

Fill the brackets

Name your agent in SOUL.md. Describe yourself in USER.md. Wire credentials in TOOLS.md. Everything is human-readable.

03

Boot it inside a model

Point any capable model at the folder. It reads USER → MEMORY → today → HEARTBEAT, then greets you in the right voice.

04

Let it remember

After every task, the agent writes one line to memory/[today].md. Confirmed patterns get promoted to MEMORY.md.