{
  "skill_name": "myai-content-ideation",
  "evals": [
    {
      "id": 0,
      "name": "enterprise-saas",
      "prompt": "Research the topic of AI-powered customer support automation for B2B SaaS companies. Audience: CTOs and VP Engineering at mid-market SaaS companies (100-500 employees). Content type: blog-post. Word count: 2000.",
      "expected_output": "Themes JSON with 2-4 themes, ideation.md with research, plan.md with article structure, content stubs in content-queue/",
      "files": [],
      "assertions": [
        {
          "id": "themes-file-exists",
          "text": "content-themes.json exists and is valid JSON",
          "type": "file_check"
        },
        {
          "id": "themes-count",
          "text": "content-themes.json contains 2-4 themes",
          "type": "content_check"
        },
        {
          "id": "themes-have-required-fields",
          "text": "Each theme has title, description, strategy, and referenceUrls fields",
          "type": "content_check"
        },
        {
          "id": "themes-valid-strategies",
          "text": "Each theme strategy is one of: Gap Analysis, Current Trends, Related Subject, Hub and Spoke, Unique Angle, Venn Diagram, or a custom strategy with rationale",
          "type": "content_check"
        },
        {
          "id": "ideation-file-exists",
          "text": ".content-session/ideation.md exists and follows the template structure",
          "type": "file_check"
        },
        {
          "id": "ideation-has-sources",
          "text": "ideation.md contains at least 3 sourced facts with URLs",
          "type": "content_check"
        },
        {
          "id": "ideation-has-content-gaps",
          "text": "ideation.md identifies at least 2 content gaps",
          "type": "content_check"
        },
        {
          "id": "plan-file-exists",
          "text": ".content-session/plan.md exists and follows the plan template",
          "type": "file_check"
        },
        {
          "id": "plan-word-counts",
          "text": "plan.md section word counts sum to approximately 2000 words (+/-5%)",
          "type": "content_check"
        },
        {
          "id": "stubs-created",
          "text": "Content stubs exist in content-queue/ with one stub per theme",
          "type": "file_check"
        },
        {
          "id": "stubs-have-frontmatter",
          "text": "Each content stub has valid YAML frontmatter with required fields (title, mode, content_type, status, strategy, audience, keywords, references)",
          "type": "content_check"
        }
      ]
    },
    {
      "id": 1,
      "name": "edge-computing",
      "prompt": "Research edge computing and WebAssembly for IoT applications. Audience: backend developers and DevOps engineers building IoT platforms. Content type: technical tutorial. Tone: conversational. Word count: 2500.",
      "expected_output": "Themes JSON, ideation.md, plan.md with tutorial structure, content stubs reflecting technical tutorial type and conversational tone",
      "files": [],
      "assertions": [
        {
          "id": "themes-file-exists",
          "text": "content-themes.json exists and is valid JSON",
          "type": "file_check"
        },
        {
          "id": "themes-count",
          "text": "content-themes.json contains 2-4 themes",
          "type": "content_check"
        },
        {
          "id": "themes-distinct",
          "text": "Themes are meaningfully different from each other (not just variations of the same angle)",
          "type": "content_check"
        },
        {
          "id": "ideation-file-exists",
          "text": ".content-session/ideation.md exists with research findings",
          "type": "file_check"
        },
        {
          "id": "ideation-contrarian-viewpoint",
          "text": "ideation.md includes at least one contrarian or alternative viewpoint",
          "type": "content_check"
        },
        {
          "id": "plan-content-type",
          "text": "plan.md reflects technical tutorial content type (not generic blog post)",
          "type": "content_check"
        },
        {
          "id": "plan-tone",
          "text": "plan.md specifies conversational tone",
          "type": "content_check"
        },
        {
          "id": "plan-word-count-target",
          "text": "plan.md targets 2500 words total across sections",
          "type": "content_check"
        },
        {
          "id": "stubs-created",
          "text": "Content stubs exist in content-queue/ with correct content_type and tone",
          "type": "file_check"
        },
        {
          "id": "reference-urls-real",
          "text": "Theme referenceUrls are plausible real URLs (not example.com placeholders)",
          "type": "content_check"
        }
      ]
    },
    {
      "id": 2,
      "name": "green-cloud",
      "prompt": "Research sustainable cloud infrastructure and green computing practices. Audience: infrastructure architects and sustainability officers at enterprise companies. Content type: blog-post. Write themes to .content-session/green-cloud/themes.json. Job directory: content-queue/job20260311_01/",
      "expected_output": "Themes written to custom path, ideation.md, plan.md, stubs in specified job directory",
      "files": [],
      "assertions": [
        {
          "id": "themes-custom-path",
          "text": "Themes written to .content-session/green-cloud/themes.json (NOT content-themes.json)",
          "type": "file_check"
        },
        {
          "id": "themes-valid-json",
          "text": "themes.json is valid JSON with lastUpdated and themes array",
          "type": "content_check"
        },
        {
          "id": "themes-count",
          "text": "themes.json contains 2-4 themes",
          "type": "content_check"
        },
        {
          "id": "ideation-file-exists",
          "text": ".content-session/ideation.md exists",
          "type": "file_check"
        },
        {
          "id": "plan-file-exists",
          "text": ".content-session/plan.md exists",
          "type": "file_check"
        },
        {
          "id": "stubs-in-specified-dir",
          "text": "Content stubs are in content-queue/job20260311_01/ (the specified job directory)",
          "type": "file_check"
        },
        {
          "id": "stubs-match-themes",
          "text": "Number of stubs matches number of themes (one stub per theme)",
          "type": "content_check"
        },
        {
          "id": "no-root-themes-file",
          "text": "No content-themes.json created at project root (should use custom path only)",
          "type": "file_check"
        },
        {
          "id": "stubs-audience-correct",
          "text": "Stub frontmatter audience field references infrastructure architects and sustainability officers",
          "type": "content_check"
        }
      ]
    }
  ]
}
