Example Skill
Use this template for LLM-reliable skills with explicit triggers, deterministic flow, and structured outputs.
When To Use
Use this skill when:
- the user asks for
<task-domain> - the task requires
<specialized workflow/tooling> - direct generic execution is lower quality than the guided flow below
Do not use this skill when:
- required tools are unavailable and no fallback exists
- the request is outside
<task-domain>
Required Inputs
Collect before action:
<required_input_1><required_input_2>
Optional but useful:
<optional_input_1><optional_input_2>
If required inputs are missing, stop and return input_validation_error.
Required Tool Surface
<tool.or.command.1><tool.or.command.2>
If tools are missing, stop and return dependency_failure.
Decision Flow
- classify request type (
<type_a|type_b|type_c>) - choose execution path for that type
- run the matching path only
- if no path applies, return
unsupported_request
Execution Policy
Global rules:
- validate inputs before mutation or side effects
- apply smallest valid change first, then expand
- include verification evidence in output
- never claim completion without running required checks
Execution order:
<step_1><step_2><step_3><verification_step>
Retry And Stop Rules
- retry only transient failures (
timeout,5xx, transport errors), max 3 attempts with exponential backoff - do not auto-retry validation/schema/conflict failures
- stop immediately on destructive actions unless explicit confirmation is present
Output Contract
Every completion MUST include:
{
"skill": "example-skill",
"status": "completed|partial|failed",
"actions": [
{"step": "string", "status": "completed|skipped|failed"}
],
"verification": {
"validated": true,
"checked": true
},
"failure": {
"class": "none|input_validation_error|dependency_failure|validation_failure|runtime_failure|unsupported_request",
"message": "string"
},
"open_items": [],
"next_action": "string"
}