How to Use AI

Coding Agents, Step by Step

This is the hands-on version of the "Next Level" page. It's the agent loop, running on your own computer, on your own files. Don't come here until using AI in a chat every day feels completely normal, and you have a real thing you want built.

A coding agent is an AI that lives in your terminal or code editor, reads the files in a folder, writes and changes files, and runs commands, all from a plain-English request. It's the same loop from the last page: it picks a tool, sees the result, and keeps going until the job is done. The word "coding" scares people off, but you don't have to write or read any code. You describe what you want; it does the work; you watch and approve.

A real step up, and completely optional

Be honest with yourself before you start. This is harder than everything earlier in the guide. You will install software, sign in, and get comfortable watching a tool change files on your computer. Things will occasionally break and you'll have to try again. That's normal, and it's also a genuine reason it's fine to never come here at all. Most of AI's value is available from a chat window. This page is for the curious who want to go further.


The options: they all work the same way

There isn't one "coding agent." There's a category, and the tools in it work alike. The names you'll run into most:

They differ in small ways: which AI model is behind them, the exact commands, the price. But the shape is identical: open a folder, type a request, watch it read and edit files, approve or undo. The ideas below transfer to all of them. So learn the concepts once and you can switch tools later without starting over.

Why the walkthrough picks one tool

A walkthrough needs something concrete to point at. You can't install "the category." So the rest of this page uses Claude Code as the example, purely because a step-by-step guide needs one real tool to name. If you'd rather use Codex CLI, Gemini CLI, Cursor, or Copilot, the same five ideas and the same project ladder apply; only the exact buttons change. Pick whichever one you already have an account for.


Part 1: Setting it up (one time)

You'll do this once. Take it slowly; every step is just downloading or clicking, nothing to memorize.

  1. Install a code editor. VS Code is a free, standard one: think of it as the window you'll look at your project through. Download it from the official Microsoft site and install it like any app. (Cursor works too, and has an agent built in.)
  2. Add the coding-agent extension. Inside VS Code there's an Extensions tab (the stacked-squares icon on the left). Search for the tool you chose, "Claude Code," for example, find the official one, and click Install.
  3. Sign in. The extension will ask you to log in with your account for that tool. Most coding agents need a paid plan; the exact tier and price move around, so check the tool's own site as of when you read this.
  4. Make a project folder. Create a new empty folder somewhere sensible, a plain name, no spaces (e.g. my-workspace), and open it in VS Code. This is the room the agent will work in.
  5. Let it set itself up. Most coding agents have a first-run command (in Claude Code it's /init) that looks around your folder and writes a starter instructions file. Run it and let it create that file. (More on that below.)
  6. Later: a private file for secrets. When a project needs a password or key to another service, those go in a private file (often called .env) that you keep out of sight. You don't need this on day one, just know the word for when a project calls for it.

Part 2: The five ideas you actually need

You don't need to understand how any of this works under the hood. You need five plain-English ideas that show up in every coding agent, under slightly different names. Each one has a simple analogy, so hold the analogy and ignore the rest.

The instructions file: the "never forget" note

A single file the agent reads before every message (Claude Code calls it CLAUDE.md; other tools have their own name for the same thing). Think of it as a job description and a map to the rest of your folder, taped to the inside of a locker. It doesn't hold everything, it just says "the project details live in about-project.md, the rules live here, the folders are laid out like this." Keep it short (under ~200 lines). It's the difference between the agent guessing and the agent knowing.

Context: the working memory

The agent has a limited short-term memory for the current session: everything it's read and said so far (this is the "context window" from the Basics page). When that memory fills up, it gets sloppy: it forgets things, repeats itself, starts making mistakes. Most tools give you a way to see how full it is, to summarize and free up room, and to wipe the slate clean when you switch tasks. Clearing between different jobs is a habit that keeps answers sharp.

Connected tools: the universal adapter

A coding agent can plug into other software, your email, your calendar, a spreadsheet, a web search, without anyone writing fiddly custom code. This is the MCP idea from the last page: a universal plug shape, like an app store for your agent. Once a service is connected, you just say "check my calendar" and the agent figures out the rest.

Saved recipes: your reusable instructions

A recipe is a saved set of step-by-step instructions for a task you do often, written once in a small file (Claude Code calls these "skills"; the idea exists across tools). Instead of re-explaining "here's exactly how I want my weekly summary formatted" every time, you save it once and just run it. Same input, same reliable result, every time.

Helpers: the specialists

For big or messy jobs, a coding agent can hand a focused task to a helper, often called a "sub-agent," that does one thing (like checking its own work, or reading a huge pile of data) and reports back a clean summary. Think of it as calling in a specialist for one specific job so your main task doesn't get bogged down. You'll rarely touch this early, but it's why these tools can handle surprisingly large work.


Part 3: The project ladder

Skill comes from reps, not from watching. Build these in order. Each one is a real, personally useful thing and teaches the next skill up. Start at the bottom rung and don't skip. Notice that none of these are for a client, they're for you. That's on purpose. Get good on your own stuff first.

By rung 6 you can build a real, working thing from a plain-English description. Rung 7 is the first step toward doing this for other people, and if that appeals to you, the optional Getting Paid page picks up exactly there.


Daily habits that keep the answers good

These few habits, straight from how people who use these tools well actually work, matter more than any clever trick:

Five habits
  • Put the facts in front of it, don't make it remember. To work with a document, paste or upload the actual text. The model is far more accurate reading something in front of it than recalling it from training.
  • For anything with numbers, tell it to "use code." Models are weak at mental math but great at writing a tiny program to get the exact answer. Say "use code to calculate this" and it stops guessing.
  • For recent or local facts, make it search the web. Its built-in knowledge is frozen at training time. Ask it to search for anything current.
  • Clear the session between different tasks. A fresh, uncluttered memory gives sharper answers than a long, wandering session.
  • Always verify anything that matters. It can be brilliant at a hard task and wrong on an easy one in the same breath. Trust, then check, especially before anything is irreversible.
Anti-pattern: pointing it at everything on day one

Don't aim a coding agent at your whole Documents folder the first time. Make a fresh, empty folder with nothing important in it and let it work there. Watch how it behaves while the worst it can do is harmless. Give it access to things you'd hate to lose only once you trust it, the same "watch it drive before you hand over the keys" rule from the last page.


Memory that lasts between sessions (and computers)

A coding agent forgets everything when the session ends. The instructions file covers your standing rules, but over weeks of work you pile up other things worth keeping: a decision you made, a correction you had to give twice, a preference, a fact about the project that isn't written down anywhere in the files. Here is the setup I use so those survive, and so they follow me between my laptop and my desktop.

One small file per fact, plus a short index

Each project gets a memory folder. Every fact lives in its own small markdown file, with a one-line description at the top and a note on why it matters. Next to them sits one index file with exactly one line per memory. The agent loads the index every session and opens a full file only when its line looks relevant, so the always-loaded part stays small and the detail is there when needed.

What the agent loads, and what it opens on demand Always loaded: the short instructions file and a memory index with one line per fact. Each line points to a full memory file that the agent opens only when the line looks relevant. loaded every session instructionsfile memory index - prefers short answers - deploy steps opened only when relevant fact file fact file fact file
Two short files load every session. The full memory files stay closed until an index line says they matter.

Only durable, non-obvious facts go in. If the code, the git history or the README already says it, it doesn't belong in memory. Each memory also says where it came from (a file, a command's output, a link, or your own words) so it can be checked later. And a memory is only what was true when it was written: if one names a file or a command, the agent confirms that thing still exists before relying on it.

The memory folder is a git repo

Every change to memory is a commit, so you get a full history, a diff of what changed, and a way to undo a bad edit. Each project's memory is its own private repo, which keeps projects from tripping over each other. Two small scripts that run automatically at the start and end of each session (Claude Code calls these "hooks") do the syncing: one pulls the latest copy when a session starts, the other commits and pushes when it ends. Work on the laptop in the morning and the desktop at night, and both see the same notes. If both computers changed the same project, git merges the two versions. Usually only the index line needs a look.

Memory synced through a private git repo Two computers share one private memory repo. Each pulls when a session starts and commits and pushes when it ends. laptop desktop privatememory repo session start: pull session end: commit, push
Each project's memory is its own private git repo. A session pulls when it starts and commits and pushes when it ends, so both computers see the same notes.

Keep the always-loaded part short

Whatever loads in every session takes up room in every session. My core rules file for agents has a hard cap of 70 lines, and any rule that doesn't apply to every tool and every project moves to a file that's read only when it's needed. One more file loads everywhere: a short map of all my projects, a few lines each, so an agent working in one project knows the others exist. Detail about any of them gets pulled in on demand.

Anti-pattern: a git repo inside a cloud-synced folder

On a Mac, the Documents and Desktop folders often sync to iCloud, and iCloud can remove files that git needs. Keep code and memory repos in a folder that isn't synced (mine live in a folder called Developer) and let git do the syncing.

Quick check

You want to try a coding agent but you don't want to be locked into one company. What's true?

Answer: coding agents are a category, not a single product. They all open a folder, take a plain-English request, read and edit files, and let you approve or undo. The instructions file, working memory, connected tools, saved recipes, and helpers all show up in each one under slightly different names.

So pick whichever you already have an account for, learn the concepts once, and you can move between them without starting over.