plugins/pm/skills/prototype-feedback/SKILL.md
Build → review → iterate prototype workflow. Structured feedback collection and iteration.
npx skillsauth add coalesce-labs/catalyst prototype-feedbackInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Rapidly iterate on prototypes using AI-powered building and automated feedback collection.
Example: "Review my checkout prototype: [link]. PRD is in thoughts/shared/pm/prds/checkout-redesign.md"
Output: Saved to thoughts/shared/product/prototypes/[feature]-feedback-round-[N].md
Time: 30 minutes per feedback round
Check these files before providing feedback:
| Source | Files/Folders | What to Extract |
| -------------------- | --------------------------------------------------- | -------------------------------------------------- |
| PRD | thoughts/shared/pm/prds/ | Requirements, acceptance criteria, success metrics |
| Design System | design docs | Colors, typography, component patterns to match |
| Stakeholder Profiles | thoughts/shared/pm/context/stakeholder-template.md | Who reviews this, their priorities and concerns |
| User Research | thoughts/shared/pm/ | User pain points, quotes, behavior patterns |
| Past Prototypes | thoughts/shared/product/prototypes/ | Previous feedback rounds, resolved issues |
Tools: v0/Lovable/Bolt + NotebookLM + Claude When: Validating new features before full build
Use this structure for every feedback round:
| PRD Requirement | Prototype Status | Gap? | | --------------- | ------------------------------- | -------------------- | | [Requirement 1] | Implemented / Partial / Missing | [Description if gap] | | [Requirement 2] | Implemented / Partial / Missing | [Description if gap] | | [Requirement 3] | Implemented / Partial / Missing | [Description if gap] |
| Heuristic | Rating (1-5) | Issues | Recommendation | | ----------------------------------- | ------------ | ------ | -------------- | | Visibility of system status | | | | | Match between system and real world | | | | | User control and freedom | | | | | Consistency and standards | | | | | Error prevention | | | | | Recognition over recall | | | | | Flexibility and efficiency | | | | | Aesthetic and minimal design | | | |
Engineering view: [Technical feasibility, performance concerns, implementation complexity, tech debt risks]
Design view: [Visual consistency, interaction patterns, accessibility gaps, design system alignment]
User view: [Ease of use, value clarity, friction points, learning curve, "would they actually use this?"]
Adjust feedback focus based on which tool generated the prototype:
v0.dev prototypes (single components):
Lovable/Bolt.new prototypes (full-stack apps):
Claude Artifacts (quick mockups):
design prototypes (designer-created):
ASCII/napkin sketches (from /napkin-sketch):
| # | Issue | Severity | Fix | Iteration | | --- | ---------------------- | -------- | -------------- | --------- | | 1 | [Must-fix before beta] | Critical | [Specific fix] | Current | | 2 | [Should-fix before GA] | Medium | [Specific fix] | Next | | 3 | [Nice-to-have polish] | Low | [Specific fix] | Later |
Using v0 (for UI components):
# Go to v0.dev
# Paste your feature description:
"Build a task management interface with:
- List view of tasks with checkboxes
- Ability to add new tasks
- Filter by status (all/active/completed)
- Clean, modern design similar to Linear
Include:
- Search functionality
- Due date display
- Priority labels (high/medium/low)"
v0 generates:
Using Lovable (for full-stack apps):
# Go to lovable.dev
# Describe full feature:
"Build a customer feedback submission portal:
- Public form for submitting feedback
- Backend to store submissions
- Admin dashboard to review
- Email notifications on new submissions"
Lovable generates:
Using Bolt (middle ground):
Pro tip: Start with PRD from your PRD workflow, paste into AI builder, get 80% done automatically.
Iterate with AI:
"Make these changes:
1. Move the search bar to the top right
2. Add bulk actions (select multiple, mark complete)
3. Make priority labels more prominent
4. Add keyboard shortcuts (enter to add task, / for search)"
AI updates code in real-time. Test changes immediately.
Polish details:
Deploy prototype:
Share with users:
Email template:
Subject: Quick feedback needed on [Feature] prototype
Hi [Name],
We're exploring [feature] and would love 15 minutes of your time to get feedback on a prototype.
Try it here: [link]
Then book time: [calendly link]
Or just reply with your thoughts!
Thanks,
[You]
Interview script:
1. Don't explain anything. Just share link.
2. Watch them try to use it (screen share).
3. Ask: "What do you think this does?"
4. Ask: "Try to [accomplish task]. Think out loud."
5. Note: Where do they get confused? What surprises them?
6. Ask: "Would you use this? Why/why not?"
7. Ask: "What's missing? What would you change?"
Capture everything:
Use NotebookLM:
Query:
"Analyze these user feedback sessions:
1. What patterns did you see?
- Where did users get confused?
- What worked well?
- What didn't work at all?
2. Group feedback into themes
3. Rate each issue by:
- Frequency (how many users hit this?)
- Severity (how bad is it?)
4. Recommend top 3 changes for next iteration"
Output: Prioritized list of changes to make.
Make top changes:
# Back to v0/Lovable/Bolt
"Based on user feedback, make these changes:
High priority:
1. [Change 1 - 80% of users confused by X]
2. [Change 2 - 60% of users couldn't find Y]
3. [Change 3 - 100% of users asked for Z]
Update the prototype to address these issues."
AI updates the prototype. Test yourself.
Same process, new users (if possible):
Or test with same users:
Success criteria checklist:
If yes: Write real PRD and hand off to eng/design
If no: Another iteration or pivot
Using Typeform + Make.com:
Questions to ask:
Using FullStory or Hotjar:
Weekly cycle:
Week 1:
Week 2:
Week 3:
Total time: 3 weeks, ~12 hours of work
Alternative: 7-12 weeks, full build, then discover it's wrong
ROI: 6-9 weeks saved, $50K+ in eng time saved
Don't:
Do:
For UI prototypes: v0.dev
For full-stack apps: Lovable.dev
For interactive flows: Bolt.new
For feedback synthesis: NotebookLM
For session recording: FullStory or Hotjar
For surveys: Typeform or Tally
Start free, upgrade if you're using daily.
Test 2-3 approaches at once:
Variant A: Approach 1 (e.g., wizard-style onboarding)
Variant B: Approach 2 (e.g., dashboard-style onboarding)
Variant C: Approach 3 (e.g., tutorial-style onboarding)
Split users:
Faster learning, better outcomes.
Prototype velocity:
Validation quality:
Business impact:
Time saved: 6-9 weeks per feature Cost saved: $50K+ per year in eng time Success rate: 90% (vs. 40% building without validation)
Before delivering prototype feedback, verify:
If any check fails, fix it before delivering. Generic feedback wastes iteration cycles.
testing
Phase-agent that fixes a failing verify verdict so the pipeline self-heals instead of stalling to needs-human (CTL-653). Reads `${ORCH_DIR}/workers/<ticket>/verify.json`, fixes the `findings[]` (every severity:"high" plus the regression_risk drivers) directly via Edit/Write, commits the remediation, and emits `phase.remediate.complete.<ticket>`. The scheduler's router then re-dispatches `verify` to re-check (the verify⇄remediate cycle, cap 3). Dispatched as a `claude --bg` job by `phase-agent-dispatch`, which invokes it via slash command — hence `user-invocable: true`.
development
Phase agent for the verify step of the 9-phase orchestrator pipeline (CTL-450). NEW skill — has no canonical wrapper. Runs read-only adversarial verification against the implement-phase diff: tsc, tests, lint, security scan, reward-hacking scan, code review, test coverage, silent-failure hunt. Writes ${ORCH_DIR}/workers/<TICKET>/verify.json then emits phase.verify.complete.<ticket>. Reads phase-implement.json as its prior-phase artifact. NEVER writes application code — only test files allowed. Spawned via phase-agent-dispatch via slash command — hence `user-invocable: true`.
tools
--- name: phase-triage description: Phase agent that triages a Linear ticket — expands acronyms, classifies (feature/bug/docs/refactor/chore), identifies dependencies, estimates scope, writes triage.json, and posts a triage analysis comment to Linear. Triage completion is signaled by that comment plus the local triage.json — there is no `triaged` label. Emits phase.triage.complete.<TICKET> on success and phase.triage.failed.<TICKET> on error. Dispatched by the phase-agent orchestrator (CTL-452)
testing
Phase agent for the review step of the 9-phase orchestrator pipeline (CTL-450). Wraps the /review skill (gstack) — explicitly skips /ultrareview per user decision. Reads verify.json from the prior phase, runs /review against the diff, writes ${ORCH_DIR}/workers/<TICKET>/review.json, and creates a remediation commit for any HIGH-severity finding that has a deterministic fix. Emits phase.review.complete.<ticket>. Spawned via phase-agent-dispatch via slash command — hence `user-invocable: true`.