---
name: advisory
description: "Convene a Claude advisory board — Janette's personas-based feedback system at 99_System/Personas/. Reviews a document (PDF, PPTX, MD, HTML) by spawning each board member as a parallel agent in their persona's voice, collecting scored feedback, and synthesizing a composite review with dissent notes. Triggers: 'advisory board', 'convene the board', 'get my advisors to review', 'run this past my Claude advisory board', 'what would Nancy/Carmine/etc say', 'review with the presentations board'."
allowed-tools: Bash(*), Read(*), Write(*), Glob(*), Grep(*), Agent(*)
---

# /advisory — Claude Advisory Board Review

Janette has a structured advisory board system in `99_System/Personas/` with four boards: **presentations**, **content**, **strategy**, **management** — all external author-experts (Nancy Duarte, Carmine Gallo, Sally Hogshead, Chip Heath, Brené Brown, Adam Grant, Annie Duke, Jim Collins, Roger Martin, Seth Godin, Ann Handley, Kim Scott, Patrick Lencioni, Erin Meyer, Chris Voss, Jacob Warwick).

This skill convenes a board against a document and returns a synthesized review.

## Usage

- `/advisory` — ask Janette which board and which document
- `/advisory presentations [path]` — convene the Presentations board to review the document
- `/advisory content [path]` — convene the Content board
- `/advisory strategy [path]` — convene the Strategy board
- `/advisory management [path]` — convene the Management board
- `/advisory [board] [path] focus="X"` — narrow the review to a specific concern (e.g., "audience fit," "the close")

## Step 1: Resolve Board and Document

If board name is missing, ask. Map common terms:
- "presentations" / "keynote" / "speech" / "deck" → `boards/presentations.md`
- "content" / "writing" / "post" / "article" / "email" → `boards/content.md`
- "strategy" / "decision" / "should I" → `boards/strategy.md`
- "management" / "team" / "people" → `boards/management.md`

If document path is missing, ask. Accept PDF, PPTX, MD, HTML, DOCX, or plain text path.

## Step 1b: Gather context the board needs (CRITICAL)

Cold reviews of static PDFs score artificially low because the board can't see what isn't on the slide. Before spawning agents, gather:

- **Verbal layer:** What will Janette SAY on each slide that isn't in the slide text? Pull from outline `.md` if it exists in the same folder. If she's named people in the room, included specific stories, or planned named callouts, those need to go to the board.
- **Audience specifics:** Not just "C-suites" — actual names of must-meet people, ownership relationships (PE firms, parent companies), pre-event meetings already arranged. Pull from any companion brief like `*-Speaker-Brief.md` or `*-Attendee-Brief.md`.
- **Speaker constraints:** What is she explicitly NOT doing? (Live demos on stage, naming vendors, references she has no authority for.) These are locked — advisors who recommend banned moves waste her time.
- **Visual/branding intentionality:** Recurring images (e.g., pink-shirt-as-anthem) that look like accidents but are deliberate. Brief the board so they don't critique design choices that are signature, not ego.
- **Time pressure:** Is she overdue? Days until delivery? "Major rework" recommendations are useless 11 days out. Brief the board on tempo so recommendations match what's actually possible.

**If you skip this step, expect to convene the board twice** — once cold, once with context — and watch scores swing 2+ points between rounds. Save the cycle: brief once, fully.

## Step 2: Load Board Configuration

Read the board file at `99_System/Personas/boards/[board].md`. Extract:
- `members` list (e.g., `nancy_duarte`, `carmine_gallo`)
- `convergence_threshold` (the score above which the board "approves")
- `purpose` (what this board is for)
- The "Member Roles" table (each member's primary focus)

## Step 3: Read Each Persona File

For each member, read `99_System/Personas/[member].md`. Extract:
- `lens` (their core evaluation angle)
- `## Expert Framework` (their philosophy)
- `## Evaluation Lens` (how they grade)
- `## Scoring Rubric` (the three dimensions they score on, 1-10 each)
- `## Feedback Voice` (characteristic phrasing and example critique)

## Step 4: Read the Document

Use the appropriate tool based on file type:
- PDF → `Read` tool with `pages` param if large
- PPTX → unpack with `unzip -p` to get text, or use the `pptx` skill
- MD / HTML / TXT → `Read` directly
- DOCX → use pandoc or the `docx` skill

For visual documents (PDF, PPTX), the agents need to see the actual pages — pass the path to each agent so they can use `Read` to view it themselves.

## Step 5: Spawn Parallel Reviewers

**Preferred engine: the `judge-panel` workflow** (`~/.claude/workflows/judge-panel.js`, review mode) — it runs the same fan-out with schema-validated returns, a mechanical composite/dissent rollup, and Sonnet reviewers by default:

```
Workflow({name: "judge-panel", args: {
  task: "<the board's purpose + what the user wants reviewed>",
  mode: "review",
  angles: [{key: "nancy-duarte", personaFile: "99_System/Personas/nancy_duarte.md"}, ...one per member...],
  files: ["<document path>"]
}})
```

Its output feeds Step 6 directly (per-member scores, strengths, concerns, mustFix, voiceNote, dissent flags). Fall back to the manual Agent fan-out below if the Workflow tool is unavailable.

**Manual fallback: spawn one Agent per board member, all in a single message for parallelism.** Use `subagent_type: general-purpose`.

Each agent's prompt must be self-contained and include:
1. **Their persona** — paste the full persona file content (Expert Framework, Evaluation Lens, Scoring Rubric, Feedback Voice)
2. **The document path** — they read it themselves
3. **The board's purpose** and what the user wants reviewed
4. **The scoring rubric** — three dimensions, 1-10 each, plus an overall score (average)
5. **Required output format**:

```
## [Persona Name] — [Lens]

### Scores
- [Dimension 1]: [score]/10 — [one-line justification]
- [Dimension 2]: [score]/10 — [one-line justification]
- [Dimension 3]: [score]/10 — [one-line justification]
- **Overall: [avg]/10**

### What's working
- [2-3 specific observations]

### What's not
- [2-3 specific observations, slide/page/section numbers when applicable]

### Top 3 revisions in priority order
1. [Specific, actionable]
2. [Specific, actionable]
3. [Specific, actionable]

### Voice check
[1-2 sentences in their characteristic phrasing — what they'd actually say to Janette]
```

Tell each agent to **stay in character** — write feedback in that persona's voice, use their characteristic phrases, reference their frameworks. They should NOT hedge or be diplomatic; the value is the distinct lens.

## Step 6: Synthesize Composite Review

Once all agents return, write a synthesis report to:
`20_Areas/Keynotes/[date]_[document-stem]_advisory-review.md`

(For non-keynote docs, write to the same folder as the source document, or to `00_Inbox/` if the source is outside the vault.)

**Synthesis structure:**

```markdown
---
type: advisory-review
board: [board name]
document: [path]
date: YYYY-MM-DD
composite_score: [N]/10
threshold: [from board config]
verdict: [APPROVED | REVISE | MAJOR REWORK]
---

# Advisory Board Review: [Document Title]

**Board:** [Board Name] — [purpose]
**Members convened:** [list]
**Composite score:** [N]/10 (threshold: [N])
**Verdict:** [APPROVED if ≥ threshold, REVISE if 1-2 below, MAJOR REWORK if 3+ below]

## Bottom Line

[2-3 sentence executive summary — direct and opinionated. What's the doc's biggest strength and biggest weakness across the board?]

## Score Matrix

| Member | [Dim 1] | [Dim 2] | [Dim 3] | Overall |
|--------|---------|---------|---------|---------|
| ...    | ...     | ...     | ...     | ...     |

## Convergent Themes

[Where do 3+ members agree? These are the highest-priority signals.]

- **[Theme 1]**: [Quote/paraphrase from each member who raised it]
- **[Theme 2]**: ...

## Dissent & Tension

[Where do members disagree? What did one member flag that others missed?]

- **[Member]** flagged: [their unique concern]
- **[Member]** disagrees with [Member] on: [the disagreement]

## Priority Revisions

[Synthesized from all members' "Top 3" lists, deduplicated and prioritized by frequency × severity]

1. **[Revision]** — flagged by [N] members
2. **[Revision]** — flagged by [N] members
3. ...

## Full Member Reviews

[Paste each agent's full output below, in the order they appear in the board file]

---

### [Member 1's full review]

[etc.]
```

## Step 7: Report Back

Tell Janette:
- Composite score and verdict
- Top 3 priority revisions
- Where the path to the full review is saved

Offer:
- "Want me to revise the document based on the convergent themes?"
- "Want to convene a second round after revisions?"

## Guidelines

- **Stay in character.** The value is the distinct voice. Don't average personas into bland feedback.
- **Specific over abstract.** Slide numbers, page numbers, exact quotes — not "the opening could be stronger."
- **No hedging.** Each persona should say what they really think. Janette can take it.
- **Convergence matters.** If 4 of 5 flag the same issue, that's a real problem. If only one flags it, it's that persona's lens — note it but don't over-weight.
- **Threshold means something.** If composite < threshold, the board has NOT approved. Say so explicitly.
- **Don't run the same board twice in one session** unless the document has been revised. Tell Janette to revise first.

## When NOT to use this skill

- Routine writing tasks (use the writing profile, not the full board)
- Quick edits or fact-checks
- Internal-only docs that aren't audience-facing
- When Janette explicitly asks for HER opinion, not the personas'

## Notes

- The boards file (`boards/[name].md`) is the source of truth for membership. If membership changes, just edit that file — this skill picks up the new list automatically.
- New personas can be added by creating a new file in `99_System/Personas/[name].md` matching the existing structure (lens, frameworks, rubric, voice) and adding them to the relevant board's `members` list.
