By PresentFast Team · Last updated 2026-05-21
Plugin · New
Visual Questions for Claude Code
When Claude Code asks "which of these three layouts do you prefer?" you usually get four short labels. The Visual Questions plugin turns that question into a project-themed web page with rich, clickable mockups, then sends your selection back to Claude as if you'd picked it in the terminal.
Install, two commands
The plugin auto-installs the MCP server alongside itself. Run these in any terminal:
claude plugin marketplace add \
https://github.com/khush012/presentfast-visual-questions-plugin
claude plugin install \
presentfast-visual-questions@presentfast
claude mcp add presentfast \
-e PF_API_URL=https://www.presentfast.com \
-- npx -y @presentfast/mcp-server@latestNo files written to your project. No .claude/ directory created. The plugin lives entirely under ~/.claude/plugins/cache/.
How does it trigger?
Three ways to invoke the visual flow:
In Claude Code's answer to a question
When Claude asks via
AskUserQuestion, type/visual(or "show me visually") into the "Type something." option. A PostToolUse hook detects the trigger phrase and tells Claude to re-issue the same question as a themed web page.As a slash command
Type
/visualbefore Claude asks anything. The next question Claude would have asked becomes visual.Opportunistically, in a message
Say "show me the layouts visually" or similar. Skill description-matching activates the same flow.
What gets rendered?
Claude scans your project for design tokens (Tailwind config, CSS variables, design.md) and emits a themed multi-option page hosted at https://www.presentfast.com/q/<slug>. Each option card uses your project's palette, typography, and radii, so the mockups look like they belong to your codebase, not a generic template.
You click an option; Claude continues as if you'd picked it in the terminal.
Customization
- Theme scanner. Runs automatically as the first step in every visual question. Reads your Tailwind config and CSS variables; you can't turn it off, but you can override values by passing a manual
themepayload from Claude. /visual-init(opt-in). Writes a BEGIN/END marker block into your project's CLAUDE.md so teammates and other AI clients see the same protocol. Idempotent. Skip if you don't want it.
Resources