Setting up your agent

I have a folder called bitess. Inside it are instructions for my agent, Bites, and information about my work. I can open the files, read what they say and change them.

That is the part I want you to see. When I want the agent to work differently, I have somewhere to put that instruction. When I want it to know something about me, I have somewhere to save it.

You don’t need my whole setup.

Start with my instructions

AGENTS.md is my main instruction file. The .md ending means Markdown: text with simple formatting, such as headings and lists. You can read it without knowing how to code.

My file starts with who I am and how I like to work. Further down, it points to other files.

~/bitess/AGENTS.md
i'm Ben. you're my agent, Bites.

i'm known for founding bensbites.com and a solo gp (bens bites fund). i'm not traditionally technical but i understand systems. i love building, tinkering, reverse-engineering - it's how i learn.

here's some preferences whilst we work together.

i like building things as simple as possible, reducing complexity when solving problems.

i like creative ideas when brainstorming. i'm curious. i like when people do something different, unique and succeeded e.g. acquired.fm, derek sivers, tbpn, lennys newsletter, not boring, the pudding, neal agarwal, riley walz.

i value interactive learning. i learn by feeling concepts with interactive components.

i often build something more than once, dont re-use whats existing.

## If necessary for the task

DO NOT READ these files unless I explicitly approve.

- for current work, read and update `todos.md`
- for saved context, start with `memory.md`
- for personal context, read `memory/personal.md`
- for travel context, read `memory/travel.md`
- for fund context, read `memory/fund.md`
- for Ben's Bites context, read `memory/bens-bites.md`
- for current thinking and priorities, read `notes/current.md`
- when i ask to 'save to memory', use `memory.md` to select and update the correct file

These are choices I want to keep across tasks. I don’t want to type them every time. A detail that applies only today can stay in the current request.

Give each file a job

~/bitess/
memory.mdSaved context and how to change it
memory.md
# Memory

Read only the file needed for the current task. Do not load all memory by default.

- Personal context: `memory/personal.md`
- Travel context: `memory/travel.md`
- Ben's Bites Fund context: `memory/fund.md`
- Ben's Bites context: `memory/bens-bites.md`

When Ben says "save to memory":

1. Update the best existing file.
2. Keep the current truth, not a conversation log.
3. Remove or correct stale information.
4. Create a new topic file only when none of these files fits.
5. Add any new file to this index.
6. Do not promote brainstorming, temporary plans, or agent assumptions into stable memory. Save them only when Ben explicitly asks.
memory/One file per topic
memory/
bens-bites.md
datasets.md
fund.md
personal.md
travel.md
todos.mdCurrent work
AGENTS.md
- for current work, read and update `todos.md`

I don’t need my travel preferences for every building task. The pointers let me say where the relevant information is.

The main file points to the information the task needs.

A pointer is an instruction to read something. If the answer misses important context, I can ask it to read the file and check the record of its actions.

Keep memory understandable

When I made this smaller setup, my old agent kept bringing in information that wasn’t relevant. Sometimes I wanted new ideas, and it kept steering me towards things I already liked.

I decided to keep less information, know what was in it, and change it when it stopped helping. My memory file starts with this:

Read only the file needed for the current task. Do not load all memory by default.

When I ask it to save something, I give it rules for that too. A thought I am exploring should not become a rule for later work.

memory.md
Keep the current truth, not a conversation log.

Remove or correct stale information.

Do not promote brainstorming, temporary plans, or agent assumptions into stable memory. Save them only when Ben explicitly asks.

Two AGENTS.md files

I’ve split my instructions into two files. The one in bitess is about Bites: who I am, who it is, and where my notes are. My global one is what I want every agent to follow, whatever it’s working on: how to reply to me, how I like things built, and which skills and tools to use.

The “questions” line lives in the global file. I sometimes ask about a change without wanting it made. I want an answer first, whichever agent I’m talking to.

A tool line only tells the agent which tool to use. It doesn’t connect an account or give it access on its own.

One agent or several

There’s two paths for a personal agent. One main agent, like ‘Jarvis’. Or split them into several agents with their own files, personality and job description, just by editing the instruction file.

Two ways to set up a personal agent. Both read ~/.agents/AGENTS.md first. One agent: one folder, bitess, whose AGENTS.md says “you’re my agent, Bites”, with task files such as newsletter-research.md, memory.md and todos.md, and one chat, Bites. Separate agents: a folder per job (chief-of-staff, marketing, money), each with its own AGENTS.md giving it a job and memory.md, and a pinned thread per agent. ~/.agents/AGENTS.md every agent bitess/ AGENTS.md you’re my agent, Bites newsletter-research.md memory.md todos.md reads a task filewhen it needs one one main agent,like ‘Jarvis’ Bites chief-of-staff/ AGENTS.md you are a chief ofstaff agent memory.md marketing/ AGENTS.md You are mymarketing agent memory.md money/ AGENTS.md You are a money-manager agentcalled ‘cash’ memory.md Chief of staff Marketing Cash

Bites is my Jarvis. If I need task-specific work done, it just reads a task-specific file, like newsletter-research.md.

But I see the value in splitting them. People often split agents by job: you are my money manager agent, you are my marketing agent, you are my copywriting agent. You give each one a name and a job description in its own AGENTS.md, and it gets its own memory.

This is how Grok Bot works: each agent has its own thread. You could just set up pinned threads in Codex or Claude, each pointed at its own agent folder.

When I start again

A saved file can still be there when a conversation ends. That is why I keep useful instructions and context outside the chat.

But a new session must be able to find and read those files. Don’t assume it has the old conversation, or that a file is loaded just because it exists. Check how your chosen app loads instructions, and point it to the relevant information.

You can ask: “Read the instructions for this folder. Which files are relevant to this task?” Then inspect the files it names. Its answer can help you find them; the record of its actions shows what it read.

Start with something small

You can build this up as you work. Start with one preference you keep repeating and a small amount of useful information. You can ask the agent to help arrange the files; you don’t have to know all the filenames first.

Help me set up a small set of instructions and context for my work. First, check what this app can read and what instructions I already have. Ask me what I keep having to repeat. Suggest where to save that information, and show me the exact text before changing anything. Keep it small enough that I can read and update it myself.

You do not have to recreate my folder. The useful part is knowing what you have given the agent, where it lives, and how to change it.

Notes

  • It’s all about folders and instructions. Mine’s bitess, with AGENTS.md at the top.
  • AGENTS.md says who I am and how I work, and points to other files for each job.
  • Memory is just a text file. I keep it small, know what’s in it, and change it when it stops helping.
  • Two AGENTS.md files: a global one every agent follows, and one for Bites.
  • I use one agent, Jarvis-style. Splitting them by job works too.
  • Start small, with one thing you keep repeating.