One person sees an opinion; a group sees the blind spots.
Core Philosophy
Council is anAdvisor management system, and does three things:
Distill(Distill) — Extract a real person's way of thinking into an Advisor persona file. Not copying the person, but extracting the cognitive operating system: mental models (lenses), decision heuristics (intuitive rules), expression DNA, anti-patterns, honesty boundaries. What is captured is HOW they think, not WHAT they said.
Activate(Activate) — Load an existing Advisor's persona and answer questions in their identity and way of thinking.
Roundtable(Council Session) — Convene multiple Advisors for a structured debate around a question. Each Advisor independently analyzes using their own mental models, then cross-examines, and finally synthesizes into an actionable decision framework.
Working Directory Constraint
Distillation operations can only be executed under the claude-skills project directory. All personas data is stored under the project directory's council/personas/ , not in the plugin cache.
Before starting distillation, check the current working directory:
- If
pwdcontainsclaude-skills→ execute normally - Otherwise → prompt the user: "Distillation needs to be executed under the claude-skills project directory, please cd to that directory first."
Activation and roundtable discussions are not subject to this restriction—existing personas can be read from any directory.
Storage Architecture
All Advisors are stored as persona files under Council's personas/ directory,no independent Skill is created:
council/
├── SKILL.md # 本文件:路由、管理、协议
├── advisors.md # Advisor注册表(自动维护,勿手动编辑)
├── personas/ # 所有Advisor persona
│ ├── steve-jobs/
│ │ ├── persona.md # 蒸馏后的思维框架
│ │ └── research/ # 调研素材(用于更新)
│ ├── charlie-munger/
│ │ ├── persona.md
│ │ └── research/
│ └── ... # 可以有100+个persona
├── references/ # 方法论文档
└── tools/ # CLI工具
Why not use independent Skills: Advisors are data, not code. 100 Advisors should not produce 100 Skills to pollute the list. Council uniformly manages routing, activation, and roundtable discussions.
Path resolution rule: All persona paths are resolved relative to the skill's directory's personas/ . When spawning a sub-Agent, anabsolute pathmust be passed to the write target.
Path A: Distill Advisor
Phase 0: Entry Triage
| User input | Path | Example |
|---|---|---|
| Explicit person name/topic | Direct path → Phase 0A | "Distill Munger" "Make a Feynman perspective" |
| Vague requirement/confusion | Diagnostic path → Phase 0B | "I want to improve my decision quality" |
Phase 0A: Requirement Clarification (Direct Path)
After receiving an explicit name, confirm:
- Who this person/topic is: ensure understanding is correct
- Focus direction(optional): comprehensive portrait vs focus on a certain dimension
- Purpose: thinking advisor? decision reference? role-playing?
- Create new or update: check whether
personas/already has - Local corpus: "Do you have any firsthand material on this person? For example, book PDFs, speech transcripts, video subtitles, etc. If you do, send it to me directly."
The user says "just do XX" with no further information → default to a comprehensive profile + thinking advisor + web search, and proceed directly.
Phase 0B: Needs diagnosis (vague path)
The user doesn't know who to distill, and the Council reverse-infers the most suitable distillation target from the needs.
Step 1: Needs positioning(at most 2 rounds of follow-up questions)
| Need dimension | Typical expression | Thinking framework direction |
|---|---|---|
| Decision-making and judgment | "How to make better decisions" | Multiple mental models, inverse thinking, probabilistic thinking |
| Expression and writing | "Want to explain complex things clearly" | Feynman-style simplification, storytelling thinking, analogical ability |
| Entrepreneurship and business | "Can't figure out the business model" | First principles, leverage thinking, product restraint |
| Critical thinking | "Want to identify unreliable claims" | Falsification thinking, cognitive bias identification |
| Content creation | "Videos get no traffic" | Attention engineering, test-and-iterate, audience psychology |
| Risk and uncertainty | "How to deal with black swans" | Antifragility, convex strategies, tail risk management |
Step 2: Candidate recommendations(2-3 candidates)
- Source A: Read
advisors.mdto match existing Advisors (plug-and-play, zero cost) - Source B: New distillation candidates, matched to need dimensions
Each candidate shows: core lens + why it fits + limitations. No more than 3 candidates.
Step 3: User selection → existing Advisor is activated directly / new candidate enters Phase 0A
Phase 0.5: Create Persona directory
Execute immediately after receiving confirmation:
personas/[person-name]/
├── persona.md # 蒸馏输出
└── research/ # 调研素材
├── 01-writings.md
├── 02-conversations.md
├── 03-expression-dna.md
├── 04-external-views.md
├── 05-decisions.md
└── 06-timeline.md
Phase 1: Multi-source information collection
Mode selection
| Mode | Trigger condition | Strategy |
|---|---|---|
| Pure web search(default) | No local material | All 6 Agents use web search |
| Local corpus priority | Has PDFs/transcripts, etc. | Analyze local material first, search to fill gaps |
| Pure local corpus | User explicitly requests it or the person is not a public figure | Only analyze local material |
Launch research Agents
Complete Agent task assignment and prompt templates:Read references/agent-prompts.md.
Information source priority and blacklist:Read references/source-policy.md。
Multiple research Agents can be launched in parallel (split by person or by dimension),Each Agent must write its research results into the corresponding research file itself。
Agent writing rules:
- When the main Agent spawns sub-Agents, it must provide in the promptabsolute path(e.g.
/Users/xxx/projects/mycode/claude-skills/council/personas/charlie-munger/research/) - The sub-agent uses the Write tool to directly write 6 research files (01-writings.md to 06-timeline.md)
- The main agent is not responsible for transcription—completion by the sub-agent means the files are ready
- Before writing, the sub-agent should first use Bash
mkdir -pto ensure the directory exists
Tool assistance
- Subtitle download:
council download-subtitles <YouTube_URL> --output-dir <目录> - Subtitle cleaning:
council clean-transcript <input.srt> --output <output.txt> - Installed information acquisition Skills: scan before Phase 1
.claude/skills/directory
Agent failure handling
- Core dimensions(1-Writings, 2-Dialogue, 3-Expression): on failure, adjust the search strategy and retry once
- Auxiliary dimensions(4-Others, 5-Decisions, 6-Timeline): on failure, mark as missing and continue
- Principle: It is better to generate an honest 60-point Advisor with clearly marked limitations than a 90-point Advisor that looks perfect but is actually fabricating
Phase 1.5: Research Review checkpoint
Pause after all research is complete and show a research quality summary。
Tool assistance:council merge-research <persona目录>
User confirms OK → proceed to Phase 2. If a dimension is insufficient → supplement the research.
Research quality determines the upper limit of the final Advisor. Garbage in, garbage out; intercepting here costs less than rework in Phase 4.
Phase 2: Framework Synthesis
Read references/extraction-framework.md to obtain the triple-validation methodology for mental models.
2.1 Mental model extraction (3-7)
- Scan: read one by one
01-writings.mdto05-decisions.md, and list candidate arguments - Triple validation: cross-domain recurrence + generativity + exclusivity (see extraction-framework.md for details)
- Rank and select: sort by exclusivity, take the top 3-7. Fewer is better than more
- Record: name, one-sentence description, source evidence (≥2 scenarios), application method, limitations
2.2 Decision heuristics (5-10)
This person's quick rules when making judgments. "If X, then Y," supported by specific cases.
2.3 Expression DNA analysis
Sentence preference, vocabulary features, sense of rhythm, humor style, expressions of certainty, citation habits.
2.4 Values and anti-patterns
Value ranking + anti-patterns + contradictions and tensions (the source of depth).
2.5 Intellectual lineage
Influenced by whom → influenced whom.
2.6 Honest boundaries
Cannot predict reactions to entirely new problems, cannot replace creativity and intuition, there is a gap between public vs. true thoughts, information cutoff time.
Phase 2.5: Synthesis confirmation checkpoint
Show the mental model names, number of decision heuristics, key features of the expression DNA, core tensions, and honest boundaries. After user confirmation, proceed to Phase 3.
Phase 3: Persona construction
Step 1: Read the template
Read references/persona-template.md to obtain the standard structure.
Step 2: Fill in the content
| Template Section | Filling source |
|---|---|
| Metadata header | Name, aliases, domain tags, number of models, research time |
| Role-playing rules | Use the template default rules |
| Agentic Protocol | Derive research dimensions from mental models |
| Identity card | Timeline (06) + Works (01) → Write a self-introduction in this person's voice |
| Mental Models | Phase 2.1 |
| Decision Heuristics | Phase 2.2 |
| Expression DNA | Phase 2.3 → Convert to style rules |
| Timeline | Agent 6 → Condense to key nodes |
| Values and Anti-patterns | Phase 2.4 |
| Intellectual Lineage | Phase 2.5 |
| Honesty Boundaries | Phase 2.6 + Research time |
| Changelog | Version 1.0 + Creation date |
| Research Sources | Citation summary |
Step 3: Quality Self-check
Read references/extraction-framework.md and check each item in the quality self-check checklist at the end.
Step 4: Output
Write to personas/[person-name]/persona.md。
Phase 4: Quality Validation
Use a sub-agent to run 3 tests (independent of the main agent, to avoid self-evaluation bias):
4.1 Known Test (Sanity Check)
Select questions this person has publicly commented on, answer as the persona, and compare with the real stance.
4.2 Edge Test (Edge Case)
Ask questions this person has not publicly discussed but that are related, and check whether appropriate uncertainty is shown.
4.3 Style Test (Voice Check)
Use the persona to write a 100-word analysis and check whether it has this person's expressive characteristics.
4.4 Pass Criteria
| Check Item | Pass Criteria |
|---|---|
| Number of mental models | 3-7, each with source evidence |
| Limitations of each model | Clearly state failure conditions |
| Expression DNA recognizability | Can identify who it is from 100 words |
| Honesty boundaries | ≥3 specific limitations |
| Internal tensions | ≥2 pairs of contradictions |
| Proportion of primary sources | >50% |
| Agentic Protocol | 3 Steps complete |
Tool assistance:council quality-check <persona.md路径>
Iteration limit: Phase 2→4 loops at most 2 times. After that, mark weak dimensions in the honesty boundaries and deliver the current best version.
Phase 5: Dual-Agent Refinement
Automatically starts after Phase 4 passes:
Agent A (Structural Perspective):
- 8-dimension structural assessment (number of models, evidence density, expression recognizability, heuristic operability, honesty boundary coverage, contradiction depth, lineage clarity, Protocol completeness)
- Dry-run 3 test prompts
- Output: for the weakest 2 dimensions,specific change suggestions
Agent B (Usage Perspective):
- Role-play operability: Are the Step 2 research dimensions of the Agentic Protocol specific enough?
- Dry-run 1 complete Q&A cycle
- Output: 2-3 places withspecific text changes
The main Agent synthesizes the two reports, applies non-conflicting improvements, and presents a change summary for user confirmation.
Phase 6: Update Advisor Registry
Automatically executed after distillation is complete, no user confirmation needed.
Read the just-written personas/[person-name]/persona.md metadata header and mental models section, and in advisors.md append or update this Advisor's entry.
Each entry contains the following fields (one table row):
| Field | Source |
|---|---|
| # | Auto-increment number |
| Advisor | persona.md → name |
| Alias | persona.md → aliases |
| Domain | persona.md → domain |
| One-sentence summary | Summarize based on mental models, describe this person's core way of thinking in one sentence |
| Core lenses | persona.md → all mental model names, separated by enumeration commas |
| Suitable topics | Derived from the domain and mental models, list 3-6 specific types of topics suitable for consultation |
| Distillation time | persona.md → last_updated |
Rules:
- Newly distilled Advisor → append a new row
- Update an existing Advisor → overwrite the corresponding row (match by Advisor name)
- Delete an Advisor → remove the corresponding row and renumber
advisors.mdis derived data, persona.md is the source of truth
Path B: Activate Advisor
When the user says "from XX's perspective", "how would XX see it", "switch to XX":
- Find persona: in the
personas/directory, match the person's name or alias - Load persona: read
personas/[name]/persona.md - Enter role: respond according to the role-playing rules and expression DNA in the persona
- Exit: restore when the user says "exit" or "switch back to normal"
If no matching persona is found → prompt "This Advisor has not been distilled yet. Distill now?"
Path C: Council Session
One Advisor gives you answers, one Council gives you judgment.
When the user wants multi-perspective analysis on a certain issue, convene existing Advisors for a structured debate.
Detailed protocol:Read references/council-session.md。
Trigger methods
| User says | Action |
|---|---|
| "ask the council", "council session" | Automatically recommend Advisors |
| "Let Munger and Taleb discuss it" | Specify Advisors |
| 「ask the council about X」 | Automatically recommend Advisors |
| "Regarding X, whose opinion is worth hearing?" | Recommend Advisors, start the session after the user confirms |
Council process overview
问题输入 → 1. 组建圆桌 → 2. 独立发言 → 3. 交叉质疑 → 4. 综合输出
↑ ↓
└──────── 5. 追问/加人/深挖 ←─────────────────┘
Step 1: Assemble the council
Automatic recommendation mode(the user did not specify Advisors):
- Read
advisors.mdto get the domain, core lenses, and suitable topics of all ready Advisors - Match the "suitable topics" and "domain" fields according to the user's question, recommend 2-4 Advisors, and explain the reasons for recommendation
- The user confirms the list of participants
- After confirmation, read the corresponding
personas/[name]/persona.mdto load the complete persona
Specified mode(the user specified names):
- Check whether the corresponding persona exists
- If it does not exist, prompt to distill
- Confirm the list of participants
Hard constraint: minimum 2 people, maximum 5 people. Recommend 3 people.
Step 2: Independent statements (parallel Agents)
Spawn an independent Agent for each Advisor, providing that Advisor's complete persona.md and the user's question.
Each Advisor independently produces a structured statement (see references/council-session.md)。
Key: Advisors cannot see each other's remarks at this point. Independent thinking is the foundation of discussion quality.
Step 3: Cross-Examination
Once all independent remarks have been collected, the debate begins. Each Advisor sees everyone else's remarks, produces questions and responses, and traces differences back to the level of mental models.
Step 4: Synthesis Output
The main Agent acts as a neutral moderator and synthesizes the output: areas of consensus → divergence map → decision framework → collective blind spots → action recommendations.
Step 5: Interactive Follow-Up
Users can follow up with a particular Advisor, add a new Advisor, dig deeper into disagreements, or request a ruling.
Update an Existing Advisor
When the user says "update XX":
- Read
personas/[name]/persona.md's "Honesty Boundaries" to find the research time - Launch only Agent 2 (latest conversations) + Agent 5 (latest decisions) + Agent 6 (timeline update)
- Compare old and new information: reinforcement → add cases, contradiction → update the model, new patterns → consider adding
- Update the "Latest Developments" and research time in persona.md
- Append a new version record to the update log
- Do not rewrite the entire persona; only update incrementally
- Update
advisors.mdthe corresponding entry in(same logic as Phase 6)
List existing Advisors
When the user says "what advisors are there", "council members", "list personas", or "how many advisors are there currently":
Directly read advisors.md to display the complete Advisor registry. There is no need to scan the persona directory one by one.
If advisors.md does not exist or its contents are clearly outdated (the number of entries is far fewer than the number of persona.md files in the personas/ directory), then trigger a full rebuild: scan all personas/*/persona.md, and regenerate advisors.md。
Taste Guidelines
| Principles | In one sentence |
|---|---|
| Long-form > aphorisms | A 3,000-word essay reveals thought structure more than 50 tweets |
| Controversy > consensus | The most contested views reveal uniqueness best |
| Change > fixed | Places where positions changed carry more information than those consistently maintained |
| Disagreement > unity | The value of a roundtable lies in disagreement, not in papering over differences |
Things never to do
- Fabricate words this person never said
- Package generic principles as this person's "unique insights"
- Ignore negative evaluations and controversies
- Force generation when information is insufficient
- In roundtable discussions, make an Advisor say things that violate their mental model in order to create false consensus
Special Scenarios
Living people vs historical figures
- Living people: pay attention to timeliness, mark the cutoff date, and recommend regular updates
- Historical figures: materials are more stable but may have biographical bias; cross-verify across multiple sources
Topic Skills vs Person Skills
When the input is not a person's name but a topic, the variants of each Phase are:
- Phase 0A: Confirm the topic boundaries + target audience
- Phase 1: First search for 3-5 core figures/schools, then assign Agents by figure
- Phase 2.1: Extractfield consensus framework + each school's disagreements
- Phase 2.3: Do not simulate a specific person's tone; use neutral, professional expression
- Phase 3: Remove role-play rules and identity cards, replace with "Framework Overview" + "School Comparison"
Regional Strategy
See references/source-policy.md. Covers Chinese, English, Japanese, Korean, and other language regions.
Obscure figures (very little public information)
- Phase 0.5 informs the user that information is limited
- Reduce mental models to 2-3, each labeled "inferred based on limited information"
- Increase the length of the honesty boundary
Distill the user themselves
- Requires the user to provide materials (articles/videos/decision memos)
- Phase 1 changes to analyzing user materials rather than web search
- Be mindful of self-perception bias; you may ask follow-up questions about evaluations from people around them
Finally
What the Council creates is not a person, but a mirror. An Advisor lets you look at your own problems through another person's eyes. A roundtable lets you look at the same problem through multiple pairs of glasses at once—what you see is not more answers, but clearer boundaries of judgment.