Agentic coding with Claude Code and Codex — Mission
Sections
Reading settings
Natural voice recorded for this course, the same in every browser.
No voice for this language in this browser.
More voices
Code and English terms
Off: the page’s voice reads everything, with no pause between two voices.
No voice for this language in this browser.
More voices
More voices: Microsoft Edge has natural online voices, and Windows (Settings › Time & language › Speech), macOS and Android install others.
Why I’m learning this
Section titled “Why I’m learning this”Most of this site was written with a coding agent. I describe a task, the agent reads files, runs commands, edits, runs the tests, and comes back with a diff and a summary. When it works, it’s faster than doing it myself; when it doesn’t, the mistake can be subtle: a test it didn’t run, a rule it forgot, a branch it pushed.
I want to understand what happens between my request and the diff: which files the agent reads, what it’s allowed to run, what it remembers, and how to put guard rails that don’t depend on the agent’s goodwill. Then use it on GuitarAlchemist/ga, a .NET solution of 111 projects, and later on Gaia and IX.
Who this course is for
Section titled “Who this course is for”You write C# or Java professionally. You know your IDE, Git, a build tool and a test framework. You may have used code completion (IntelliSense, GitHub Copilot’s inline suggestions), but you have never let an agent run commands in your repository. You don’t need to know anything about language models.
Coding agents in one table
Section titled “Coding agents in one table”| IDE code completion | Claude Code | Codex CLI | |
|---|---|---|---|
| Runs | inside the editor, per keystroke | in a terminal, as a session | in a terminal, as a session |
| Acts on | the line you are writing | the whole repository: reads, edits, runs commands | the same |
| Asks before acting | never acts | permission modes and rules | sandbox modes and approval policies |
| Project instructions | none | CLAUDE.md |
AGENTS.md |
| Deterministic guard rails | none | hooks | hooks, sandbox |
| Extra tools | editor extensions | MCP servers, skills, subagents | MCP servers, skills, subagents |
| Non-interactive | no | claude -p |
codex exec |
Sources: how Claude Code works, Codex CLI, Codex approvals and security.
The repositories
Section titled “The repositories”- This site, spareilleux/learn: an Astro site with courses in three languages, a CI that runs the code of each course, and an
AGENTS.mdthat has grown with every mistake an agent made here. Several agent sessions work in it at the same time. - GuitarAlchemist/ga, pinned at commit
a826864(2026-09-14): a music theory application in C# and F#, with aCLAUDE.md, anAGENTS.md, project skills and subagents, andGaMcpServer, an MCP server that exposes its music theory to agents. This course reads ga; it never writes to it.
By the end of this course, I will be able to
Section titled “By the end of this course, I will be able to”- explain the loop between the model and the tools, and what an agent can do without asking;
- install Claude Code and the Codex CLI on Windows, Linux and macOS, and run them interactively and from a script;
- write project instructions that both agents read, and know what they can’t enforce;
- block a dangerous command with a hook, package a procedure as a skill, and delegate to a subagent;
- write an MCP server in C#, test it without an agent, and connect it to both agents;
- use these tools on a real .NET solution, and review what the agent did.
Outline
Section titled “Outline”| # | Lesson | You already know |
|---|---|---|
| 1 | Agents, tools and permissions | IDE refactorings, running a build from the terminal |
| 2 | Project context: CLAUDE.md, AGENTS.md, memory and compaction |
README.md, .editorconfig, a wiki page nobody reads |
| 3 | Hooks, skills and subagents | Git hooks, analyzers, scripts in tools/ |
| 4 | MCP: a C# server for both agents | a JSON-RPC or gRPC service, dependency injection |
| 5 | Matt Pocock skills: executable engineering methods | runbooks, TDD, issue decomposition |
| 6 | Sandcastle: one isolated agent run | containers, branches, process isolation |
| 7 | Compound Engineering: close the learning loop | delivery pipelines, postmortems, reusable documentation |
| 8 | Working on GuitarAlchemist/ga: plan, build, test, review (coming next) | a pull request review |
| 9 | Agents in CI, and several agents on one repository | GitHub Actions, branch protection |
| 10 | Gaia and IX: agents that run other agents | orchestration, queues |
| — | Journal |
Resources
Section titled “Resources”- Claude Code documentation, also available as Markdown (index)
- Codex documentation, and the Codex source code
- Model Context Protocol, its specification and the C# SDK
- Agent Skills, the open format of
SKILL.mdfiles that both agents read