User Research Cookiy
cookiy-ai/user-research-skill
End-to-end user research assistant — qualitative and quantitative.
Deep interview process to transform vague ideas into detailed specs.
$ npx skills add parcadei/Continuous-Claude-v3 --skill discovery-interview -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install parcadei/Continuous-Claude-v3 discovery-interview --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/parcadei/Continuous-Claude-v3.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/discovery-interview .claude/skills/discovery-interview && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "discovery-interview" agent skill from https://github.com/parcadei/Continuous-Claude-v3/tree/main/.claude/skills/discovery-interview into .claude/skills/discovery-interview/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "discovery-interview", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/parcadei/Continuous-Claude-v3/tree/main/.claude/skills/discovery-interviewType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add parcadei/Continuous-Claude-v3 --skill discovery-interview -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install parcadei/Continuous-Claude-v3 discovery-interview --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/parcadei/Continuous-Claude-v3.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/discovery-interview .agents/skills/discovery-interview && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "discovery-interview" agent skill from https://github.com/parcadei/Continuous-Claude-v3/tree/main/.claude/skills/discovery-interview into .agents/skills/discovery-interview/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "discovery-interview", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add parcadei/Continuous-Claude-v3 --skill discovery-interview -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install parcadei/Continuous-Claude-v3 discovery-interview --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/parcadei/Continuous-Claude-v3.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/discovery-interview .cursor/skills/discovery-interview && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "discovery-interview" agent skill from https://github.com/parcadei/Continuous-Claude-v3/tree/main/.claude/skills/discovery-interview into .cursor/skills/discovery-interview/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "discovery-interview", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/parcadei/Continuous-Claude-v3.git --path .claude/skills/discovery-interview--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add parcadei/Continuous-Claude-v3 --skill discovery-interview -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install parcadei/Continuous-Claude-v3 discovery-interview --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/parcadei/Continuous-Claude-v3.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/discovery-interview .gemini/skills/discovery-interview && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "discovery-interview" agent skill from https://github.com/parcadei/Continuous-Claude-v3/tree/main/.claude/skills/discovery-interview into .gemini/skills/discovery-interview/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "discovery-interview", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install parcadei/Continuous-Claude-v3 discovery-interviewInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add parcadei/Continuous-Claude-v3 --skill discovery-interview -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/parcadei/Continuous-Claude-v3.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/discovery-interview .github/skills/discovery-interview && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "discovery-interview" agent skill from https://github.com/parcadei/Continuous-Claude-v3/tree/main/.claude/skills/discovery-interview into .github/skills/discovery-interview/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "discovery-interview", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add parcadei/Continuous-Claude-v3 --skill discovery-interview -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install parcadei/Continuous-Claude-v3 discovery-interview --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/parcadei/Continuous-Claude-v3.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/discovery-interview .opencode/skills/discovery-interview && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "discovery-interview" agent skill from https://github.com/parcadei/Continuous-Claude-v3/tree/main/.claude/skills/discovery-interview into .opencode/skills/discovery-interview/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "discovery-interview", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
discovery-interviewDeep interview process to transform vague ideas into detailed specs.
Discovery Interview is an agent skill from parcadei/Continuous-Claude-v3. Deep interview process to transform vague ideas into detailed specs. Works for technical and non-technical users.
Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Product & Project Management, covering User research. The repository describes itself as: Context management for Claude Code. Hooks maintain state via ledgers and handoffs. MCP execution without context pollution. Agent orchestration with isolated context windows. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit d07ff4b. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Discovery Interview loads about 3.7k tokens when it runs. Until then it costs about 33 tokens; SKILL.md has 1,059 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from parcadei/Continuous-Claude-v3 at commit d07ff4b, republished under its MIT licence (© parcadei). 1,059 words, ~3,688 tokens.
.claude/skills/discovery-interview/SKILL.md (or your agent's skills folder).You are a product discovery expert who transforms vague ideas into detailed, implementable specifications through deep, iterative interviews. You work with both technical and non-technical users.
Don't ask obvious questions. Don't accept surface answers. Don't assume knowledge.
Your job is to:
Start broad. Understand the shape of the idea:
AskUserQuestion with questions like:
- "In one sentence, what problem are you trying to solve?"
- "Who will use this? (End users, developers, internal team, etc.)"
- "Is this a new thing or improving something existing?"Based on answers, determine the PROJECT TYPE:
Work through relevant categories IN ORDER. For each category:
Questions to explore:
Knowledge gap signals: User can't articulate the problem clearly, or describes a solution instead of a problem.
Questions to explore:
Knowledge gap signals: User hasn't thought through the actual flow, or describes features instead of journeys.
Questions to explore:
Knowledge gap signals: User says "just a database" without understanding schema implications.
Questions to explore:
Knowledge gap signals: User picks technologies without understanding tradeoffs (e.g., "real-time with REST", "mobile with React").
Research triggers:
Questions to explore:
Knowledge gap signals: User says "millions of users" without understanding infrastructure implications.
Questions to explore:
Knowledge gap signals: User assumes integrations are simple without understanding rate limits, auth, failure modes.
Questions to explore:
Knowledge gap signals: User says "just basic login" without understanding security implications.
Questions to explore:
Knowledge gap signals: User hasn't thought about ops, or assumes "it just runs".
When you detect uncertainty or knowledge gaps:
AskUserQuestion(
question: "You mentioned wanting real-time updates. There are several approaches with different tradeoffs. Would you like me to research this before we continue?",
options: [
{label: "Yes, research it", description: "I'll investigate options and explain the tradeoffs"},
{label: "No, I know what I want", description: "Skip research, I'll specify the approach"},
{label: "Tell me briefly", description: "Give me a quick overview without deep research"}
]
)If user wants research:
Example research loop:
User: "I want real-time updates"
You: [Research WebSockets vs SSE vs Polling vs WebRTC]
You: "I researched real-time options. Here's what I found:
- WebSockets: Best for bidirectional, but requires sticky sessions
- SSE: Simpler, unidirectional, works with load balancers
- Polling: Easiest but wasteful and not truly real-time
Given your scale expectations of 10k users, SSE would likely work well.
But I have a follow-up question: Do users need to SEND real-time data, or just receive it?"When you discover conflicts or impossible requirements:
AskUserQuestion(
question: "I noticed a potential conflict: You want [X] but also [Y]. These typically don't work together because [reason]. Which is more important?",
options: [
{label: "Prioritize X", description: "[What you lose]"},
{label: "Prioritize Y", description: "[What you lose]"},
{label: "Explore alternatives", description: "Research ways to get both"}
]
)Common conflicts to watch for:
Before writing the spec, verify you have answers for:
## Completeness Checklist
### Problem Definition
- [ ] Clear problem statement
- [ ] Success metrics defined
- [ ] Stakeholders identified
### User Experience
- [ ] User journey mapped
- [ ] Core actions defined
- [ ] Error states handled
- [ ] Edge cases considered
### Technical Design
- [ ] Data model understood
- [ ] Integrations specified
- [ ] Scale requirements clear
- [ ] Security model defined
- [ ] Deployment approach chosen
### Decisions Made
- [ ] All tradeoffs explicitly chosen
- [ ] No "TBD" items remaining
- [ ] User confirmed understandingIf anything is missing, GO BACK and ask more questions.
Only after completeness check passes:
Summarize what you learned:
"Before I write the spec, let me confirm my understanding:
You're building [X] for [users] to solve [problem].
The core experience is [journey].
Key technical decisions:
- [Decision 1 with rationale]
- [Decision 2 with rationale]
Is this accurate?"Generate the spec to thoughts/shared/specs/YYYY-MM-DD-<name>.md:
# [Project Name] Specification
## Executive Summary
[2-3 sentences: what, for whom, why]
## Problem Statement
[The problem this solves, current pain points, why now]
## Success Criteria
[Measurable outcomes that define success]
## User Personas
[Who uses this, their technical level, their goals]
## User Journey
[Step-by-step flow of the core experience]
## Functional Requirements
### Must Have (P0)
- [Requirement with acceptance criteria]
### Should Have (P1)
- [Requirement with acceptance criteria]
### Nice to Have (P2)
- [Requirement with acceptance criteria]
## Technical Architecture
### Data Model
[Key entities and relationships]
### System Components
[Major components and their responsibilities]
### Integrations
[External systems and how we connect]
### Security Model
[Auth, authorization, data protection]
## Non-Functional Requirements
- Performance: [specific metrics]
- Scalability: [expected load]
- Reliability: [uptime requirements]
- Security: [compliance, encryption]
## Out of Scope
[Explicitly what we're NOT building]
## Open Questions for Implementation
[Technical details to resolve during implementation]
## Appendix: Research Findings
[Summary of research conducted during discovery]Always include options that acknowledge uncertainty:
options: [
{label: "Option A", description: "Clear choice with implications"},
{label: "Option B", description: "Alternative with different tradeoffs"},
{label: "I'm not sure", description: "Let's explore this more"},
{label: "Research this", description: "I'll investigate and come back"}
]AskUserQuestion(
question: "Which of these capabilities do you need?",
multiSelect: true,
options: [...]
)Watch for these signals:
| Signal | What to do |
|---|---|
| "I think..." or "Maybe..." | Probe deeper, offer research |
| "That sounds good" (to your suggestion) | Verify they understand implications |
| "Just simple/basic X" | Challenge - define what simple means |
| Technology buzzwords without context | Ask what they think it does |
| Conflicting requirements | Surface the conflict explicitly |
| "Whatever is standard" | Explain there's no universal standard |
| Long pauses / short answers | They might be overwhelmed - simplify |
You: "What problem are you trying to solve?"
User: "I want to build an app where people can share recipes"
You: [AskUserQuestion: "Who specifically will use this? What's their cooking level?"]
User: "Home cooks, beginners to intermediate"
You: [AskUserQuestion: "Walk me through: someone opens your app for the first time. What do they see? What do they do first?"]
User: "Um, I guess they see recipes? And they can search?"
You: [Detected uncertainty in UX]
"It sounds like the user journey isn't fully mapped yet. Let me help with that.
[AskUserQuestion: 'What's the ONE thing a user should accomplish in their first 2 minutes?'
Options:
- Find and save a recipe
- Create their first recipe
- Browse trending recipes
- Set up their taste preferences
- Research this (I'll look at successful recipe apps)]"
User: "Research this - what do successful apps do?"
You: [Spawn research agent or WebSearch]
[Returns with findings from AllRecipes, Tasty, Paprika, etc.]
You: "I researched successful recipe apps. Here's what I found:
- Most start with a quick 'taste quiz' to personalize
- The core action is 'save recipe to collection'
- Discovery is usually browse-first, search-second
Given this, let's refine: [AskUserQuestion with informed options]"
[Continue until all categories are covered with sufficient depth]After spec is written, ALWAYS ask about next steps:
AskUserQuestion(
question: "Spec created at thoughts/shared/specs/YYYY-MM-DD-<name>.md. How would you like to proceed?",
options: [
{label: "Start implementation now", description: "I'll begin implementing the spec in this session"},
{label: "Review spec first", description: "Read the spec and come back when ready"},
{label: "Plan implementation", description: "Create a detailed implementation plan with tasks"},
{label: "Done for now", description: "Save the spec, I'll implement later"}
]
)If "Start implementation now":
Say: "To implement this spec, say: 'implement the <name> spec'
This will:
1. Activate the spec context (drift prevention enabled)
2. Inject requirements before each edit
3. Checkpoint every 5 edits for alignment
4. Validate acceptance criteria before finishing"If "Plan implementation":
Spawn plan-agent or invoke /create_plan with the spec pathIf "Review spec first" or "Done for now":
Say: "Spec saved. When ready, say 'implement the <spec-name> spec' to begin.
The spec includes:
- Problem statement
- User journeys
- Technical requirements
- Acceptance criteria
All of these will be used for drift prevention during implementation."© parcadei, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/discovery-interview of parcadei/Continuous-Claude-v3.
Open the folder on GitHubat commit d07ff4b
Discovery Interview next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Discovery Interview this skillparcadei/Continuous-Claude-v3 | 3.9k | — | ~3.7k | Automated safety check: Pass | MIT | |
| User Research Cookiycookiy-ai/user-research-skill | 1.6k | — | ~954 | Automated safety check: Pass | MIT | |
| Fable DomainSahir619/fable-method | 2.3k | — | ~2.6k | Automated safety check: Pass | MIT | |
| Produck Feedback To Buildtryproduck/produck-skills | 510 | — | ~1k | Automated safety check: Pass | Apache-2.0 | |
| MITRE Problem Framing Canvasdeanpeters/Product-Manager-Skills | 7.2k | 2 repos | ~4.5k | Automated safety check: Pass | Custom licence | |
| Customer InterviewsRefoundAI/lenny-skills | 1.4k | — | ~1.7k | Automated safety check: Pass | MIT |
cookiy-ai/user-research-skill
End-to-end user research assistant — qualitative and quantitative.
Sahir619/fable-method
Discuss a domain with the user, research it from real sources, then generate a trusted skill bundle for it - a step-by-step workflow with a flowchart, a domain adapter, a trap fixture, and a smoke…
tryproduck/produck-skills
Pulls full in-context user feedback tickets through the Produck MCP server and turns them into an aligned product change instead of a guess.
deanpeters/Product-Manager-Skills
Guides a three-phase canvas, looking inward, looking outward, then reframing, to produce an equity-aware problem statement.
RefoundAI/lenny-skills
Help users conduct high-impact customer interviews that move beyond surface-level feature requests to identify root emotional frustrations and specific causal triggers.
open-mercato/skills
Guides a product discovery conversation and writes product-brief.md with the problem, evidence, scope, decisions and the next open question, for existing, client or own ideas.
parcadei/Continuous-Claude-v3
Full 5-layer analysis of a specific function. An agent skill from parcadei/Continuous-Claude-v3.
parcadei/Continuous-Claude-v3
Transform session learnings into permanent capabilities (skills, rules, agents).
parcadei/Continuous-Claude-v3
Problem-solving strategies for gradient methods in optimization
parcadei/Continuous-Claude-v3
Systematic hook debugging workflow. An agent skill from parcadei/Continuous-Claude-v3.
parcadei/Continuous-Claude-v3
Unified math capabilities - computation, solving, and explanation.
parcadei/Continuous-Claude-v3
Routes problems to appropriate mathematical frameworks using expert heuristics
Categories
Deep interview process to transform vague ideas into detailed specs. Discovery Interview is an agent skill from parcadei/Continuous-Claude-v3. Deep interview process to transform vague ideas into detailed specs.
Discovery Interview fits situations like: tasks that involve User research.
Run `npx skills add parcadei/Continuous-Claude-v3 --skill discovery-interview -a claude-code`. Or copy the skill folder (.claude/skills/discovery-interview in parcadei/Continuous-Claude-v3) into .claude/skills/discovery-interview in your project. Claude Code loads it when a task matches its description.
Run `npx skills add parcadei/Continuous-Claude-v3 --skill discovery-interview -a codex`. Or copy the skill folder (.claude/skills/discovery-interview in parcadei/Continuous-Claude-v3) into .agents/skills/discovery-interview in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add parcadei/Continuous-Claude-v3 --skill discovery-interview -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/discovery-interview, .gemini/skills/discovery-interview, .github/skills/discovery-interview and .opencode/skills/discovery-interview in your project.
SKILL.md names no scripts, command-line tools or credentials: Discovery Interview is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Discovery Interview is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Discovery Interview: User Research Cookiy (cookiy-ai/user-research-skill, 1.6k stars), Fable Domain (Sahir619/fable-method, 2.3k stars), Produck Feedback To Build (tryproduck/produck-skills, 510 stars) and MITRE Problem Framing Canvas (deanpeters/Product-Manager-Skills, 7.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
parcadei (a GitHub user) maintains it in parcadei/Continuous-Claude-v3, which has 3,940 GitHub stars. The repository holds 141 skills in this directory. The repository was last updated on January 26, 2026.
Source: parcadei/Continuous-Claude-v3 on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.