返回资讯中心
外部精选
软件工程
#开发者实时流

Roast Room 在 Claude Code 中组建 AI 顾问团,辩论商业决策并给出评分裁决

来源标题:AI advisors debate your business decision in Claude Code

Roast Room 让 12 位基于真实人物公开作品构建的 AI 顾问在 Claude Code 中辩论用户的商业决策,最后输出评分裁决和一键生成的 PDF。项目需 Node.js 20 以上,运行 npm start 后打开本地网页即可旁观讨论,用户还能用 /newroaster 添加自定义顾问。

Hacker News 最新dotmanish2026/11/3 · 昨天20 分钟阅读

以下正文同步自 Hacker News 最新,版权归原站所有,已转换为易读排版。

Bring a hard business decision and a council of AI advisors argues it out, then hands you a scored verdict and a one-click PDF. Twelve advisors ship with it, each built from that person's public work: their letters, essays, talks, and videos. For each question, the Chair recommends who should sit on the council and you confirm. The council runs in Claude Code, and a small local web app shows them around a table talking it through. Want someone else at the table? Type /newroaster and a name, and Claude builds that advisor the same way.

Those seven are the default board. Five more advisors are on call, and the Chair brings them in when your question is in their lane:

Claude Code. Your Claude plan covers it; no API key needed.

Node.js 20 or newer, for the room. There's nothing to install beyond that.

Setup

git clone https://github.com/nateherkai/roast-room.git cd roast-room

Or open Claude Code anywhere and say: "Clone github.com/nateherkai/roast-room and start the room for me."

Start the room: npm start, then open http://localhost:4730. Leave it open.

Open Claude Code in the same folder: claude

Type /roast-room and your decision.

Answer the Chair's questions, then watch the council argue it out in the room.

When the verdict lands, click Download PDF.

You also get a short verdict in Claude Code, and the full report lands in sessions/<date>-<decision>/verdict.md.

The council is only as good as what you give it. Include:

Left something out? The Chair asks before the council starts. Example:

/roast-room I run a coaching business at $30k a month with 15 clients at $2,000 each. Should I raise to $3,500 for everyone, raise for new clients only, or keep $2,000? Close rate is about 50% and I have $40k in the bank. Success is $45k a month by March. I'm leaning toward raising for everyone because I'm underpaid.

More ways to run it:

The room is optional. The council runs the same in Claude Code without it.

When you run /roast-room, the Chair reads your question and recommends a council from every advisor you have, with one line on why each one fits. You pick:

A pricing question might get Hormozi, Buffett, Codie Sanchez, Sara Blakely, and Graham. A hiring question might get Leila Hormozi, Martell, Wickman, Naval, and Buffett. Every council keeps a seat that guards your downside and one that's likely to disagree, so the room argues instead of nodding.

How the board gets picked is a setting in .claude/skills/roast-room/roster.json:

{ "board": "ask", "default": ["bezos", "graham", "hormozi", "garyvee", "martell", "wickman", "buffett"], "seats": [ ...every advisor you have... ] }

Setting What happens on every /roast-room

"ask" (out of the box) The Chair recommends a council and asks you to confirm it.

"auto" The Chair picks the council and tells you who and why, without asking.

"default" Your default board sits every time. No question.

You don't need to edit the file by hand. Type /roast-room board and say what you want: "put Naval on my default board", "take Gary V off", or "stop asking me, just use my default board".

Skip the question on any run: --seats hormozi,naval,buffett seats exactly those advisors, and --all seats everyone (up to nine). --quick recommends four.

/newroaster Morgan Housel

Claude builds a new seat the way the original seven were built:

A standard build is about 8 to 10 sub-agent runs, so it uses a real share of your plan. When it finishes, open a new Claude Code session so the advisor loads as its own agent (the council works before that too). Then use them like anyone else: /roast-room ask housel ..., /roast-room --seats housel,buffett,hormozi ..., or put them on your default board. The Chair also starts recommending them when a question fits their pillar.

You can build an advisor from public figures, living or historical, with a real body of public work, or from your own material (your posts, transcripts, notes) if you want yourself or a consenting mentor on the board. The raw sources stay on your machine; only the brain, which holds short quotes and paraphrase, is meant to be committed.

Their face in the room: /newroaster also makes the new advisor's cartoon portrait, the same way the original seven were made. It finds a real photo of the person, turns it into the same 3D cartoon style (using one of the existing cartoons as the style reference), picks the closest likeness, and makes the talking frames (mouth open, mouth "oh", and a blink). This step needs a kie.ai key in .env (KIE_AI_API_KEY=, about 5 image jobs per advisor) and Python with opencv-python (Claude installs it if it's missing). Without a key the advisor still works and shows a placeholder face; add a key later and run /newroaster portrait <name>.

YouTube transcripts and photos work best with yt-dlp installed, and PDFs need pdftotext (Poppler). Both are optional: without them, Claude falls back to YouTube's own captions and reads PDFs itself.

Run npm start, open http://localhost:4730, and click Past sessions. Three finished councils ship with the repo, so you can see how it works (and download their PDFs) before you run your own.

The council runs in Claude Code. Each seat is a sub-agent (.claude/agents/council-*.md, listed in roster.json) that reads its own brain (.claude/skills/roast-room/brains/<name>/): frameworks, principles, positions, stories, and voice notes compiled from public sources, with every quote tied to a source. Claude Code acts as the Chair. It runs the rounds, keeps score, and writes the verdict (.claude/skills/roast-room/SKILL.md).

Each seat scores every option, weighted by how much that seat's pillar matters to your decision. The Chair caps the verdict when a seat flags ruin risk, and it forces a real argument when everyone agrees too fast.

The room only watches. As the Chair works, it writes each step to sessions/, and the app plays those files back. Between rounds it shows which round is running, how long it has been, and what each advisor is weighing. The room makes no AI calls of its own.

Every council is saved in sessions/. Past sessions replays any of them and downloads its PDF.

Usage: a full council is three sub-agent runs per seat (21 for seven), so it takes a real bite out of your plan's usage. Use --quick for small calls.

Optional: let the room run councils itself

If you'd rather type a decision straight into the room, copy .env.example to .env, add an ANTHROPIC_API_KEY, set COUNCIL_RUNNER=api, and restart npm start. That mode bills your Anthropic API account (about 25 calls per full council).

Path What

.claude/skills/roast-room/ The council skill: protocol, prompts, scoring, report template, and one brain per advisor

.claude/skills/roast-room/roster.json Every advisor, your default board, and how the board is picked

.claude/skills/newroaster/ The /newroaster skill and its scripts: fetch sources, check quotes, register a seat

.claude/agents/ One agent per advisor (council-<name>.md)

app/ The room: a zero-dependency Node server, the web page, and the PDF builder

sessions/ Your councils (kept out of git) and the three examples

build/ Raw sources /newroaster fetched (kept out of git)

About the advisors

These are simulations built from each person's public work, and so is any advisor you add. They are not the people, they don't speak for them, and none of them is affiliated with or endorses this project. A seat only quotes a person verbatim when the line is in its brain with a source, and python .claude/skills/roast-room/scripts/check_quotes.py sessions/<session> checks every quote in a council against the brains. Each brain's sources.md lists what it was built from.

Built by AI Automation Society. The code is MIT licensed; see LICENSE. The PDF builder bundles jsPDF (MIT) and Montserrat (SIL Open Font License); their licenses sit next to them in app/public/.

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →