Simplifying AI Coding Agents

A Mental Model for Every Concept

The Current Landscape

Too many concepts

Rules MCP Servers Modes Hooks Tools Sub-agents Commands Skills

Let's break them down, one by one.

1 of 8

Rules

"The Constitution"

  • Instructions that are included in every conversation

  • Codebase conventions, business logic, common pitfalls

  • Multiple rule files get merged into one block of context

  • Stored in version control, right next to your code

RULES.md
AGENTS.md
CLAUDE.md
System Prompt Context

"What should the agent always know, regardless of the task."

2 of 8

Tools

"Building Blocks"

  • The basic functions the agent can call

  • Read files, write files, run shell commands, search code

  • Each tool = one small action the model can take

  • This is what turns a chatbot into an agent

write_file
read_file
run_cmd
search
web_fetch
git_diff

"The building blocks. Everything else is made from these."

3 of 8

Commands

"Shortcuts"

  • Ready-made prompts you can trigger on demand

  • Invoked via slash prefix: /review, /test, /deploy

  • The human presses the button, not the LLM

  • Stored in git, shared across your team

agent ~ terminal
/git-pr
Staging changes...
Generating commit message...
Pushing to branch...
Opening Pull Request...

"A macro for your AI agent. One trigger, a whole workflow."

4 of 8

MCP Servers

"The Universal Adapter"

  • Standardized protocol to connect agents to external systems

  • Handles login and authentication for you

  • Gives your agent access to Slack, Jira, GitHub, Postgres, etc.

  • Each server = a set of new tools the agent can use

Agent
MCP

"USB ports for your agent. Plug in any external service."

5 of 8

Skills

"Bundled Expertise"

  • Multi-step workflows built from tools + prompts

  • Can include scripts, executables, and MCP connections

  • Only loaded when needed, zero cost when not in use

  • Easy to package, share across teams and projects

Scaffold Component
Generate component file
Create test file
Add Storybook story
Update barrel exports
DB Migration
Generate migration SQL
Run against staging DB
Validate schema
Update ORM types

"A tool lets the agent write a file. A skill lets it build a whole feature."

6 of 8

Modes

"Different Hats"

  • Change how the agent behaves for a given task

  • Swap out prompts, tools, and guardrails

  • Give it more or less freedom depending on the job

  • Easy to switch from the editor UI

Architect
Plan and design only
Coder
Reviewer
YOLO

"Same agent, different personality for the job at hand."

7 of 8

Sub-agents

"The Team"

  • Spin up smaller AI workers for specific subtasks

  • Each one gets its own role, scope, and limited tools

  • Can run in parallel for complex refactors

  • Parent agent coordinates and combines the results

Research
Test
Docs

"A manager who delegates tasks to specialized workers."

8 of 8

Hooks

"Event Listeners"

  • User-defined scripts at specific lifecycle events

  • Pre-run: fetch context, lint, validate input

  • Post-run: auto-format, run tests, notify, deploy

  • 100% deterministic in a non-deterministic system

pre_hook.sh
LLM Generation
post_hook.js

"Git hooks, but for your AI agent."

The Key Question

For any concept, just ask:

Who decides? Does the LLM choose to use this, or does a human/script?

When is it active? Always on, on demand, or on a specific event?

Is it deterministic? Same input, same output, every time?

That's a lot to remember.

But what if they all fit into just 3 buckets?

The 3 Pillars

Every concept fits into one of these.

Static Context

The Mind

Who the agent is. Always there, shapes every response.

Rules
Modes
Dynamic Context

The Hands

What the agent can do. Loaded when needed, picked by the LLM.

Tools
MCP
Skills
Sub-agents
Deterministic

The Flow

Hard-coded triggers that bypass LLM decision-making entirely.

Commands user
Hooks system

Best Practices

Static Context

Keep rules short. Every token costs attention.

When the agent makes a mistake, add a rule for it.

Use modes to switch between planning vs. coding.

Dynamic Context

Start by converting your most-used shell commands into skills.

Look for things you repeat: scaffolding, linting, deploys.

Only add more when the agent clearly can't do without it.

The Flow

Use hooks for things that must happen every time.

Commands are shortcuts, not intelligence. Keep them simple.

If it's critical, make it a hook. Don't hope the LLM remembers.

TL;DR

AI coding agents have many concepts. You only need to remember 3 groups.

Static Context·what the agent is(Rules, Modes)
Dynamic Context·what the agent can do(Tools, MCP, Skills, Sub-agents)
Control Flow·deterministic triggers(Commands, Hooks)

Start simple. Add complexity only when the agent clearly fails without it.