Home / Blog / Agent engineering
For developers

Agent engineering, from production.

Building with MCP, Claude, OpenAI, and Codex, written from systems we use and run: working code, tool boundaries, agent workflows, and the parts the demos skip.

Claude Code and the Claude Agent SDK

13 posts

Claude Code agent teams: what they are, when to use them

What a team is, how the lead, teammates, task list, and hooks fit, what it costs, and why a production content pipeline runs subagents with file handoff instead.

Read the guide →

Claude Code skills: SKILL.md, triggers, and context cost

SKILL.md frontmatter that changes behavior, dynamic context and its failure modes, the listing budget, and a real /skill-doctor report from a 66-skill setup.

Read the guide →

Claude Code plugins: install, build, and distribute

What a plugin contains, the two-step marketplace install, building with --plugin-dir, the marketplace file, and when a standalone .claude directory is the better answer.

Read the guide →

Claude Code memory: CLAUDE.md, auto memory, and rules

CLAUDE.md scopes and load order, path-scoped rules, how auto memory and its 200-line index work, what survives compaction, and the failure modes of memory at scale.

Read the guide →

The Claude Agent SDK: build your own agent

The same engine that powers Claude Code, driven from your own program. What the SDK gives you in production, how tools and MCP servers plug in, and when to reach for it.

Read the guide →

Claude Code hooks: a practical guide

Hooks are shell commands that run at lifecycle events. The settings.json schema, exit-code behavior, a real guard example, and the gotchas worth knowing.

Read the guide →

Claude Code settings.json: the configuration guide

The files that merge into one config, the permissions rules that decide what runs, env, MCP servers, and the multi-tenant default-deny setup we run across 21 client accounts.

Read the guide →

Claude Code MCP: how to add an MCP server

The claude mcp add command, the three scopes and which file each writes to, the .mcp.json your team commits, and how project servers get approved before they run.

Read the guide →

Claude Code subagents: how and when to use them

Subagents get their own context window and tool scope. How to define one, why the separate context matters, and the honest case for when not to bother.

Read the guide →

Claude Code vs Cursor: an honest 2026 comparison

Two strong tools that have grown into each other's lanes. Where each genuinely wins, the real pricing, and which one to reach for when.

Read the comparison →

Claude Code best practices from 21 client accounts

Default-deny permissions, a CLAUDE.md that earns its tokens, hooks as real guardrails instead of reminders, and knowing when not to delegate.

Read the guide →

How to build an AI agent: four ways, with code

A complete agent loop in fifteen lines, the four ways to build an agent and when each is right, and what actually breaks once it runs on live tools.

Read the guide →

Claude Code commands: what changed, and how to write one

Custom commands are now skills. Where the file goes, the precedence order people get wrong, the zero-based arguments trap, and shell injection inside a command.

Read the guide →