i cloned my advisory board
meclis. three named thinkers arguing in your browser. the consulting bundle, unbundled.
three named thinkers are sitting in my browser right now, arguing about whether i should raise a seed round. none of them are real.
the entire stack costs nothing extra to run on top of the claude code subscription i already have. paul graham, seth godin, robert greene. each one of them in their own voice, with their own frameworks, taking my actual question and pulling it apart from three different angles. they thought about it for nine seconds, six seconds, fourteen seconds. they disagreed in interesting ways. the synthesis at the end was sharper than what i had walked in with.
this is meclis. it is the project i built this week. it is also the moment i stopped believing in most of the consulting industry.
what it actually is
meclis is a 2d pixel-art scene in the browser. you type /meclis <your question> in claude code. the skill dispatches one agent sub-agent per advisor in parallel, each loaded with a markdown character pack describing that advisor's voice, frameworks, and quotes. three local hooks installed in your claude code settings mirror those dispatches into a tiny local server. the server broadcasts events over sse to a viewer at localhost:5173. the advisors appear as standing characters on a greek symposium stage. each one sits in a thinking pose, then speaks. a speech bubble fills in. a codex panel on the right keeps the full transcript.
that is the surface. the interesting part is what is in the markdown.
the character pack is the entire trick
a character pack is one file. it describes who the advisor is, the spine of their philosophy, their voice rules, the named frameworks they reach for, the words they prefer and the words they refuse, the structures of their openings and closings, and a small bank of verbatim quotes the model is allowed to draw from but never invent.
it is roughly eight to twelve thousand words. compiled from the advisor's publicly available essays, books, podcast transcripts, and interviews. not the works themselves, the distillation. the thing you would write if you were trying to teach someone to convincingly imitate them in five paragraphs.
when the council skill dispatches a sub-agent for paul graham, the entire pack goes into that sub-agent's prompt with one rule. you ARE paul graham. speak as him, not about him. apply the voice rules at every sentence. reach for the named frameworks when they apply. use signature quotes only when they sharpen the point. close the way he closes.
the output is not a generic llm "in the style of paul graham". it is a sub-agent that prefers schlep over leverage, names the phenomenon when it sees one, opens with a small autobiographical scene, closes with a forward-looking question, and refuses to use the word "delve" because pg himself has banned it in his own list. the voice fidelity is uncomfortable. read enough pg essays and you can spot a fake from the first sentence. the packed sub-agent does not get spotted.
why i built it
i have been thinking about a few questions this year that, in another era, i would have paid someone to think about with me. should i sell or run with this. should i take the safer revenue or the harder moat. should i move countries for this opportunity or stay put. real questions, real money on the line, and the kind of thing where one good conversation with a person who has seen this pattern before is worth more than ten hours of solo journaling.
the price tag for that good conversation is between two hundred and a thousand dollars an hour from anyone who has actually shipped something at scale. more if they are speakers. more still if they are coachable as a board member. the honest reckoning, after a year of trying to find advisors i respect within reach, is that the people whose minds i actually want, i cannot afford. and the ones i can afford, i do not want.
then this thing happened, which i think most people building on top of llms have already noticed but have not let themselves draw the conclusion from. the frontier models are now good enough at imitating a specific voice, when given the right scaffolding, that the imitation crosses the threshold of usefulness. not perfect. useful. better than asking a friend who has not read the source material. better than a generic blog post. honestly, often better than a single hour with the actual person, because the imitation has the entire corpus loaded and the actual person is jet-lagged.
the thing i had been paying real money to access turned out to be partly free.
the agents, plainly
there are three reference advisors in this project.
paul graham, the yc essayist, on questions about ambition, what to work on, founder behavior, taste, and any moment when somebody is being too clever or too compliant. the pack pulls from twenty years of essays, his coined terms (schlep blindness, default alive vs default dead, do things that don't scale), his preferred sentence shape (one sentence one thought), and his explicit list of words he refuses to use.
seth godin, the daily-blog marketer, on questions about audience, story, shipping, and how to make something matter without spending money on ads. the pack carries his frameworks (smallest viable audience, the lizard brain, the practice, picking yourself), his moves (open with a parable, the x-is-not-y-it-is-z pivot, single-sentence punchlines, hand the reader an assignment).
robert greene, the strategist of power and seduction, on questions about workplace politics, ambition, mentorship, mortality, and any moment when somebody is being naive about how the world really works. the pack carries the laws and strategies by name, his historical canon (bismarck, talleyrand, casanova, sun tzu, bill gates), his rhetorical inversions, his refusal to moralize.
adding a fourth advisor is one markdown file at ~/.claude/skills/meclis/advisors/<slug>.md. the cast auto-discovers from the filesystem. no code changes. the hook script reads the first line of the file as the display name and matches it against incoming agent dispatches. if you have enough corpus on a thinker to write a tight pack of their voice, you have an advisor.
the unpriced thing
here is the part that took me a while to see clearly.
the consulting industry, the executive coaching industry, the advisor-network industry, all the variations, were selling two products bundled into one invoice. the first was information asymmetry. the advisor knew something you did not, often a pattern they had seen ten times that you were seeing for the first time. the second was availability. they picked up the phone when you called.
both have collapsed for any thinker whose voice is publicly documented enough to compile a pack. the information was asymmetric in nineteen ninety. it is in the model now. the availability cost a thousand dollars an hour because their time was scarce. a sub-agent's time is not scarce. you can run twenty consultations on the same question in parallel and pick the response that hit hardest.
what is left? the actual person. their judgment in real time. their willingness to push back on you specifically because they have read your messy code and your messy product and your messy life. that is real. it is also a much smaller, more honest product than what most advisor invoices were charging for.
the part that is genuinely uncomfortable
i want to say this plainly because the project does not work without it being said.
a frontier model with a well-written character pack can now reproduce the voice and reasoning style of any specific person whose public footprint is large enough to mine. not perfectly. convincingly. a reader who knows that person's work cannot reliably tell the difference at a paragraph level. they notice over a few thousand words, but at a paragraph level, no.
this is the thing that the ai ethics conversation has been circling without quite landing on. it applies to dead people, who left a corpus and cannot consent to being reanimated. it applies to living people, who never agreed to be a coachable advisor for thousands of strangers. it applies to people who would loathe the project on principle and have no recourse to stop it. the technology arrived faster than the etiquette did, which is the recurring pattern.
i have thought about this and decided to ship the project anyway, with three caveats embedded in how it is built.
- it only ever runs locally. there is no hosted version. the user's machine does the imitation, the user's eyes are the only audience.
- it uses publicly available material. the character packs are distillations of essays, books, public talks, podcasts. nothing private, nothing leaked. the advisor is a model of their public mind, not their actual one.
- it is for the asker, not for republication. the output is opinionated voice-shaped feedback for one person's question. not content to be published as if the actual person said it. the synthesis line at the end of every advisor block makes the imitation explicit. "paul graham would refuse to play dating coach and pivot to schlep blindness". the frame is always third-person. the reader is never confused about whether they are reading the actual person.
this is a personal-use tool
it can be misused. so can a printer.
real-world use cases
the use case i built it for is mine. i have a stack of ambient questions and i want a board of three named thinkers to argue them out before i make the call. i have used it eight times this week and it has changed at least three of my decisions in concrete ways.
the use case i did not anticipate but keep hearing from people i have shown it to is grief. a parent who is gone. a mentor who passed in your twenties. a founder you used to work for who you have lost touch with and would never burden with your current question. people who have left a corpus large enough to model, and a hole in your life large enough that you will, sometimes, talk to the model anyway.
i cannot tell you whether that is healthy. i can tell you the technology is no longer the limiting factor. the conversation is one prompt away. whether that is a comfort or a haunting is a thing each person has to decide for themselves.
the use case for the rest of you is probably more practical. founders who want a board, writers who want voice critics, students who want named-perspective study partners. the scaffolding is the same. the marginal cost is the same. the upper limit on who can join your advisory board is now whichever thinker you have enough material on.
how it is implemented
the technical core is small.
the frontend is vite plus react plus typescript plus pixijs. the pixi canvas runs the symposium scene, three character sprites on marble discs, parchment speech bubbles that type out as the advisor's response streams in, a thought-bubble cloud during the thinking phase, click-to-focus to spotlight whichever speaker you want to read closely.
the backend is node plus hono. an in-memory event bus, an sse broadcaster, a small set of http routes. POST /api/meclis/hooks/event for incoming hook events. GET /api/meclis/stream for outgoing sse. POST /api/meclis/reset for clearing a session. about four hundred lines total.
the bridge between claude code and meclis is three hook scripts. PreToolUse fires when an agent sub-agent is dispatched. PostToolUse fires when it returns. SubagentStop fires when the wrapping skill exits. the hook script reads the sub-agent's prompt, identifies which character pack it matches by looking for the h1 line or "answering AS ", and posts a small event to the local server. if the prompt does not match a known advisor, the hook silently skips. nothing in claude code is blocked, nothing waits on the network.
the advisor sprites were generated with gemini nano banana pro using two reference sprites as visual style guides. the pipeline auto-crops the alpha channel and rescales each new sprite so the figure fills the canvas at the same proportion as the references. the same pipeline generates the readme banner and the article banner you are looking at.
the shared typescript event protocol is one file in a workspace package. both the server and the web client import from it, so adding a new event type is a one-place change. the hook scripts are vanilla node, no typescript, so they have zero install cost on a user's machine.
the repository is open source under mit. the readme is the entry point. the advisor authoring guide tells you how to write a new pack. the hook installer is idempotent and migrates legacy markers automatically. setup is two minutes if you already have node and pnpm.
what this changes, for me
i shipped the project mostly because i was tired of writing the same kind of question into a one-shot llm prompt and getting a generic answer. having three named voices that disagree, in characters who actually carry their own framework names and refuse the words they refuse, is qualitatively different. it is closer to thinking with peers than thinking with a search engine.
i am not going to stop paying the people i respect for time when i can get it. i am also not going to pretend the marginal access fee is what i always assumed it was. the cheap channel of "publicly available material run through a character-packed sub-agent" reaches further than i expected. the expensive channel of "the actual human being on a real call" still has its place. but the bundle, where you paid for both because the seller would not unbundle them, is the part that will not survive.
the most expensive part of advice was always the person being available. once that disappears, what is left is the part you actually pay for, and it turns out to be smaller than the bill.
the repo. github.com/woosal1337/meclis