AI user research via study creation, interviews, recruitment, and reports.
Turn Claude Code, Codex, Cursor, VS Code / GitHub Copilot, Windsurf, Cline, OpenClaw, Manus, and other MCP clients into AI user-research operators that can create studies, run interviews, recruit participants, and deliver report links from plain-English prompts.
This repository now has two layers:
cookiy skill and MCP install flowThe install and indexing surface stays stable while the library grows around it.
The public installer package now acts as a bootstrap CLI:
cookiy (MCP-backed): npx cookiy-mcp, Homebrew cookiy, and marketplace/plugin installs primarily configure Cookiy MCP and sync a local copy of skills/cookiy. Use this path for live studies, AI interviews, recruitment, and report links on Cookiy.pm-research (local open library): skills/pm-research, prompts/, references/, examples/, and optional scripts/ are plain Markdown and Python in this repo. They do not call Cookiy APIs or require MCP. Use them by cloning or opening this repository in your agent workspace and following skills/pm-research/SKILL.md. Some installers only copy skills/cookiy; if pm-research is missing in your client, clone the repo or copy that folder into your workspace.This repo already includes concrete user-research materials, not just install docs. The canonical file list for the open library is in ### Current files in the open library below; the table here is a high-level map.
| Material type | What is included now | What it is for |
|---|---|---|
| Installable runtime skill | cookiy skill + MCP install surface | Connect an agent to Cookiy and run the live study/interview/recruit/report workflow |
| Additive PM / UXR skill (no MCP) | skills/pm-research/ + prompts/, references/, examples/, optional scripts/ | End-to-end PM/UXR craft (plan, guide, synthesize, recruit, read out) using local files only |
| Public installer package | packages/cookiy-mcp/ | Source for the cookiy-mcp bootstrap CLI and Homebrew build artifacts |
| Study-brief and survey prompts | prompts/study-briefs/discovery-study.md, prompts/study-briefs/survey-design.md | Stronger study briefs and survey instruments with bias checks |
| Interview-guide prompts | problem-exploration, jtbd-switch-interview, probing-techniques, usability-test-script under prompts/interview-guides/ | Exploratory, JTBD/switch, probe menus, and moderated usability sessions |
| Synthesis prompts | evidence-first-synthesis, qualitative-coding, affinity-mapping, opportunity-solution-tree under prompts/synthesis/ | Evidence-first synthesis, coding, affinity clustering, opportunity-solution trees |
| Stakeholder readout prompts | executive-summary, data-story-narrative under prompts/stakeholder-readouts/ | Exec summaries and data-story narratives for mixed evidence |
| Recruitment prompts | outreach-script, screening-call under prompts/recruitment/ | Outreach copy and screening calls |
| Research method references | references/methods/ (selector, thematic analysis, JTBD card, survey statistics basics, continuous discovery loop) | Short method cards and heuristics |
| Reusable templates | references/templates/ (research plan, insight card, discussion guide, recruit screener, findings deck) | Reusable planning, fieldwork, and readout structures |
| Book-ingestion guidance | references/books/README.md | Turn books into agent-usable notes without uploading copyrighted content |
| Worked examples | examples/ (study briefs, readouts, interview guides, synthesis, recruitment) | Synthetic examples of “good enough” artifacts |
| Optional local scripts | scripts/transcript_to_codes.py, scripts/survey_sampler.py | CSV helper for coding rows; rough two-proportion sample-size estimate |
| Repo governance docs | docs/PLATFORM_COMPATIBILITY.md, docs/CONTENT_POLICY.md, docs/THIRD_PARTY_ATTRIBUTIONS.md, docs/ROADMAP.md | Compatibility, copyright boundaries, attribution, roadmap |
| Security and license | SECURITY.md, LICENSE | Installer behavior and license |
If you are here for a specific kind of material, start here:
prompts/study-briefs/discovery-study.mdreferences/templates/research-plan-template.mdexamples/study-briefs/saas-onboarding-friction.mdprompts/study-briefs/survey-design.mdreferences/methods/survey-statistics-basics.mdscripts/survey_sampler.py (planning aid only)prompts/interview-guides/jtbd-switch-interview.mdreferences/methods/jtbd-framework.mdexamples/interview-guides/jtbd-b2b-saas.mdprompts/interview-guides/usability-test-script.mdreferences/templates/discussion-guide-template.mdprompts/interview-guides/probing-techniques.mdprompts/interview-guides/problem-exploration.mdreferences/methods/research-method-selector.mdprompts/synthesis/evidence-first-synthesis.mdprompts/synthesis/qualitative-coding.mdprompts/synthesis/affinity-mapping.mdreferences/methods/thematic-analysis.mdreferences/templates/insight-card-template.mdexamples/synthesis/coded-transcript-excerpt.mdscripts/transcript_to_codes.pyprompts/synthesis/opportunity-solution-tree.mdreferences/methods/continuous-discovery-loop.mdprompts/stakeholder-readouts/executive-summary.mdprompts/stakeholder-readouts/data-story-narrative.mdreferences/templates/findings-deck-template.mdexamples/readouts/mobile-checkout-friction.mdprompts/recruitment/outreach-script.mdprompts/recruitment/screening-call.mdreferences/templates/recruit-screener-template.mdexamples/recruitment/cold-outreach-email.mdpackages/cookiy-mcp/package.jsonpackages/cookiy-mcp/README.mdpackages/cookiy-mcp/scripts/generate-homebrew-formula.mjsdocs/contract-source.jsonreferences/books/README.mddocs/CONTENT_POLICY.mddocs/THIRD_PARTY_ATTRIBUTIONS.mdskills/pm-research/SKILL.mdskills/pm-research/references/method-index.md# Install Cookiy for your AI client
npx cookiy-mcp --client codex -y
# Then ask your agent:
"Create a 6-participant checkout-abandonment study in English."
"Run 3 simulated interviews with price-sensitive mobile shoppers."
"Share the report link as soon as a preview is ready."What happens:
| Use case | Ask your agent | What Cookiy does |
|---|---|---|
| Ecommerce checkout drop-off | "Create a 6-participant study to understand why mobile shoppers abandon checkout after shipping costs appear." | Creates the study, generates the guide, and highlights sample size, interview mode, and duration for review. |
| SaaS onboarding friction | "Run 5 simulated interviews with first-time admins setting up SSO for the first time." | Queues AI interviews, polls status, and returns transcripts for early signal before spending on real participants. |
| Concept validation with real users | "Recruit bilingual parents in the US for 8 short interviews about a children's learning app, then share the report link when ready." | Previews targeting and pricing, launches recruitment after confirmation, tracks progress, and returns the report share link when available. |
Install as a plugin directly in Claude Code:
claude plugin add cookiy-ai/cookiy-skillOr install the MCP server standalone:
npx cookiy-mcp --client claudeCode -ynpx skills add cookiy-ai/cookiy-skillOr install the MCP server directly:
npx cookiy-mcp --client codex -yclawhub install cookiy # Skill only, not MCPThis installs the Cookiy skill only. To connect OpenClaw to Cookiy's live MCP tools, install the MCP server separately:
Or install the MCP server directly:
npx cookiy-mcp --client openclaw -ynpx cookiy-mcp --client vscode -ynpx cookiy-mcp --client windsurf -ynpx cookiy-mcp --client cline -ynpx cookiy-mcp --client manus -yThis writes a resumable headless OAuth helper bundle under ~/.mcp/<server>/
for Manus-style sandbox environments. The installer now opens the
authorization page when possible and prints one explicit next step:
approve the browser prompt, then paste the final callback URL or the
authorization code back into the terminal only if setup does not resume
automatically. After token exchange, it verifies the MCP connection and
prints a short success confirmation.
Install from the Cursor Marketplace, or manually:
npx cookiy-mcp --client cursor -ynpx cookiy-mcp -yThe installer auto-detects installed AI clients. On supported clients, it installs a local Cookiy skill copy first and then configures MCP. Other clients fall back to MCP-only setup.
brew install cookiy-ai/tap/cookiy && cookiy -yThis repository contains both skill content and an installer that writes local MCP configuration for supported clients. That means automated platform scanners may flag expected behaviors such as OAuth flows, client config updates, helper scripts, and local skill installation.
For a concrete description of the intended network access, local file writes, and credential model, see SECURITY.md.
Validation note: rows below reflect direct cookiy-mcp CLI dry-runs against the live installer contract.
| Client | Direct install command | Local validation status | Last verified |
|---|---|---|---|
| Claude Code | npx cookiy-mcp --client claudeCode -y | CLI dry-run verified, client detected locally | 2026-03-17 |
| Codex | npx cookiy-mcp --client codex -y | CLI dry-run verified, client detected locally | 2026-03-17 |
| Cursor | npx cookiy-mcp --client cursor -y | CLI dry-run verified, client detected locally | 2026-03-17 |
| GitHub Copilot / VS Code | npx cookiy-mcp --client vscode -y | CLI dry-run verified, client detected locally | 2026-03-17 |
| OpenClaw | npx cookiy-mcp --client openclaw -y | CLI dry-run verified, client detected locally | 2026-03-17 |
| Windsurf | npx cookiy-mcp --client windsurf -y | CLI dry-run verified via forced client selection | 2026-03-17 |
| Cline | npx cookiy-mcp --client cline -y | CLI dry-run verified via forced client selection | 2026-03-17 |
| Manus | npx cookiy-mcp --client manus -y | CLI dry-run verified via forced client selection | 2026-03-17 |
These install and discovery surfaces remain the protected runtime contract for this repository:
npx skills add cookiy-ai/cookiy-skillclaude plugin add cookiy-ai/cookiy-skillclawhub install cookiy (skill only, not MCP)ai.cookiy/cookiyhttps://s-api.cookiy.ai/mcpProtected files and compatibility rules are documented in docs/PLATFORM_COMPATIBILITY.md.
cookiy-skill/
├── .claude-plugin/plugin.json
├── .cursor-plugin/plugin.json
├── .gitignore
├── .github/workflows/validate.yml
├── .mcp.json
├── LICENSE
├── SECURITY.md
├── SKILL.md
├── assets/logo.svg
├── docs/
│ ├── CONTENT_POLICY.md
│ ├── contract-source.json
│ ├── PLATFORM_COMPATIBILITY.md
│ ├── ROADMAP.md
│ └── THIRD_PARTY_ATTRIBUTIONS.md
├── examples/
│ ├── README.md
│ ├── interview-guides/jtbd-b2b-saas.md
│ ├── readouts/mobile-checkout-friction.md
│ ├── recruitment/cold-outreach-email.md
│ ├── study-briefs/saas-onboarding-friction.md
│ └── synthesis/coded-transcript-excerpt.md
├── prompts/
│ ├── README.md
│ ├── interview-guides/
│ ├── recruitment/
│ ├── stakeholder-readouts/
│ ├── study-briefs/
│ └── synthesis/
├── packages/
│ └── cookiy-mcp/
│ ├── package.json
│ ├── README.md
│ ├── bin/
│ ├── lib/
│ ├── scripts/
│ └── test/
├── references/
│ ├── README.md
│ ├── books/README.md
│ ├── methods/
│ └── templates/
├── rules/cookiy-basics.mdc
├── scripts/
│ ├── check-readme-commands.sh
│ ├── install-mcp.sh
│ ├── survey_sampler.py
│ └── transcript_to_codes.py
├── tasks/
│ ├── lessons.md
│ └── todo.md
├── skills/
│ ├── cookiy/
│ │ ├── SKILL.md
│ │ └── references/
│ │ ├── ai-interview.md
│ │ ├── guide-editing.md
│ │ ├── recruitment.md
│ │ ├── report-insights.md
│ │ ├── study-creation.md
│ │ └── tool-contract.md
│ └── pm-research/
│ ├── SKILL.md
│ └── references/method-index.md
└── README.mdSKILL.md (repo root): Must stay aligned with skills/cookiy/SKILL.md per docs/PLATFORM_COMPATIBILITY.md; it describes the Cookiy MCP skill, not pm-research.rules/cookiy-basics.mdc: Cursor rules used by the marketplace plugin packaging.tasks/: Maintainer scratch notes (todo.md, lessons.md); not part of the public skill contract.assets/logo.svg: Brand asset for plugin listings.The repository exposes one production MCP-backed installable skill: cookiy.
It also includes an additive, MCP-free skill for local research craft: pm-research under skills/pm-research/. That skill routes agents through prompts, references, and examples in this repo and does not authenticate to Cookiy.
The cookiy skill handles both setup and workflow orchestration across the full
public MCP surface:
cookiy_introducecookiy_helpcookiy_activity_get (unified study progress / status)cookiy_media_uploadcookiy_study_createcookiy_guide_statuscookiy_guide_getcookiy_simulated_interview_generatecookiy_simulated_interview_statuscookiy_interview_listcookiy_interview_playback_getcookiy_guide_getcookiy_guide_impactcookiy_guide_patchcookiy_recruit_createcookiy_recruit_statuscookiy_report_statuscookiy_report_share_link_getcookiy_study_getcookiy_study_listcookiy_balance_getcookiy_billing_cash_checkout (add cash credit via Stripe Checkout)cookiy_quant_survey_createcookiy_quant_survey_detailcookiy_quant_survey_listcookiy_quant_survey_resultsManual report generation is no longer part of the public MCP skill contract. The public docs in this repo are aligned to the current runtime behavior.
cookiy_help supports canonical workflow topics:
overviewstudyai_interviewguiderecruitmentreportbillingquantitativeCommon aliases like study creation, discussion guide, and report and insights
are also accepted by the current runtime.
For eligible paid actions, the runtime may apply experience_bonus
before purchased credit. Recruitment is separate and requires paid
credit or cash credit.
The source for the public bootstrap installer package also now lives in this repository under packages/cookiy-mcp/.
The additive library is organized for actual agentic use, not decorative content:
prompts/
references/
examples/
examples/README.md)docs/
packages/cookiy-mcp/
cookiy-mcp npm package source, build scripts, and testsprompts/study-briefs/discovery-study.mdprompts/study-briefs/survey-design.mdprompts/interview-guides/problem-exploration.mdprompts/interview-guides/jtbd-switch-interview.mdprompts/interview-guides/probing-techniques.mdprompts/interview-guides/usability-test-script.mdprompts/synthesis/evidence-first-synthesis.mdprompts/synthesis/qualitative-coding.mdprompts/synthesis/affinity-mapping.mdprompts/synthesis/opportunity-solution-tree.mdprompts/stakeholder-readouts/executive-summary.mdprompts/stakeholder-readouts/data-story-narrative.mdprompts/recruitment/outreach-script.mdprompts/recruitment/screening-call.mdreferences/methods/research-method-selector.mdreferences/methods/thematic-analysis.mdreferences/methods/jtbd-framework.mdreferences/methods/survey-statistics-basics.mdreferences/methods/continuous-discovery-loop.mdreferences/templates/research-plan-template.mdreferences/templates/insight-card-template.mdreferences/templates/discussion-guide-template.mdreferences/templates/recruit-screener-template.mdreferences/templates/findings-deck-template.mdreferences/books/README.mdexamples/study-briefs/saas-onboarding-friction.mdexamples/readouts/mobile-checkout-friction.mdexamples/interview-guides/jtbd-b2b-saas.mdexamples/synthesis/coded-transcript-excerpt.mdexamples/recruitment/cold-outreach-email.mdscripts/transcript_to_codes.pyscripts/survey_sampler.pypackages/cookiy-mcp/package.jsonpackages/cookiy-mcp/README.mdpackages/cookiy-mcp/bin/cli.mjspackages/cookiy-mcp/lib/*packages/cookiy-mcp/scripts/*packages/cookiy-mcp/test/*This single repository still serves the same public distribution surfaces:
| Platform | What it reads | How users install |
|---|---|---|
| Claude Code Plugins | .claude-plugin/, .mcp.json, skills/ | claude plugin add cookiy-ai/cookiy-skill |
| skills.sh (Codex, etc.) | skills/ | npx skills add cookiy-ai/cookiy-skill |
| ClawHub (OpenClaw) | skills/ | clawhub install cookiy (skill only; MCP installs separately) |
| Cursor Marketplace | .cursor-plugin/, rules/, .mcp.json | Cursor marketplace UI |
The roadmap is to keep the installable runtime surface stable while incubating more user-research content and future skills safely.
Planned next areas are tracked in docs/ROADMAP.md, including:
Those future additions will only be promoted into installable skill surfaces after a compatibility review.
The skill orchestrates Cookiy's MCP server, which exposes the live user-research tool surface. The MCP server handles OAuth 2.1 authentication, billing, and all backend operations.
For MCP server installation without skills, see the cookiy-mcp npm package.
MIT