A portable, self-contained agent architecture for a Financial Analyst specializing in month-end close and account reconciliation. Built for Claude (Cowork mode / Claude Code) with dynamic memory, a heartbeat check-in system, and domain-specific skills.
Financial Analyst/
├── CLAUDE.md # Agent instructions (startup routine, principles, capabilities)
├── README.md # This file — template documentation
├── soul.md # Agent persona, principles, judgment framework
├── MEMORY.md # Dynamic knowledge — Voice, Process, People, Projects, Output, Tools
│
├── context/ # Foundation knowledge (read at startup)
│ ├── role.md # Who the agent is, who it reports to
│ ├── close-process.md # Month-end close sequence and methodology
│ ├── reconciliation.md # Account reconciliation framework
│ └── accounting-standards.md # GAAP quick reference
│
├── heartbeat/ # Periodic check-in system
│ ├── heartbeat.md # Check-in routine and status report format
│ └── logs/ # (Created at runtime) Daily heartbeat logs
│
└── skills/ # Custom domain skills
├── reconciliation/
│ └── SKILL.md # Account reconciliation skill
└── close-management/
└── SKILL.md # Month-end close tracking skill
Every session begins by reading three things in order:
context/*— domain knowledge foundationMEMORY.md— learned preferences and active project statesoul.md— persona and judgment framework
The agent maintains a living document (MEMORY.md) with six sections that map to different types of learned knowledge:
| Section | Purpose |
|---|---|
| Voice | Tone and communication corrections |
| Process | How the user wants tasks executed |
| People | Who's who, roles, relationships |
| Projects | Active work, status, deadlines |
| Output | File naming, format, delivery preferences |
| Tools | Which tools to use and how |
Memory is updated in place — outdated info is replaced, not appended. The file always reflects current state.
A structured check-in that runs at session start and on demand. It:
- Confirms the active project/task
- Checks calendar position relative to the close cycle
- Scans memory for relevant context
- Flags stale information
- Delivers a concise status report
Can optionally be scheduled as an automated task for daily check-ins.
Defines the agent's personality, principles, and judgment framework. Key principles:
- Numbers must tie (accuracy is non-negotiable)
- Judgment, not just calculation (interpret, don't just compute)
- Materiality guides attention (focus where it matters)
- Transparency over completeness (call out gaps)
- Learn and don't repeat (memory updates on correction)
Domain-specific instruction sets for recurring task types:
- Reconciliation: Step-by-step methodology for any account rec, with standard workpaper format
- Close Management: Close calendar building, checklist generation, status tracking, escalation triggers
- Select this folder as your workspace
- The CLAUDE.md file will be picked up automatically
- Start a conversation — the agent will follow its startup routine
- Place this folder structure in your project directory
- Claude Code reads CLAUDE.md as project instructions
- Reference the context and skills as needed
- context/: Replace with your specific close process, chart of accounts, reconciliation policies
- MEMORY.md: Will populate itself through use — start with the template sections
- soul.md: Adjust persona and principles to match your team's culture
- skills/: Add new skills for your recurring workflows (e.g., intercompany eliminations, lease accounting)
Create a new folder under skills/ (use kebab-case naming) with a SKILL.md file. Per Anthropic's guide, SKILL.md requires YAML frontmatter:
---
name: your-skill-name
description: What it does. Use when user says [specific trigger phrases].
---Then add the body with this structure:
- Trigger (when to use)
- Inputs Required (what to ask for)
- Process (step-by-step methodology)
- Output Format (deliverable spec)
- Quality Checks (verification before delivery)
Optional subdirectories: scripts/ (executable code), references/ (detailed docs), assets/ (templates).
Aim to add 3-5 skills per week as patterns emerge. Skills compound — each one you add means less re-explaining.
This architecture follows domain-driven design thinking:
- Bounded contexts: Each folder is a distinct concern (knowledge, identity, memory, behavior)
- Single source of truth: MEMORY.md is the one place for learned state; context/ is the one place for domain knowledge
- Separation of concerns: Soul defines who, context defines what, skills define how, memory defines what we've learned
- Update in place: No append-only logs for active state — current truth replaces old truth
- Progressive disclosure: YAML frontmatter loads first (lightweight), SKILL.md body loads when relevant, references/ load on demand
This folder structure is designed to be one agent in a larger team. When you're ready to run multiple agents (Financial Analyst, Legal Counsel, M&A Analyst, etc.):
Paperclip (paperclip.ing) is an open-source orchestrator that coordinates agent teams. Each agent gets its own folder structure like this one, and Paperclip provides:
- Org charts: Agents occupy roles with reporting structures
- Heartbeat scheduling: Agents wake on a schedule, check work, act
- Budget enforcement: Monthly token budgets per agent
- Task delegation: Goals flow from company mission → projects → agent tasks
- QA loops: Engineer-to-reviewer patterns prevent compounding errors
The "Memento Man" principle: agents wake up capable but with zero memory. Our heartbeat + memory + soul architecture is exactly the solution — it gives each agent the context it needs to operate effectively from a cold start.
To integrate: each department agent folder becomes a "hired employee" in Paperclip, with its CLAUDE.md as the persona prompt and skills as installed capabilities.