Skip to content
learn

Agentic coding with Claude Code and Codex — Mission

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.

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.

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.

  • This site, spareilleux/learn: an Astro site with courses in three languages, a CI that runs the code of each course, and an AGENTS.md that 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 a CLAUDE.md, an AGENTS.md, project skills and subagents, and GaMcpServer, 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.
# 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