MCP vs Rules vs Skills vs Scripts
Snapshot
~85 sec
Use the smallest durable surface for the job. Rules constrain behavior, skills encode a reusable workflow, scripts perform deterministic local work, and MCP exposes live data or actions across a protocol boundary. Combining them is often stronger than forcing every need into MCP.
You will learn
- Distinguish standing constraints, reusable workflows, deterministic automation, and live context.
- Select a rule, skill, script, or MCP capability from the shape of the need.
- Compose the four surfaces without assuming any one of them guarantees a safe result.
Target outcome
You can place a game-development responsibility on the smallest surface that keeps ownership, cost, and verification clear.
Visual walkthrough
Visual walkthrough
~7 min
Four durable surfaces
Rule
A standing project constraint, such as an AGENTS.md instruction that scene writes require explicit approval.
Skill
A reusable method that teaches an agent how to perform a bounded workflow consistently.
Script
Deterministic local automation, such as a build-validation command that exits nonzero on failure.
MCP
A protocol surface for live context or actions, such as a tool that reads filtered Unity console errors.
Compare the four surfaces on the same questions
Approach Best fit Concrete example Common misuse RuleKeep a standing constraint close to the project. Behavior that should remain true across tasks, agents, and sessions. AGENTS.md says Unity source is read-only unless the owner explicitly asks for a change. Turning a long procedure into a rule makes every task carry unnecessary instructions. SkillPackage a reusable workflow and its decision guidance. A method used repeatedly but only when a matching task activates it. A generic Unity diagnosis skill sequences evidence collection, hypothesis review, and verification. Using a skill for deterministic file checks adds interpretation where a script would be clearer. ScriptRun repeatable local work with deterministic inputs and exits. Formatting, validation, conversion, build checks, or other repeatable computation. validate-build.sh runs tests, checks expected artifacts, and returns a failing exit code when evidence is missing. Wrapping a deterministic command in a broad model tool can increase cost and reduce predictability. MCPExpose bounded live context or actions to a compatible client. Data or operations that live behind a server boundary and must be discovered at runtime. read_console(severity, limit) returns current Unity errors without copying the entire console. A single get_everything tool hides ownership, expands context, and makes permission review vague. Route the need to the smallest durable surface
Start with the shape of the responsibility. The branches can recombine in one workflow, but each surface keeps one primary job.
Name the responsibility
Is this a constraint, a method, deterministic work, or live project access?
must always hold
Standing constraint
Keep it as a project rule that is always available.
AGENTS.md: require approval before Unity writesconstrains
method repeats
Reusable method
Package the decision sequence as an on-demand skill.
guides
same input, same check
Deterministic local work
Use a script with explicit inputs, outputs, and exit status.
./validate-build.shreports
requires current context
Live data or action
Expose a narrow MCP resource or tool through a controlled server.
read_console(severity: "error", limit: 10)returns
Verify the result
Review output, permissions, tests, and project state before claiming completion.
Start with the shape of the responsibility. The branches can recombine in one workflow, but each surface keeps one primary job. Reading order
- Name the responsibility
Is this a constraint, a method, deterministic work, or live project access?
- Standing constraint
Keep it as a project rule that is always available.
AGENTS.md: require approval before Unity writes - Reusable method
Package the decision sequence as an on-demand skill.
- Deterministic local work
Use a script with explicit inputs, outputs, and exit status.
./validate-build.sh - Live data or action
Expose a narrow MCP resource or tool through a controlled server.
read_console(severity: "error", limit: 10) - Verify the result
Review output, permissions, tests, and project state before claiming completion.
Connection explanations
- Name the responsibility → Standing constraint (must always hold)
A standing safety boundary belongs in a rule because it must shape every matching task.
- Name the responsibility → Reusable method (method repeats)
A reusable diagnosis method belongs in a skill so it loads when the workflow is needed.
- Name the responsibility → Deterministic local work (same input, same check)
A repeatable build check belongs in a script because its result should not depend on model interpretation.
- Name the responsibility → Live data or action (requires current context)
Current Unity context belongs behind a narrow MCP capability when a compatible client must access it.
- Standing constraint → Verify the result (constrains)
The rule limits what may happen, but evidence still shows whether the task succeeded.
- Reusable method → Verify the result (guides)
The skill guides the sequence, while review and tests validate its outcome.
- Deterministic local work → Verify the result (reports)
The script contributes reproducible output and an explicit pass or fail signal.
- Live data or action → Verify the result (returns)
The MCP result supplies current context; it does not prove the interpretation by itself.
Compose a controlled Unity diagnosis
A team wants all Unity writes to require approval, a repeatable diagnosis method, a deterministic build check, and access to current console errors. Which surface owns each responsibility?
Expected reasoning
Put the write-approval boundary in AGENTS.md or the project's rule file. Put the reusable diagnosis sequence in a skill. Keep build validation in a deterministic script. Expose filtered current console errors through a read-only MCP tool. The workflow can use all four, but review and test evidence still determine whether the result is acceptable.
Go deeper
- Model Context Protocol: Build with Agent SkillsOfficial guidance for packaging reusable expertise alongside MCP capabilities.
- Codex: AGENTS.md guidanceOfficial guidance for persistent repository instructions and scoped overrides.