📄

Request My Resume

Thank you for your interest! To receive my resume, please reach out to me through any of the following channels:

Claude Code Top 10 Features 06: Runtime Spec

Digital Strategy Review | 2026

Claude Code Top 10 Highlights 06 | Agent Definition is Not a Prompt, But a Runtime Spec

By Uncle Fruit · Reading Time / 8 Min

Agent Definition Runtime Spec Main Visual

Foreword

Many products claim to support custom Agents, but what they actually provide is often just a system prompt. This article is worth a close look because Claude Code has pushed the Agent definition a step further, turning it directly into a runtime specification.

01

Agent Definition is Not a Prompt, But a Runtime Spec

When many products say they “support custom Agents,” what they are actually giving you is:

• A name

• A system prompt

Claude Code’s understanding of Agents is significantly deeper. Here, an Agent definition is not just a simple prompt; it is more like a runtime specification.

The core implementation is concentrated in:

src/tools/AgentTool/loadAgentsDir.ts

src/tools/AgentTool/builtInAgents.ts

src/tools/AgentTool/built-in/*

02

I. What Can a Claude Code Agent Definition Actually Describe?

In Claude Code, an Agent definition can include:

agentType

whenToUse

tools

disallowedTools

skills

mcpServers

hooks

model

effort

permissionMode

maxTurns

background

initialPrompt

memory

isolation

omitClaudeMd

This set of fields illustrates an important fact:

An Agent in Claude Code is not a “prompt persona,” but a “runtime object template.”

Agent Definition Structure Diagram

By elevating the role to a specification, Claude Code allows built-in and custom Agents to share the same execution path.

03

II. Why This Is Far Superior to Custom Prompts

1. It Controls Tool Boundaries

A standard prompt can only “suggest” that a model not misuse tools. An Agent definition, however, can truly prune the tool surface.

For example:

• The Explore Agent forbids editing.

• The Plan Agent remains read-only.

• The Verification Agent emphasizes verification over modification.

These are not behavioral suggestions; they are system boundaries.

2. It Controls Execution Modes

Agents are not just different in “speaking style”; they can also:

• Execute in the background by default.

• Enable memory.

• Specify isolation.

• Specify permission modes.

This means the differences between Agents no longer stop at the prompt tone level but enter the system execution layer.

3. It Controls Dependency Capabilities

Through fields like mcpServers, skills, and hooks, an Agent definition can declare:

• Which capabilities to depend on at startup.

• Which additional mechanisms are required at runtime.

This upgrades the Agent from a “personality template” to a “capability template.”

04

III. Why Claude Code Can Support Agents from Multiple Sources Simultaneously

Because it designed the Agent definition as a unified configuration object, it naturally supports:

• Built-in agents

• User agents

• Project agents

• Policy agents

• Plugin agents

It also supports override priorities.

This is critical. Once you stop hardcoding Agents and instead abstract them into a unified spec, the system can stably support:

• Personal customization

• Project constraints

• Organizational policies

• Plugin extensions

This is true platform capability.

05

IV. Built-in Agents Demonstrate the Power of This Spec

Explore Agent

It is not a prompt that “knows how to search,” but a runtime role that is:

• Read-only

• Focused on rapid search

• Restricted from editing tools

• Configurable in model strategy

Plan Agent

It is not a prompt that “knows how to plan,” but a runtime role that is:

• Read-only

• Geared toward architectural analysis

• Required to output critical files

Verification Agent

It even carries strong behavioral constraints:

• Must run commands

• Must paste output

• Must provide a verdict

• Forbidden from modifying the project directory

This is already very close to an “executable audit rule” rather than just a prompt.

06

V. Why I Call It a Runtime Spec

From a software engineering perspective, an Agent definition in Claude Code is similar to:

• A container image’s runtime configuration

• A K8s workload spec

• A CI job’s execution declaration

Because it determines:

• Which model to use

• What it can do

• What it cannot do

• In what context it runs

• Whether to persist memory

• Whether to carry additional dependency capabilities

The prompt is just one item among them.

This is why I believe this layer is particularly worth studying.

07

VI. What Is the Cost?

Of course, this design also increases system complexity.

1. Agents are no longer just text assets

You need to maintain a full set of runtime fields, not just a prompt file.

2. Requires more robust loading, validation, and override logic

The complexity of loadAgentsDir.ts in Claude Code is precisely the cost of this approach.

3. Plugin and policy sources must be managed very carefully

Because Agents now have real execution capabilities, override order and security boundaries must be clear.

However, the trade-off for this complexity is that Agents truly evolve from “content assets” into “system assets.”

08

VII. Understanding This Highlight in One Diagram

Mermaid Diagram 1

09

VIII. Conclusion

The greatest strength of Claude Code’s Agent Definition is that it stops “Agents” from being mere role-playing characters in the world of prompts and brings them into the runtime engineering system.

The significance of this step is profound:

• Role boundaries are clearer.

• Extension methods are more unified.

• Plugins and policies are easier to integrate.

• Agent behavior is easier to govern.

In summary:

In Claude Code, an Agent is a declaratively defined execution role, not a function call wearing a prompt disguise.

Mr. Guo Logo

© 2026 Mr'Guo

Twitter Github WeChat