Claude Persona: AI Panel Research & Concept Testing
Get directional customer insight before paying for fieldwork, via reusable AI persona panels for open-ended interviews and structured concept tests.
Evidence shows subprocesses run with --safe-mode and empty tools, context isolation, structured-output validation, cost logging and failure-stage metadata; data flow is largely transparent; no exfiltration or overreach found. Deducted for: repeated local claude CLI invocations with cost effects, a curl|bash install option, unverified publisher, and unclear rollback/recovery paths.
SKILL.md is internally self-consistent (parsing rules match examples) and describes preflight, retries, failure stages and diagnosable run_metadata payloads; committed unit tests cover analyze_results and JSON extraction with good failure feedback. Deducted for: static review only — simulate_survey.py and validate_panel.py key paths are not fully present in supplied files, and concurrent subprocess stability cannot be verified.
Audience and scenarios are clear, trigger semantics for ask/concept-test/generate are precise with concrete panel auto-detection logic, and --market cn is supported. Deducted for: core function depends entirely on the claude CLI and Anthropic services, raising mainland-China reachability concerns; non-fit boundaries of synthetic-persona results are hinted but not formally declared.
Documentation is well layered (SKILL.md, references, templates, docs, demos) with MIT license, version 0.2.0, author metadata, changelog and clear install notes. Deducted for: unverified publisher, maintenance responsibility and update path only implicit in a personal repo, early version stage, and referenced files not fully presentable in this evidence set.
README presents four complete demos, a model-sensitivity study (84–100% per-persona consistency), and directly usable report/CSV/chart outputs with clear differentiation from TinyTroupe. Deducted for: static review cannot reproduce runs; synthetic-persona output is directional signal needing researcher judgment, and comparative-benefit evidence is largely author-claimed.
The repo ships committed tests, demo raw results with run_metadata recording actual model IDs and cost, and a cross-model comparison document, keeping claims separable from facts. Deducted for: no independent third-party execution evidence; the sensitivity study is self-run and conclusions cannot be independently reproduced from a static read, so the 5-point static cap applies.
- Core function depends entirely on the claude CLI and Anthropic services and may be unreachable from mainland-China networks.
- Simulated persona runs spawn multiple subprocesses and model calls; watch costs (a max_budget_usd_per_call cap is provided).
- Synthetic persona results are directional signal only and should not replace real user research for final decisions.
- Publisher is not verified by FollowSkills; identity is unknown. The curl|bash install path should be replaced by the plugin-market install and the script reviewed.
What does this skill do, and when should you use it?
A Claude Code skill inspired by Microsoft's TinyTroupe for building reusable AI persona panels and running customer research. It supports three core operations: generating diverse virtual audiences, asking panels open-ended qualitative questions, and running structured concept comparison tests. Each persona answers in its own claude -p subprocess with context isolation and schema-validated structured output, eliminating inter-persona bias. Runs automatically produce research reports with theme synthesis, cross-tabs, and charts. The repo ships four complete demos (skincare, running shoes, France meal kits, Japan meeting-notes SaaS) plus a model sensitivity study.
/persona generate builds a persona panel by market, segments, or count (default 5; 15 in segment mode), emits full JSON personas including Big Five traits, and validates them with validate_panel.py (unique names, age spread, similarity checks). For /persona ask and /persona concept-test, simulate_survey.py builds a per-persona system prompt and launches parallel claude -p subprocesses (default concurrency 5) with --safe-mode context isolation and ---schema structured output, retrying failed parses up to 3 times. analyze_results.py then converts results to CSV, runs cross-tabs, generates charts, and writes a Markdown report (ask and concept-test default to LLM-synthesized reports). Panels and results are saved under personas/ and outputs/ in your working directory.
- Marketers comparing several ad messages or concept directions with a target audience before committing budget
- Product managers quickly exploring category pain points and decision criteria before writing requirements
- UX researchers wanting a synthetic audience panel they can question repeatedly, replacing early-stage qualitative fieldwork
- Teams pre-testing concept acceptance in a specific market (Japan, France, etc.) before launch
- Marketing data scientists generating panels from known customer structures (e.g., % dual-income couples) via segment-driven mode
What are this skill's strengths and limitations?
- Agent-separated execution with context isolation removes anchoring, consensus, and style-contamination bias of shared-context simulation
- Built-in panel validation (unique names, age/gender spread, Big Five similarity) plus response JSON validation with retries
- Every run records cost and the exact serving model IDs; configurable per-call budget cap and fallback model
- Four complete demos plus a model sensitivity study (84–100% of personas give the same answer across Claude generations)
- Multi-market support and deterministic sampling plans for segment-driven panels
- Hard dependency on the Claude Code CLI: simulation requires claude -p subprocesses, coupling you to that tool
- Results are directional only — explicitly not statistically representative, and AI responses may show positivity bias
- Demo results were mainly generated on claude-sonnet-4-6; model drift risk is mitigated but not eliminated by the sensitivity data
- Python analysis dependencies (pandas/matplotlib/seaborn) must be installed separately or reports lack charts
- Troubleshooting docs note claude -p subprocesses can hang on auth or rate limits; CLI availability must be verified first
How do you install this skill?
In Claude Code, run /plugin marketplace add takechanman1228/claude-persona, then /plugin install claude-persona@claude-persona, and restart Claude Code. Alternative: curl -fsSL https://raw.githubusercontent.com/takechanman1228/claude-persona/main/install.sh | bash. Requires Python 3.10+; for analysis, pip install pandas matplotlib seaborn.
How do you use this skill?
Three steps: 1) /persona generate 10 Gen Z skincare shoppers in the US (options: --count, --market japan, --segments); 2) /persona ask your open-ended question to explore motivations and barriers; 3) /persona concept-test Compare 3 skincare concepts... — concept details can be given inline or entered interactively. Results and reports land in outputs/{date}/{time}/.
How does this skill compare with similar options?
The README explicitly compares itself to Microsoft's TinyTroupe: TinyTroupe is a Python library needing an OpenAI API key and code-driven agent management; claude-persona is a Claude Code skill driven by natural-language commands, focused on marketing research (concept tests, messaging tests, packaging, feature bundles).