CtrlK
BlogDocsLog inGet started
Tessl Logo

pantheon-ai/ansible-toolkit

Complete ansible toolkit with generation and validation capabilities

97

Quality

97%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

criteria.jsongenerator/evals/scenario-0/

{
  "context": "Tests whether the agent generates a playbook with correct FQCN module names, verb-first task names, quoted octal permissions, boolean true/false syntax, and idempotent service management via handlers. All criteria map to core skill instructions.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "FQCN modules used",
      "description": "Every module call uses its FQCN (e.g., `ansible.builtin.apt`, `ansible.builtin.template`, `ansible.builtin.service`) — no short names like `apt:` or `template:` without the namespace",
      "max_score": 18
    },
    {
      "name": "All tasks have name field",
      "description": "Every task block in the playbook and handlers has a `name:` field — no anonymous tasks",
      "max_score": 12
    },
    {
      "name": "Verb-first task names",
      "description": "Task names begin with an action verb (e.g., 'Install', 'Deploy', 'Ensure', 'Copy', 'Start')",
      "max_score": 8
    },
    {
      "name": "Boolean true/false syntax",
      "description": "Boolean values use `true` or `false` (not `yes` or `no`)",
      "max_score": 10
    },
    {
      "name": "Quoted octal file permissions",
      "description": "Any `mode:` parameter uses a quoted octal string (e.g., `'0644'`, `'0755'`) rather than an unquoted integer",
      "max_score": 10
    },
    {
      "name": "Service restart via handler",
      "description": "The Nginx configuration deployment task uses `notify:` to trigger a handler that restarts/reloads Nginx, rather than a direct `ansible.builtin.service: state: restarted` task",
      "max_score": 15
    },
    {
      "name": "State parameter present",
      "description": "The package installation task and service task both include an explicit `state:` parameter",
      "max_score": 10
    },
    {
      "name": "Playbook header comment",
      "description": "The playbook file starts with a comment block documenting title, description, requirements or variables, and usage command",
      "max_score": 10
    },
    {
      "name": "No shell/command for package install",
      "description": "Nginx installation does NOT use `ansible.builtin.shell` or `ansible.builtin.command` — uses `ansible.builtin.apt` or `ansible.builtin.package`",
      "max_score": 7
    }
  ]
}

generator

SKILL.md

tile.json