Skip to content
Adaptive Skills Docs
Esc
navigateopen⌘Jpreview
On this page

Skill / Harness Boundaries

Reference documentation for Skill / Harness Boundaries in Adaptive Skills.

Goal

State the boundary between a skill and a harness so that skills stay portable and harnesses stay reviewable.

A skill is a procedure: how to think, what to ask, what to produce. A harness is an execution environment: which tools, what autonomy, which gates, which sensors, what logs, what rollback.

The two must not be merged. A skill should run unchanged inside a light harness or a strict one; a harness should govern any skill without rewriting it.

Skill is not harness

Skill is not harness — a skill defines thinking and output; a harness defines execution conditions and controls.

This sits alongside skill-knowledge-boundaries.md (skill vs. content) — together they keep a skill free of both embedded content and embedded environment.


What a skill carries

  • the situation it applies to;
  • the questions it asks;
  • the moves it executes;
  • the criteria it uses;
  • the format of its output;
  • its handoff signals.

What a harness carries

  • the autonomy level the agent may operate at;
  • the tools it may use, and at what permission;
  • the actions it must never take;
  • the gates that guard side effects;
  • the sensors expected before judgment;
  • the logs and trace required;
  • the rollback strategy and human-review requirement.

The harness is declared in an Agent Harness Contract (AletheIA: docs/contracts/agent-harness-contract.md), with a fill-in template at ../templates/agent-harness-contract.yaml.


Two orthogonal axes

Execution depth and autonomy are different questions. Do not collapse them.

Axis Question Where it lives
Execution mode how deep should the work run? execution-modes.md (basic / extended / high-risk / multi-agent)
Autonomy level how much authority does the agent hold? Agent Harness Contract (observe / advise / act_with_approval / autonomous_within_bounds)

A debugging/root-cause run (deep) can still be act_with_approval (gated authority). A workflow/basic run (shallow) can still be autonomous_within_bounds if its blast radius is trivial. Pick each axis on its own evidence.


See also

Was this page helpful?