P171 · Skill authoring

Action-Verb Tool Abstraction

Separate portable capability instructions from host-specific tool bindings.

Editorially reviewed

These examples and illustrative results are independently authored teaching materials, not measured model results.

Use case

Host A offers source_read while B uses file tools for the same review. The core goal is reading allowed current source, not hardcoding private names everywhere.

Mechanism

Describe capability/input/output, then verify real tools/schema/permissions in adapters. Map arguments/results while preserving error/scope semantics. Missing hosts/capabilities yield gaps, not invented APIs. Use matched fixtures for bytes/confinement; justify core procedure without one model’s failure.

Bad example

Require mcp_vendor_read everywhere and invent it or use unrestricted shell when absent.

Good example

Core reads permitted current source. A maps actual source_read and B verified file read, recording schemas/identity. Unknown hosts report unavailable without scope expansion; both meet equal read/error contracts.

Why the change matters

Capability verbs preserve meaning while bindings handle platforms, reducing duplicated private interfaces with checked execution mappings.

Observable expectation

Teaching adapters return the same same.txt digest and reject out-of-scope reads; absent tools report gaps. A declared read without callable binding is not implementation. Unrun hosts remain designs.

Limits

Abstraction creates neither tools nor authority. Verify details in adapters and do not turn frozen model-transfer claims into this example’s evidence.

Sources and evidence

Read the editorial criteria

Related methods