Systems Lab

Agent skill

expert-panel

Score, evaluate, and iteratively improve any content or strategy using an auto-assembled panel of domain experts.

activeNeeds a keyActs undeclared1,125 words

Filed under Content and SEO.

From ericosiu/ai-marketing-skills · 21 skills · 3,449 · pushed 2026-08-16

What it does when it runs

Score, evaluate, and iteratively improve any content or strategy using an auto-assembled panel of domain experts. Handles copy, sequences, landing pages, strategy docs, titles, charts, recruiting evaluations, or anything else that needs a quality gate. Recursively iterates until all scores hit 90+ (max 3 rounds). Use when asked to: "expert panel this", "score this", "rate these variants", "quality check this", "panel review", "which version is better", "expert score", "evaluate this copy/strategy/page", or when another skill needs a quality gate on its output. Also triggers on: "score this landing page", "expert panel these email variants", "rate this headline", "panel these charts".

Read from the skill and the 25 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.

Keys and connectors you must supply
  • ANTHROPIC_API_KEY
Hosts it reaches
  • api.anthropic.com
  • feed-url.com
  • feeds.example.com
  • levelingup.beehiiv.com
  • singlebrain.com
  • www.singlegrain.com
  • youtube.com
Tool permissions it declares
No allowed-tools in the frontmatter. It does act, so it runs under whatever permissions your session already grants.
Actions present in the files
shellwrites files

Ask about expert-panel

Opens your assistant with this page's verified links already in the prompt.

Is this safe to install?ClaudeChatGPT
Adapt it to my stackClaudeChatGPT
What else do I need for it to workClaudeChatGPT
Rather ask a human? Talk to Cheetah
git clone --depth 1 --filter=blob:none --sparse https://github.com/ericosiu/ai-marketing-skills.git /tmp/ai-marketing-skills
git -C /tmp/ai-marketing-skills sparse-checkout set "content-ops"
mkdir -p ~/.claude/skills/expert-panel
cp -R "/tmp/ai-marketing-skills/content-ops/." ~/.claude/skills/expert-panel/

Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗

The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.

Before you install: this skill will not complete its job on a bare agent. It needs ANTHROPIC_API_KEY, which you have to obtain separately.

Reproduced in full from ericosiu/ai-marketing-skills/blob/2eb0f34edb8d6111ca8b2930fed92413c9af7002/content-ops/SKILL.md, which is licensed MIT (repository). 1,125 words, 31 headings.

Preamble (runs on skill start)

# Version check (silent if up to date)
python3 telemetry/version_check.py 2>/dev/null || true

# Telemetry opt-in (first run only, then remembers your choice)
python3 telemetry/telemetry_init.py 2>/dev/null || true

Privacy: This skill logs usage locally to ~/.ai-marketing-skills/analytics/. Remote telemetry is opt-in only. No code, file paths, or repo content is ever collected. See telemetry/README.md.


Expert Panel

General-purpose scoring and iterative improvement engine. Auto-assembles the right experts for whatever is being evaluated, scores it, and loops until 90+.


Step 1: Intake — Understand What's Being Scored

Collect or infer from context:

  1. Content/artifact — The thing(s) to score (paste, file path, or URL)
  2. Content type — Copy, sequence, landing page, strategy, title, chart, candidate eval, etc.
  3. Offer context — What's being sold/promoted? To whom? What domain/industry?
  4. Variants — Are there multiple versions to compare? (A/B/C)
  5. Source skill — Is this output from another skill? (e.g., cold-outbound-optimizer) If yes, note the source for feedback-to-source routing in Step 6.

If context is obvious from the conversation, don't ask — just proceed.


Step 2: Auto-Assemble the Expert Panel

Build a panel of 7–10 experts tailored to the content type and domain.

Assembly rules

  1. Start with content-type experts. Read experts/ directory for pre-built panels matching the content type. If an exact match exists (e.g., experts/linkedin.md for a LinkedIn post), use it as the base.

  2. Add domain/offer experts. Based on the offer context, add 1–3 experts who understand the specific industry or domain. Examples:

    • Scoring bakery marketing → add Food & Beverage Marketing Expert
    • Scoring SaaS landing page → add SaaS Conversion Expert
    • Scoring recruiting outreach → add Agency Recruiter + Talent Market Expert
    • Scoring medical device copy → add Healthcare Compliance Expert
  3. Always include these two:

    • AI Writing Detector — See experts/humanizer.md. Weight: 1.5x. Non-negotiable.
    • Brand Voice Match — Checks alignment with the configured brand voice and known rejection patterns from references/patterns.md (if present).
  4. Check learned patterns. If references/patterns.md exists, read it. If any patterns apply to this content type, brief the panel on them. Dock points for known-bad patterns.

  5. Cap at 10 experts. If you have more than 10, merge overlapping roles.

Panel output format

List each expert with: Name, lens/focus, what they check.


Step 3: Select Scoring Rubric

Choose the appropriate rubric from scoring-rubrics/:

Content typeRubric file
Blog, social, email, newsletter, scriptsscoring-rubrics/content-quality.md
Strategy, recommendations, analysisscoring-rubrics/strategic-quality.md
Landing pages, ads, CTAsscoring-rubrics/conversion-quality.md
Charts, data viz, infographicsscoring-rubrics/visual-quality.md
Candidate evaluationsscoring-rubrics/evaluation-quality.md
OtherSynthesize a rubric from the two closest matches

Read the selected rubric file for detailed criteria and point allocation.


Step 4: Score — Recursive Loop Until 90+

Target: 90/100 across all experts. Non-negotiable. Max 3 rounds.

Each round produces:

## Round [N] — Score: [AVG]/100

| Expert | Score | Key Feedback |
|--------|-------|--------------|
| [Name] | [0-100] | [One-line rationale] |
| ... | ... | ... |

**Aggregate:** [weighted average — humanizer at 1.5x]
**Top 3 weaknesses:** [ranked]
**Changes made:** [specific edits addressing each weakness]

Then the revised content/artifact.

Rules

  • Scores must be brutally honest. No padding to 90.
  • Humanizer score weighted 1.5x in the aggregate.
  • If aggregate < 90: identify top 3 weaknesses → revise → next round.
  • If aggregate ≥ 90: finalize and proceed to output.
  • After 3 rounds, if still < 90: return best version with honest score + note on what's holding it back.
  • Show ALL rounds in output — the iteration trail is part of the value.

Variant comparison mode

When scoring multiple variants (A/B/C):

  • Score each variant independently through the full panel.
  • After scoring, rank variants by aggregate score.
  • If top variant is < 90, iterate on the best one (don't iterate all of them).

Step 5: Output Format

Winner + Score (always at top)

## 🏆 Result: [SCORE]/100 — [PASS ✅ | NEEDS WORK ⚠️]

[Final content/artifact here]

**Iterations:** [N] rounds
**Panel:** [Expert names, comma-separated]

If variants: show winner first, then runner-up scores.

## 🏆 Winner: Variant [X] — [SCORE]/100

[Winning content]

### Runner-up scores
- Variant A: 87/100
- Variant B: 82/100
- Variant C: 91/100 ← Winner

Feedback History (below the result)

Show full scoring rounds.

---
<details>
<summary>📊 Scoring History (N rounds)</summary>

[All round tables from Step 4]

</details>

Step 6: Feedback-to-Source (When Scoring Another Skill's Output)

When the scored content came from another skill, generate a Source Improvement Brief:

## 🔁 Feedback for [Source Skill]

### What scored low
- [Pattern]: [Specific example from this content]

### Suggested skill improvements
- [Concrete change to the source skill's process/rubric/prompt]

### Patterns to add to source skill
- [Any recurring weakness that should become a rule]

This brief can be used to update the source skill's SKILL.md or rubrics.


Step 7: Memory — Learn from Approvals and Rejections

After the user approves or rejects panel output:

On approval (score ≥ 90, user accepts)

Note what worked. No action needed unless a new positive pattern emerges.

On rejection (user overrides the panel or rejects 90+ content)

  1. Ask why (or infer from context).
  2. Add a new pattern to references/patterns.md using this format:
## [Pattern Name]
- **Type:** rejection | preference | override
- **Content types:** [which types this applies to]
- **Rule:** [What to always/never do]
- **Example:** [The specific instance that triggered this]
- **Date:** [YYYY-MM-DD]
- **Point dock:** [-N points when detected]
  1. Confirm: "Added pattern: [one-line summary]. Panel will dock [N] points for this going forward."

Pattern enforcement

Every scoring round, check references/patterns.md against the content. Apply point docks before expert scoring begins. This means known-bad patterns are penalized even if individual experts miss them.


Reference Files

FilePurposeWhen to read
experts/humanizer.mdAI writing detection rubric (24 patterns)Every scoring run
experts/[domain].mdPre-built expert panels for common domainsWhen domain matches
scoring-rubrics/content-quality.mdContent scoring rubricContent scoring
scoring-rubrics/strategic-quality.mdStrategy scoring rubricStrategy scoring
scoring-rubrics/conversion-quality.mdLanding page/ad/CTA rubricConversion scoring
scoring-rubrics/visual-quality.mdChart/data viz/infographic rubricVisual scoring
scoring-rubrics/evaluation-quality.mdCandidate/assessment rubricEval scoring
references/patterns.mdLearned rejection patternsEvery scoring run
references/expert-assembly.mdDomain-expert examples for auto-assemblyWhen building unfamiliar panels

Files bundled with it

These load only when the skill asks for them, so they cost nothing until it runs.

Other skills for the same job

Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.

Need help setting it up?

This page tells you what expert-panel does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.

Book a call →

The directory stays free. There is nothing gated behind this.