scenario.json file and optional Ansible playbooks. All scenarios live under a shared root (auto-detected, or set with -p).
Directory Layout
key field inside its scenario.json (the directory path is not used as the key).
scenario.json
The only required file. At minimum, five fields are needed:Required Fields
Optional Fields
Writing Good Tickets
Theticket_body is the exact instruction the agent receives. A few guidelines:
- Describe symptoms, not solutions. “The nginx service is not running after a configuration change” is better than “Fix the nginx config file.”
- Be concrete. Reference the host name, service name, or observable behavior when you know it.
- Keep it realistic. Write it as you would a real support ticket or runbook task.
Scenario Keys and Tags
Thekey is a free-form unique identifier defined inside scenario.json. The runner indexes every discovered scenario by this value, and you select a scenario by passing its key to -s. The key does not have to match the directory path; by convention it is the leaf directory name:
-s token does not match a key exactly, it is treated as a tag. Tags and explicit keys can be mixed:

