agentic ai
how we actually use coding agents day to day, and the files to copy
A coding agent will do an hour of real work and remember none of it: close the session and everything it knew about the project goes with it. This is how we run our work through one anyway — the plain text files that carry context across, what the agent reads when a session opens, what it writes when one ends, and the rules we give it. It is for students in our seminar on agentic AI in EEB, people in the lab, and anyone who wants the parts that transfer — and every file described here is in a companion repo you can clone.
Install it, then the optional terminal setup with Ghostty and a project launcher.
The four files that make an agent remember a project, and the hooks that carry the handoff.
Reports, published pages and docs — and picking by how you plan to revise.
CLAUDE.md rules that change what the agent actually does. Copy-pasteable.
the files
Every file these guides describe is in one companion repo, benning-lab/agentic-starter — the templates, the hooks, the launcher and the terminal config. You do not need to know git to use it: the green Code button on that page has a Download ZIP option, which gets you the same files.
Unpack it somewhere it can stay. The hooks run from that folder in place, so moving or deleting it later switches them off. Then:
cd agentic-starter
./install.sh --check # prints what it would do, changes nothing
./install.sh # do it
On a default run it makes a few empty folders and writes one file, ~/.claude/settings.json — and only if you do not already have one. If you do, it changes nothing and prints the block for you to paste in yourself. The full walkthrough is on getting set up.
Still to write
The four pages above are the basics. The rest of what we run is not documented yet, and it comes in four kinds, which is worth knowing because they behave differently:
| What it is | When it runs | |
|---|---|---|
| Command | A procedure written once in markdown, invoked as /name | When you type it |
| Skill | A folder carrying a reference corpus, loaded on demand | When the work calls for it |
| Hook | A script the harness runs, not the model | At a defined moment, automatically |
| Scheduled routine | A prompt that runs in the cloud on a cron | On a schedule, with none of your machines involved |
Only the hooks are covered so far, on project memory. What is queued:
Commands. Inbox triage — reads a file of standing rules and then files, labels and summarises the inbox against what actually matters this week, rather than against generic importance. Library search — searches my own reference library before the web, so the answer comes from the paper on the shelf instead of an inference about it.
Skills. slim — forward population-genetic simulation, grounded in a version-pinned manual, 204 official recipes and the complete 857-entry API index. aster — life-history and fitness models, built from the method author’s entire written record plus a layer restating it in the vocabulary of a census sheet. panel — review through six reviewer lenses built from their published work, producing separate memos that are allowed to disagree with each other.
Scheduled routines. Weekly lint — runs Sunday evening with no machine of mine switched on, reads the whole control plane (global config, goals, every active project’s context and to-do list) and drafts one advisory email flagging contradictions, stale facts, deadline drift and work that has gone quiet. It is read-only; the draft is its only write.
Credit
I started building my Claude Code workflow from Chris Blattman’s guide — he is a political economist at UChicago Harris who published his own setup in the open. A lot of what is here began there and was adapted rather than invented: the context file as the centre of the setup, procedures written down once as reusable commands, and publishing the actual files so someone can copy a working thing instead of assembling one. His site is worth a look.
Worth reading alongside this: mycelium, from the Arjun Raj lab.
Corrections
If something here is wrong or out of date, tell me.