Documentation / guides
Errors and Auditing
Handle unknown, malformed, denied, and missing skills without leaking instruction bodies into audit records.
Skill preparation fails securely before any gate opens when arguments, paths, or workspace snapshots are invalid. Execution failures are returned to the model as tool-result error text.
Failure model
malformed or empty name -> preparation error, no execution
unknown embedded name -> error tool result
missing SKILL.md -> typed SkillNotFoundError
malformed frontmatter -> typed MalformedSkillError
unsafe workspace path -> typed SkillContainmentError
denied requirement -> Harness gate denial
Applications should expose a short recovery hint such as “choose a listed skill,” not fall back to an arbitrary file path.
Audit output
summary := skillTool.AuditSummary(`{"name":"weather-briefing"}`)
// summary == "Skill weather-briefing"
Audit summaries include the requested name only. They never include the Markdown body, which may contain proprietary procedures or untrusted workspace text. Tool start and completion are also visible through the Harness event stream.