Expert Panel skill

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

by ericosiu·MIT license·★ 3,615 Stars on the repo·GitHub ↗

Use now

Files of Expert Panel

ericosiu/main1 file shown
SKILL.md
Show the full text247 lines

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 type Rubric file
Blog, social, email, newsletter, scripts scoring-rubrics/content-quality.md
Strategy, recommendations, analysis scoring-rubrics/strategic-quality.md
Landing pages, ads, CTAs scoring-rubrics/conversion-quality.md
Charts, data viz, infographics scoring-rubrics/visual-quality.md
Candidate evaluations scoring-rubrics/evaluation-quality.md
Other Synthesize 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

File Purpose When to read
experts/humanizer.md AI writing detection rubric (24 patterns) Every scoring run
experts/[domain].md Pre-built expert panels for common domains When domain matches
scoring-rubrics/content-quality.md Content scoring rubric Content scoring
scoring-rubrics/strategic-quality.md Strategy scoring rubric Strategy scoring
scoring-rubrics/conversion-quality.md Landing page/ad/CTA rubric Conversion scoring
scoring-rubrics/visual-quality.md Chart/data viz/infographic rubric Visual scoring
scoring-rubrics/evaluation-quality.md Candidate/assessment rubric Eval scoring
references/patterns.md Learned rejection patterns Every scoring run
references/expert-assembly.md Domain-expert examples for auto-assembly When building unfamiliar panels
1---
2name: expert-panel
3description: >-
4 Score, evaluate, and iteratively improve any content or strategy using an
5 auto-assembled panel of domain experts. Handles copy, sequences, landing pages,
6 strategy docs, titles, charts, recruiting evaluations, or anything else that
7 needs a quality gate. Recursively iterates until all scores hit 90+ (max 3
8 rounds). Use when asked to: "expert panel this", "score this", "rate these
9 variants", "quality check this", "panel review", "which version is better",
10 "expert score", "evaluate this copy/strategy/page", or when another skill
11 needs a quality gate on its output. Also triggers on: "score this landing page",
12 "expert panel these email variants", "rate this headline", "panel these charts".
13---
14 
15 
16## Preamble (runs on skill start)
17 
18```bash
19# Version check (silent if up to date)
20python3 telemetry/version_check.py 2>/dev/null || true
21 
22# Telemetry opt-in (first run only, then remembers your choice)
23python3 telemetry/telemetry_init.py 2>/dev/null || true
24```
25 
26> **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`.
27 
28---
29 
30# Expert Panel
31 
32General-purpose scoring and iterative improvement engine. Auto-assembles the
33right experts for whatever is being evaluated, scores it, and loops until 90+.
34 
35---
36 
37## Step 1: Intake — Understand What's Being Scored
38 
39Collect or infer from context:
40 
411. **Content/artifact** — The thing(s) to score (paste, file path, or URL)
422. **Content type** — Copy, sequence, landing page, strategy, title, chart, candidate eval, etc.
433. **Offer context** — What's being sold/promoted? To whom? What domain/industry?
444. **Variants** — Are there multiple versions to compare? (A/B/C)
455. **Source skill** — Is this output from another skill? (e.g., cold-outbound-optimizer)
46 If yes, note the source for feedback-to-source routing in Step 6.
47 
48If context is obvious from the conversation, don't ask — just proceed.
49 
50---
51 
52## Step 2: Auto-Assemble the Expert Panel
53 
54Build a panel of **7–10 experts** tailored to the content type and domain.
55 
56### Assembly rules
57 
581. **Start with content-type experts.** Read `experts/` directory for pre-built panels matching
59 the content type. If an exact match exists (e.g., `experts/linkedin.md` for a LinkedIn post),
60 use it as the base.
61 
622. **Add domain/offer experts.** Based on the offer context, add 1–3 experts who understand
63 the specific industry or domain. Examples:
64 - Scoring bakery marketing → add Food & Beverage Marketing Expert
65 - Scoring SaaS landing page → add SaaS Conversion Expert
66 - Scoring recruiting outreach → add Agency Recruiter + Talent Market Expert
67 - Scoring medical device copy → add Healthcare Compliance Expert
68 
693. **Always include these two:**
70 - **AI Writing Detector** — See `experts/humanizer.md`. Weight: 1.5x. Non-negotiable.
71 - **Brand Voice Match** — Checks alignment with the configured brand voice and
72 known rejection patterns from `references/patterns.md` (if present).
73 
744. **Check learned patterns.** If `references/patterns.md` exists, read it. If any patterns
75 apply to this content type, brief the panel on them. Dock points for known-bad patterns.
76 
775. **Cap at 10 experts.** If you have more than 10, merge overlapping roles.
78 
79### Panel output format
80List each expert with: Name, lens/focus, what they check.
81 
82---
83 
84## Step 3: Select Scoring Rubric
85 
86Choose the appropriate rubric from `scoring-rubrics/`:
87 
88| Content type | Rubric file |
89|---|---|
90| Blog, social, email, newsletter, scripts | `scoring-rubrics/content-quality.md` |
91| Strategy, recommendations, analysis | `scoring-rubrics/strategic-quality.md` |
92| Landing pages, ads, CTAs | `scoring-rubrics/conversion-quality.md` |
93| Charts, data viz, infographics | `scoring-rubrics/visual-quality.md` |
94| Candidate evaluations | `scoring-rubrics/evaluation-quality.md` |
95| Other | Synthesize a rubric from the two closest matches |
96 
97Read the selected rubric file for detailed criteria and point allocation.
98 
99---
100 
101## Step 4: Score — Recursive Loop Until 90+
102 
103**Target: 90/100 across all experts. Non-negotiable. Max 3 rounds.**
104 
105### Each round produces:
106 
107```
108## Round [N] — Score: [AVG]/100
109 
110| Expert | Score | Key Feedback |
111|--------|-------|--------------|
112| [Name] | [0-100] | [One-line rationale] |
113| ... | ... | ... |
114 
115**Aggregate:** [weighted average — humanizer at 1.5x]
116**Top 3 weaknesses:** [ranked]
117**Changes made:** [specific edits addressing each weakness]
118```
119 
120Then the revised content/artifact.
121 
122### Rules
123 
124- Scores must be brutally honest. No padding to 90.
125- Humanizer score weighted 1.5x in the aggregate.
126- If aggregate < 90: identify top 3 weaknesses → revise → next round.
127- If aggregate ≥ 90: finalize and proceed to output.
128- After 3 rounds, if still < 90: return best version with honest score + note on what's
129 holding it back.
130- Show ALL rounds in output — the iteration trail is part of the value.
131 
132### Variant comparison mode
133 
134When scoring multiple variants (A/B/C):
135- Score each variant independently through the full panel.
136- After scoring, rank variants by aggregate score.
137- If top variant is < 90, iterate on the best one (don't iterate all of them).
138 
139---
140 
141## Step 5: Output Format
142 
143### Winner + Score (always at top)
144 
145```
146## 🏆 Result: [SCORE]/100 — [PASS ✅ | NEEDS WORK ⚠️]
147 
148[Final content/artifact here]
149 
150**Iterations:** [N] rounds
151**Panel:** [Expert names, comma-separated]
152```
153 
154If variants: show winner first, then runner-up scores.
155 
156```
157## 🏆 Winner: Variant [X] — [SCORE]/100
158 
159[Winning content]
160 
161### Runner-up scores
162- Variant A: 87/100
163- Variant B: 82/100
164- Variant C: 91/100 ← Winner
165```
166 
167### Feedback History (below the result)
168 
169Show full scoring rounds.
170 
171```
172---
173<details>
174<summary>📊 Scoring History (N rounds)</summary>
175 
176[All round tables from Step 4]
177 
178</details>
179```
180 
181---
182 
183## Step 6: Feedback-to-Source (When Scoring Another Skill's Output)
184 
185When the scored content came from another skill, generate a **Source Improvement Brief**:
186 
187```
188## 🔁 Feedback for [Source Skill]
189 
190### What scored low
191- [Pattern]: [Specific example from this content]
192 
193### Suggested skill improvements
194- [Concrete change to the source skill's process/rubric/prompt]
195 
196### Patterns to add to source skill
197- [Any recurring weakness that should become a rule]
198```
199 
200This brief can be used to update the source skill's SKILL.md or rubrics.
201 
202---
203 
204## Step 7: Memory — Learn from Approvals and Rejections
205 
206After the user approves or rejects panel output:
207 
208### On approval (score ≥ 90, user accepts)
209Note what worked. No action needed unless a new positive pattern emerges.
210 
211### On rejection (user overrides the panel or rejects 90+ content)
2121. Ask why (or infer from context).
2132. Add a new pattern to `references/patterns.md` using this format:
214 
215```markdown
216## [Pattern Name]
217- **Type:** rejection | preference | override
218- **Content types:** [which types this applies to]
219- **Rule:** [What to always/never do]
220- **Example:** [The specific instance that triggered this]
221- **Date:** [YYYY-MM-DD]
222- **Point dock:** [-N points when detected]
223```
224 
2253. Confirm: "Added pattern: [one-line summary]. Panel will dock [N] points for this going forward."
226 
227### Pattern enforcement
228Every scoring round, check `references/patterns.md` against the content. Apply point docks
229before expert scoring begins. This means known-bad patterns are penalized even if individual
230experts miss them.
231 
232---
233 
234## Reference Files
235 
236| File | Purpose | When to read |
237|---|---|---|
238| `experts/humanizer.md` | AI writing detection rubric (24 patterns) | Every scoring run |
239| `experts/[domain].md` | Pre-built expert panels for common domains | When domain matches |
240| `scoring-rubrics/content-quality.md` | Content scoring rubric | Content scoring |
241| `scoring-rubrics/strategic-quality.md` | Strategy scoring rubric | Strategy scoring |
242| `scoring-rubrics/conversion-quality.md` | Landing page/ad/CTA rubric | Conversion scoring |
243| `scoring-rubrics/visual-quality.md` | Chart/data viz/infographic rubric | Visual scoring |
244| `scoring-rubrics/evaluation-quality.md` | Candidate/assessment rubric | Eval scoring |
245| `references/patterns.md` | Learned rejection patterns | Every scoring run |
246| `references/expert-assembly.md` | Domain-expert examples for auto-assembly | When building unfamiliar panels |
247 

Discussion

Alternatives