Ouroboros PM Interview
Q00/ouroboros
Runs a guided product-manager interview that classifies each question automatically and produces a Product Requirements Document.
Turns an HTML mock iteration session into a requirements document that describes only user-facing behavior.
$ npx skills add imbue-ai/bouncer --skill extract-requirements-from-mock -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install imbue-ai/bouncer extract-requirements-from-mock --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/imbue-ai/bouncer.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/extract-requirements-from-mock .claude/skills/extract-requirements-from-mock && 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 "extract-requirements-from-mock" agent skill from https://github.com/imbue-ai/bouncer/tree/main/.claude/skills/extract-requirements-from-mock into .claude/skills/extract-requirements-from-mock/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extract-requirements-from-mock", 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/imbue-ai/bouncer/tree/main/.claude/skills/extract-requirements-from-mockType 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 imbue-ai/bouncer --skill extract-requirements-from-mock -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install imbue-ai/bouncer extract-requirements-from-mock --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/imbue-ai/bouncer.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/extract-requirements-from-mock .agents/skills/extract-requirements-from-mock && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "extract-requirements-from-mock" agent skill from https://github.com/imbue-ai/bouncer/tree/main/.claude/skills/extract-requirements-from-mock into .agents/skills/extract-requirements-from-mock/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extract-requirements-from-mock", 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 imbue-ai/bouncer --skill extract-requirements-from-mock -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install imbue-ai/bouncer extract-requirements-from-mock --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/imbue-ai/bouncer.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/extract-requirements-from-mock .cursor/skills/extract-requirements-from-mock && 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 "extract-requirements-from-mock" agent skill from https://github.com/imbue-ai/bouncer/tree/main/.claude/skills/extract-requirements-from-mock into .cursor/skills/extract-requirements-from-mock/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extract-requirements-from-mock", 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/imbue-ai/bouncer.git --path .claude/skills/extract-requirements-from-mock--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 imbue-ai/bouncer --skill extract-requirements-from-mock -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install imbue-ai/bouncer extract-requirements-from-mock --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/imbue-ai/bouncer.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/extract-requirements-from-mock .gemini/skills/extract-requirements-from-mock && 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 "extract-requirements-from-mock" agent skill from https://github.com/imbue-ai/bouncer/tree/main/.claude/skills/extract-requirements-from-mock into .gemini/skills/extract-requirements-from-mock/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extract-requirements-from-mock", 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 imbue-ai/bouncer extract-requirements-from-mockInstalls 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 imbue-ai/bouncer --skill extract-requirements-from-mock -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/imbue-ai/bouncer.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/extract-requirements-from-mock .github/skills/extract-requirements-from-mock && 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 "extract-requirements-from-mock" agent skill from https://github.com/imbue-ai/bouncer/tree/main/.claude/skills/extract-requirements-from-mock into .github/skills/extract-requirements-from-mock/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extract-requirements-from-mock", 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 imbue-ai/bouncer --skill extract-requirements-from-mock -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install imbue-ai/bouncer extract-requirements-from-mock --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/imbue-ai/bouncer.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/extract-requirements-from-mock .opencode/skills/extract-requirements-from-mock && 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 "extract-requirements-from-mock" agent skill from https://github.com/imbue-ai/bouncer/tree/main/.claude/skills/extract-requirements-from-mock into .opencode/skills/extract-requirements-from-mock/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extract-requirements-from-mock", 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.
extract-requirements-from-mockTurns an HTML mock iteration session into a requirements document that describes only user-facing behavior.
An HTML mock iteration session is distilled into a clean requirements document for a feature. Given a feature name, the agent finds the feature's docs folder, asks for the correct name if it is missing, then reads mocks.context.md for the original description, questions and answers and logged UI tweaks, reads mocks.html for the final UI state and reviews the conversation for extra context.
It writes requirements.md in that folder, restricted to user-facing behavior, meaning what the user sees and can do, with no implementation details and no acceptance criteria. The document opens with a short statement that it describes what the system must do from the user's perspective. After presenting it for review, the agent offers either to rename the old mocks and regenerate fresh ones from the new requirements or to keep the existing mocks as they are.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 1ed480c. 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.
Requirements From HTML Mocks loads about 410 tokens when it runs. Until then it costs about 21 tokens; SKILL.md has 154 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 imbue-ai/bouncer at commit 1ed480c, republished under its AGPL-3.0 licence (© imbue-ai). 154 words, ~410 tokens.
.claude/skills/extract-requirements-from-mock/SKILL.md (or your agent's skills folder).You are extracting a clean requirements document from an HTML mock iteration session.
Feature name: $ARGUMENTS
Locate the feature folder: Look for docs/$ARGUMENTS/
Gather all context:
mocks.context.md for the original description, Q&A, and all logged UI tweaksmocks.html to understand the final UI stateExtract requirements: Create docs/$ARGUMENTS/requirements.md with:
Structure the requirements doc:
# <Feature Name> - Requirements
This document specifies the user-facing requirements for <feature>. It describes *what* the system must do from the user's perspective.
---
## 1. <First Major Area>
- **REQ-XXX-1:** <requirement>
- **REQ-XXX-2:** <requirement>
## 2. <Second Major Area>
...Present the requirements to the user for review.
Optionally regenerate mocks: Ask the user if they would like to:
© imbue-ai, AGPL-3.0. 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/extract-requirements-from-mock of imbue-ai/bouncer.
Open the folder on GitHubat commit 1ed480c
Requirements From HTML Mocks 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 |
|---|---|---|---|---|---|---|
| Requirements From HTML Mocks this skillimbue-ai/bouncer | 399 | — | ~410 | Automated safety check: Pass | AGPL-3.0 | |
| Ouroboros PM InterviewQ00/ouroboros | 6.2k | — | ~5.7k | Automated safety check: Pass | MIT | |
| Qiaomu AI PRDjoeseesun/qiaomu-ai-prd | 211 | — | ~1.6k | Automated safety check: Pass | MIT | |
| MVP Product Requirements WriterKhazP/vibe-coding-prompt-template | 3.1k | — | ~455 | Automated safety check: Pass | MIT | |
| User Alignment and Agent-Ready PRDstryproduck/produck-skills | 511 | — | ~5.3k | Automated safety check: Pass | Apache-2.0 | |
| Code to PRDalirezarezvani/claude-skills | 28k | 1 repos | ~4.9k | Automated safety check: Pass | MIT |
Q00/ouroboros
Runs a guided product-manager interview that classifies each question automatically and produces a Product Requirements Document.
joeseesun/qiaomu-ai-prd
Turns a one-line product idea into an AI-implementable PRD with 11 chapters, a speed-read card, constraint layers and acceptance criteria, written Chinese-first.
KhazP/vibe-coding-prompt-template
Writes or revises an MVP product requirements document, sized to the product, with observable acceptance criteria and no repeated questions.
tryproduck/produck-skills
Turns a vague feature request into a written spec with scope, phases, acceptance criteria and do-not-do limits that a coding agent can follow without guessing.
alirezarezvani/claude-skills
Reverse-engineers a frontend, backend or fullstack codebase into a product requirements document with per-page docs, an enum dictionary and an API inventory.
opsmill/infrahub
Turns a single feature idea, improvement, or bug into ONE well-structured GitHub issue.
imbue-ai/bouncer
Explores a feature idea through HTML mocks that match the project's existing UI, keeping every earlier version and logging each requested tweak in a context file.
imbue-ai/bouncer
Turns a feature's goals, requirements and architecture documents into a set of self-contained task files that a developer with no project context can follow.
imbue-ai/bouncer
Works through the task files of a feature's implementation plan one at a time, with a TODO list and a verification step and commit for each task.
imbue-ai/bouncer
Writes an architecture document for a feature from its goals and requirements, after asking questions and studying the existing codebase.
Categories
Turns an HTML mock iteration session into a requirements document that describes only user-facing behavior. An HTML mock iteration session is distilled into a clean requirements document for a feature.html for the final UI state and reviews the conversation for extra context.
Requirements From HTML Mocks fits situations like: writing down requirements after iterating on an HTML mock; capturing user-facing behavior without implementation details; regenerating mocks from a cleaned-up requirements document.
Run `npx skills add imbue-ai/bouncer --skill extract-requirements-from-mock -a claude-code`. Or copy the skill folder (.claude/skills/extract-requirements-from-mock in imbue-ai/bouncer) into .claude/skills/extract-requirements-from-mock in your project. Claude Code loads it when a task matches its description.
Run `npx skills add imbue-ai/bouncer --skill extract-requirements-from-mock -a codex`. Or copy the skill folder (.claude/skills/extract-requirements-from-mock in imbue-ai/bouncer) into .agents/skills/extract-requirements-from-mock 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 imbue-ai/bouncer --skill extract-requirements-from-mock -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/extract-requirements-from-mock, .gemini/skills/extract-requirements-from-mock, .github/skills/extract-requirements-from-mock and .opencode/skills/extract-requirements-from-mock in your project.
SKILL.md names no scripts, command-line tools or credentials: Requirements From HTML Mocks is instructions for the agent only. Our summary lists: A docs folder for the feature containing mocks.context.md and mocks.html.
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.
Requirements From HTML Mocks is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 410 tokens (SKILL.md is roughly 1.6k 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 Requirements From HTML Mocks: Ouroboros PM Interview (Q00/ouroboros, 6.2k stars), Qiaomu AI PRD (joeseesun/qiaomu-ai-prd, 211 stars), MVP Product Requirements Writer (KhazP/vibe-coding-prompt-template, 3.1k stars) and User Alignment and Agent-Ready PRDs (tryproduck/produck-skills, 511 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
imbue-ai (a GitHub organization) maintains it in imbue-ai/bouncer, which has 399 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 8, 2026.
Source: imbue-ai/bouncer on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.