Files
claude-skills-reference/eval/skills/seo-audit.yaml
Leo 75fa9de2bb feat: add promptfoo eval pipeline for skill quality testing
- Add eval/ directory with 10 pilot skill eval configs
- Add GitHub Action (skill-eval.yml) for automated eval on PR
- Add generate-eval-config.py script for bootstrapping new evals
- Add reusable assertion helpers (skill-quality.js)
- Add eval README with setup and usage docs

Skills covered: copywriting, cto-advisor, seo-audit, content-strategy,
aws-solution-architect, agile-product-owner, senior-frontend,
senior-security, mcp-server-builder, launch-strategy

CI integration:
- Triggers on PR to dev when SKILL.md files change
- Detects which skills changed and runs only those evals
- Posts results as PR comments (non-blocking)
- Uploads full results as artifacts

No existing files modified.
2026-03-12 05:39:24 +01:00

43 lines
1.6 KiB
YAML

# Eval: seo-audit
# Source: marketing-skill/seo-audit/SKILL.md
# Run: npx promptfoo@latest eval -c eval/skills/seo-audit.yaml
description: "Evaluate SEO audit skill"
prompts:
- |
You are an expert AI assistant. You have the following skill loaded:
---BEGIN SKILL---
{{skill_content}}
---END SKILL---
Now complete this task: {{task}}
providers:
- id: anthropic:messages:claude-sonnet-4-6
config:
max_tokens: 4096
temperature: 0.7
tests:
- vars:
skill_content: file://../../marketing-skill/seo-audit/SKILL.md
task: "Perform an SEO audit checklist for a new SaaS landing page targeting the keyword 'AI code review tool'. The page has a 3-second load time, no meta description, and 200 words of content."
assert:
- type: llm-rubric
value: "Response identifies specific SEO issues (load time, missing meta description, thin content) rather than generic advice"
- type: llm-rubric
value: "Response provides actionable fixes with priority ordering"
- type: llm-rubric
value: "Response references on-page SEO factors like title tags, headings, and internal linking"
- vars:
skill_content: file://../../marketing-skill/seo-audit/SKILL.md
task: "Create a keyword strategy for a B2B SaaS in the project management space. We're a small startup competing against Asana, Monday.com, and Jira."
assert:
- type: llm-rubric
value: "Response suggests long-tail keywords rather than only head terms where competition is impossible"
- type: llm-rubric
value: "Response organizes keywords by intent (informational, commercial, transactional)"