The Tool nodes cat-harness-tools declares in its tools graph — one instance’s slice of every instance’s tools.
A skill states a capability generically: what an actor needs to know to perform a task. A Tool is one concrete way to exercise it, with an installation, an invocation and typed inputs and outputs. One skill may be satisfied by several tools, and one tool may satisfy several skills.
They are separate graphs and this is the tools one. The relation between them
is satisfies, and it runs from a tool to a skill — this tool is one way
to do that, never this skill is a tool.
How they are invoked, and installed
A tool may declare more than one invocation, so these do not sum to the total.
| invocation | tools |
|---|---|
| inProcess | 1 |
| mcp | 1 |
| installation | tools |
|---|---|
none | 1 |
Does every satisfies name a skill that exists?
Yes — all 1 skills named across 1 tools resolve to a
skill document in this checkout. A satisfies pointing at nothing would be a
tool advertising a capability the graph cannot locate.
Every tool
| tool | what it does | invoked | satisfies | i/o |
|---|---|---|---|---|
bpmn-engineBPMN workflow engine | Run a declared BPMN process as an instance: workflow_start opens one for a subject, workflow_next reports what is enabled, workflow_complete records a step or answers a decision (a DMN-computed one from facts) and REFUSES a step that is not enabled. State is committed under the work plan, so which edge was taken is a record, not a memory. | inProcess mcp | process-state | 2 in / 1 out |