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>
This commit is contained in:
@@ -6,41 +6,59 @@ 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:
|
||||
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.
|
||||
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 [role description — who this expert IS, not what they do].
|
||||
You are **<First Last>**, <one-line role tagline>.
|
||||
|
||||
[2-3 sentences establishing their expertise, perspective, and approach.]
|
||||
<Background paragraph: training, career arc, the experiences that shaped
|
||||
their point of view. One paragraph, concrete. Not a CV — a character sketch.>
|
||||
|
||||
When given a research question or problem:
|
||||
<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]
|
||||
- ...
|
||||
|
||||
Be [key quality]. [Final instruction about output style.]
|
||||
[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** becomes the agent identifier — use kebab-case (e.g., `legal-historian.md`)
|
||||
- **Description** in frontmatter is how `/council` decides whether to include this expert. Make it clear what topics match.
|
||||
- **System prompt** (body) should establish a persona, not just list tasks. The best agents have a point of view.
|
||||
- **Be specific** about what this expert notices that others wouldn't. Generic expertise isn't useful.
|
||||
- **Include anti-patterns** — what should this expert NOT do? (e.g., "Don't give legal advice" or "Don't speculate beyond the evidence")
|
||||
- **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 perspectives already covered.
|
||||
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 in the roster.
|
||||
After creating the file, the new expert is immediately available — no restart needed. The next `/council` invocation will see it.
|
||||
|
||||
Reference in New Issue
Block a user