Resources
Till resources · The agentic close

An agent is a folder structure.

Three prompts and a starter folder for a month-end close an AI can actually run, with a human who owns the period. Download it, open it in Claude Code or Codex, and start with prompt one.

Shared at the Till CFO and Rillet webinar on the agentic close. Free. No email required.

month-end-close/
CLAUDE.md            the agent's operating context
intent-framework.md  freedom levels · materiality
runbooks/            the close, phase by phase
decisions/           append-only judgment trail
data-index/          what already ran · never data
summaries/close/     the signed package per period
prompts/             01 design · 02 optimize · 03 MCPs
Why a folder

Agents make good decisions only when all the context is visible.

AI readiness is not an LLM subscription. It is system design, vendor selection, context management and infrastructure. For the close, that means three planes, kept separate and each in one place. The folder is the first one.

01 · SYSTEM OF CONTEXT

How you work

Process, policies, decisions, glossary. The runbook the agent reads before it touches a number, and the judgment trail that explains why last month's numbers look the way they do.

Lives in: a GitHub repo, or a folder on disk. This download.
02 · CONTROL PLANE

What is open

Work state. Which units are claimed, blocked, done or waiting on a human. Never mirrored into the folder, so there is one truth about status.

Lives in: Linear, Jira, Asana. One project per period.
03 · SYSTEMS OF RECORD

The numbers

Ledger, bank, spend, payroll, billing. Read at query time through an MCP server, an API or an export. A number written into the folder is a dated snapshot, never the authority.

Lives in: Rillet, Ramp, your bank, your payroll provider.
36hrs→7hrs

Agent runtime for Till's own close, June through September 2026, once the context, the control plane and the systems of record were each in one place and the close discipline held.

Per Till CFO's internal close runs. The folder structure below is the one those runs use.
The prompts

Three prompts. Run them in order, from the root of the folder.

Each one reads the folder first, interviews you for what it cannot know, and writes its output back into the folder. The agent prepares and drafts. It never posts, pays or sends without you.

01

Design my month-end close

Run first. It designs the close on best practices for your company and writes the starting SOPs.

You are helping me design a month-end close for my company, built on best practices and written so an agent can run it with a human owner. Read CLAUDE.md, CONTEXT.md, intent-framework.md, docs/systems-of-record.md and runbooks/month-end-close.md first.

Then interview me, one topic at a time, until you can fill every <placeholder> in those files:

1. The entity, the revenue model, and how customers are billed and paid.
2. The systems of record for ledger, bank, spend, payroll, billing and CRM, and who owns access to each.
3. The team: who owns the close, who operates it, who reviews it.
4. Today's close: how long it takes, what breaks, what is manual, what the reviewer complains about.
5. The policies that exist in writing, and the ones that exist only in someone's head.

When you have enough, produce:

- runbooks/month-end-close.md rewritten for my company: every phase with owner, inputs by system and report, outputs, checks, and a cutoff calendar.
- One starting SOP per phase in runbooks/sops/, with each step's freedom level.
- A proposed decisions/materiality-decisions.md with thresholds and the rationale for each.
- CONTEXT.md with my systems in plain words and my glossary.
- A list of everything you could not determine, phrased as the exact question I need to answer.

Rules: do not invent accounts, balances or approvals. Mark every assumption. Never propose that the agent post, pay or send anything; propose what it prepares and what the human signs.
02

Optimize my close based on the last run

Run after every close. It reads the run record and proposes what to change, with the hours it should save.

Read the last close: data-index/close-runs/<run-id>/run.json and units.json, and the package in summaries/close/<YYYY-MM>/. Read runbooks/month-end-close.md, the SOPs, intent-framework.md and decisions/.

Find, with evidence from the run record:

1. The units that took the most time, and why.
2. The units that waited on a human, what they waited for, and whether the answer was the same as last time.
3. The units that were reworked, and the source of the rework.
4. The steps that were done by hand but are deterministic enough to become a script or a check.
5. The checks that never fail, and the checks that were never run.

Then propose changes, each as: the file to change, the exact edit, the evidence, and the hours it should save next period. Separate three kinds of change:

- Runbook and SOP changes (process).
- Skill and agent changes (how the agent works a unit).
- Freedom-level changes: units that earned a move from FL3 to FL2, or that need to move back.

Do not change any accounting treatment. If a treatment should change, write it as a proposed decision record for the owner to accept. Do not touch prior run records.
03

Which MCPs do I need, based on my systems of record

Run before the first close. It turns your systems list into an access plan: what the agent reads, how, and what stays human.

Read docs/systems-of-record.md and runbooks/month-end-close.md.

For every phase and unit in the runbook, list what the agent must read and what, if anything, it must write. Then for every system, determine the best access method, ranked: an official MCP server, then a documented API, then a scheduled export, then the browser. Check whether an MCP server exists for the system and say how you know.

Write docs/mcp-inventory.md with one row per system: what it is needed for, the ranked access methods, read versus write, who owns the credential, and what stays human no matter what.

Rules: do not recommend write access where read is enough. Never put a credential in any file in this folder; say where it should live instead (.mcp.json, gitignored). Flag any system where the only access is the browser, and say what that means for the close calendar.
The folder

The starter structure, built from the one Till uses to run its own close.

Host it in a private GitHub repo or keep it local. Every file is a template with the shape filled in and the facts left for you. Text goes in the folder. Numbers stay in your systems. Secrets stay on your machine.

month-end-close/
├── README.md                    start here
├── CLAUDE.md                    operating context, read by every session
├── AGENTS.md                    same, for Codex and other harnesses
├── CONTEXT.md                   glossary: closed, cutoff, package, unit
├── intent-framework.md          priorities · freedom levels · materiality
├── .gitignore                   secrets, exports and binaries stay out
├── .claude/skills/monthly-close/
│   └── SKILL.md                 how a session runs one unit of the close
├── agents/close/
│   ├── close-foreman.md         owns order, dispatch, the run record
│   ├── close-workstream-worker.md
│   └── close-verifier.md        fresh context, primary evidence, read-only
├── runbooks/
│   ├── month-end-close.md       the human procedure, phases 0 to 7
│   └── sops/                    one SOP per phase, written by prompt 01
├── docs/
│   ├── systems-of-record.md     what is the authority for what
│   ├── mcp-inventory.md         access plan, written by prompt 03
│   └── accounting-policies.md
├── decisions/
│   ├── README.md                append-only, dated, superseded never edited
│   └── materiality-decisions.md
├── data-index/
│   └── close-runs/              one record per run; pointers, never data
├── summaries/close/             <YYYY-MM>/ the package the owner signs
└── prompts/
    ├── 01-design-my-close.md
    ├── 02-optimize-from-last-run.md
    └── 03-which-mcps-do-i-need.md
CLAUDE.md

What the close is for, the three planes and where each lives, what the agent never does. Every session reads it first.

intent-framework

The rules of engagement. Priority order, the three freedom levels, the materiality register, the failure modes to design against.

runbooks/

The procedure a person follows. Phases with owner, inputs, outputs and checks. A unit is one checkbox.

decisions/

Why a number is treated the way it is, dated. A changed treatment is a new record, so the trail survives diligence.

data-index/

What already ran and what already posted. The skill reads it before it writes, so a re-run never double-posts.

summaries/close/

The package per period: statements snapshot, flux, exceptions, sign-off. A signed close is a commit.

month-end-close-starter.zip

42 files, 30 KB of text. No code to install, nothing that phones home.

Download
How to use it

From download to first close.

Unzip and open

Put the folder in a private repo or on disk. Open it at the root in Claude Code, Codex, or any harness that reads CLAUDE.md or AGENTS.md.

Run prompts 01 and 03

Prompt 01 interviews you and writes your runbook and SOPs. Prompt 03 writes the access plan for your systems of record.

Run a close with a human owner

The agent works one unit at a time, records a receipt for each, and escalates anything above its freedom level with the evidence attached.

Run prompt 02

After sign-off, it reads the run and proposes what to change. Trust moves one level at a time, per unit, on validated runs.

What stays human

Autonomy is earned per unit, not granted globally.

The intent framework in the folder gives every unit a freedom level. A unit starts at level three and earns its way down on validated runs. A corrected decision moves it back up and gets a decision record.

FL1

Act autonomously

Reconcile a feed-matched bank line. Draft the flux commentary. Prepare a routine accrual inside an established pattern.

FL2

Act, then notify

A routine entry below the materiality floor where posting is allowed. A new vendor coded to an existing category. Recorded in the run.

FL3

Ask before acting

Any new treatment. Anything above the floor. Every payment, every period lock, every message to anyone, every new system access.

AI amplifies human judgment. It doesn't replace it.

Start a conversation.

Learn more about how Till can help you build a modern finance function.

Email Tim Peters tpeters@tillcfo.com · Till CFO