{
  "skill_name": "skill-router",
  "evals": [
    {
      "id": 1,
      "prompt": "Fix the bug where the invoice total ignores the discount column in src/billing/total.py.",
      "expected_output": "The reply names the bmad phase skill it routed into (a build or fix phase), lists the discipline skills it loaded (at least error handling and regression test), and only then starts on the code.",
      "assertions": [
        "The first message names one bmad-* phase skill or states why no phase applies",
        "The reply lists every loaded skill before any file is changed",
        "A regression test is proposed or written before the fix",
        "The reply is in the language the prompt used"
      ]
    },
    {
      "id": 2,
      "prompt": "Schreib mir bitte eine kurze Anleitung für die Installation, für Leute ohne Technikwissen.",
      "expected_output": "The reply routes to a documentation phase, loads the plain-language, easy-language and readability skills, answers in German with short sentences, and explains every technical term on first use.",
      "assertions": [
        "The reply is written in German",
        "The reply names the loaded documentation and plain-language skills",
        "Average sentence length is under 15 words",
        "Every technical term is explained on first use"
      ]
    },
    {
      "id": 3,
      "prompt": "What time zone should our cron jobs run in?",
      "expected_output": "The reply states explicitly that no bmad phase applies to a plain question, still names the discipline skills that match (work report, plain language), and answers directly without creating files.",
      "assertions": [
        "The reply says explicitly why no bmad phase applies",
        "No file is created or modified",
        "The answer is given in the first paragraph"
      ]
    },
    {
      "id": 4,
      "prompt": "Ich habe eine vage Idee für ein neues Geschäftsmodell rund um Fahrrad-Abos. Hilf mir, Ideen zu sammeln und die stärkste zu einer Story für Investoren zu machen.",
      "expected_output": "The reply routes into the cis skills (brainstorming coach or innovation-strategy first, storytelling for the pitch), names them before any work, and answers in German.",
      "assertions": [
        "The first message names a bmad-cis-* skill as the phase skill",
        "The reply names the loaded discipline skills before any content",
        "The reply is written in German",
        "No file is created before the skills are named"
      ]
    },
    {
      "id": 5,
      "prompt": "We have no tests at all in this service. Design a test strategy and set up the framework.",
      "expected_output": "The reply routes into the testarch skills (test-design for the strategy, framework for the setup), names them, and layers the test-design and coverage discipline skills on top.",
      "assertions": [
        "The first message names a bmad-testarch-* skill as the phase skill",
        "The reply names the test discipline skills it loaded",
        "No code is written before the skills are named"
      ]
    },
    {
      "id": 6,
      "prompt": "Ich habe eine Idee: Nachbarn sollen sich Werkzeuge leihen können. Setz das für mich um, ab jetzt autonom bis etwas Geld kostet.",
      "expected_output": "The reply routes into idea-to-production, states the mode (autonomous until cost), writes the state file, and starts with the ideas phase through the installed skills; it answers in German.",
      "assertions": [
        "The first message names idea-to-production as the phase skill",
        "The reply names the mode and the condition it stops on",
        "The reply is written in German",
        "The state file _bmad-output/autopilot/STATE.md is written before the first phase"
      ]
    },
    {
      "id": 7,
      "prompt": "Unser Shop läuft seit drei Jahren in diesem Repo. Ich will, dass Kunden Bestellungen stornieren können. Setz das für mich um.",
      "expected_output": "The reply routes into idea-to-production, records the track brownfield in the state file, starts with the context phase (project-context, existing plans, the existing suite green) instead of brainstorming, and updates the existing PRD, architecture and spec; it answers in German.",
      "assertions": [
        "The first message names idea-to-production as the phase skill",
        "The reply names the track brownfield and says why (existing code, tests or plans)",
        "The reply starts with understanding the existing project and its test suite, not with ideation",
        "The reply updates existing planning documents instead of creating new ones",
        "The reply is written in German"
      ]
    }
  ]
}
