/eval-config
Configure content eval settings. Use when: adjusting score thresholds, dimension weights, or auto-reject rules.
$ npx -y skills add indranilbanerjee/digital-marketing-pro --skill eval-config --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/eval-config
Context preview
The summary Claude sees to decide when to auto-load this skill.
Configure content eval settings. Use when: adjusting score thresholds, dimension weights, or auto-reject rules.
SKILL.md
eval-config.SKILL.mdname: eval-config
description: "Configure content eval settings. Use when: adjusting score thresholds, dimension weights, or auto-reject rules."
/digital-marketing-pro:eval-config
Purpose
Configure the evaluation system for a brand. Set minimum quality thresholds per dimension, adjust scoring weights based on industry priorities and content strategy, configure auto-reject thresholds that prevent substandard content from passing evaluation, and define content-type-specific quality standards that apply different bars to different formats.
The eval config determines how strictly content is scored and what the quality bar looks like for the brand. A healthcare company may weight hallucination risk and claim verification heavily while relaxing readability thresholds for technical audiences. A consumer brand may prioritize brand voice and readability while accepting lighter claim verification for awareness content. An agency managing multiple brands can set different configs per brand. This command makes those trade-offs explicit and adjustable rather than buried in defaults.
Input Required
The user must provide (or will be prompted for):
- **Configuration action**: What to do — `view` (show current settings via `get-config`), `set-threshold` (change a minimum score for a dimension; add `--content-type` to scope the override to one content type), `set-weights` (change dimension weight distribution; add `--content-type` for a per-type override), `set-auto-reject` (change the composite score below which content automatically fails), `recommend` (analysis only — get industry-appropriate settings suggestions), or `reset` (restore all settings to defaults). There is no separate `set-content-type` action — content-type overrides are applied by passing `--content-type` to `set-threshold` / `set-weights`.
- **Dimension name** (for set-threshold): The dimension to configure — `content_quality`, `brand_voice`, `hallucination_risk`, `claim_verification`, `output_structure`, `readability`, or `composite`
- **Threshold value** (for set-threshold): The minimum acceptable score (0-100) for the specified dimension. Content scoring below this threshold on any dimension is flagged as a failure on that dimension
- **Weights** (for set-weights): A JSON object mapping dimension names to their weights — e.g., `{"content_quality": 0.25, "brand_voice": 0.20, "hallucination_risk": 0.20, "claim_verification": 0.15, "output_structure": 0.10, "readability": 0.10}`. Weights must sum to approximately 1.0 (tolerance of +/- 0.02 for rounding)
- **Auto-reject score** (for set-auto-reject): The composite score below which content automatically fails regardless of individual dimension scores — typically 40-60 depending on brand standards
- **Content type** (optional, for set-threshold / set-weights via `--content-type`): The content type to configure overrides for, plus the overrides themselves — custom thresholds or weights that apply only to that content type
Process
1. **Load brand context**: Read `~/.claude-marketing/brands/_active-brand.json` for the active slug, then load `~/.claude-marketing/brands/{slug}/profile.json`. Apply industry context for recommendation generation — different industries have different quality priorities. Also check for guidelines at `~/.claude-marketing/brands/{slug}/guidelines/_manifest.json` — if present, note any quality requirements defined in guidelines that should inform threshold recommendations. 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. 2. **Get current configuration**: Execute `python "${CLAUDE_PLUGIN_ROOT}/scripts/eval-config-manager.py" --brand {slug} --action get-config` to retrieve all current settings — global thresholds, dimension weights, auto-reject threshold, and any content-type-specific overrides. Identify which settings are custom (set by the user) and which are defaults. 3. **Present current settings**: Display all configuration in a clear, readable format:
- **Global thresholds**: Each dimension's minimum score with its current value and whether it is custom or default
- **Dimension weights**: Each dimension's weight in the composite score calculation, shown as both decimal and percentage, with a visual indicator of relative importance
- **Auto-reject threshold**: The composite score floor with its current value
- **Content-type overrides**: Any content types with custom settings, showing how they differ from the global config
- **Effective scoring example**: Show what a hypothetical evaluation would look like under the current config — e.g., "With these weights, a piece scoring 90 on content quality but 50 on hallucination risk would get a composite of X"
4. **Process configuration changes**: Based on the requested action:
- **set-threshold**: Validate the threshold value is between 0 and 100. Execute `python "${CLAUDE_PLUGIN_ROOT}/scripts/eval-config-manager.py" --brand {slug} --action set-threshold --dimension {dimension} --threshold {value}` (add `--content-type {type}` to scope it to one content type). Show before/after comparison with the impact on scoring strictness
- **set-weights**: Validate all weights are between 0 and 1 and sum to approximately 1.0. If they do not sum correctly, show the discrepancy and offer to normalize. Execute `python "${CLAUDE_PLUGIN_ROOT}/scripts/eval-config-manager.py" --brand {slug} --action set-weights --weights '{weights_json}'`. Show before/after comparison with an example of how the same content would score differently under old vs. new weights
- **set-auto-reject**: Validate the score is between 0 and 100. Execute `python "${CLAUDE_PLUGIN_ROOT}/scripts/eval-config-manager.py" --brand {slug} --action set-auto-reject --threshold {score}`. Show the impact — how many of the brand's recent evaluations would have been auto-rejected under the new threshold vs. the
Read more
name: eval-config description: "Configure content eval settings. Use when: adjusting score thresholds, dimension weights, or auto-reject rules."
/digital-marketing-pro:eval-config
Purpose
Configure the evaluation system for a brand. Set minimum quality thresholds per dimension, adjust scoring weights based on industry priorities and content strategy, configure auto-reject thresholds that prevent substandard content from passing evaluation, and define content-type-specific quality standards that apply different bars to different formats.
The eval config determines how strictly content is scored and what the quality bar looks like for the brand. A healthcare company may weight hallucination risk and claim verification heavily while relaxing readability thresholds for technical audiences. A consumer brand may prioritize brand voice and readability while accepting lighter claim verification for awareness content. An agency managing multiple brands can set different configs per brand. This command makes those trade-offs explicit and adjustable rather than buried in defaults.
Input Required
The user must provide (or will be prompted for):
- **Configuration action**: What to do — `view` (show current settings via `get-config`), `set-threshold` (change a minimum score for a dimension; add `--content-type` to scope the override to one content type), `set-weights` (change dimension weight distribution; add `--content-type` for a per-type override), `set-auto-reject` (change the composite score below which content automatically fails), `recommend` (analysis only — get industry-appropriate settings suggestions), or `reset` (restore all settings to defaults). There is no separate `set-content-type` action — content-type overrides are applied by passing `--content-type` to `set-threshold` / `set-weights`.
- **Dimension name** (for set-threshold): The dimension to configure — `content_quality`, `brand_voice`, `hallucination_risk`, `claim_verification`, `output_structure`, `readability`, or `composite`
- **Threshold value** (for set-threshold): The minimum acceptable score (0-100) for the specified dimension. Content scoring below this threshold on any dimension is flagged as a failure on that dimension
- **Weights** (for set-weights): A JSON object mapping dimension names to their weights — e.g., `{"content_quality": 0.25, "brand_voice": 0.20, "hallucination_risk": 0.20, "claim_verification": 0.15, "output_structure": 0.10, "readability": 0.10}`. Weights must sum to approximately 1.0 (tolerance of +/- 0.02 for rounding)
- **Auto-reject score** (for set-auto-reject): The composite score below which content automatically fails regardless of individual dimension scores — typically 40-60 depending on brand standards
- **Content type** (optional, for set-threshold / set-weights via `--content-type`): The content type to configure overrides for, plus the overrides themselves — custom thresholds or weights that apply only to that content type
Process
1. **Load brand context**: Read `~/.claude-marketing/brands/_active-brand.json` for the active slug, then load `~/.claude-marketing/brands/{slug}/profile.json`. Apply industry context for recommendation generation — different industries have different quality priorities. Also check for guidelines at `~/.claude-marketing/brands/{slug}/guidelines/_manifest.json` — if present, note any quality requirements defined in guidelines that should inform threshold recommendations. 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. 2. **Get current configuration**: Execute `python "${CLAUDE_PLUGIN_ROOT}/scripts/eval-config-manager.py" --brand {slug} --action get-config` to retrieve all current settings — global thresholds, dimension weights, auto-reject threshold, and any content-type-specific overrides. Identify which settings are custom (set by the user) and which are defaults. 3. **Present current settings**: Display all configuration in a clear, readable format:
- **Global thresholds**: Each dimension's minimum score with its current value and whether it is custom or default
- **Dimension weights**: Each dimension's weight in the composite score calculation, shown as both decimal and percentage, with a visual indicator of relative importance
- **Auto-reject threshold**: The composite score floor with its current value
- **Content-type overrides**: Any content types with custom settings, showing how they differ from the global config
- **Effective scoring example**: Show what a hypothetical evaluation would look like under the current config — e.g., "With these weights, a piece scoring 90 on content quality but 50 on hallucination risk would get a composite of X"
4. **Process configuration changes**: Based on the requested action:
- **set-threshold**: Validate the threshold value is between 0 and 100. Execute `python "${CLAUDE_PLUGIN_ROOT}/scripts/eval-config-manager.py" --brand {slug} --action set-threshold --dimension {dimension} --threshold {value}` (add `--content-type {type}` to scope it to one content type). Show before/after comparison with the impact on scoring strictness
- **set-weights**: Validate all weights are between 0 and 1 and sum to approximately 1.0. If they do not sum correctly, show the discrepancy and offer to normalize. Execute `python "${CLAUDE_PLUGIN_ROOT}/scripts/eval-config-manager.py" --brand {slug} --action set-weights --weights '{weights_json}'`. Show before/after comparison with an example of how the same content would score differently under old vs. new weights
- **set-auto-reject**: Validate the score is between 0 and 100. Execute `python "${CLAUDE_PLUGIN_ROOT}/scripts/eval-config-manager.py" --brand {slug} --action set-auto-reject --threshold {score}`. Show the impact — how many of the brand's recent evaluations would have been auto-rejected under the new threshold vs. the
Your agency just signed a 50-brand client. The previous agency left no playbook. Three brands are bleeding budget, two have stale positioning, one is launching in a regulated jurisdiction next month. Where do you start?
Other skills on digital-marketing-pro.
- /ab-test-plan
Design A/B and multivariate tests. Use when: sample size calculation, testing hypothesis, CRO experimentation.
Open skill - /ad-creative
Generate platform-specific ad copy. Use when: Google RSA, Meta, LinkedIn, TikTok ad variations with quality scoring.
Open skill - /add-integration
Add MCP server integrations. Use when: connecting a custom tool, API, or service to the plugin via .mcp.json.
Open skill - /aeo-audit
Audit AI search visibility. Use when: checking brand presence in ChatGPT, Perplexity, AI Overviews, Gemini.
Open skill - /aeo-geo
Optimize AI engine visibility. Use when: AEO/GEO strategy, citation optimization, entity consistency across AI platforms.
Open skill - /agency-dashboard
Portfolio-level agency dashboard aggregating health metrics across all client brands — campaign status, budget pacing, KPI attainment, team utilization. Use when reviewing cross-brand portfolio health, preparing for agency leadership standups, or getting a single-view snapshot
Open skill

