Skip to content

Customizing agents

This course is about the layer between you and the agent. Instructions, skills, tools and permissions turn a general-purpose coding agent into one that works well in your project.

0%
  1. getting started
  2. halfway
  3. almost there
  4. complete
Lesson plan (19 lessons, 19 live)
#LessonStatusModeMinutesCoversServesExerciseAfterIssue
Project instructions
1Project instructions: AGENTS.mdcustomizing-agents/instructionslivetutorial25 estimateinstructionswrites-project-instructionsdo
Agent skills
2Instruction, skill or tool?customizing-agents/skill-or-tool-or-instructionliveexplanation25 estimateskillschooses-skill-over-tooljudgeProject instructions: AGENTS.md#159
3Writing your first skillcustomizing-agents/first-skilllivetutorial25 estimateskillspackages-a-proceduredoInstruction, skill or tool?#162
4Testing a skill from a fresh sessioncustomizing-agents/testing-a-skilllivetutorial30 estimateskillspackages-a-proceduredoWriting your first skill#165
5Loading only what the skill needscustomizing-agents/progressive-disclosurelivetutorial25 estimateskillsdiscloses-progressivelydoWriting your first skill#167
6Reading a plugin before you install itcustomizing-agents/pluginsliveexplanation25 estimateskillsevaluates-a-pluginjudgeWriting your first skill#170
Connecting tools with MCP
7Connecting an agent to your systems with MCPcustomizing-agents/mcpliveexplanation35 estimatemcpadds-a-toolweighs-tool-costhardens-a-connectiondo
8Connecting your first tool servercustomizing-agents/mcp-first-serverlivetutorial30 estimatemcpadds-a-tooldoConnecting an agent to your systems with MCP#171
9Measuring what a tool server costscustomizing-agents/mcp-tool-costlivetutorial25 estimatemcpweighs-tool-costjudgeConnecting your first tool server#173
10Hardening a tool connectioncustomizing-agents/mcp-hardeninglivetutorial25 estimatemcphardens-a-connectiondoConnecting your first tool server#175
Hooks, permissions, settings
11Choosing a permission mode per taskcustomizing-agents/permission-modeslivetutorial25 estimatehooks-permissionssets-permissionsdoProject instructions: AGENTS.md
12Allowing the commands the task needscustomizing-agents/allowlistslivetutorial25 estimatehooks-permissionssets-permissionsdoChoosing a permission mode per task
13Where a setting comes fromcustomizing-agents/settings-layeringliveexplanation25 estimatehooks-permissionssets-permissionsjudgeAllowing the commands the task needs
14Writing a hook that blocks a mistakecustomizing-agents/first-hooklivetutorial30 estimatehooks-permissionsadds-a-hookdoAllowing the commands the task needs#184
15Delegating to a subagent with narrower permissionscustomizing-agents/subagentslivetutorial25 estimatehooks-permissionssets-permissionsdoAllowing the commands the task needs#187
Memory and session context
16Reading what the agent rememberscustomizing-agents/memory-reviewlivetutorial30 estimatememorymanages-memorydoWriting your first skill#189
17Directing the summary before compactioncustomizing-agents/compactionlivetutorial25 estimatememorymanages-memorydoReading what the agent remembers#192
18Handing work to the next sessioncustomizing-agents/session-handofflivetutorial30 estimatememorymanages-memorydoDirecting the summary before compaction#195
19Turning repeated work into something the agent keepscustomizing-agents/repeated-workliveexplanation30 estimatememorymanages-memoryadds-a-hookjudgeHanding work to the next session, Writing a hook that blocks a mistake#197