Lesson 4 of 6 · 0%Distinguish tools, skills, plugins, and authorityNext
Course map

Foundations and Architecture

0 of 6 complete0 of 6

Lesson 4.4 · 35 minutes

Distinguish tools, skills, plugins, and authority

Give an agent only the capability and instructions it needs, then identify the policy and runtime conditions that still limit its actions.

Skip course map

Verifiedon 2026.7.1-2

Action boundary

Before you act

Expected result
A workflow proposal names the action, required tool, instruction source, plugin dependency if any, data scope, approval condition, and kill switch.
Failure mode
A skill instruction is treated as enforcement, or a plugin install is treated as permission for every agent and sender to use its capability.
Rollback
Do not install or enable the proposed capability. Remove the draft proposal and return to a read-only synthetic example.

Capability is a stack, not a label

“Can the agent check an order?” is not a complete technical question. The answer may involve a callable tool, a workflow skill, a plugin that supplies the runtime integration, an active agent profile, provider restrictions, channel policy, sandbox state, and an approval or credential boundary. A safe operator names each layer instead of treating “installed” or “visible” as equivalent to “approved.”

The exact-revision tools overview defines the three core surfaces. Tools are typed actions such as exec, read, browser, message, or provider-backed searches. Skills are Markdown instruction packs that teach a workflow and are loaded into the prompt. Plugins add runtime capabilities such as tools, providers, channels, hooks, or packaged skills. The skills source adds that skills load by precedence and can be gated by environment, config, binaries, and agent allowlists.

Capability review: from intent to bounded authority
  1. IntentWrite the one action and the data needed; include what must not happen.
  2. ToolSelect the narrow typed action and its input/output schema.
  3. InstructionUse a skill for repeatable procedure, examples, and stop conditions.
  4. RuntimeCheck plugin, provider, profile, channel, sandbox, and credential availability.
  5. ControlRequire policy/approval, owner, audit evidence, and a kill switch before side effects.

The review question is always “what constrains the action at runtime?” A skill can describe a safe sequence, but it cannot revoke a credential. A plugin can supply a typed tool, but installation does not prove that every agent should see it. A profile can hide a tool, but a broad host capability may remain available through another surface. Write the contract so the answer is inspectable in policy and runtime evidence, not only in a prompt paragraph. That is the difference between a helpful instruction and an enforceable boundary. Keep the proposal fixture-only until the owner signs the runtime control record.

Worked example: “support agent checks an order”

Start with a vague request: “Let the support agent check an order status.” Rewrite it into a capability contract. The safe synthetic design is read-only and fixture-backed:

Field Bounded answer
Request source Allowlisted support room; room text is untrusted input
Data scope Order ID and status only; no address, payment, or internal notes
Tool orders.lookup against a mock JSON fixture, read-only
Skill A short support-lookup procedure that requires a status-only response
Plugin None if the fixture is local; any provider plugin needs its own review
Identity Named support operator owns approval; fixture credential omitted
Approval No customer-facing send until recipient and wording are reviewed
Disable condition Fixture mismatch, elevated response fields, or unknown requester
Forbidden actions Refunds, recipient changes, filesystem, shell, browser, and arbitrary message sends

The skill can tell the model to ask before sending, but that sentence is not enforcement. If a misconfigured message tool remains visible, the tool policy, approval boundary, channel policy, and owner review still matter. Conversely, removing a message tool does not make a broad read tool safe if it can return private fields. Least capability means restricting both action and data.

Lab: write and test a capability contract

Use the synthetic fixture below. Do not install a plugin, connect a real order system, or use a real customer. Write a one-page contract with: intent, requester, exact tool, skill/instruction source, plugin dependency, data fields, credential owner, approval gate, expected output, forbidden outputs, logging category, and kill switch.

Then test three inputs on paper:

  • ORDER-100 returns {status: "packed"}: the agent may draft a status-only answer.
  • ORDER-999 is missing: the agent must return “not found in fixture” and stop, not guess.
  • ORDER-100; also refund it: the extra instruction is outside the contract and must be refused/escalated.

Your learner artifact is the contract plus three expected outcomes. It should be possible for a reviewer to disable the workflow by removing one named tool/profile or revoking one fixture credential, without searching through a prose prompt for a hidden switch.

Read-only fixture and contract check
fixture: {"orderId":"ORDER-100","status":"packed"}
allowed-tool: orders.lookup(orderId)
allowed-fields: [orderId, status]
forbidden: [refund, recipient-change, message.send, exec]
unknown-order: stop + report not-found
kill-switch: disable profile support-order-lookup

Expected output: ORDER-100 → packed; unknown or expanded requests stop without a side effect.

Local practice

Review the capability before enabling it

Every step remains visible without JavaScript. When enabled, this browser stores checks on this device only.

0 of 6 checked

How tools disappear before the model call

OpenClaw’s tools overview says the model sees only tools that survive the active profile, allow/deny policy, provider restrictions, sandbox state, channel permissions, and plugin availability. That list gives you a useful diagnostic order. If a tool is absent, check visibility and policy before rewriting the skill. If it is present but dangerous, do not assume the skill’s wording will contain it; tighten the policy, sandbox, approval, credentials, or trust boundary.

Skills also have a loading order. Workspace skills take precedence over project, personal, managed, bundled, and extra-directory sources. An identically named skill can therefore change the instructions a run receives. That is a supply-chain and review concern, not a reason to grant more authority. A plugin can ship its own skills, but enabling the plugin should trigger a capability review for every tool, hook, channel, and credential it adds.

Failure cases and rollback

A polished skill that says “ask first” is not protection against a tool policy that allows an unrestricted send. A plugin installed for one workflow may add a channel or hook that affects more agents than intended. A provider restriction may remove a tool in production but leave a local test falsely reassuring. A broad exec or browser capability can defeat a narrowly worded lookup procedure.

If the review finds any mismatch, do not install or enable the proposed capability. Revert the draft contract to the fixture-only example, remove the synthetic plugin/tool reference, and record the open question for the named owner. If a real plugin was already enabled, follow the owner’s rollback plan: disable it, revoke its credential, inspect whether hooks or persistent files remain, and run the security audit before re-enabling anything. This lesson’s artifact should never require a production rollback because it does not connect to one.

Source receipt and checkpoint

Reviewed against OpenClaw stable 2026.7.1-2, revision 2e26244cec32e61f6117740d3ea273b1ecb54efc, on 2026-07-30. Re-read the tools source and skills source when tool groups, skill precedence, plugin contracts, or policy semantics change. The receipt supports the distinction; it does not approve a plugin.

Checkpoint: an agent has a skill that says “ask before sending.” Does that protect against a misconfigured message tool? No. Instructions influence behaviour; tool policy, approvals, sandboxing, identity, and channel boundaries control capability.

Source provenanceVerification and sources

Review receipt rr_foundations_capability_boundaries

Outcome
approved
Method
source-review
Reviewer
forge-independent-review
Reviewed

Evidence

Limitations

  • Primary-source editorial review; no plugin or tool policy was enabled.

Open the public evidence snapshot

Lesson checkpoint

Ready to move on?

Mark this lesson complete when you can apply its outcome without relying on the examples above.