AI discovery pipelines with personality disorders.
50 Shades of Vern. Multiple personalities — and none of them are sorry.
Like Dad Jokes? So does Vern.
Stop asking one AI for the answer. Make them argue about it.
Your idea runs a gauntlet of competing models and personas. Each one challenges, refines, and tears apart the last. What survives is worth building.
⭐ Drop us a star or leave feedback — the Verns live for it.
The original six. Each with a distinct personality, model, and approach.
Focused perspectives for specific needs. Also summoned by VernHole.
Orchestrators that bridge pipeline stages. Not summoned by VernHole — they work behind the scenes.
One Vern is a conversation. All 15 at once is the VernHole.
Choose your council tier. Chaos in. Wisdom out. Dad jokes everywhere.
/vern:hole your-wild-idea
Council of the Three Hammers (3) • Max Conflict (6) • The Inner Circle (3-5) • The Round Table (6-9) • The War Room (10-13) • The Full Vern Experience (all 15) • Fate's Hand (random)
Multi-LLM workflows that chain personas together. Your idea goes through multiple passes across competing LLMs. Each pass builds on the last.
Default (5 steps)
Expanded (7 steps) — use --expanded
Post-Pipeline (optional)
Historian pre-step runs only when input files exist in the input folder.
You asked. The Verns listened.
Hit your Claude Code token limit? Prefer a native terminal workflow? Now you can run the full Vern-Bot experience — discovery pipelines, VernHole councils, and all 18 personas — without Claude Code. Just the vern binary, your LLMs, and a terminal.
Then run vern tui to launch the interactive terminal UI.
or
Then run vern tui to launch the interactive terminal UI.
Waiting on Claude Code usage resets? Route pipeline work to codex, gemini, or copilot instead. Juggle your subscriptions and keep the Verns in action while your limits cool down.
Claude, Codex, Gemini, and Copilot. Pick your fallback chain. Run everything on one LLM, or let each step use its best match. Configurable per run.
Guided wizards for discovery pipelines and VernHole councils. Phase-aware split-panel views: step outline on the left, live activity log on the right. Progress bars, color-coded status, and copy-to-clipboard when done. All in your terminal.
The TUI calls the same Go backend as the CLI and plugin. Same pipelines, same personas, same council tiers. Just a different front door.
Configure LLM mode, pipeline preferences, default discovery folder, and available LLMs once. The TUI settings screen saves to ~/.config/vern/config.json and pre-fills your forms on every run.
macOS (Intel + Apple Silicon), Linux (x64 + ARM64), Windows (x64 + ARM64). One binary, zero dependencies beyond your LLM CLIs.
Requires at least one LLM CLI: claude, codex, gemini, or copilot.
Install via brew install jdonohoo/vern/vern, scoop install vern, winget install jdonohoo.vern, or download from GitHub Releases.
Structured output. Zero opinions. Take it anywhere.
Discovery pipelines don't just give you analysis — they give you tasks. VTS is the structured output format: YAML frontmatter with ID, complexity, dependencies, status, and files touched. Markdown body with description and acceptance criteria. One file per task.
VTS is unopinionated by design. Export to Jira, Linear, GitHub Issues, or whatever your team runs on. The format is simple enough to parse, rich enough to be useful. Your issue tracker doesn't care which Vern wrote it.
The Vern builder (in active development) will run off
Beads by
Steve Yegge.
vern tobeads imports your VTS tasks
directly into Beads — status mapping, dependency wiring, dry-run by default.
Discovery output flows straight into build execution.
Create your own Vern. Give it a name, a description, and let AI do the rest.
Don't see a persona that fits your workflow? Generate one. The persona generator uses AI to design a complete Vern — personality, sign-off style, dad joke flavor, model assignment, and all the scaffolding to make it work as both a Claude Code plugin skill and a standalone CLI persona.
agents/{name}.md — Full persona definition with personality, style, and sign-offcommands/{name}.md — Plugin command registrationskills/{name}/SKILL.md — Plugin skill that builds CLI commandsThe generator also updates the shorthand router, help text, embedded test expectations, and council roster — so your new Vern is immediately available everywhere: plugin, CLI, TUI, and VernHole councils.
vern generate <name> <description> •
/vern:generate <name> <description>
Flags: --model (override model), --color (TUI color), --llm (generation LLM), --dry-run (preview without writing), --no-update (skip registration updates)
Each persona is a skill invoked as /vern:<skill>.
Customize which LLMs and personas are used at each pipeline step.
~/.claude/vern-bot-config.json.A structured multi-LLM chain that evolves your idea through 5 or 7 passes. Choose Default (5-step) or Expanded (7-step) mode. Each pass builds on the previous one, and your original prompt rides along the entire chain.
discovery/my-saas-app/input/ for your reference docs and discovery/my-saas-app/output/ for pipeline results. A prompt.md template is generated in input/ for you to fill in.discovery/my-saas-app/ folder, reads all files from input/ as context, and lets you add more files before the pipeline runs. Best for complex ideas with existing research or specs.--resume-from flag works with both default and expanded pipelines./vern:new-idea then /vern:discovery) is recommended for complex ideas. Drop competitor analysis, user research, technical specs — anything relevant — into the input/ folder. The pipeline reads it all.
output/pipeline.log and output/pipeline-status.md with per-step status. Failed steps automatically fall back based on your LLM mode (e.g. codex/gemini/copilot → claude in default mode). Use --llm-mode or --single-llm to override per run. Failed steps that can't recover print a --resume-from hint.
Choose a council tier and summon Verns to brainstorm your idea. Each gives their independent take, then a synthesis pass weaves the chaos into something useful.
Use any persona directly for one-shot tasks. The format is /vern:<persona> <task>.
Quick reference for picking the right tool.
| Quick fix or one-off task | /vern:mediocre fix the bug |
| Thorough code review | /vern:great review src/auth.ts |
| Just the answer, fast | /vern:nyquil what does this error mean |
| Creative exploration | /vern:ketamine design a notification system |
| Bold, risky moves | /vern:yolo rewrite it in Rust |
| Systems architecture | /vern:architect design the database layer |
| Security/risk audit | /vern:paranoid review the deploy pipeline |
| Architecture decision | /vern:hole monolith vs microservices? |
| New project planning | /vern:discovery build a task manager app |
| Deep research + prep | /vern:new-idea my-project |
| Challenge assumptions | /vern:inverse everyone says use React |
| User experience review | /vern:ux review the onboarding flow |
| Cut through the hype | /vern:retro do we really need Kubernetes? |
| Comprehensive analysis | /vern:mighty build the entire auth system |
| Positive framing | /vern:optimist we're behind schedule |
| Evidence-based analysis | /vern:academic compare React vs Svelte |
| MVP scope cut | /vern:startup what's the minimum viable version |
| Enterprise-grade rigor | /vern:enterprise audit the compliance gaps |
| Synthesize council wisdom | /vern:oracle what did the council actually say? |
| Index large input folder | /vern:historian ~/project/input |
| Create a custom persona | /vern:generate visionary "sees the future" |
| Oracle on existing output | /vern:oracle-consult |
| Configure Vern-Bot | /vern:setup |
| See all commands | /vern:help |