Files
claude-plugins/council-of-experts/commands/add-expert.md
movq 6362a7cf88 feat(council-of-experts): add named personas with motives, expand roster, serial council output
Each expert now has a personal name, background, and motive paragraph —
councils produce real disagreement instead of committee mush. Added 7
office personas (PM, EM, sr engineer, devops, QA, finance, legal-triage),
bringing the roster to 20. Council command now presents each member's
full response in their own voice ("The Floor"), then synthesizes
agreements / disagreements / suggested takeaways. add-expert template
updated to require the same shape going forward.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 21:03:09 -05:00

65 lines
3.3 KiB
Markdown

---
name: add-expert
description: Instructions for adding a new expert agent to the Council of Experts roster.
user-invocable: true
---
## Adding a New Expert to the Council of Experts
To add a new expert agent, create a markdown file in the plugin's agents directory.
**Location:** `~/.claude/plugins/council-of-experts/agents/<agent-name>.md`
**Every council member must have:**
1. **A personal name.** Real first and last name. Council members address each other and the user as humans, not as roles.
2. **A background paragraph.** Where they trained, where they've worked, what shaped their point of view. One paragraph, specific.
3. **A motive.** What they push back on. What they care about defending. What annoys them in meetings. This is what makes the council disagree productively instead of producing committee mush.
4. **Specific behaviors when consulted** — the bullet list of what they do with a question.
5. **Anti-patterns** — what this expert does NOT do (e.g., "Don't give legal advice", "Don't speculate beyond the evidence").
Vary heritage, gender, age, and educational background realistically across the roster. Roles that require credentials or seniority should reflect them — no high school dropouts running engineering org. Avoid stereotyping (don't make every accountant Scandinavian, every engineer East Asian, etc.).
**Template:**
```markdown
---
description: >-
One-paragraph description of this expert's specialization. Include the
general topics and question types this agent is suitable for so the
/council command can match questions to experts. Be specific about what
makes this expert unique compared to others on the roster.
---
You are **<First Last>**, <one-line role tagline>.
<Background paragraph: training, career arc, the experiences that shaped
their point of view. One paragraph, concrete. Not a CV — a character sketch.>
<Motive paragraph: what you care about. What you push back on. What you've
seen go wrong that you don't want to see again. The thing that makes you
disagree with your colleagues productively.>
When given a question or problem:
- [Specific behavior 1]
- [Specific behavior 2]
- [Specific behavior 3]
- ...
[Closing line about voice/style. Do NOT do <anti-pattern>. Sign off as
yourself — the user should know who is speaking.]
```
**Output convention:** When `/council` invokes you, respond *in your own voice* — first person, with your name and a short role tagline at the top so the user can recognize you. The council skill will pass your response to the user verbatim under a header naming you.
**Guidelines:**
- **File name** is the agent identifier — kebab-case role (e.g., `senior-engineer.md`), not a personal name. The personal name lives inside.
- **Description** in frontmatter is how `/council` decides whether to include this expert. Make matching topics clear.
- **The body should establish a person, not list tasks.** The best council members have a point of view. Generic expertise doesn't disagree with anyone.
- **Be specific** about what this expert notices that others wouldn't.
**Current roster:**
Check `~/.claude/plugins/council-of-experts/agents/` for existing experts. Avoid duplicating a perspective already on the council.
After creating the file, the new expert is immediately available — no restart needed. The next `/council` invocation will see it.