{
	"skill_name": "myai-visual-generator",
	"evals": [
		{
			"id": 1,
			"name": "hero-image-generation",
			"category": "image",
			"prompt": "Generate a hero image for my article about Kubernetes horizontal pod autoscaling. Something modern, abstract, with a cloud-native feel. Save it to my project.",
			"expected_output": "A hero image generated via an AI image service, saved with proper naming and path.",
			"files": [],
			"assertions": [
				"Output mentions using an image generation service (FLUX, Imagen, Gemini, or GPT Image)",
				"Output includes a file path under content-assets/images/ with a date-based directory",
				"Output includes markdown embed code using ![alt](path) syntax",
				"Output includes cost estimation or pricing information for the generation"
			]
		},
		{
			"id": 2,
			"name": "article-infographic-pipeline",
			"category": "infographic",
			"prompt": "I have an article at ./test-article.md about API design patterns. Analyze it and create infographics for the key concepts - a flowchart for the request lifecycle and an architecture diagram for the gateway pattern.",
			"expected_output": "Mermaid diagrams rendered for the article's key concepts.",
			"files": [
				"test-article.md"
			],
			"assertions": [
				"Output indicates the article was read/analyzed before creating diagrams",
				"At least 2 diagrams were created (flowchart and architecture/gateway)",
				"Output mentions Mermaid syntax or .mmd files",
				"Output includes file paths for the rendered diagram images"
			]
		},
		{
			"id": 3,
			"name": "data-infographic-text-accuracy",
			"category": "infographic",
			"prompt": "I need a data infographic showing these SaaS metrics: MRR $45K, churn 2.1%, NPS 72, ARR growth 34% YoY. The text and numbers need to be perfectly legible.",
			"expected_output": "Text-accurate method chosen due to legibility requirement.",
			"files": [],
			"assertions": [
				"Output mentions choosing HTML conversion, Playwright screenshot, or GPT Image due to text accuracy needs",
				"Output references all 4 metrics (MRR, churn, NPS, ARR growth)",
				"Output includes a file path for the generated infographic",
				"Output explains why a text-accurate method was chosen over standard AI generation"
			]
		},
		{
			"id": 4,
			"name": "research-visuals",
			"category": "research",
			"prompt": "Create a research evaluation comparison chart showing transformer vs LSTM vs Mamba performance across 5 benchmarks: GLUE, SQuAD, WMT, MMLU, and HumanEval. Include accuracy scores and inference speed.",
			"expected_output": "A data visualization comparing the 3 models across benchmarks.",
			"files": [],
			"assertions": [
				"Output references all 3 models (transformer, LSTM, Mamba)",
				"Output references at least 4 of the 5 benchmarks",
				"Output includes a file path for the generated visualization",
				"Output used a structured data method (HTML conversion, chart library, PaperBanana, or Mermaid)"
			]
		},
		{
			"id": 5,
			"name": "missing-api-keys-graceful",
			"category": "error-handling",
			"prompt": "Generate a hero image for my blog post about serverless computing.",
			"expected_output": "Graceful error with instructions on configuring API keys.",
			"env_override": {
				"GOOGLE_API_KEY": "",
				"OPENAI_API_KEY": "",
				"FAL_KEY": "",
				"GEMINI_API_KEY": ""
			},
			"assertions": [
				"Output does NOT show a successfully generated image",
				"Output mentions missing or unconfigured API keys",
				"Output provides guidance on how to configure keys (referencing .env or configure command)"
			]
		},
		{
			"id": 6,
			"name": "ambiguous-prompt-clarification",
			"category": "routing",
			"prompt": "Make me a visual.",
			"expected_output": "Skill asks clarifying questions or presents options before generating.",
			"files": [],
			"assertions": [
				"Output asks what kind of visual (image, video, infographic) OR presents options to choose from",
				"Output does NOT immediately generate a final image/video without any clarification",
				"Output asks about the subject matter or purpose of the visual"
			]
		},
		{
			"id": 7,
			"name": "html-conversion-for-charts",
			"category": "infographic",
			"prompt": "Create a comparison table infographic showing pricing tiers: Starter at $9/mo with 1K API calls, Pro at $49/mo with 50K API calls, Enterprise at $199/mo with unlimited calls. Include exact pricing and feature counts.",
			"expected_output": "HTML-to-screenshot path used for text-heavy pricing data.",
			"files": [],
			"assertions": [
				"Output mentions using HTML conversion, Playwright, or screenshot-based approach for text accuracy",
				"Output references all 3 pricing tiers (Starter $9, Pro $49, Enterprise $199)",
				"Output includes a file path for the generated infographic"
			]
		},
		{
			"id": 8,
			"name": "service-fallback-chain",
			"category": "routing",
			"prompt": "Generate an illustration of a distributed microservices mesh using FLUX. High quality, 1792x1024.",
			"expected_output": "Acknowledges FLUX preference, falls back if unavailable.",
			"env_override": {
				"FAL_KEY": ""
			},
			"assertions": [
				"Output acknowledges the user's preference for FLUX",
				"Output indicates FLUX/fal.ai is unavailable (missing FAL_KEY or connection error)",
				"Output selects an alternative service (Gemini, Imagen, or GPT Image) as fallback",
				"Output includes a file path for the generated image"
			]
		},
		{
			"id": 9,
			"name": "standalone-mermaid-diagram",
			"category": "infographic",
			"prompt": "Create a sequence diagram showing OAuth 2.0 authorization code flow between Client, Auth Server, and Resource Server. Include all the standard steps.",
			"expected_output": "Mermaid sequence diagram rendered with OAuth flow.",
			"files": [],
			"assertions": [
				"Output uses Mermaid diagram approach (mentions Mermaid, sequenceDiagram, or .mmd)",
				"Output references all 3 participants (Client, Auth Server, Resource Server)",
				"Output includes standard OAuth steps (authorization, token exchange, resource access)",
				"Output includes a file path for the rendered diagram image"
			]
		}
	],
	"trigger_evals": {
		"should_trigger": [
			"I need a thumbnail for my YouTube video about React hooks",
			"Create a diagram showing our database schema",
			"Generate an image for my blog header",
			"Make me an architecture diagram of our microservices",
			"I want a visual showing the CI/CD pipeline flow",
			"Create a video walkthrough of the dashboard"
		],
		"should_not_trigger": [
			"Can you update my spreadsheet with the latest sales figures?",
			"Help me write CSS to style my image gallery",
			"Fix the broken image link in my README",
			"I need to resize an existing photo",
			"Add alt text to all images in my HTML",
			"Convert my PNG files to WebP format"
		]
	}
}
