claudeers.
// MCP Servers

focus-group

Clone your customers from real sales-call transcripts and run them as a standing focus group — /focus-group Agent Skill for Claude Code, Codex, Cursor, and more

// MCP Servers[ cli ][ api ][ desktop ][ web ][ claude ]#claude#mcp-serversMIT$open-sourceupdated about 1 month ago
Slowing down
96/100
last commit about 2 months ago
last release about 2 months ago
releases 1
open issues 0
// star history+1 this week

Install with your AI

Paste into Claude Code, Cursor, or any agent — it reads the repo and wires the tool into your project.

Install and set up focus-group (claude-plugin project) into my current project.
Found on https://claudeers.com/focus-group
Repo: https://github.com/bradautomates/focus-group
Homepage/docs: —
Detected install method: claude-plugin → /plugin install focus-group@bradautomates/focus-group
Category: mcp-servers. Platforms: cli, api, desktop, web.
Read the repo's README for exact setup and env vars, then install it and wire it into my project.

Claudeers Health Verdict:
slowing; community-verified: false. Confirm the source before running anything.
// or install directly (claude-plugin)
/plugin marketplace add bradautomates/focus-group
/plugin install focus-group@bradautomates/focus-group
// or clone
git clone https://github.com/bradautomates/focus-group

// compatibility

Platformscli, api, desktop, web
Operating systems
AI compatibilityclaude
LicenseMIT
Pricingopen-source
LanguagePython

/focus-group

Give Claude a standing focus group cloned from your own sales calls.

Clone your customers with Claude. Point it at all your sales call transcripts once. It discovers the 3-5 customer archetypes hiding in them, builds each into a grounded composite persona, then convenes them as a standing focus group you can pitch anything to — an offer, a hook, a price, a landing page, an email — before it goes live.

/focus-group                              # first run: analyze transcripts + confirm panel
/focus-group "$3k tier for the workshop"  # pitch the panel anything
/focus-group rebuild                      # ingest new transcripts incrementally

What people actually use it for

  • Price tests — "Juno buys at $3k, Dana stalls and asks who else is on the call."
  • Hook and headline reads — which seats scroll past, which lean in, with receipts.
  • Landing page and email teardowns — objections attributed to the archetype that raised them on real calls.
  • ICP correction — "you say you sell to ops leads, but every closed deal was a founder." The transcripts talk back.

How it works

Setup (once): Claude indexes every transcript, extracts decision behavior per call (their words, their objections, their price reactions), and clusters the real people into archetypes by how they buy — not demographics. Then it shows you what it found — "here are your archetypes, and here's who your customer appears to be" — you rename, merge, or cut seats and correct the ICP. Your corrections plus the closed/won patterns become business.md, and each confirmed archetype becomes a named fictional composite with a dossier: identity, buying journey, objection map, style guide, a 20-30 line quote bank, and a coverage map of what it can and can't speak to.

Run (every time): a moderated panel, not an LLM council.

  1. Round 1 — one isolated subagent per seat, loaded with only its dossier and prior positions. Each emits a pre-verbal signal (attention / valence / arousal) before any words; clones can shrug ("I'd have scrolled past this") or flag NO-DATA.
  2. Moderator pass — extracts the 2-3 sharpest splits. Adds zero opinions.
  3. Round 2 — only the contested seats, shown just the opposing take, with an anti-convergence instruction. Position flips are recorded as high-value events.
  4. Readout — reports the distribution, never resolves it: unanimous points, splits with attribution, top objections with receipts, what would flip each holdout.
  5. Live room — stay in and grill any clone ("Dana, what if it's half price?").

Every objection or enthusiasm must trace to dossier evidence or be tagged as extrapolation. Disagreement is the product — nothing ranks, synthesizes a winner, or manufactures consensus.

Composites, never real people

Panel seats are fictional blends clustered from many calls, never a named real client. Every seat needs 3+ real people behind it — enforced structurally by the clustering step. If your library only supports 2 clean archetypes, you get 2; it never pads with a thin one.

Memory

Everything lives in a folder you own:

~/Documents/FocusGroup/
  business.md                    # ICP + business context; converges over time
  panel/
    juno/dossier.md              # modules + quote bank + coverage map
    juno/positions.md            # appended every session
  sessions/
    2026-07-06-pricing-page.md   # stimulus, reactions, splits, verdict
  inventory.json                 # transcript index + cluster assignments

Sessions are flat dated markdown — "what has the panel said about pricing" is a grep, not a rebuild. Each seat's positions.md loads into the clone next session, so verdicts accumulate instead of contradicting.

Install

Claude Code

/plugin marketplace add bradautomates/focus-group
/plugin install focus-group@focus-group

Codex, Cursor, and other Agent Skills hosts

npx skills add bradautomates/focus-group -g

claude.ai (web)

Upload dist/focus-group.skill from the latest release via the claude.ai skill UI (or build it locally: bash skills/focus-group/scripts/build-skill.sh).

Manual (developer)

git clone https://github.com/bradautomates/focus-group
ln -s "$(pwd)/focus-group/skills/focus-group" ~/.claude/skills/focus-group

Setup

Run /focus-group once. It will:

  1. Ask where your transcripts live — a local folder of downloaded transcripts (recommended, token-free) or your meeting tool's MCP server (Fireflies, Granola, Google Drive). It tells you how to download them from your tool, or walks you through connecting the MCP server and pulls with a capped, cached, one-time cost.
  2. Index, extract, and cluster the transcript library into archetypes.
  3. Show you what it found — "here are your archetypes, and here's who your customer appears to be" — you rename, merge, or cut seats and correct the ICP.
  4. Write business.md and the confirmed dossiers, then mark setup complete.

After that, preflight is silent: setup.py --check exits 0 with no output and the panel just runs. Stale dossiers (>60 days) and pending transcripts warn; they never block.

Transcript sources

  • Local folder (recommended) — download your transcripts and point TRANSCRIPTS_DIR in ~/.config/focus-group/.env at the folder. This is by far the most token-efficient path: file reads are free, while every document pulled through an MCP tool call passes through model context. From Google Drive: right-click "Meet Recordings" → Download, unzip, done. Fireflies/Otter/Zoom all have transcript exports. Any text format works (.txt, .md, .docx-exported text, .vtt, .srt, .json).
  • MCP — connect your meeting tool's MCP server instead: Fireflies (https://api.fireflies.ai/mcp), Granola (claude.ai connector), or Google Drive (Anthropic's connector or any Drive MCP server). The wizard records TRANSCRIPT_MCP=<provider> and pulls calls through the connected tools under strict token rules (newest-50 cap, one doc per call, permanent local cache under ~/Documents/FocusGroup/transcripts/). You connect and authenticate the server yourself (Claude Code: claude mcp add; claude.ai/Desktop: Settings → Connectors; other hosts: their MCP config); the skill never handles your credentials.

The .env is never overwritten — setup only appends missing keys.

Structure

focus-group/
  .claude-plugin/
    plugin.json                  # Claude Code plugin manifest
    marketplace.json             # Claude Code marketplace manifest
  .codex-plugin/plugin.json      # Codex/agents manifest
  .github/workflows/             # CI (tests) + tagged release (.skill build)
  hooks/
    hooks.json                   # SessionStart status line (Claude Code only)
    scripts/check-setup.sh
  skills/focus-group/
    SKILL.md                     # the runtime: setup wizard + panel protocol
    scripts/setup.py             # preflight (--check / --json) + builder
    scripts/build-skill.sh       # claude.ai bundle builder (dev-only)
  tests/
    test_setup.py
  dev-sync.sh                    # mirror working tree into installed plugin cache

Develop

# Run the test suite (stdlib + pytest; no network):
python3 -m venv .venv && .venv/bin/pip install pytest
.venv/bin/python -m pytest tests/ -q

# Build the claude.ai upload bundle:
bash skills/focus-group/scripts/build-skill.sh   # → dist/focus-group.skill

# Dev-sync local edits into the installed Claude Code plugin:
./dev-sync.sh          # --dry-run to preview

Releasing: update CHANGELOG.md, keep the version in sync across skills/focus-group/SKILL.md, .claude-plugin/plugin.json, and .codex-plugin/plugin.json, then tag vX.Y.Z and push — the release workflow runs tests, builds the .skill, and attaches it to the GitHub release.

Open source

MIT. Personas are built from your transcripts on your machine; nothing is uploaded anywhere.

Built by Brad Bonanno — I make content about building with AI on YouTube (@bradbonanno), and build AI operating systems for businesses at Solaris Automation. If /focus-group saves you from guessing what your customers think, come say hi on the channel.

Star History

Star History Chart

github.com/bradautomates/focus-group · @bradbonanno · Solaris Automation · LICENSE

// faq

What is focus-group?

Clone your customers from real sales-call transcripts and run them as a standing focus group — /focus-group Agent Skill for Claude Code, Codex, Cursor, and more. It is open-source on GitHub.

Is focus-group free to use?

focus-group is open-source under the MIT license, so it is free to use.

What category does focus-group belong to?

focus-group is listed under mcp-servers in the Claudeers registry of Claude-compatible tools.

1 views
19 stars
unclaimed
updated about 1 month ago

// embed badge

focus-group on Claudeers
[![Claudeers](https://claudeers.com/api/badge/focus-group.svg)](https://claudeers.com/focus-group)

// retro hit counter

focus-group hit counter
[![Hits](https://claudeers.com/api/counter/focus-group.svg)](https://claudeers.com/focus-group)

// reviews

// guestbook

0/500

// related in MCP Servers

🔓

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete…

// mcp-serversf/HTML167,135NOASSERTION[ claude ]
🔓

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Gemini CLI & Hermes Agent. Only official website: ccswitch.io

// mcp-serversfarion1231/Rust127,274MIT[ claude ]
🔓

An open-source AI agent that brings the power of Gemini directly into your terminal.

// mcp-serversgoogle-gemini/TypeScript106,524Apache-2.0[ claude ]
🔓

🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman

// mcp-serversJuliusBrussee/JavaScript100,343MIT[ claude ]
→ see how focus-group connects across the ecosystem