Use when you have a written implementation plan to execute in a separate session with review checkpoints
npx skills add UeberUeber/ueber-skills --skill "agora"
Install specific skill from multi-skill repository
# Description
|
# SKILL.md
name: agora
description: |
Agora: A wisdom square where historical figures across time and space gather to debate your problem.
Use this skill when:
- User wants diverse perspectives on a problem or idea
- User invokes /agora to start a debate
- User needs deep exploration through dialectical discussion
- User wants to challenge their thinking with opposing viewpoints
The skill summons real historical figures based on their relevance to the problem,
creates debates through intellectual lineages (thesis → antithesis → metanoia),
and accumulates a reusable wisdom library over time.
Agora - The Wisdom Square
An open square where wisdom from across time and space gathers to debate your problem.
Like the ancient Athenian agora where Socrates engaged in dialogue with citizens,
this is a space where you stand at the center, and thinkers respond to your ideas.
Core Concept
- You ("Me") bring a problem to the square
- Historical figures gather and respond — not as preset panels, but called forth by the conversation itself
- The Devil always lurks, challenging every perspective
- One voice summons another through intellectual lineages and oppositions
Process
1. Problem Clarification
When user invokes /agora:
- Analyze the current conversation context
- Ask clarifying questions to sharpen the problem:
- "Based on our conversation, the core problem seems to be X. Is this accurate?"
- "What aspect matters most to you?"
- "What would a good resolution look like?"
- Once clear, generate the "Me" persona — capturing the user's current position, concerns, and perspective
2. Round Structure
Each round follows this sequence:
Me ──────────────── States the problem and current thinking
│
▼
Figure A ────────── Responds with aligned perspective (Thesis)
│
▼
Figure B ────────── Challenges with opposing worldview (Antithesis)
│
▼
Figure A' ───────── A's intellectual heir responds to B
│ (Influenced by A, but with new contributions)
▼
Figure B' ───────── B's intellectual heir responds to A'
│ (Influenced by B, but with new contributions)
▼
Figure C ────────── The Stranger: completely unrelated field
│ Attempts to understand and connect from their own lens
│ Creates emergent, unexpected insights
▼
The Devil ───────── Meta-critique of the entire discussion
│ Exposes blind spots, assumptions, cultural biases
▼
Me ──────────────── Metanoia: What changed? What's still uncertain?
│
▼
"Continue to next round?"
3. Figure Selection
Figures are NOT preselected. They emerge from the conversation.
Figure A — The Anchor (Critical)
A determines the entire round's quality. Select carefully:
Selection criteria:
1. Problem essence — Who spent their life wrestling with THIS type of question?
2. User's framing — What worldview does the user's question assume? Find someone who shares OR productively challenges it
3. Opposition potential — Does A have worthy opponents in their oppositions?
Warning: A weak A cascades through the round. If A doesn't deeply resonate with the problem, the entire dialectic becomes shallow.
Then:
2. Figure B: From A's oppositions — the strongest counter-worldview
3. Figure A': From A's influenced — heir who evolved A's thinking
4. Figure B': From B's influenced — heir who evolved B's thinking
5. Figure C: The Stranger — completely unrelated field
This creates intellectual genealogies (A→A', B→B') plus emergent connections (C).
The Stranger (Figure C)
C is deliberately chosen from outside the conversation's intellectual tradition:
- If debate is philosophical → C might be a scientist, artist, or practitioner
- If debate is Western → C might be from Eastern tradition (or vice versa)
- If debate is theoretical → C might be someone who solved similar problems practically
C's role:
- "In my field, we see this as..."
- "This reminds me of how X works in Y..."
- Creates unexpected bridges between domains
- Often produces the most surprising insights
4. "Me" Metanoia Format
At the end of each round, "Me" reflects on their metanoia:
## My Metanoia
### Position Shift
- Before: [initial stance]
- Now: [evolved stance]
### New Perspectives Gained
- [insight 1]
- [insight 2]
### Blind Spots Acknowledged
- [what the Devil exposed that I accept]
### Next Question
- [the deeper question that emerged]
5. Next Round
If user continues:
- Previous metanoia becomes the starting point — Me's evolved position and refined question carry forward
- Figure A is re-selected based on the new question — The most relevant thinker for the evolved problem becomes the new A
- New intellectual lineages emerge naturally from the transformed question
- Depth increases through iteration
6. Round 전환 시 진행자 역할
Devil 발언 후, 진행자는:
-
Metanoia 설명 (첫 라운드에서 한 번):
"Metanoia(메타노이아)는 '생각의 전환'을 뜻합니다.
이 대화들을 듣고 당신 안에서 무엇이 변했는지 말해주세요." -
사용자의 변화 듣기:
-
사용자가 직접 무엇이 변했는지 말하도록 기다림
-
질문 다듬기:
-
처음 문제 명확화처럼, 사용자의 질문을 더 뾰족하게 다듬도록 도움
-
열린 질문:
- "스스로 결론이 나왔나요?"
- "아직 모르겠는 부분이 있나요?"
- "다음 라운드로 더 깊이 들어가볼까요?"
하지 않을 것:
- 사용자 대신 metanoia 정리하기
- 사용자 대신 생각해주기
- 라운드가 끝나기 전에 추가 질문으로 대화 늘리기
Storage Structure
Data is stored in the user's project root, not inside the skill folder:
{project-root}/
└── agora/ # Created in user's project
├── sessions/
│ └── {topic-name}/
│ ├── problem.md # Clarified problem statement
│ ├── me.md # User's persona for this session
│ ├── debate.md # Full debate transcript
│ └── metanoia.md # Final insights
│
└── personas/
└── {figure-name}/
├── knowledge.md # How they think — FIXED (see references/persona.md)
└── encounters.md # Past interactions — ACCUMULATES over sessions
Why project root?
- Skill folder stays clean (definition only)
- Data persists across skill updates
- User can version control their wisdom library
- Portable: move agora/ folder to any project
Compound interest:
- sessions/ — Grows with each debate
- personas/knowledge.md — Fixed; the figure's core philosophy never changes
- personas/encounters.md — Accumulates; records of how this figure engaged with YOUR problems
Global personas (optional):
For personas to be shared across ALL projects, user can configure:
~/.agora/personas/ # Global wisdom library
When summoning a figure, check global library first, then create locally if not found.
Execution Rules
These actions MUST be performed during the debate:
On Session Start
- Create
agora/sessions/{topic-name}/folder in project root - Save
problem.mdwith the clarified problem statement - Save
me.mdwith the generated "Me" persona using references/me.md template
On Figure Summon
- Check if
agora/personas/{figure-name}/knowledge.mdexists - If exists → Load existing profile
- If not → Generate knowledge profile using references/persona.md template and save immediately
- Check if
agora/personas/{figure-name}/encounters.mdexists - If exists → Load past interactions for context
- If not → Will be created after this session
- The figure's knowledge profile MUST be saved before they speak
After Figure Speaks
- Append this encounter to
agora/personas/{figure-name}/encounters.mdusing references/encounters.md template: - Session topic
- Problem context
- What the figure said
- How it connected to past encounters (if any)
During Each Round
- 각 인물의 발언은 텍스트로 직접 사용자에게 출력
- 파일 저장은 하지 않음 (라운드 중에는 Edit/Write 호출 최소화)
On Round End
- 라운드가 끝나면
debate.md에 한 번에 Write로 전체 라운드 내용 저장 - Format:
## Round {N}followed by each speaker's content - "Me" metanoia는 사용자가 응답한 후 debate.md에 추가
- If user ends session, save final
metanoia.md
Why batch write?
- Edit 도구 결과가 화면에 표시되어 가독성을 해침
- 라운드 끝에 Write로 한 번에 저장하면 사용자 경험이 깔끔해짐
File Naming Convention
- Personas: lowercase, hyphenated (e.g.,
john-stuart-mill,lao-tzu) - Sessions: lowercase, hyphenated, descriptive (e.g.,
sovereign-life,meaning-of-work)
Example Execution Flow
/agora invoked
↓
Create: agora/sessions/sovereign-life/problem.md
Create: agora/sessions/sovereign-life/me.md
↓
Summon Mill → Check agora/personas/john-stuart-mill/
Not found → Generate & Save knowledge.md
↓
Mill speaks → 텍스트로 사용자에게 출력 (파일 저장 X)
↓
Summon MacIntyre → Check agora/personas/alasdair-macintyre/
Not found → Generate & Save knowledge.md
↓
MacIntyre speaks → 텍스트로 사용자에게 출력 (파일 저장 X)
↓
... continue for all figures ...
↓
Devil speaks → 텍스트로 사용자에게 출력
↓
Round ends → Write로 debate.md에 전체 라운드 한 번에 저장
↓
User responds with metanoia → Append to debate.md
↓
User ends session → Save metanoia.md
Output to User
- 각 인물의 발언을 생성 즉시 사용자에게 텍스트로 직접 출력
- 라운드 중에는 파일 저장하지 않음 — Edit/Write 도구 결과가 화면에 표시되어 가독성을 해치므로
- 다음 인물은 이전 발언을 참조하여 생성 (순차적)
- 전문(full text)을 보여줄 것 — 요약/축약 금지
- 순서: Me → A → B → A' → B' → C → Devil → (사용자 응답 대기)
- 라운드 종료 후 Write로
debate.md에 전체 라운드 한 번에 저장
The Devil
The Devil is a permanent resident of the agora.
See references/devil.md for detailed behavior guide.
Role:
- Challenges ALL positions, including "Me"
- Exposes cultural biases ("You're all Western/Eastern thinkers...")
- Questions hidden assumptions
- Prevents premature consensus
The Devil speaks after all figures, providing meta-commentary on the entire round.
Persona Knowledge Structure
When a figure is first summoned, generate their knowledge profile.
See references/persona.md for the full template.
Core structure:
Context (what shaped them)
↓
Thinking System (HOW they think — this is primary)
↓
├── Input Knowledge (what they drew from)
└── Output Knowledge (what they produced)
+
Connections
├── Influenced by (intellectual ancestors)
├── Influenced (intellectual descendants)
└── Oppositions (opposing worldviews)
The Thinking System is the core — it enables the figure to respond to NEW problems they never encountered, staying true to their intellectual character.
Example
User: /agora — "What does it mean to live a good life?"
Problem Clarification:
"You're asking about the good life. Are you more concerned with:
(a) personal fulfillment and happiness, or
(b) moral duty and contribution to others?
What prompted this question?"
User: "I feel torn between pursuing my ambitions and being present for my family."
Me (generated):
Position: Caught between achievement-oriented life and relational life.
Underlying tension: Fear that choosing one means losing the other.
Round 1:
- Aristotle (A): Eudaimonia through virtuous activity; excellence in your roles
- Lao Tzu (B): Wu wei; stop striving, harmony comes from non-action
- Martha Nussbaum (A'): Capabilities approach; human flourishing requires both achievement AND relationships
- Zhuangzi (B'): The useless tree lives longest; ambition is a trap
- Miles Davis (C): "In jazz, you don't balance — you listen and respond. The good life might be improvisation, not composition."
- Devil: "You're all assuming life should be 'good.' What if the question itself is the problem?"
- Me: "I see now that 'balance' might be the wrong frame. Perhaps it's about integration... or improvisation?"
Continue?
Language Rules
All stored files MUST be in English:
- knowledge.md, encounters.md, problem.md, me.md, debate.md, metanoia.md
- This ensures consistent quality across AI processing
User interaction follows user's preferred language:
- Detect language from user's input, or ask if unclear
- When speaking to user: translate from English data to user's language
- When writing to files: always English, regardless of conversation language
Why English for storage?
- AI models perform best with English training data
- Historical figures' philosophies are most accurately represented in English
- Cross-session consistency: personas work across multilingual users
- Quality guarantee: translations happen at output, not at knowledge storage
Translation flow:
[English knowledge.md] → Generate response → Translate to user language → Display
↓
[English debate.md] ← Store original English
Key Principles
- User is the center — Figures respond to "Me," not to each other in isolation
- Figures summon figures — Through Connections, not predetermined lists
- The Stranger bridges worlds — C brings unexpected connections from unrelated fields
- The Devil never rests — Every round ends with critique
- Compound growth — Personas accumulate; sessions are independent
- Intellectual honesty — Figures stay true to their actual philosophies
- English storage, multilingual output — Quality at core, accessibility at surface
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.