agentleFS
admdanielpaulinoadmdanielpaulino/claude-codes/content-ops/SKILL.md

expert-panel

Skill1 starsChanged 7 months agoMITView on GitHub

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".

7 other projects use a version of this.

Adopted by

Steady: 0 new projects took it in the last 4 weeks, none the 4 weeks before.thin data

Week of Sep 13: 0 new projectsWeek of Sep 20: 0 new projectsWeek of Sep 27: 0 new projectsWeek of Oct 4: 0 new projectsWeek of Oct 11: 0 new projectsWeek of Oct 18: 0 new projectsWeek of Oct 25: 0 new projectsWeek of Nov 1: 0 new projects
Sep 2026Oct 2026Nov 2026
New projects taking a version of this file each week, over the 8 weeks our latest run read: only 0 in all, so this is a hint, not a trend.

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

18 rules. 0 are common, 13 are distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 4 edited versions we read keep these.

  • 13

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If yes, note the source for feedback-to-source routing in Step 6.

    line 46
  2. Distinctive:

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

    line 48
  3. Very specific:

    Start with content-type experts: Read experts/ directory for pre-built panels matching the content type.

    line 58
  4. Very specific:

    Check learned patterns: If references/patterns.md exists, read it.

    line 74
  5. Distinctive:

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

    line 77
  6. Distinctive:

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

    line 97
  7. Distinctive:

    If aggregate < 90: identify top 3 weaknesses → revise → next round.

    line 126
  8. Distinctive:

    If aggregate ≥ 90: finalize and proceed to output.

    line 127
  9. Distinctive:

    After 3 rounds, if still < 90: return best version with honest score + note on what's holding it back.

    line 128
  10. Very specific:

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

    line 134
  11. Distinctive:

    After scoring, rank variants by aggregate score.

    line 136
  12. Distinctive:

    If top variant is < 90, iterate on the best one (don't iterate all of them).

    line 137
  13. Distinctive:

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

    line 154
  14. Distinctive:

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

    line 185
  15. Distinctive:

    After the user approves or rejects panel output:

    line 206
  16. Distinctive:

    Ask why (or infer from context).

    line 212
  17. Very specific:

    Add a new pattern to references/patterns.md using this format:

    line 213
  18. Very specific:

    Every scoring round, check references/patterns.md against the content.

    line 228

“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.