- 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.
43 lines
1.6 KiB
YAML
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)"
|