A multi-agent system that simulates qualitative focus groups using GitHub Copilot custom agents.
Status: Exploration / Proof of concept — this is an experiment, not a production tool. See Limitations below.
This repo defines a set of GitHub Copilot custom agents and skills that orchestrate a fully simulated focus group — from research brief to final report — with every participant impersonated by an AI agent.
You provide a research topic or question. The system produces a complete deliverable set:
workspace/YYYY-MM-DD-{slug}/
brief.md # Research brief
discussion-guide.md # Moderator's topic guide
participants/
{name}.md # One persona file per participant
transcript.md # Full moderated session transcript
analysis.md # Thematic coding & analysis
report.md # Final report with recommendations
The methodology is grounded in real focus group best practices (see knowledge/focus-groups/).
| Agent | Role |
|---|---|
| Lead Researcher | Orchestrator — plans the study, creates the brief, designs personas, builds the discussion guide, then delegates session and analysis to sub-agents. |
| Moderator | Facilitates the simulated session round by round, calling on each participant agent in turn. |
| Participant | Impersonates a single persona — responds in-character to questions and to other participants. |
| Analyst | Performs thematic analysis on the transcript and writes the final report. |
| Skill | Used by |
|---|---|
create-brief |
Lead Researcher |
design-participants |
Lead Researcher |
create-discussion-guide |
Lead Researcher |
analyze-transcript |
Analyst |
write-report |
Analyst |
- Open this repo in VS Code with GitHub Copilot enabled.
- In Copilot Chat, select the
lead-researcheragent. - The agent will execute all phases autonomously and produce the output folder under
workspace/.
A beverage company is preparing to launch a new premium sparkling drink positioned between flavored sparkling water and light mocktails. Before finalizing the product and brand direction, they want to understand:
- How consumers perceive the emerging "adult non‑alcoholic" category
- What emotional and functional needs drive purchase
- Which brand narratives resonate (e.g., sophistication, wellness, indulgence)
- How packaging, naming, and flavor cues shape expectations
- What barriers or misconceptions might limit adoption
See the resulting report.
User → Lead Researcher
├── Phase 1: Create brief (create-brief skill)
├── Phase 2: Design participant personas (design-participants skill)
├── Phase 3: Build discussion guide (create-discussion-guide skill)
├── Phase 4: Run session (subagent → Moderator → subagent × N → Participant)
├── Phase 5: Analyze & report (subagent → Analyst)
└── Phase 6: Quality check
This is an early exploration. There are significant open questions and known limitations:
The architecture instructs the Moderator to "run a subagent @participant" for each persona in each round. However, it is unclear whether GitHub Copilot actually spawns a separate sub-agent per participant call, or whether the Moderator agent ends up simulating all participants within its own context. If the latter, persona separation is weaker — all "participants" share the same context window, weights, and potential biases, reducing the independence of viewpoints.
- Not real qualitative research. Simulated personas cannot replace real human participants. Insights should be treated as hypotheses, not findings.
- No statistical generalizability. As with real focus groups, but doubly so here — the "participants" don't represent a real population.
- Groupthink risk is amplified. A single underlying model tends toward coherence. Even with diverse persona instructions, responses may converge more than real humans would.
- Context window pressure. Long transcripts may exceed context limits, causing later rounds to lose awareness of earlier discussion. Quality may degrade in longer sessions.
- Persona fidelity. There's no guarantee the model consistently maintains distinct communication styles, biases, and viewpoints across many rounds.
- No validation loop. The system doesn't verify whether the "participants" actually behaved consistently with their persona files.
- Single session only. The architecture supports multiple sessions with different casts (for stratified populations), but this isn't implemented yet.
- Rapid ideation and stress-testing. Quickly explore how a topic might land with different audiences before investing in real research.
- Discussion guide prototyping. Generate and refine discussion guides that can later be used with real participants.
- Methodology exploration. Test multi-agent orchestration patterns in a structured qualitative research context.
See LICENSE.