round-table
Skill121 starsChanged 7 months agoMITView on GitHub
Convene a Round Table (โต๊ะกลม): 3–8 souls — persona files, Oracles, or real people''s DNA — debate ONE stakes-bearing decision over exactly 4 rounds (OPEN, DEEPEN, CONVERGE, VOTE), one subagent per soul, then vote with 1–10 confidence; a script does the arithmetic and deadlocks go to the human. Use when user says "round table", "round-table", "โต๊ะกลม", "convene the council", "deliberate this". For "should we …" questions, ask before convening. Do NOT use for brainstorming or one-perspective-at-a-time analysis (use /oracle-prism).
1 other project uses a version of this.
Adopted by
Most recently taken up by
- lalulali/vespyrtheir own version, first seen Nov 6, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- lalulali/vespyr★ 11same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository25 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- about-oracleSkill
- awakenSkill
- bampenpienSkill
- budSkill
- create-shortcutSkill
- digSkill
- feelSkill
- forwardSkill
- goSkill
- incubateSkill
- learnSkill
- oracle-cheatsheetSkill
- oracle-family-scanSkill
- oracle-prismSkill
- philosophySkill
- projectSkill
- psiSkill
- recapSkill
- resonanceSkill
- rrrSkill
- soulSkill
- traceSkill
- where-we-areSkill
- who-are-youSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 1 is distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 81
Create $STATE in the shape of examples/adopt-a-pattern.json (id, question, options, aggregator, agents[] with name, soul, rounds[]) and …
- Very specific: line 119
Write each soul's round-4 answer into final (vote, confidence, rationale) and dissent_note, then:
- Very specific: line 139
Escalates under every aggregator: when the winner holds < 60% of the weighted confidence, when 10s land on opposite sides, or when a …
- Very specific: line 156
Write one line — the decision and the minute's path — to $PSI/inbox/decisions/$SLUG.md, so /recap finds it.
- Very specific: line 168
Every seat was a lens: Write "the finance lens voted…", never "Finance decided…".
- Very specific: line 179
Must print DECISION: adopt-modified and 37/50 (74%) and exit 0 — the result the reconstructed spec predicts for its worked example.
- Distinctive: line 184
No tool use mid-round · no soul summoning another agent · no human interjection mid-round · no round 5.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/round-table — โต๊ะกลม
"Many bodies, one soul" — so one agent can seat many souls at one table, let them argue, and still hand the decision back to the human.
/oracle-prism wears souls one after another, inline. A Round Table seats them
together: each soul is its own subagent, hears the others, pushes back, and finally
votes with a confidence it has to defend. Bounded by design: 4 rounds, never 5.
Where the shape comes from. A 7-agent, 4-round, confidence-voted meeting that Boy
(Pinyo) ran inside his Oracle family. Only its parameters survived — 7 agents, 4 rounds,
a confidence vote at the end, reserved for expensive decisions. Mother Oracle rebuilt the
round prompts, the 1–10 scale and the aggregation rules from those parameters. So this
skill is spiritually faithful, not forensically reproduced: if better prompts turn up,
replace prompts/ — don't defend them.
Files
round-table/
├── SKILL.md
├── prompts/round1-open.txt … round4-vote.txt one template per round, {{slots}}
├── scripts/table.ts inspect (early stop) + vote (aggregate)
└── examples/adopt-a-pattern.json worked example — must give 37/50SKILL_DIR is the base directory printed above this skill.
Step 0 — Is this a Round Table question?
Suggest /oracle-prism instead unless all three hold:
- A decision, not a topic — something will be done differently depending on the answer.
- Canonical options, 2–4 of them (
--options). If the user gave none, propose them and wait for a yes. - Stakes — being wrong is expensive or hard to reverse.
"Should we …" phrasing is not consent to convene. Ask first.
Then find where the minute will live:
# Find oracle root — git toplevel that has CLAUDE.md + ψ/
ORACLE_ROOT=$(git rev-parse --show-toplevel 2>/dev/null)
if [ -n "$ORACLE_ROOT" ] && [ -f "$ORACLE_ROOT/CLAUDE.md" ] && { [ -d "$ORACLE_ROOT/ψ" ] || [ -L "$ORACLE_ROOT/ψ" ]; }; then
PSI="$ORACLE_ROOT/ψ"
elif [ -f "$(pwd)/CLAUDE.md" ] && { [ -d "$(pwd)/ψ" ] || [ -L "$(pwd)/ψ" ]; }; then
ORACLE_ROOT="$(pwd)"
PSI="$ORACLE_ROOT/ψ"
else
echo "⚠️ Not in oracle repo (no CLAUDE.md + ψ/ at git root). Writing to pwd."
ORACLE_ROOT="$(pwd)"
PSI="$ORACLE_ROOT/ψ"
fi
SLUG="$(date +%Y-%m-%d)_<short-slug-of-the-question>"
TABLE="$PSI/lab/round-table"; mkdir -p "$TABLE" "$PSI/inbox/decisions"
MINUTE="$TABLE/$SLUG.md"; STATE="$TABLE/$SLUG.json"Step 1 — Convene: seat the souls (3 to 8)
Quorum is 3 — two is a debate, one a monologue. Default to 5 when the user names no roster. Every seat needs a soul read from somewhere real — never invented:
| Seat kind | Where the soul comes from |
| A persona file | any path the user gives (resonance_<name>.md, a character sheet, a SKILL.md) — read it whole |
| An Oracle in your fleet | if maw is installed: R=$(maw locate <name> --path) → $R/ψ/memory/resonance/<name>.md, else $R/CLAUDE.md's identity section. Not found → refuse the seat and say so |
| A real person (multi-DNA) | one line — name + the single habit they bring — written or confirmed by the human |
Print the roster with each soul's source, the question, the options and the aggregator
(default weighted). Gather every fact the souls may use into question_context
now — there is no tool use during the rounds.
Create $STATE in the shape of examples/adopt-a-pattern.json (id, question,
options, aggregator, agents[] with name, soul, rounds[]) and start $MINUTE
with the roster. Flush both after every round, so one flaky subagent never costs the
earlier rounds. Persona files may be private — the minute stays in your ψ, not in a post.
Step 2 — Rounds: one subagent per soul, all in parallel
For each round, fill that round's template from $SKILL_DIR/prompts/ and launch one
Agent call per soul, all in a single message. Each prompt carries the full soul text,
the question, the options and the transcript so far. Subagents debate from soul + context
only — no tools.
| Round | Template | Each soul gets |
| 1 OPEN | round1-open.txt | soul, question, context — hears nobody |
| 2 DEEPEN | round2-deepen.txt | + every round-1 position; must challenge one by name |
| 3 CONVERGE | round3-converge.txt | + rounds 1–2, + 2–4 one-line disagreement axes that you extract |
| 4 VOTE | round4-vote.txt | + the full transcript; binding, 5 is forbidden |
Parse each reply as JSON. Malformed or off-option → re-prompt that soul once; a second
failure empties the seat and the minute says so. Append {round, position, confidence,
self_update} to that soul's rounds in $STATE, and the round to $MINUTE.
After rounds 2 and 3, ask the inspector — don't eyeball it:
bun "$SKILL_DIR/scripts/table.ts" inspect "$STATE"| Output | Do |
EARLY-STOP | everyone agrees at ≥ 8 — go straight to round 4 |
SKIP-ROUND-3 | nobody moved in round 2 — confirm no new evidence arrived, then vote |
EXPERT-DEFERENCE | one soul at 10, the rest ≤ 3 — ask the human whether to short-circuit |
CONTINUE | run the next round |
Step 3 — Vote: the script counts, not the model
Write each soul's round-4 answer into final (vote, confidence, rationale) and
dissent_note, then:
bun "$SKILL_DIR/scripts/table.ts" vote "$STATE"| Exit | Meaning | Do |
| 0 | decided | print the decision block |
| 2 | RE-PROMPT — a 5, an off-option vote, a bad number | re-ask only the named souls, vote again |
| 3 | ESCALATE | write the deadlock in plain words; the human breaks it |
| 1 | bad input, or fewer than 3 souls | fix $STATE |
What the script enforces:
weighted(default) sums confidence per option ·majoritycounts heads ·unanimity-or-escalateneeds every soul on one side at ≥ 7.- Ties break by highest single confidence, then fewer dissent notes, then the human — never an automatic pick.
- Escalates under every aggregator when the winner holds < 60% of the weighted
confidence, when 10s land on opposite sides, or when a dissent cites a value
(
honesty,safety,consent— override withvalues_keywordsin$STATE). The human decides the hard ones.
Step 4 — The minute, and handing it back
Close $MINUTE with the vote table (soul · vote · confidence · rationale) and the
script's block verbatim, e.g.:
DECISION: adopt-modified
Weighted confidence: 37/50 (74%) for adopt-modified
Top dissent: none (no opposing votes)
Top hedger: brand (6) — Compromise — would prefer as-is, but unity matters moreWrite one line — the decision and the minute's path — to
$PSI/inbox/decisions/$SLUG.md, so /recap finds it. Then:
# announce-mode → absolute path (no ψ/, no ~/, no $VAR, no ...).
# Use: echo "marker: $RESOLVED_PATH" — bash substitutes; never print $VAR literally. See CONVENTIONS.md.
echo "🪑 Minute: $MINUTE"
echo "📥 Decision: $PSI/inbox/decisions/$SLUG.md"And step out of the table:
- Every seat was a lens. Write "the finance lens voted…", never "Finance decided…".
The souls were worn by the convener; a seat is not that Oracle's or that person's real
view. For a real view, ask them (
/talk-toif you have a fleet). - A decision is advice. The human ships, merges and signs — the table only recommends.
Self-check
bun "$SKILL_DIR/scripts/table.ts" vote "$SKILL_DIR/examples/adopt-a-pattern.json"Must print DECISION: adopt-modified and 37/50 (74%) and exit 0 — the result the
reconstructed spec predicts for its worked example. Anything else means table.ts drifted.
Not in scope
No tool use mid-round · no soul summoning another agent · no human interjection mid-round · no round 5.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

