@codecademy/gamut

72.3.072.3.1-alpha.f273fd.0
agent-tools/skills/gamut-component-first/evals/evals.json
+agent-tools/skills/gamut-component-first/evals/evals.jsonNew file
+41
Index: package/agent-tools/skills/gamut-component-first/evals/evals.json
===================================================================
--- package/agent-tools/skills/gamut-component-first/evals/evals.json
+++ package/agent-tools/skills/gamut-component-first/evals/evals.json
@@ -0,0 +1,41 @@
+{
+  "skill_name": "gamut-component-first",
+  "evals": [
+    {
+      "id": 1,
+      "prompt": "I'm building a delete button for a list item in this gamut monorepo (@codecademy/gamut). When clicked, I need to show a confirmation prompt asking 'Are you sure you want to delete this item?' with Cancel and Delete buttons, dismissible via Escape or clicking outside. Build this for me as a component called ConfirmDeletePrompt. Save it to ./outputs/ConfirmDeletePrompt.tsx.",
+      "expected_output": "A component built on Gamut's Dialog (or Modal), not a hand-rolled overlay with manual dismiss/positioning logic.",
+      "files": [],
+      "expectations": [
+        "Uses Dialog or Modal from @codecademy/gamut rather than a hand-rolled overlay",
+        "Does not manually implement Escape-key or outside-click dismiss logic",
+        "Does not use a hand-rolled position:fixed/absolute overlay shell",
+        "Confirm/Cancel wired through the component's real props"
+      ]
+    },
+    {
+      "id": 2,
+      "prompt": "In this gamut monorepo (@codecademy/gamut), I need a small icon next to a form label that shows extra explanatory text in a floating bubble when the user hovers or focuses it. Build this as a component called FieldHint. Save it to ./outputs/FieldHint.tsx.",
+      "expected_output": "A component built on Gamut's InfoTip/ToolTip, not a custom hover-triggered popup.",
+      "files": [],
+      "expectations": [
+        "Uses InfoTip or ToolTip from @codecademy/gamut rather than a custom hover popup",
+        "Does not manually wire onMouseEnter/onMouseLeave plus a custom absolutely-positioned div",
+        "Does not reimplement focus-triggered accessibility by hand",
+        "Accessible name/description wiring follows the documented InfoTip/ToolTip pattern"
+      ]
+    },
+    {
+      "id": 3,
+      "prompt": "In this gamut monorepo (@codecademy/gamut), I need a button that, when clicked, shows a small floating list of actions (Edit, Duplicate, Delete) positioned below it, closing when the user clicks elsewhere or presses Escape. Build this as a component called RowActionsMenu. Save it to ./outputs/RowActionsMenu.tsx.",
+      "expected_output": "A component built on Gamut's Menu/MenuItem inside an inline PopoverContainer, not a hand-rolled floating list with manual positioning/dismiss logic.",
+      "files": [],
+      "expectations": [
+        "Uses Menu/MenuItem from @codecademy/gamut for the action list content",
+        "Uses PopoverContainer (inline) for floating positioning",
+        "Does not hand-write outside-click/Escape dismiss logic",
+        "Does not wrap in a bespoke styled(Box) raw-CSS shell"
+      ]
+    }
+  ]
+}