$npx -y skills add indranilbanerjee/digital-marketing-pro --skill eval-contentEvaluate content quality. Use when: scoring drafts, checking hallucinations, or assessing brand voice compliance.
| 1 | # /digital-marketing-pro:eval-content |
| 2 | |
| 3 | ## Purpose |
| 4 | |
| 5 | Comprehensive content evaluation using the full eval pipeline. Runs content through six scoring dimensions — content quality, brand voice, hallucination risk, claim verification, output structure, and readability — to produce a composite score with letter grade, flag specific issues with fix suggestions, and compare against brand quality baselines. This is the go-to command before any content goes to publication, client review, or campaign launch. |
| 6 | |
| 7 | Every evaluation is logged to the quality tracker so regression detection, trend analysis, and brand-level quality reporting work continuously. If the brand has custom thresholds or dimension weights configured via /digital-marketing-pro:eval-config, those are applied automatically — otherwise industry-standard defaults are used. |
| 8 | |
| 9 | ## Input Required |
| 10 | |
| 11 | The user must provide (or will be prompted for): |
| 12 | |
| 13 | - **Content to evaluate**: The text to score — provided inline, as a pasted block, or as a file path. Supports any marketing content format: blog post, email, ad copy, social post, landing page, press release, content brief, campaign plan, or custom |
| 14 | - **Content type** (optional): One of `blog_post`, `email`, `ad_copy`, `social_post`, `landing_page`, `press_release`, `content_brief`, `campaign_plan`, or `custom`. If omitted, the eval runner auto-detects based on content structure and length. Content type determines which built-in schema is used for structure validation and which readability benchmarks apply |
| 15 | - **Evidence file** (optional): A JSON file containing verifiable claims with source data — required for full claim verification scoring. Format: `[{"claim": "...", "source": "...", "date": "...", "verified": true}]`. If not provided, claim verification runs in extraction-only mode and flags all specific claims as "unverified — evidence recommended" |
| 16 | - **Schema** (optional): A custom JSON schema file for structure validation — used when the content type does not match any of the 8 built-in schemas, or when the brand has a custom template that defines required sections, word counts, and formatting rules |
| 17 | |
| 18 | ## Process |
| 19 | |
| 20 | 1. **Load brand context**: Read `~/.claude-marketing/brands/_active-brand.json` for the active slug, then load `~/.claude-marketing/brands/{slug}/profile.json`. Apply brand voice, compliance rules for target markets (`skills/context-engine/compliance-rules.md`), and industry context. Also check for guidelines at `~/.claude-marketing/brands/{slug}/guidelines/_manifest.json` — if present, load restrictions and relevant category files (especially `messaging.md` for voice scoring and `visual-identity.md` for format standards). Check for agency SOPs at `~/.claude-marketing/sops/`. If no brand exists, ask: "Set up a brand first (/digital-marketing-pro:brand-setup)?" — or proceed with defaults. |
| 21 | 2. **Load eval configuration**: Execute `scripts/eval-config-manager.py --brand {slug} --action get-config` to retrieve brand-specific thresholds, dimension weights, and auto-reject rules. If no custom config exists, use defaults from `skills/context-engine/eval-framework-guide.md`. Note which settings are custom vs. default in the output. |
| 22 | 3. **Run full evaluation**: Execute `scripts/eval-runner.py --brand {slug} --action run-full --text "{content}" --content-type {content_type}` with optional `--evidence {evidence_file}` and `--schema {schema_file}` flags. This runs all six dimensions: |
| 23 | - **Content quality** (via content-scorer.py): Depth, originality, accuracy, value to reader, strategic alignment |
| 24 | - **Brand voice** (via brand-voice-scorer.py): Tone match, terminology consistency, personality alignment, guideline compliance |
| 25 | - **Hallucination risk** (via hallucination-detector.py): Unverified statistics, fabricated citations, false specificity, invented quotes, unsupported superlatives |
| 26 | - **Claim verification** (via claim-verifier.py): Cross-reference extracted claims against evidence data — verified, partially verified, unverified, or contradicted |
| 27 | - **Output structure** (via output-validator.py): Required sections present, word count within range, markdown formatting correct, no placeholder text, CTA consistency |
| 28 | - **Readability** (via readability-analyzer.py): Flesch-Kincaid grade, sentence complexity, jargon density, audience-appropriate language level |
| 29 | 4. **Analyze results — classify issues by severity**: Review all dimension scores and individual findings. Classify each issue as: |
| 30 | - **Critical** (must fix before publication): Hallucination flags with high confidence, contradicted claims with evidence mismatch, auto-reject threshold failures, compliance violations |
| 31 | - **Moderate** (should fix, significantly impacts quality): Below-threshold dimension scores, missing required sections, brand voice deviations, readabili |