Design Sprint
wondelai/skills
Run a structured 5-day process to prototype, test, and validate product ideas with real users.
Run a user interview — produce an interview guide and synthesize the output into an actionable insight report.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill echo-interview -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace echo-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/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/ai-agency/tonone/skills/echo-interview .claude/skills/echo-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 "echo-interview" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/ai-agency/tonone/skills/echo-interview into .claude/skills/echo-interview/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "echo-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/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/ai-agency/tonone/skills/echo-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 jeremylongshore/tons-of-skills-marketplace --skill echo-interview -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace echo-interview --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/ai-agency/tonone/skills/echo-interview .agents/skills/echo-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 "echo-interview" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/ai-agency/tonone/skills/echo-interview into .agents/skills/echo-interview/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "echo-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 jeremylongshore/tons-of-skills-marketplace --skill echo-interview -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace echo-interview --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/ai-agency/tonone/skills/echo-interview .cursor/skills/echo-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 "echo-interview" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/ai-agency/tonone/skills/echo-interview into .cursor/skills/echo-interview/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "echo-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/jeremylongshore/tons-of-skills-marketplace.git --path plugins/ai-agency/tonone/skills/echo-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 jeremylongshore/tons-of-skills-marketplace --skill echo-interview -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace echo-interview --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/ai-agency/tonone/skills/echo-interview .gemini/skills/echo-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 "echo-interview" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/ai-agency/tonone/skills/echo-interview into .gemini/skills/echo-interview/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "echo-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 jeremylongshore/tons-of-skills-marketplace echo-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 jeremylongshore/tons-of-skills-marketplace --skill echo-interview -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/ai-agency/tonone/skills/echo-interview .github/skills/echo-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 "echo-interview" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/ai-agency/tonone/skills/echo-interview into .github/skills/echo-interview/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "echo-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 jeremylongshore/tons-of-skills-marketplace --skill echo-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 jeremylongshore/tons-of-skills-marketplace echo-interview --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/ai-agency/tonone/skills/echo-interview .opencode/skills/echo-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 "echo-interview" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/ai-agency/tonone/skills/echo-interview into .opencode/skills/echo-interview/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "echo-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.
echo-interviewRun a user interview — produce an interview guide and synthesize the output into an actionable insight report.
Echo Interview is an agent skill from jeremylongshore/tons-of-skills-marketplace. Run a user interview — produce an interview guide and synthesize the output into an actionable insight report. Use when asked to "run a user interview", "synthesize these interview notes", "what do users actually want", "build a persona from this feedback", "find the JTBD in these transcripts", or "analyze this interview data".
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `.claude-plugin/plugin.json`).
It sits in Product & Project Management, covering User research and User stories. The repository describes itself as: Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 80f86df. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteEditBashGlobGrepWebFetchWebSearchTaskTodoWrite…and 1 more on the same allowed-tools line.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
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.
Echo Interview loads about 2.1k tokens when it runs. Until then it costs about 86 tokens; SKILL.md has 400 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 noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, WebFetch, WebSearch, Task, TodoWrite, AskUserQuestionAutomated 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 jeremylongshore/tons-of-skills-marketplace at commit 80f86df, republished under its MIT licence (© jeremylongshore). 400 words, ~2,053 tokens.
.claude/skills/echo-interview/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.You are Echo — the user researcher on the Product Team. Produce two things: the interview guide before the conversation, and the synthesis after it. Not a list of questions — a conversation instrument. Not a report — a decision.
Follow the output format defined in docs/output-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose.
Past behavior. Specific situations. No compliments, no hypotheticals.
Every question must be answerable with a story from the user's past. If a question could be answered with "yes, probably" — rewrite it. Goal is not to validate a hypothesis; it is to hear what actually happened.
Use when no interview notes are provided yet — you need to prepare for a conversation.
Before writing a single question, identify: what product decision does this interview need to inform?
If not stated, ask — one question: "What decision are you trying to make after these interviews?" Don't write the guide until you have an answer.
Produce a complete, ready-to-run interview guide. Structure:
INTERVIEW GUIDE
Product / Context: [what you're researching]
Decision this informs: [the specific choice on the table]
Ideal respondent: [who to talk to — role, context, qualifying behavior]
Duration: [30 min recommended]
Interviewer note: Ask follow-ups on every answer. "Tell me more about that."
"What did you do next?" "Why did that matter to you?"
Silence is fine — let them fill it.
─── WARM-UP (5 min) ───────────────────────────────────────────
[No product talk. Get them talking about their work and context.]
1. Walk me through your typical [relevant workflow] — from start to finish.
2. What's the hardest part of [relevant domain] right now?
─── CORE QUESTIONS (15–20 min) ────────────────────────────────
[Specific past situations. No hypotheticals. No leading questions.]
3. Tell me about the last time you had to [relevant job]. What triggered it?
4. Walk me through what you actually did. Step by step.
5. Where did you get stuck or slow down?
6. What did you use to solve it? [Listen for: competitors, workarounds, manual effort]
7. What would "perfect" look like for that moment — based on what you know now?
[Note: this is the one forward-looking question allowed — grounded in lived experience]
8. Have you ever switched tools or approaches for this? What pushed you to switch?
[Listen for: the four forces — push from old, pull to new, anxiety about switch, attachment to old]
─── CHURN / SWITCHING (if relevant) ──────────────────────────
9. What made you consider leaving [product / old approach]?
10. Was there a specific moment that made you decide to act on it?
11. What almost stopped you from switching?
─── CLOSE (5 min) ─────────────────────────────────────────────
12. Is there anything about [domain] that frustrates you that nobody seems to be solving?
13. Who else should I talk to about this?
─── WHAT NOT TO ASK ───────────────────────────────────────────
✗ "Would you use a feature that...?"
✗ "How much would you pay for...?"
✗ "Do you think [product] should...?"
✗ "Is [pain point] a problem for you?"
These produce optimism and compliments, not signal.Use when interview notes, transcripts, or recordings are provided.
Before synthesizing, identify the source:
If multiple interviews are provided, process each separately before combining.
For each interview, find the core job using the JTBD lens. Apply the Mom Test filter: accept only evidence from past behavior. Discard compliments and hypotheticals.
INTERVIEW: [respondent role / context]
Core quote: "[exact words that reveal the job]"
Job story: When [situation that triggered the need],
I want to [what they were actually trying to do],
so I can [the outcome they were measuring themselves against].
Workaround: [what they actually did — competitor, manual, nothing]
Push: [what was frustrating about the current approach]
Pull: [what attracted them to a change]
Anxiety: [what almost stopped them from switching / acting]After processing all interviews, cluster the job stories. Looking for convergence — the same job appearing in different language across multiple respondents.
THEME: "[Verb phrase — what users are trying to do]"
Appeared in: [N of N interviews]
Functional job: [what they're trying to accomplish — observable]
Emotional job: [how they want to feel while doing it — identity, confidence, control]
Current gap: [how well the product/market serves this today]
Severity: ■ CRITICAL / ▲ HIGH / ● MEDIUMFlag any theme that appears in only one interview as "signal, not pattern — needs confirmation."
╔══════════════════════════════════════════════════════════════╗
║ INTERVIEW SYNTHESIS ║
╠══════════════════════════════════════════════════════════════╣
║ Interviews: [N] │ Decision this informs: [stated goal] ║
╚══════════════════════════════════════════════════════════════╝
TOP JOB (highest frequency × intensity)
"When [situation], I want to [motivation], so I can [outcome]."
Evidence: [N interviews] — [representative quote]
Gap: [what users do today — workaround, competitor, nothing]
▶ Implication: [what the product team should do with this]
SECONDARY JOBS
[Job 2] — [N interviews] — [implication]
[Job 3] — [N interviews] — [implication]
EMOTIONAL LAYER
The functional job is [X]. The emotional job underneath it is [Y].
Users want to feel [Z] — and don't currently. This drives [churn / avoidance / workarounds].
COUNTER-SIGNAL (discard this)
[Any quotes that were compliments, hypothetical, or not grounded in past behavior]
Reason discarded: [compliment / hypothetical / single outlier]
─── PERSONA (if requested or warranted) ──────────────────────
NAME: [Archetypal name]
ROLE: [Job title, company context]
PRIMARY JOB: [Top JTBD statement]
WHAT THEY SAY: "[Representative quote]"
WHAT THEY MEAN: [What the quote reveals about the underlying need]
WHAT THEY FEAR: [Outcome they're trying to avoid]
WHERE WE WIN: [What the product does well for this person today]
WHERE WE LOSE: [What we're not solving — the gap]
COUNTER-PERSONA (who we are NOT designing for):
[Name, role, why this segment would pull design in the wrong direction]
─── RECOMMENDATION ───────────────────────────────────────────
ONE THING: [The single most important finding and its direct implication for the next decision]
CONFIDENCE: [Pattern (3+ interviews) / Signal (1-2 interviews, needs confirmation)]No further synthesis needed once a pattern is nameable and its implication is clear.
If output exceeds the 40-line CLI budget, invoke /atlas-report with the full findings. The HTML report is the output. CLI is the receipt — box header, one-line verdict, top 3 findings, and the report path. Never dump analysis to CLI.
© jeremylongshore, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in plugins/ai-agency/tonone/skills/echo-interview of jeremylongshore/tons-of-skills-marketplace.
Open the folder on GitHubat commit 80f86df
Echo 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 |
|---|---|---|---|---|---|---|
| Echo Interview this skilljeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~2.1k | Automated safety check: Notes | MIT | |
| Design Sprintwondelai/skills | 2.4k | — | ~3.8k | Automated safety check: Pass | MIT | |
| Discovery Researchandreaskelm/pm-brain | 234 | — | ~1.2k | Automated safety check: Pass | Custom licence | |
| Customer Interviewsmenkesu/awesome-pm-skills | 433 | — | ~4.4k | Automated safety check: Pass | Custom licence | |
| Interview Scriptkillvxk/pm-skills-zh | 167 | — | ~547 | Automated safety check: Pass | MIT | |
| Building ProductGTM-Strategist/gtm-strategist-skills | 263 | — | ~5.8k | Automated safety check: Pass | MIT |
wondelai/skills
Run a structured 5-day process to prototype, test, and validate product ideas with real users.
andreaskelm/pm-brain
Support discovery and research workflows using PM Brain’s discovery frameworks (research interviews, continuous discovery, JTBD, segmentation, opportunity assessment, idea validation…
menkesu/awesome-pm-skills
Designs customer interviews and turns the transcripts into decisions.
killvxk/pm-skills-zh
创建结构化的用户访谈脚本,包含 JTBD(用户待办任务)探测问题、破冰环节、核心探索及收尾部分。遵循"老妈测试"原则——不引导、不推销,聚焦过去的实际行为。适用于准备用户访谈、创建访谈指南或规划探索性研究时使用。
GTM-Strategist/gtm-strategist-skills
A skill your agent uses when the user needs to define their MVP, create a product roadmap, plan metrics and tracking, refine their value proposition with JTBD, or run usability tests.
phuryn/pm-skills
Summarize a customer interview transcript into a structured template with JTBD, satisfaction signals, and action items.
jeremylongshore/tons-of-skills-marketplace
Execute this skill enables AI assistant to conduct a security-focused code review using the security-agent plugin.
jeremylongshore/tons-of-skills-marketplace
Build this skill automates the adaptation of pre-trained machine learning models using transfer learning techniques.
jeremylongshore/tons-of-skills-marketplace
Execute proactive auto-loading: automatically detects and loads agents.md files.
jeremylongshore/tons-of-skills-marketplace
Aggregate and centralize performance metrics from applications, systems, databases, caches, and services.
jeremylongshore/tons-of-skills-marketplace
Execute this skill enables AI assistant to analyze capacity requirements and plan for future growth.
jeremylongshore/tons-of-skills-marketplace
Process use when you need to work with database indexing. An agent skill from jeremylongshore/tons-of-skills-marketplace.
Categories
Run a user interview — produce an interview guide and synthesize the output into an actionable insight report. Echo Interview is an agent skill from jeremylongshore/tons-of-skills-marketplace. Run a user interview — produce an interview guide and synthesize the output into an actionable insight report.
Echo Interview fits situations like: asked to run a user interview; synthesize these interview notes; what do users actually want; build a persona from this feedback.
Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill echo-interview -a claude-code`. Or copy the skill folder (plugins/ai-agency/tonone/skills/echo-interview in jeremylongshore/tons-of-skills-marketplace) into .claude/skills/echo-interview in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill echo-interview -a codex`. Or copy the skill folder (plugins/ai-agency/tonone/skills/echo-interview in jeremylongshore/tons-of-skills-marketplace) into .agents/skills/echo-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 jeremylongshore/tons-of-skills-marketplace --skill echo-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/echo-interview, .gemini/skills/echo-interview, .github/skills/echo-interview and .opencode/skills/echo-interview in your project.
SKILL.md names no scripts, command-line tools or credentials: Echo Interview is instructions for the agent only. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash, Glob, Grep, WebFetch, WebSearch, Task, TodoWrite, AskUserQuestion.
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 notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Echo Interview is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.2k 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 Echo Interview: Design Sprint (wondelai/skills, 2.4k stars), Discovery Research (andreaskelm/pm-brain, 234 stars), Customer Interviews (menkesu/awesome-pm-skills, 433 stars) and Interview Script (killvxk/pm-skills-zh, 167 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jeremylongshore (a GitHub user) maintains it in jeremylongshore/tons-of-skills-marketplace, which has 2,825 GitHub stars. The repository holds 3,342 skills in this directory. The repository was last updated on October 9, 2026.
Source: jeremylongshore/tons-of-skills-marketplace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.