Eonevolve Learning
Unity and DevelopmentUnity and codeBeginner~7 min

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

  1. 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.

  2. Compare the four surfaces on the same questions

    ApproachBest fitConcrete exampleCommon 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.
  3. 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?

    1. must always hold

      Standing constraint

      Keep it as a project rule that is always available.

      AGENTS.md: require approval before Unity writes

      constrains

    2. method repeats

      Reusable method

      Package the decision sequence as an on-demand skill.

      guides

    3. same input, same check

      Deterministic local work

      Use a script with explicit inputs, outputs, and exit status.

      ./validate-build.sh

      reports

    4. 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

    1. Name the responsibility

      Is this a constraint, a method, deterministic work, or live project access?

    2. Standing constraint

      Keep it as a project rule that is always available.

      AGENTS.md: require approval before Unity writes
    3. Reusable method

      Package the decision sequence as an on-demand skill.

    4. Deterministic local work

      Use a script with explicit inputs, outputs, and exit status.

      ./validate-build.sh
    5. Live data or action

      Expose a narrow MCP resource or tool through a controlled server.

      read_console(severity: "error", limit: 10)
    6. Verify the result

      Review output, permissions, tests, and project state before claiming completion.

    Connection explanations

    1. Name the responsibility → Standing constraint (must always hold)

      A standing safety boundary belongs in a rule because it must shape every matching task.

    2. Name the responsibility → Reusable method (method repeats)

      A reusable diagnosis method belongs in a skill so it loads when the workflow is needed.

    3. 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.

    4. 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.

    5. Standing constraint → Verify the result (constrains)

      The rule limits what may happen, but evidence still shows whether the task succeeded.

    6. Reusable method → Verify the result (guides)

      The skill guides the sequence, while review and tests validate its outcome.

    7. Deterministic local work → Verify the result (reports)

      The script contributes reproducible output and an explicit pass or fail signal.

    8. Live data or action → Verify the result (returns)

      The MCP result supplies current context; it does not prove the interpretation by itself.

  4. 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