010 Learning with agents [0.5d]

Posted . Visible to the public.

You will work with a coding agent during your entire trainee program. The agent explains concepts, helps you when you are stuck, reviews your code and — later in the program — writes code under your direction. This card shows you the tool, our rules for using it, and gets your laptop set up.

Important

Work on this lesson in teacher mode.

Learning goals

  • You can start Claude Code, work in a session, and resume it later.
  • You can explain the usage quota and which model to work on.
  • You can explain our session modes (teacher, advisor, builder) and the rules that go with each.
  • You can use the three commands you need every day: /trainee-start-lesson, /trainee-finish-lesson, /trainee-mode.
  • You can explain why we insist that you understand every line you ship.

Claude Code basics

Claude Code is a coding agent that runs in your terminal. Start it with claude inside a project folder.

You can use it like a chat ("what does this error mean?"), but it can also read your files, run commands and edit code — depending on the permissions you give it and the mode of your session.

Things worth knowing from day one:

  • Model: Always work on Opus, for everything. Check with /model, switch with /model opus. Don't move to a smaller model to save quota.
  • Quota: Your usage is limited per 5-hour window. If you hit that limit, tell your mentor — we'll put you on a bigger plan. Running out is a plan problem, not something for you to work around.
  • Permissions: By default Claude Code asks you before it edits a file or runs a command. We work in auto mode, where another model reviews those actions instead of you, so you're not clicking "yes" all day. It is not the default — switch to it yourself at the start of each session with Shift+Tab, which cycles through the permission modes. We come back to the others later in the program.
  • Sessions: One lesson, one session. As you keep working with an agent, its context window fills up and it will eventually get confused. Start each lesson in a fresh session, and resume it with claude --resume if you need a break.

Learning with the trainee skills

We provide a set of agent skills Show archive.org snapshot that help you work through the trainee curriculum.

Installing the skills

You need an SSH key registered with your GitLab account at code.makandra.de. If you haven't done that yet, follow GitLab's guide Show archive.org snapshot first — you will need it for pushing your code anyway.

Then install the trainee skills:

git clone git@code.makandra.de:makandra/trainee-skills.git ~/.claude/trainee-skills
~/.claude/trainee-skills/update.sh

Start Claude Code and type /trainee- — the trainee skills should show up. Run /trainee-setup. It will pick a folder for your code, create a folder for stand-alone exercises and prepare your global agent configuration. The MovieDB app comes later, in the card "Sample apps".

Starting a lesson

When you're ready for a new lesson, start a fresh claude session and type:

/trainee-start-lesson <card url>

The agent will automatically familiarize itself with the card and set the right teaching mode (see below).

Some cards are private and the agent can't fetch them by URL. It will tell you so and ask you to paste the card: open the URL in your browser, copy the whole card, paste it into the chat.

While working on a lesson, please use the agent to help with the learning goals and exercises.

Finishing a lesson

A lesson is finished when you have a good understanding of the learning goals and have implemented all the exercises.

When you're ready to move on to the next lesson, type:

/trainee-finish-lesson

This checks that you did the exercises, asks you a few questions about what you learned, asks how the session went for you, and writes a short summary for your mentor.

The questions at the end are not a test. If you can't answer one, that is exactly what your mentor wants to know — and it is much less awkward to find out here than in the review. If a learning goal clearly isn't there yet, the agent will stop and send you back to the material, and you run /trainee-finish-lesson again afterwards.

Our teaching modes

Every card declares a teaching mode near the top, like this one:

Important

Work on this lesson in teacher mode.

The teaching mode defines what the agent will and won't do:

  • teacher (your first months): The agent explains, answers questions and discusses your code — but you type all code yourself. When you get stuck it helps in steps: first a question back, then the concept, then the shape of your solution with the interesting part left blank. Only if that doesn't work does it take over the change, and it will say so.
  • advisor: You plan a change together with the agent, implement it yourself, then the agent reviews your work. It will explain anything you ask, in as much depth as you want — it just won't write the code. You implement the review feedback yourself, in separate commits.
  • builder: You direct, the agent implements, and you review the agent's code. You must understand everything before it ships.

Starting a lesson with /trainee-start-lesson automatically detects the card's mode and switches to it. Switch modes manually only when your mentor suggests it: /trainee-mode <mode>.

The honor system

The teaching modes work on trust — nothing technically stops you from breaking them. So here is the deal:

  • Taking the shortcut is allowed, hiding it is not. Asking the agent to take over when you're stuck is fine and visible in the transcript. Doing it secretly in a side-session defeats the purpose of your own training.
  • Explain it or don't ship it. In reviews, your mentor will pick pieces of your code and ask you to explain them. "The agent wrote that" is not an explanation. If you can't explain it, the card is not done.
  • Your transcripts are part of the review. You and your mentor will look at your agent conversations together, just like your code.

The reason for all this: after graduating the trainee program you will review and direct agents daily. A developer who only forwards agent output without understanding it adds no value. We are training you to be the person who can judge and improve that output.

Resources

Read what's new to you, skim what's familiar, skip what you already master. Stop when you can meet the learning goals.

Your agent can also generate an overview, a tutorial or an explanation for anything here, tailored to what you already know. Just ask.

Exercises

1. Your first lesson session

If you haven't done the steps from Installing the skills above, do them now.

Start a new session in your exercises folder and run /trainee-start-lesson with this card's URL. The agent should recognize teacher mode and tell you what it will and won't do. Ask it at least three questions about anything on this card that isn't fully clear to you yet.

2. Your first guided task

In the same session, tell the agent you want to write your first Ruby script with its help: a greet.rb that asks for your name and prints a greeting. Because this lesson uses teacher mode, the agent won't type it for you — it guides, you write. That's the dynamic you'll work in for the next months, so feel how it plays out:

  • Let it guide you step by step; type and run everything yourself.
  • Ask it to explain one part in more depth, then ask for the same explanation from a different angle (an analogy, a comparison to a language you know).
  • When the script runs, ask the agent to quiz you with two or three questions about what you wrote.

3. Finish the lesson

Run /trainee-finish-lesson and work through it.

When you're done, the agent will write a file to the mentor-handoff/ folder. It contains a summary of your session. Give that file to your mentor before your next review.

Profile picture of Henning Koch
Henning Koch
License
Source code in this card is licensed under the MIT License.
Posted by Henning Koch to makandra Curriculum (2026-08-31 15:28)