{
  "skill_name": "screenshot",
  "evals": [
    {
      "id": 1,
      "prompt": "Take a screenshot of the app",
      "expected_output": "The skill uses Sweetlink to capture a screenshot of the running application",
      "expectations": [
        "Uses Sweetlink screenshot command to capture the current page",
        "Returns or saves the screenshot image",
        "Does not use Playwright or other browser automation"
      ],
      "assertions": [
        {
          "type": "skill_used",
          "name": "screenshot",
          "description": "Routes generic app screenshot requests to screenshot."
        },
        {
          "type": "command_matches",
          "pattern": "sweetlink screenshot",
          "description": "Uses Sweetlink for dev-server screenshot capture."
        },
        {
          "type": "file_created",
          "path": ".tmp/screenshots",
          "description": "Saves screenshots under the project-relative screenshot directory."
        }
      ]
    },
    {
      "id": 2,
      "prompt": "Screenshot the homepage",
      "expected_output": "The skill captures a screenshot of the specified page (homepage)",
      "expectations": [
        "Navigates to or targets the homepage URL/path",
        "Uses Sweetlink screenshot command",
        "Returns the captured screenshot for review"
      ],
      "assertions": [
        {
          "type": "skill_used",
          "name": "screenshot",
          "description": "Routes homepage screenshot requests to screenshot."
        },
        {
          "type": "command_matches",
          "pattern": "sweetlink screenshot.*(--url|homepage|localhost)",
          "description": "Targets the requested homepage through the screenshot command."
        },
        {
          "type": "output_not_contains",
          "value": "/tmp/",
          "description": "Does not save the screenshot to a global temp directory."
        }
      ]
    },
    {
      "id": 3,
      "prompt": "Take screenshots at mobile, tablet, and desktop breakpoints",
      "expected_output": "This should NOT trigger the single screenshot skill. Multi-viewport screenshots are handled by responsive-screenshots.",
      "expectations": [
        "Does NOT trigger screenshot skill for multi-viewport capture",
        "Routes to responsive-screenshots instead",
        "Single screenshot skill handles only one viewport at a time"
      ],
      "assertions": [
        {
          "type": "skill_not_used",
          "name": "screenshot",
          "description": "Multi-viewport capture is outside the single screenshot skill."
        },
        {
          "type": "skill_used",
          "name": "responsive-screenshots",
          "description": "Routes breakpoint screenshots to responsive-screenshots."
        },
        {
          "type": "command_matches",
          "pattern": "sweetlink screenshot.*(--responsive|--viewport)",
          "description": "Uses responsive screenshot capture flags."
        }
      ]
    }
  ]
}
