Interactive Skills

Interactive skills give Achilles Agents the ability to hold guided dialogues that surface every detail required for an action. They coach the user through missing arguments, highlight acceptable values, and route the final response to the action handler with consistent formatting. Because they understand enumerations, aliases, and validation hints, they can turn a loosely phrased reply into structured data without exposing implementation trivia to the user.

Descriptor Snapshot

Every interactive skill pairs a descriptor with an entrypoint module. Authors place iskill.md plus a matching <skill_name>.mjs/.js in .AchillesSkills/<domain>/<skill_name>/. The descriptor explains the scenario, required inputs, and tone; the module must export specs and action so the subsystem can drive the conversation and perform the final action.

# Assign Distribution Region

Map a shipment to the correct distribution centre using internal identifiers while keeping the
conversation business-friendly.

## Required Inputs

- Distribution region code

## Behaviour

- Presents up to ten sample centres per prompt.
- Accepts user input regardless of letter casing.
- Confirms using the human-friendly label while invoking the action with the technical value.

The author describes how the exchange should feel and what information it cannot proceed without. Conversational hints are lifted directly into prompts so the dialogue stays aligned with the intended experience.

Conversation Flow

When an interactive skill starts, Achilles Agents read the descriptor to understand what the user cares about, what is missing, and how to ask for it. The agent will:

This flow ensures that users always know what is still required and why certain answers may have been rejected. The module’s specs and exported functions drive this conversation; without the module the subsystem will refuse to load the skill.

Quality Guards

Interactive skills are built to keep placeholder data out of downstream systems. They recognise patterns such as your_value, not provided, or bare underscores and politely ask for real answers. Fuzzy matching brings the user back on track when spelling slips, and confirmation narratives highlight any fields that were auto-corrected so the user can make a final decision with confidence.

Together, these safeguards let teams trust the output of interactive skills for high-stakes workflows like incident reporting or customer handoffs.