← Blog
Español
Feed (Atom)

Tutorial · from zero, no coding

Your first AI agent lives in a folder

This guide is for you if you use an AI in the browser, copy and paste a lot, and every chat starts from zero. Step by step, you will build your own agent: a folder on your computer with its instructions, its memory and its skills.

The short version, if you only have a minute:

Contents and progress
↑ Contents

From chat to agent

What you will build, and why it is worth it. You do not need to install anything yet.

When you use ChatGPT, Claude or Gemini in the browser, three things happen:

An agent fixes all three. It is an AI model (the "brain" that understands and writes text) that can also act, not only talk: read files, write them, and follow, on its own, the written instructions that you leave it. To act, it needs an app on your computer that gives it those hands, and a folder to work in.

A chat forgets, a folder remembers Two columns, at two moments. At the top, "Today": in both columns the person writes "I am in my last school year. I know topic 3 well now." In the browser chat, the AI answers "Great! Shall we start?". In the folder, the agent answers "Great! I will note it." and writes two lines in its file data/progress.md: "Year: last school year" and "Topic 3: mastered". Then the chat closes. At the bottom, "Tomorrow": the person asks "What do I review today?". The browser chat remembers nothing and answers "I do not know what you study. Tell me?". The agent reads data/progress.md and answers "Topic 4 today: you already know topic 3." A chat in the browser The folder: the agent's home and memory, on your computer.An agent in a folder TODAY I am in my last school year.I teach Year 4: 4A and 4B.I want to run 10 km.I argued with Ana today.The bathroom is 2 × 1.8 m.I know topic 3 well now.4A already knows fractions.Today I ran 5 km.I felt awful.I have a plumber now. I am in my last school year.I teach Year 4: 4A and 4B.I want to run 10 km.I argued with Ana today.The bathroom is 2 × 1.8 m.I know topic 3 well now.4A already knows fractions.Today I ran 5 km.I felt awful.I have a plumber now. Great! Shall we start? writes to progress.mdwrites to groups.mdwrites to log.csvwrites to themes.mdwrites to steps.mdGreat! I will note it. data/progress.mddata/groups.mddata/log.csvdata/themes.mddata/steps.md a file in the folder Year: last school yearGroups: 4A and 4BGoal: run 10 kmMonday: AnaBathroom: 2 × 1.8 m Topic 3: mastered4A: fractionsMonday: 5 kmMood: lowPlumber: done the chat closes · the next day… TOMORROW What do I review today?What do I prep today?What do I train today?What do I write today?What do I do today? What do I review today?What do I prep today?What do I train today?What do I write today?What do I do today? I do not know whatI do not know whatI do not knowI do not knowI do not knowyou study. Tell me?you teach. Tell me?your goal. Tell me?you yet. Tell me?your project. Tell me? 📖 reads progress.md📖 reads groups.md📖 reads log.csv📖 reads themes.md📖 reads steps.mdTopic 4 today: you4A: decimals today,Today, an easy 6 km:How did things goCall the tiler next:already know topic 3.they know fractions.you ran 5 yesterday.with Ana on Monday?the plumber is done. It forgets: start again.It remembers: it reads its folder.
Today, the agent notes what matters in a file in its folder. Tomorrow, the browser chat has forgotten everything, but the agent reads its file and goes on where you stopped.

The endless chat trap

Because each new chat starts almost from zero, many people do the logical thing: they open one chat for one subject (their classes, their diet, their renovation…) and use it for weeks. That way they do not have to explain everything again. But this creates another problem, and almost nobody sees it: too much context works against you.

Everything the model reads to answer is called the context: its rules, the whole conversation and your new message. The context has a maximum size. When an endless chat fills it, the app must make room: depending on the app, it compacts the old messages into a summary, or stops reading them. It may not tell you, and details get lost on the way.

And even when everything fits, a huge context works worse. Think of it like this: if you read one page and I ask you something about it, you will almost surely get it right. If you read the whole Bible and I ask the same question, it is much easier to miss something. A model is the same: the longer the context, the harder it is to keep every detail in mind.

What happens when an endless chat fills the context A bar stands for the context, with a limit on the right. Weeks of messages, yours and the AI's, pile up until the bar is full. Then the app summarises everything into one small piece, the summary, and the original messages disappear. Your next message arrives, and the AI answers having read only the summary: whatever the summary left out, it no longer knows. context limit An endless chat: weeks of messages full the app summarises everything… summary your next message the AI's answer: it has read only the summary Whatever the summary left out, the AI no longer knows.
When an endless chat fills the context, the app may summarise everything without telling you. From then on, the AI answers by reading only the summary.

An agent with a folder solves this, because what matters lives in files, not in the chat. So you can open a new chat for each task, with a clean context, and the agent reads only the files that the task needs.

With a folder, what matters carries from one chat to the next Three chats with the same agent, each with its context bar and the limit on the right. Next to them, a file in the folder: data/progress.md. Chat 1: you say "I know topic 3 well now", and the agent writes it in the file: "Topic 3: mastered". Chat 2: another task, in a new, clean chat. You ask "Exam on topic 4"; the agent reads the file and already knows topic 3 is done. Chat 3: a long review of the whole syllabus, which fills the context; the app compacts it into a summary. Nothing bad happens: you ask "What is left to review?", the agent reads the file again and answers "Everything but topic 3". Nothing essential is lost. context limit Chat 1: you tell it something Chat 2: another task, in a new chat Chat 3: a very long session data/progress.mddata/groups.mddata/log.csvdata/themes.mddata/steps.md Topic 3: mastered4A: fractionsMonday: 5 kmMood: lowPlumber: done “I know topic 3 well now” → it writes it in the file“4A knows fractions” → it writes it in the file“I ran 5 km today” → it writes it in the file“I argued with Ana” → it writes it in the file“I have a plumber” → it writes it in the file progress.mdgroups.mdlog.csvthemes.mdsteps.md “Exam on topic 4” → reads the file: topic 3 is done“Worksheet for 4A” → reads the file: decimals next“What do I train?” → reads the file: knows about Monday“What do I write?” → reads the file: asks about Ana“What do I do today?” → reads the file: the tiler is next progress.mdgroups.mdlog.csvthemes.mdsteps.md the app compacts the chat… summary progress.mdgroups.mdlog.csvthemes.mdsteps.md “What is left to review?” → reads the file again: “Everything but topic 3”“What is 4A missing?” → reads the file again: “Decimals”“How am I doing?” → reads the file again: “5 of 10 km”“What keeps coming up?” → reads the file again: “Ana”“What is left?” → reads the file again: “Tiling and paint” The chat gets compacted, but what matters is safe in the file.
The agent keeps what matters in a file in its folder. Every new chat reads it, and even when a long chat gets compacted, the file is still there.

And on top of that, an agent can…

Beyond remembering, working in a folder lets it do things that a chat cannot:

So the agent you will build has three parts:

What is a model (LLM), and why does it remember nothing?

A large language model (LLM) is a program trained on a huge amount of text. Given some text, it works out the most likely next words, one word at a time. That is how it writes its answers.

The important part for this guide: the model only knows what it learned in training and what you give it in each message. It remembers nothing by itself. That is why the folder is so useful.

To read more: Large language model, on Wikipedia.

Choose your example

From here on, you will build a real agent, step by step. To make each step concrete, choose an example now: the guide will show you how to build that agent. Pick the one closest to your case, or the one you like most.

The steps are the same for everyone; only what the agent knows how to do changes. With what you learn, you can later build any other: one for your finances, your vegetable garden, an exam you are preparing, or your business.

Without JavaScript you will see all five examples in each step, each with its name. Follow only yours.

Step 1 of 8

Choose your app

You choose and install the program that connects the model to your folder.

Here I just call it "the app". Elsewhere you may see its technical name, harness: the part that wraps the model and gives it tools.

You need a computer (Windows, Mac or Linux), not a phone: the agent works with the files on your computer.

Each app works with some accounts and not with others. So the best app for you depends on what you already pay for. Mark what you have:

This table sums up the advice:

If you have…UseOther option
Claude Pro or MaxThe Claude desktop app, Code sectionIf you also have ChatGPT, the ChatGPT app
ChatGPTThe ChatGPT desktop app, in Codex modeGoose, which signs in with your ChatGPT Plus or Pro subscription
Google AI Pro (Gemini)Antigravity, from GoogleGoose with a free Gemini key
An OpenRouter key or another API keyGoose, free and openThe app from the company that makes your model
Nothing yetThe ChatGPT app with a free account, in Codex modeAntigravity, free with your Google account, if you do not see Codex mode yet

The Claude desktop app, from Anthropic, Code section

MacWindowsLinux (beta)

You need a paid plan: Pro, Max, Team or Enterprise. Use the Code section: it reads the instructions and the skills in your folder (Cowork, the other section, does not). Do not let the name scare you: you will not program. Download it at claude.ai/download.

The ChatGPT desktop app, from OpenAI, in Codex mode

MacWindowsLinux (preview)

Choose Codex in the mode selector: it is the mode that works with folders, and you will not program. It works with every plan, including the free one, which gives you less use. If your account is free and you do not see Codex yet, use Antigravity: it is free too. Download it at chatgpt.com/download.

Antigravity, from Google

MacWindowsLinux

Free for personal use, with a weekly limit; with Google AI Pro or Ultra you get more use. Download it at antigravity.google/download.

Antigravity was made for programming. You will see some programmer words. Do not worry: the agent works just as well with your documents.

Goose, open and free

MacWindowsLinux

Open source (anyone can read and reuse its code). It works with almost any model: your ChatGPT Plus or Pro subscription, an API key (OpenRouter, Anthropic, Google) or a model that runs on your own computer. Download it at goose-docs.ai.

Goose comes with no model of its own. The first time you open it, connect it to an account or an API key.

How to connect Goose to a model

The first time you open Goose, it shows a welcome screen with several options. Find what you have below and pick that option. If you ticked something above, it is highlighted.

  • ChatGPT Plus or Pro. Pick ChatGPT Subscription. Your browser opens: sign in with your ChatGPT account, give Goose permission and go back to the app. It does not work with the free ChatGPT plan.
  • Google AI Pro (Gemini). Goose does not use your subscription, but Google gives you a free API key, with a usage limit. Create it at aistudio.google.com/app/apikey and copy it. In Goose, pick Quick Setup with API Key and paste it. Note: with the free key, Google may use what you send it to improve its products.
  • An OpenRouter account. Pick OpenRouter. Your browser opens: sign in, or create an account, and Goose gets the key without you copying it.
  • Another API key (from OpenAI, Anthropic, Google…). Pick Quick Setup with API Key and paste the key. Goose recognises which company it is from.
  • Claude Pro or Max. Goose does not use your Claude subscription without programmer steps. It is simpler to use the Claude desktop app.
  • A model on your computer. Install Ollama and use it to download a model, for example qwen2.5. In Goose, pick Other Providers and press Configure next to Ollama. It is the most technical option, and you need a powerful computer.

More details in Goose's guide to providers.

What is an API key? (if you do not have one, you do not need one)

A subscription (ChatGPT Plus, Claude Pro) is a monthly fee with a usage limit. An API key is a long password that gives access to a model, and you pay for what you use, cent by cent.

OpenRouter is a service that gives you one key for hundreds of models from many companies, and some of them are free. It is the simplest way to try different models with Goose.

Be careful with free models: some use what you send them to train their models, and other people could end up reading it. Avoid sending them personal or work data.

There are more open apps. OpenWork is very easy to install, but it is young and it sometimes stops showing older chats after an update. Pi has many settings, but you use it from the terminal (the text window where you type commands).

Step 2 of 8

Create the folder

You create the agent's home.

A folder is a container on your computer that holds files. A file is a document with a name, and its ending (.md, .csv, .pdf) tells you what kind of content it holds.

The agent only sees what is inside its folder. That is good: you decide what it knows and what it does not. But remember that it sends what it reads to the model, on the internet, so that it can answer. So keep in mind that the company behind the model may get to see what the agent reads from the folder.

  1. Create a folder on the Desktop (or in Documents, if you prefer). On a Mac: right-click on the Desktop, "New Folder". On Windows: right-click, "New", "Folder".
  2. Give it a name with no spaces and no accents, for example: Student my-study-tutor Teacher my-class-helper Health my-coach Journal my-journal Renovation bathroom-renovation . Simple names avoid problems with some apps.
  3. Inside it, create two folders: data and exports. The agent itself will create the rest later.

This is how your folder should look now. It will grow: at the end of each step you will see how it looks, with what is new marked. When you finish the guide, the folder will have these parts. Each part has a colour, the same everywhere on this page. Tap a part to see what it is for and who reads it.

Desktop › my-study-tutor
  • AGENTS.mdthe instructions Who the agent is, what it does and where it keeps each thing. It is plain text. The app reads it at the start of every chat. You write it (with help from the agent)The agent always reads it
  • data/the memory What the agent must remember: notes, logs, lists. Text files or tables. The agent reads it and updates itYou can open it and correct it
  • .agents/skills/the skills Instructions for tasks that you repeat, such as "make me a practice exam". Each one is a folder with a SKILL.md file. The agent only reads the name and the description until it needs the skill. The folder name depends on the app: .claude/skills/ in Claude and .agents/skills/ in the others. The agent writes them with youThe agent opens them when it needs them
  • scripts/the tools (optional) Small programs for mechanical tasks that repeat, such as doing sums or sorting and renaming files. They always give the same result. The agent writes them and runs them. The agent writes themThe agent runs them
  • exports/the results What the agent gives you: worksheets, summaries, tables, pages to print. The agent creates itYou open it
What is a text file, and what are Markdown, CSV and JSON?

A file holds information. A text file holds only letters, with no hidden formatting, and any program can read it. A model loves it: it reads it just like you do. A Word document, on the other hand, holds much more than the text, and it is harder for a program to read.

  • Markdown (.md): text with a few simple marks. # is a title, - is a list item, **word** is bold. It is the best format for instructions and notes.
  • CSV (.csv): a table written as text, with one row per line and the columns separated by commas. It opens in Google Sheets, or in Excel with "Data > From Text/CSV". It is the best format for logs that you want to add up or draw in a chart.
  • JSON (.json): data with a fixed structure, such as {"topic": 3, "status": "mastered"}. It is the best format when a program, such as a script, must always read the data in the same way.

A practical rule: start with Markdown. Move to CSV when you want to count or make charts. Use JSON when a script must read the data; usually the agent itself will decide that.

Did you know? If you copy the folder to another computer, the agent travels with it: its instructions and its memory are inside. And if you prefer to start from a ready-made one, download your example and keep reading to understand each part.

Step 3 of 8

Open the folder in your app and say hello

You connect the app to the folder and check that the agent can see it.

From here on, the agent does almost everything: you tell it what you want, and it creates the files.

Claude

Open the Claude app and go to Code. Under the message box, choose "Local" in the first selector; then, in the folder selector, click "Open folder…" and choose yours.

ChatGPT

Open the ChatGPT app and choose Codex in the mode selector. Click "Add new project" and choose your folder.

Antigravity

Open the Antigravity app. Click the new project icon (a folder with a +), then "Add Folder", choose your folder and click "Create". If it asks where to work, choose "Local mode": your own folder.

Goose

Open Goose. In the bar at the bottom there is a folder selector: choose yours.

Now write your first message:

Hello. What is in this folder?

You will see something like this. The agent uses its tools (read, write, search) and shows you each step:

Hello. What is in this folder?

looked at the folder
There are two empty folders: data and exports. There are no instructions yet. What do you want me to do?

If it does not see the folder, check that you chose the right folder and not the whole Desktop. On a Mac, the first time, the system asks if the app can access the Desktop: click "Allow". If you said no, go to "System Settings > Privacy & Security > Files and Folders", and turn on your app.

Each app has a permission mode: it decides what the agent does on its own and what it asks you first. Start with the one your app comes with. Some modes ask you before every change; others change files inside your folder without asking, but ask you before they leave it, use the internet or run programs. When it asks for permission, read what it wants to do and accept if it makes sense. For example, if it asks to create the file that you just asked for, accept. When you trust it, you can give it more freedom inside that folder.

Tip: if you get tired of it asking for permission so often, almost every app has modes that ask less. Look for the mode selector next to the message box, and change the mode once you trust your agent.

Step 4 of 8

Give it instructions: the AGENTS.md file

You tell the agent who it is and how it must work, only once, and for good.

That goes in a file called AGENTS.md, at the root of the folder (directly inside it, not in a subfolder).

Remember the context, from the start: the model remembers nothing between messages. Each time you write, the app sends it everything it must keep in mind, all at once. This is what goes in:

What the model reads each time you write Five boxes appear one by one: the app's rules, the AGENTS.md file, the name and description of each skill, the conversation so far and your new message. A bracket joins them and calls them "the context". The first three are the same in every chat; the last two come from this chat. An arrow takes the context to the model, and another arrow, "answers", goes from the model to its answer. The model does not know anything that is not in those boxes. the same in every chat from this chat The app: the program where you talk to the agent, and that gives it its tools.The app's rules"You can read and write files…" AGENTS.md"You are my personal tutor…""You are my class helper…""You are my personal coach…""You are my personal journal…""You manage my bathroom renovation…" Skills: name and description"practice-exam: makes an exam…""make-worksheet: makes a worksheet…""weekly-summary: sums up the week…""close-the-day: saves the entry…""prepare-call: prepares the call…" The conversationEverything you both said today Your message"What should I review today?""What do I prepare for 4B?""How am I doing this week?""I want to close the day.""What is on this week?" the contextall of it, every time The model: the brain that reads and writes text. It runs on the internet.The modelreads the context answers"Topic 2 today. It"Review sums: 4B"Going well: 3 workouts,"Tell me: what was"Call the tiler: thehas been 9 days…"is a bit slower…"one to go…"the best part today?"plumber is done…"
The context is everything the model reads before it answers. AGENTS.md is always in it; of the skills, only the name and the description, until a skill is needed.

Look at AGENTS.md: it is in the context of every conversation, so the agent always keeps in mind what you write there. That is why it is so powerful. Skills, which you will see in step 6, go in with only their name and one sentence.

Your AGENTS.md

The easiest way is to let the agent create the AGENTS.md for you. This is the message for your example, with the whole file inside. Open it and read it: it says who the agent is, what it does, where it keeps each thing, and a few rules. Copy it, paste it in the chat and, before you send it, change the details that are yours (your school year, your groups, your goal). Keep the structure.

Student

Message for your agent
Create an AGENTS.md file in this folder with this content:

# My study tutor

You are my personal tutor. I am in the last year of high school.
You speak to me in English, with short sentences and examples.

## What you do
- You explain the topics in a simple way, with examples.
- When I ask, you give me exam-style questions, one at a time, and you correct me.
- You keep track of what I already know well and what I find hard.
- You remind me of the assignments that are due.

## Where you keep things
- data/subjects.md: my subjects, their topics and the exam dates.
- data/progress.md: a table with each topic, its status (new, in progress, mastered), the date of the last review and what I find hard.
- data/assignments.md: each assignment with its due date and its status.
- data/notes/: my notes, one file per topic.
- exports/: the practice exams and the summaries.

## Rules
- Before you answer, read what you need from data/.
- At the end of each study session, update data/progress.md.
- If something is not in my notes, tell me. Do not make it up.
- To prepare a practice exam, use the practice-exam skill.

Teacher

Message for your agent
Create an AGENTS.md file in this folder with this content:

# My class helper

You are my class helper. I teach maths in Year 4 (4th grade), to two groups: 4A and 4B.
You speak to me in English, in a clear and practical way.

## What you do
- You make worksheets with exercises that fit the level of each group.
- You keep track of how each group is doing: which topics we have covered and what is hardest.
- You help me plan the week.

## Where you keep things
- data/groups.md: each group, the current topic and what it finds hardest.
- data/grades.csv: the grades, with the columns student,group,activity,date,grade. One row per student and activity.
- data/calendar.md: the planned lessons and assessments.
- exports/: the worksheets and the plans, ready to print.

## Rules
- Never save the full names of students. Use their class list number (A01, A02…).
- The worksheets have the answers on a separate page.
- Before you prepare anything, read data/groups.md.
- To prepare a worksheet, use the make-worksheet skill.

Health

Message for your agent
Create an AGENTS.md file in this folder with this content:

# My coach

You are my personal coach. My goal is in data/goal.md.
You speak to me in English, with encouragement but without exaggeration.

## What you do
- You log each workout and each meal that I tell you about.
- You suggest workouts based on my routine and on how I am doing.
- Each week you tell me how close I am to my goal, with numbers.

## Where you keep things
- data/goal.md: my goal, my starting point and the deadline.
- data/log.csv: one row per entry, with the columns date,type,detail,amount,unit. For example: 2026-10-20,run,easy,5,km. The type is run, gym or meal. A run takes two rows, one in km and one in min. Gym goes in min and meals go in kcal.
- data/routine.md: my weekly routine.
- exports/: the weekly summaries.

## Rules
- Write in data/log.csv as soon as I tell you something. Do not wait until the end.
- If I ask you something medical, or I tell you about a pain that does not go away, tell me to ask a professional.
- For the weekly summary, use the weekly-summary skill.

Journal

Message for your agent
Create an AGENTS.md file in this folder with this content:

# My journal

You are my personal journal. I tell you how my day went and you put it in order.
You speak to me in English, calmly. You do not judge: you listen and you put things in order.

## What you do
- You save what I tell you each day, in my own words.
- You ask me one or two questions if I want to go deeper, never more.
- When I ask, you help me see what repeats: people, topics, moods.

## Where you keep things
- data/entries/: one file per day, with the date as its name (2026-10-25.md).
- data/themes.md: the topics and the people that come up often.
- exports/: the summaries that I ask for.

## Rules
- Each entry starts with two lines: the date (# 2026-10-25) and the mood in one word (Mood: calm).
- Do not change what I wrote: if you summarise it, save the summary separately.
- To close the day, use the close-the-day skill.

Renovation

Message for your agent
Create an AGENTS.md file in this folder with this content:

# Bathroom renovation

You are the project manager for my bathroom renovation. I know nothing about building work: explain everything to me.
You speak to me in English, in a clear and orderly way.

## What you do
- You keep the list of renovation steps and their status.
- You keep the contacts of the professionals and what we discussed with each one.
- You keep the budget: what we planned and what we spent.
- You warn me about anything that blocks the next step.

## Where you keep things
- data/steps.md: each step in order, with its status (to do, in progress, done) and what it depends on.
- data/contacts.md: each professional, their phone number and a summary of each conversation.
- data/measurements.md: the bathroom measurements that I give you.
- data/budget.csv: one row per item, with the columns item,planned,spent.
- data/ideas/: photos and notes with ideas for the design.
- exports/: lists to take to the shop, summaries, simple plans.

## Rules
- Before you answer, read data/steps.md.
- Do not accept a measurement that I did not give you.
- To prepare a call with a professional, use the prepare-call skill.

You will see something like this:

created AGENTS.md
Done: I have created AGENTS.md with your instructions. In the next conversation I will read it at the start, and I will know who I am and how you want me to work.

Claude

Claude reads the AGENTS.md too (since its September 2026 version), as long as there is no CLAUDE.md file. If your Claude does not read it, ask: "Create a CLAUDE.md file that contains only the line @AGENTS.md". That line tells it to load your AGENTS.md, and the other apps ignore the CLAUDE.md.

If you create it by hand on Windows, make sure that it does not end in .txt: Windows hides the end of file names, and the agent would not find the file. Further down, in "I prefer to create it by hand", you can see how to avoid this.

Now start a new conversation, because the app reads the AGENTS.md at the start. Ask:

Who are you and what can you do?

Student

read AGENTS.md
I am your tutor for your last school year. I explain the topics, ask you exam questions, keep track of what you already know and remind you of your assignments. Which topic shall we start with?

Teacher

read AGENTS.md
I am your class helper for maths in 4A and 4B. I make worksheets, keep track of how each group is doing and remind you of the assessments. What shall we prepare?

Health

read AGENTS.md
I am your personal coach. I log your workouts and meals, and I tell you how close you are to your goal. What did you do today?

Journal

read AGENTS.md
I am your journal. You tell me how your day went, I put it in order and I help you see what repeats. How was today?

Renovation

read AGENTS.md
I am the project manager for your bathroom. I explain each step, keep the contacts and the budget, and prepare your calls. How far along is the work?

If it answers with what you put in the AGENTS.md, it works.

I prefer to create it by hand. How?

You need a plain text editor:

  • On a Mac, TextEdit: create a new document and choose "Format > Make Plain Text". Paste the text and save it as AGENTS.md inside your folder. If it asks, choose "Use .md".
  • On Windows, Notepad: paste the text, choose "Save As", set "Save as type" to "All files" and type AGENTS.md. If you do not, Windows saves it as AGENTS.md.txt and the agent does not find it.

The name matters: AGENTS in capitals and .md in lower case. To see the end of file names on Windows: in File Explorer, "View > Show > File name extensions".

What makes a good AGENTS.md?
  • Short. It is in the context of every conversation, so every line counts. If it grows a lot, move details to a skill.
  • Concrete. "Update data/progress.md at the end of each session" works; "be organised" does not.
  • With a map. Say where each thing is. The agent does not have to guess.
  • Alive. When the agent does something wrong, do not correct it only in the chat. Ask it: "Add this rule to the AGENTS.md so that it does not happen again".

Your folder, at the end of this step:

Step 5 of 8

Give it memory: the data folder

You create the files where the agent keeps what it must remember.

This is what turns a chat that forgets into an agent that knows you.

Your AGENTS.md already says which files to use and when to update them. So you only have to ask:

Create the data files that the AGENTS.md lists. To fill them in, ask me the questions you need, one at a time.

Student

created data/subjects.mdcreated data/progress.mdcreated data/assignments.md
I have created your data files, still empty. Let us fill them in. First question: which subjects do you have this year?…

Teacher

created data/groups.mdcreated data/grades.csvcreated data/calendar.md
I have created your data files, still empty. Let us fill them in. First question: which topic is 4A on now?…

Health

created data/goal.mdcreated data/routine.mdcreated data/log.csv
I have created your data files, still empty. Let us fill them in. First question: what is your goal, and by when?…

Journal

created data/themes.mdcreated data/entries/
I have created your data files, still empty. To start: is there anything on your mind these days?…

Renovation

created data/steps.mdcreated data/contacts.mdcreated data/measurements.mdcreated data/budget.csv
I have created your data files, still empty. Let us fill them in. First question: how long and how wide is the bathroom?…

The agent will ask you questions and create the files. In your example:

Student

  • data/subjects.md: your subjects, their topics and the exam dates.
  • data/progress.md: a table with each topic, its status, the date of the last review and what you find hard.
  • data/assignments.md: each assignment, its due date and its status.
  • data/notes/: save your notes here, as text or PDF. If they are photos, move them to the computer and save them here: the apps in this guide also read images, if the model you use supports them.

Teacher

  • data/groups.md: each group, the current topic and what it finds hardest.
  • data/grades.csv: the grades, with students by number, never by name.
  • data/calendar.md: the lessons and the assessments.

Grades are data about children. Before you save them, read your school's rules about AI tools. If you are not sure, save only how each group is doing, with no individual grades.

Health

  • data/goal.md: your goal, where you start from and the date.
  • data/log.csv: one row per entry (a run takes two rows: km and minutes).
  • data/routine.md: your weekly routine.

Journal

  • data/entries/: one file per day, for example 2026-10-25.md.
  • data/themes.md: the topics and the people that repeat.

Renovation

  • data/steps.md: the steps in order, with their status.
  • data/contacts.md: the professionals and what you discussed with each one.
  • data/measurements.md: the bathroom measurements, taken by you.
  • data/budget.csv: what you planned and what you spent, item by item.
  • data/ideas/: save photos and notes of bathrooms that you like here.

Open the files yourself too. A .md file opens in any text editor (TextEdit, Notepad); a .csv file opens in Excel or Google Sheets. They are yours: if something is wrong, correct it by hand or tell the agent. And if one day you want to start again from zero, delete them.

Why is ChatGPT's memory not enough? ChatGPT's memory is a short list of notes that the app keeps, and it only works in that app. You can read your files in full, correct them and take them to any app.

Tip: if you do not know how to do something, or you do not understand why the agent does something in a certain way, ask it. It can explain how it works: "Why did you save that in data/ and not somewhere else?" is a perfectly good question. And do not stop there: ask it what else it can do for you. "What would you change in your AGENTS.md to help me better?" or "Look at what is in data/: what could you do with it to save me time?" often bring ideas you would not have thought of.

Your folder, at the end of this step:

Step 6 of 8

Teach it skills

You teach the agent a task that you repeat, step by step, so that it does it just as well every time.

That is a skill: saved instructions for one task.

You could put all the steps in the AGENTS.md, but they would take up the context of every conversation, even the ones that do not need them. A skill is smarter: the agent only sees its name and one sentence that describes it. When you ask for something that matches that sentence, it opens the whole skill and follows it.

A skill is a folder with a SKILL.md file inside. The folder has the same name as the skill. That file starts with a block between two --- lines with the name and the description, and then come the steps. The skills in the agent's folder go here:

Claude

.claude/skills/, and inside it one folder per skill. Claude does not look in .agents/skills/.

ChatGPT

.agents/skills/, and inside it one folder per skill.

Antigravity

.agents/skills/, and inside it one folder per skill.

Goose

.agents/skills/, and inside it one folder per skill. Goose also reads .claude/skills/.

On a Mac, the dot at the start hides the folder. Finder does not show folders whose name starts with a dot, and it does not let you create them. To see them, press Cmd + Shift + . in Finder. On Windows you see them normally. The easiest way, on both: let the agent create it.

This is the message that creates the skill for your example, with its SKILL.md inside. Copy it and send it to the agent:

Student

Message for your agent
Create a skill with this SKILL.md, in the skills folder that this app uses:

---
name: practice-exam
description: Prepares a practice exam on the topics I ask for, with questions like the ones in class. Use it when I want to practise for an exam.
---

# Prepare a practice exam

1. Ask me which subject and which topics are in the exam, if I have not said so.
2. Read my notes on those topics in data/notes/ and their status in data/progress.md.
3. Write 10 questions: 4 on the topics I find hardest and 6 on the rest. Mix short questions and longer written ones.
4. Save the exam in exports/exam-SUBJECT-DATE.md, with the answers at the end.
5. Ask me if I want to do it now with you, one question at a time.
6. When we finish, update data/progress.md with what I got right and wrong.

Teacher

Message for your agent
Create a skill with this SKILL.md, in the skills folder that this app uses:

---
name: make-worksheet
description: Prepares a worksheet of exercises for a group and a topic, ready to print. Use it when I ask for a worksheet or exercises for class.
---

# Make a worksheet

1. Ask me the group and the topic, if I have not said so.
2. Read data/groups.md to know the level of the group and what it finds hardest.
3. Write 8 exercises, from easiest to hardest. The first two come with a worked example.
4. Save the worksheet in exports/worksheet-GROUP-TOPIC.html, with no spaces or accents in the name (for example worksheet-4B-fractions.html), with large letters and space to answer, and the answers on a separate page.
5. Tell me how to print it: open it in the browser and use Print.

Health

Message for your agent
Create a skill with this SKILL.md, in the skills folder that this app uses:

---
name: weekly-summary
description: Makes the summary of the week's workouts and meals and compares it with the goal. Use it when I ask for the summary or ask how I am doing.
---

# Weekly summary

1. Read data/log.csv and keep only the last 7 days.
2. If scripts/summary.py exists, run it to get the totals. If not, add them up yourself, carefully.
3. Compare with data/goal.md: am I on track?
4. Write the summary in exports/summary-DATE.md: totals, what went well and one single thing to improve.
5. Tell me the summary in three sentences.

Journal

Message for your agent
Create a skill with this SKILL.md, in the skills folder that this app uses:

---
name: close-the-day
description: Saves the day's entry from what I tell you. Use it when I say that I want to close the day or write in the journal.
---

# Close the day

1. If I have not told you about my day, ask me: "How did today go?".
2. Listen. Ask me two questions at most to understand it better.
3. Save the entry in data/entries/DATE.md in the format that the AGENTS.md gives: the date, the mood and what I told you, in my own words.
4. If a person or a topic comes up that is already in data/themes.md, add one mention to it. If it is new and I have named it twice, add it.
5. Say goodbye with a short sentence.

Renovation

Message for your agent
Create a skill with this SKILL.md, in the skills folder that this app uses:

---
name: prepare-call
description: Prepares a call or a visit with a professional for the renovation, with what to ask and what to decide. Use it when I am going to talk to a plumber, a builder, an electrician or a shop.
---

# Prepare a call

1. Ask me who I am going to talk to, if I have not said so.
2. Read data/steps.md, data/contacts.md and data/budget.csv.
3. Write a short list: what I must tell them, what I must ask them and what we must decide.
4. Save it in exports/call-PROFESSIONAL-DATE.md.
5. After the call, ask me what we discussed and update data/contacts.md and data/steps.md.

Then, in a new conversation, ask for something that matches the description. You will see that it opens the skill and follows its steps:

Student

Make me a practice exam on topic 3.
used the practice-exam skillread data/progress.md
Here is a practice exam on topic 3, with ten questions like the ones in class. 1. Explain in your own words…

Teacher

Make me a multiplication worksheet for 4A.
used the make-worksheet skillread data/groups.mdcreated exports/worksheet-4A-times-tables.html
Ready: eight multiplication exercises, from easiest to hardest, at the level of 4A. It is in exports/, ready to print…

Health

How am I doing this week?
used the weekly-summary skillread data/log.csvread data/goal.md
This week you did three workouts. You are on track for your goal, but on Thursday you did not train and ate little fruit…

Journal

I want to close the day.
used the close-the-day skill
Let us close the day. What was the best part of today? Then I will ask about the worst and save it all in your entry…

Renovation

Tomorrow I am calling the plumber. Prepare the call for me.
used the prepare-call skillread data/contacts.mdread data/steps.md
For the call with the plumber: 1. Confirm which day she starts. 2. Ask whether the bathtub can become a shower tray…
The rules for a skill
  • The name is in lower case, with no accents or spaces, and with hyphens: practice-exam. It is the same as the name of its folder.
  • The description says what the skill does and when to use it. It is the only thing the agent sees until it opens the skill, so write it with the words you will use when you ask for it.
  • Do not use a colon (:) inside the description. The block at the start uses colons to separate each field from its value, and one more colon can break it.
  • The steps are normal instructions, like the ones you would give a person.
  • It can hold more files in its folder: a template, an example, a script.

It is an open standard, Agent Skills. That is why the same skill works in every app in this guide.

Your folder, at the end of this step:

Step 7 of 8 · optional

Fixed tools: the scripts folder

You give the agent a tool that always gives the same result. You can skip this step.

A model writes very well, but it calculates like a very clever person doing sums in their head: almost always right, sometimes wrong. And if you ask it for the same thing ten times, it may do it in ten slightly different ways. A script is a small program that does an exact task, the same way every time, as many times as needed. You do not have to write it or run it: the agent does that.

It is useful for anything mechanical that repeats:

Once written, the script stays in your folder: the agent runs it again every time, in seconds, and it always gives the same result.

Student

Write a script in scripts/what-to-review.py that reads the table in data/progress.md and tells me which topics I have not reviewed for more than 7 days, from the oldest to the most recent. Add to the AGENTS.md, under Rules, that you use it when I ask what I should review.
created scripts/what-to-review.pyran the scriptedited AGENTS.md
Done. According to the script, you have not reviewed topic 2 and topic 5 for more than 7 days. I added the rule to AGENTS.md…

Teacher

Write a script in scripts/averages.py that reads data/grades.csv and calculates the average of each group and of each activity. Add to the AGENTS.md, under Rules, that you use it when I ask for averages or a summary of grades.
created scripts/averages.pyran the scriptedited AGENTS.md
Done. Averages this term: 4A, 7.2; 4B, 6.8. The weakest activity is problem solving. I added the rule to AGENTS.md…

Health

Write a script in scripts/summary.py that reads data/log.csv and adds up the workout minutes and the kilometres of the last 7 days, counting back from the most recent date in the log. Add to the AGENTS.md, under Rules, that you use it for the summaries.
created scripts/summary.pyran the scriptedited AGENTS.md
Done. In the last 7 days: 135 minutes of training and 14 km. I added the rule to AGENTS.md…

Journal

Write a script in scripts/mood.py that reads the entries in data/entries/ and counts how many days of each mood there were in each month, from the "Mood:" line. Add to the AGENTS.md, under Rules, that you use it when I ask how I have been.
created scripts/mood.pyran the scriptedited AGENTS.md
Done. This month: 12 good days, 8 ordinary ones and 3 bad ones. I added the rule to AGENTS.md…

Renovation

Write a script in scripts/budget.py that reads data/budget.csv and gives the total planned, the total spent and the items that go over what was planned. Add to the AGENTS.md, under Rules, that you use it when I ask about money.
created scripts/budget.pyran the scriptedited AGENTS.md
Done. Planned: €6,200. Spent: €2,450. Plumbing is €180 over. I added the rule to AGENTS.md…

You do not need to know how to program. If the agent asks you to install something (such as Python, the language of these scripts) and you do not want to, say no and skip this step; on a work computer, you may not be allowed to. On a Mac, a window can appear that offers to install the "command line developer tools": you can say no to that too. The agent still works: it will do the calculations itself, carefully.

Your folder, at the end of this step:

Step 8 of 8

The results: the exports folder

You ask the agent for something finished, to use outside the conversation.

It will save it in exports, so you always know where to look.

Student

Make me a one-page summary of the topic I find hardest, to review on the bus.
read data/progress.mdread data/notes/created exports/summary-topic-2.html
Topic 2 is the hardest for you, so I made a one-page summary. It is in exports/: open it in your browser…

Teacher

Make me a fractions worksheet for 4B.
read data/groups.mdcreated exports/worksheet-4B-fractions.html
Ready: a fractions worksheet with eight exercises, at the level of 4B. It is in exports/, ready to print…

Health

Make me this week's summary.
read data/log.csvcreated exports/summary-2026-10-25.md
Here is the summary of the week, also saved in exports/summary-2026-10-25.md. The best part: three workouts…

Journal

Make me a summary of this month: the best, the worst and what repeats.
read data/entries/created exports/month-summary.md
It is in exports/. The best of the month: the trip on the 12th. What repeats: you sleep badly before…

Renovation

Make me the list of materials for the bathroom shop, with the measurements from data/measurements.md.
read data/measurements.mdcreated exports/materials-list.md
Here is the list for the shop, with the bathroom measurements. I saved it in exports/. 1. A shower tray of…

Which format should you ask for?

Your folder, at the end of this step:

That is the end of the tutorial!

Congratulations: your agent now works in your folder, and you know how to build others.

You have done the eight steps. Your agent has instructions, memory, skills, tools and a place to leave you its results. And most importantly: you know how to do it again, for anything you repeat at work or at home.

Celebration: the agent comes out of its folder and finished tasks appear around it ✦✦✦✦✦✦✦✦ 📚 Make you a practice exam📑 Read 300 documents📊 Build the month's table🖼️ Sort 200 photos🗓️ Keep your calendar✉️ Write drafts🧮 Do exact sums📄 Leave you a PDF report Now you have a helper that does not forget. And you know how to build as many as you like.

What comes next is optional: checking that your folder is right, building your own agent, making it better as you use it, the things to keep in mind and a glossary. Come back to it when you need it.

Extra · optional

Check your agent

Check that your folder has everything in its place, when you finish or when something does not work.

Choose your folder. The page looks at the file names and reads only AGENTS.md and the SKILL.md files. Nothing leaves your computer: everything happens in your browser.

    You can also check it by hand, or ask the agent: "Check that the folder matches this list".

    Extra · optional

    Build your own agent

    Create an agent for something that is not in the five examples: your job, a hobby, a project.

    The steps are the same; only the AGENTS.md changes.

    The easiest way is to let the agent interview you. In a new folder, open it and write:

    I want an agent that helps me with (your task). Ask me questions, one at a time, about what I do and what I need. When you have enough, write an AGENTS.md with this template and create the folders that it names.

    And paste this template under it:

    AGENTS.md template
    # (Your agent's name)
    
    You are (who it is: my helper for…, my tutor for…).
    You speak to me in (language), (in what tone).
    
    ## What you do
    - (The three or four tasks that you will ask for most.)
    
    ## Where you keep things
    - data/(file).md: (what it holds).
    - exports/: (what you give me).
    
    ## Rules
    - (What it must always do.)
    - (What it must never do.)

    Some ideas to get you started:

    Extra · optional

    Make your agent better as you use it

    With a few habits, it helps you better every week.

    Extra · optional

    Things to keep in mind

    Warnings so you can use it with peace of mind: what data to keep, when to check, and how not to lose anything.

    And from your phone? Your agent lives on your computer, so your phone does not see it. There are workarounds: if you leave the computer on with the app open, Claude and Antigravity (with their "Remote Control") and ChatGPT (with Codex in the phone app, on iPhone or Android) let you continue the conversation from your phone. Goose does not. And if the folder is in Google Drive, you can open it on another computer. But the natural place for this agent is the computer.

    Extra · optional

    Download the examples

    If you want to see how the folder looks at the end, or start from a ready-made one, download your example. Each one is a .zip file. On a Mac, double-click it to unzip it; on Windows, right-click it and choose "Extract All"; inside there will be another folder with the same name: use that one, the one with the AGENTS.md. Move the folder wherever you want and open it with your app (step 3). Each one comes with a little sample data, one skill, one script and one result; delete the sample data and add your own. On a Mac you will not see the folders that start with a dot (the skills) until you press Cmd + Shift + ..

    The examples have the skills in both folders, .agents/skills/ and .claude/skills/, so that they work in any app. In your folder you only need the one for your app.

    Extra · optional

    Glossary

    The key words of the guide, in one sentence each. In the text, move the mouse over a word in bold, or tap it on your phone, to see its definition.

    Model (LLM)
    The brain: a program trained on a huge amount of text that understands and writes. For example Claude, GPT or Gemini. LLM stands for "large language model".
    App or harness
    The desktop program that connects the model to your computer: it gives the model tools and passes it your instructions. For example Claude, ChatGPT in Codex mode, Antigravity or Goose.
    Agent
    A model that, thanks to the app, can act on its own over several steps: read, decide, write and check.
    Folder
    A container on your computer that holds files. The agent's folder is its home: it only sees what is inside.
    File
    A document with a name. Its ending (.md, .csv, .json) tells you what kind of content it holds.
    AGENTS.md
    A text file with the agent's instructions, at the root of its folder. It is an open standard that almost every app reads.
    Context
    Everything the model reads before it answers: the app's rules, the AGENTS.md, the name and description of each skill, the conversation and your message. The model does not know anything that is not in the context. The longer it is, the harder it is to keep every detail in mind.
    Compact
    What the app does when a conversation no longer fits in the context: it summarises the old messages, or stops reading them, to make room. Details get lost on the way.
    Skill
    Instructions for a task that you repeat: a folder with a SKILL.md file (name, description and steps). The agent only reads its name and description until it needs the skill.
    Script
    A small program that does one exact task, the same way every time, such as adding up a table or renaming 200 photos.
    API key
    A long password that gives access to a model from any app. You pay for what you use, instead of a monthly fee. OpenRouter gives one key for hundreds of models.
    Subscription
    A monthly fee, such as ChatGPT Plus or Claude Pro, with a usage limit. It almost always works only in that company's apps; Goose can sign in with ChatGPT Plus or Pro.
    Git
    A program that saves the history of every change in a folder, so that you can go back. The history also keeps the data, so treat it with the same care.
    Tool
    An action that the app lets the model do: read a file, write it, search or run a script.