Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Skills

A skill is a Markdown workflow the agent can load when a task needs it. Use skills for investigation steps, decision criteria, and response requirements. Put calculations and required execution order in tools or workflows.

amodal/skills/
├── triage/
│   └── SKILL.md
└── account-access/
    └── SKILL.md

SKILL.md Format

Heading-based

# Skill: Account Access Triage
 
Check account-access tickets and recommend the next support action.
Trigger: When the user asks about login failure, password reset, or account lock.
 
## Behavior
 
1. Load the ticket and identify the affected account.
2. Load the account-access policy with load_knowledge.
3. Check whether identity verification is complete.
4. If verification is missing, recommend verification before account changes.
5. Return the ticket status, confirmed facts, missing information, and next action.
 
## Constraints
 
- Do not request passwords or credentials.
- Do not claim a reset succeeded unless the account system confirms it.

Use the parsed name, Account Access Triage, when referencing this skill in an agent's skills list. The directory name does not override it.

Frontmatter-based

Use frontmatter when you need a stable machine-readable name, eager loading, or tool declarations:

---
name: account-access
description: Check account-access tickets and recommend the next support action.
trigger: When the user asks about login failure, password reset, or account lock.
load: on-demand
allowedTools: [lookup_ticket, load_knowledge]
---
 
1. Load the ticket and the account-access policy.
2. Check identity-verification status before recommending changes.
3. Return confirmed facts, missing information, and the next action.

The example assumes an authored lookup_ticket tool and an account-access knowledge document. Declare only tools your agent provides.

Parsed Fields

FieldSourceMeaning
name# Skill: Name or frontmatterName used by load_skill and agent resource declarations.
descriptionText before the first ## section, excluding Trigger:, or frontmatterShort description included in the skill index. Heading-format files without a ## section have an empty description.
triggerOne unwrapped Trigger: line or frontmatterTells the model when the skill applies.
bodyFrom the first ## section onward, or the content after frontmatterInstructions returned by load_skill.
loadFrontmatteron-demand (default) or eager. Other values warn and use the default.
allowedToolsFrontmatterTool names added to a root agent's scope when it declares this skill.
resultToolFrontmatterNames the tool through which the skill should deliver its result.

Choose one format per file. A # Skill: heading takes precedence over frontmatter, so combining them prevents frontmatter-only options from being read.

Skill Activation

A root session's prompt lists its available skills by name, trigger, and description. The model calls load_skill to retrieve an on-demand body. load: eager includes the body in the initial prompt.

A named agent exposes only the skills in its skills list. Unscoped chat exposes the bundle's skills. If agents/default/ exists, an omitted chat agent selects that scoped agent. A delegated subagent uses its own prompt and declared tools; include load_skill in its tools if it needs to load skills available through the parent registry.

A trigger describes when to use a skill; it does not schedule work or guarantee activation. Verify activation with a skill_loaded: assertion in an eval.

Skill Chaining

The model can load several skills during one conversation. For example, ticket triage may lead to account-access review and then billing review. Describe the transition when it matters:

If the ticket also disputes a charge, load billing-review before recommending a billing action.

Use a composite tool when every step must run in a fixed order. Skill instructions alone do not enforce that order.

Writing Skills

  • State which records to load and which policy to apply.
  • Name a specialist when delegation is useful, and declare it on the agent.
  • Include branches for missing data and conflicting evidence.
  • Define the expected output and when to stop.
  • Base decisions on observable conditions. Avoid invented confidence percentages.
  • Enforce permissions and approval in code; a constraint in Markdown guides the model.

Keep each skill focused on one workflow. Store reusable facts in knowledge so several skills can refer to the same policy.