Skill
Execution since 1.0
aow:SkillA reusable capability that an Actor can invoke.
Describes a capability's inputs, outputs, cost, and side effects, so it can be discovered, governed, and replaced.
Attributes
| Attribute | Type | Required | Description |
|---|---|---|---|
input_schema | json | JSON Schema (or equivalent) for the Skill's inputs. | |
output_schema | json | JSON Schema (or equivalent) for the Skill's outputs. | |
binding | string | How to invoke it, for example an MCP tool name, an API endpoint, or a UI automation. | |
side_effects | one of none, reversible, irreversible | Whether invoking the Skill changes external state, and whether that can be undone. | |
latency | string | Typical or maximum latency, for example "< 1s". | |
cost_profile | one of low, medium, high | Relative cost per invocation. |
Every entity also has an id and a type, and may carry label, description, and the provenance facet: version, created_at, created_by, revision_of.
Relationships
| Relationship | Points to | How many | Required | Meaning |
|---|---|---|---|---|
constrained_by | Policy | many | Policies that apply. | |
requires_assurance | Assurance Level | one | The highest Assurance Level at which this work may be done. The effective level is the lowest of the Intent's, the Task's, the Skill's, and the performing Agent's autonomy_level. |
Pointed to by
| From | Relationship | Read backward as |
|---|---|---|
| Actor | has_skill | available to |
| Action | invokes | invoked by |
| Feedback | updates | updated by |
| Guardian | oversees | overseen by |
Notes
side_effects is new in 2.0. It records whether a Skill changes external state and whether the change can be reversed. Assurance Levels AL3 and AL4 do not permit irreversible Skills without approval.
Alignments
| Standard or protocol | Term | Correspondence |
|---|---|---|
| Model Context Protocol | tool | closeMatch |
| Agent2Agent (A2A) | AgentSkill | closeMatch |
| SOA-to-Agentic mapping | Agentic Tools (from Operation / Common Services) | relatedMatch |
Example
Source: examples/claims-processing.jsonld. The example passes all validation checks.
{
"id": "skill-extract-claim-fields",
"type": "Skill",
"label": "extract_claim_fields",
"binding": "mcp://claims-tools/extract_claim_fields",
"side_effects": "none",
"input_schema": {
"type": "object",
"properties": {
"document_uri": {
"type": "string"
}
}
},
"output_schema": {
"type": "object",
"properties": {
"claim_amount": {
"type": "number"
},
"claimant_age": {
"type": "integer"
}
}
},
"latency": "< 5s",
"cost_profile": "medium"
}