{
  "skill_name": "nextjs-tooling",
  "evals": [
    {
      "id": 1,
      "prompt": "Our Next.js CI builds are taking 8 minutes. How can we speed them up?",
      "expected_output": "Cache .next/cache in CI for 50%+ faster builds. Add cache configuration for the .next/cache directory between runs. Also: use Turbopack for local dev (next dev --turbo). Run next lint and tsc in parallel. Analyze bundle with @next/bundle-analyzer to find unnecessary dependencies slowing the build.",
      "assertions": [
        { "type": "contains", "value": ".next/cache" },
        { "type": "contains", "value": "CI" }
      ]
    },
    {
      "id": 2,
      "prompt": "Containerize my Next.js application with Docker for production deployment.",
      "expected_output": "Use output: 'standalone' in next.config.js for optimized Docker builds. Multi-stage Dockerfile: builder stage installs deps and builds, runner stage copies .next/standalone and .next/static. Set NODE_ENV=production. Validate env vars with Zod at runtime startup. Never use npm run start without output: standalone.",
      "assertions": [
        { "type": "contains", "value": "standalone" },
        { "type": "contains", "value": "Docker" }
      ]
    },
    {
      "id": 3,
      "prompt": "How should I manage environment variables in my Next.js project? Some are secrets, some are public.",
      "expected_output": "Server-only secrets (DB_URL, JWT_SECRET): no prefix — only accessible server-side. Public client vars: NEXT_PUBLIC_ prefix — baked into client bundle, never use for secrets. Validate all env vars with Zod at startup to catch missing config early. Use .env.local for local development, never commit it. Secrets go in CI/CD secret management (GitHub Secrets, Vault).",
      "assertions": [
        { "type": "contains", "value": "NEXT_PUBLIC_" },
        { "type": "contains", "value": "Zod" }
      ]
    }
  ],
  "should_not_trigger": [
    "Write a Redux reducer for the shopping cart",
    "Implement pagination for the user list",
    "Add a search feature to the product catalog"
  ]
}
