$npx -y skills add tryproduck/produck-skills --skill produck-feedbackUse when acting on real user feedback — you have a Produck feedback ticket or URL, or the user wants to fix something users complained about or build a feature users asked for. Pulls full feedback context through the Produck MCP and drives a feedback → aligned PRD → build loop. T
| 1 | # Building from Produck feedback |
| 2 | |
| 3 | **Purpose:** Turn real, in-context user feedback into shipped fixes. This skill drives the |
| 4 | [Produck](https://tryproduck.com) MCP — it tells the agent how to find the right feedback, load the |
| 5 | full context behind it, and convert that context into an aligned change instead of a guess. |
| 6 | |
| 7 | > Requires the Produck MCP server connected. If `search_feedback` / `get_feedback` are not available, |
| 8 | > see [`references/connect-mcp.md`](references/connect-mcp.md) to connect it and mint a token first. |
| 9 | |
| 10 | --- |
| 11 | |
| 12 | ## 1. What this connects to |
| 13 | |
| 14 | Produck captures feedback **in the user's own session**, so a ticket is far richer than a text |
| 15 | complaint. Each ticket can carry: |
| 16 | |
| 17 | - **Written and spoken feedback** — the user's typed note plus any voice transcription. |
| 18 | - **Reconstructed page HTML** — a static snapshot of the exact page the user was looking at. |
| 19 | - **Annotation markers** — the specific elements/regions the user pointed at. |
| 20 | - **Session activity** — a timeline of what the user did leading up to the feedback. |
| 21 | - **A generated design doc** — Produck's own first-pass analysis of the issue, when present. |
| 22 | |
| 23 | The job of this skill is to pull that context and use **all** of it, not just the title. |
| 24 | |
| 25 | ## 2. The two MCP tools |
| 26 | |
| 27 | The server is named `produck` (tools may appear prefixed, e.g. `mcp__produck__search_feedback`). |
| 28 | |
| 29 | ### `search_feedback` — find relevant tickets |
| 30 | Returns lightweight summaries; use it to locate tickets, then load full context with `get_feedback`. |
| 31 | |
| 32 | | Input | Type | Notes | |
| 33 | | --- | --- | --- | |
| 34 | | `domain` | string, optional | Filter to one website domain. | |
| 35 | | `limit` | int 1–50, optional | Defaults to 20. | |
| 36 | | `cursor` | string, optional | Pagination cursor from a previous call. | |
| 37 | |
| 38 | Returns `{ items, nextCursor, count }` — each item a summary (id, domain, page URL, created-at, |
| 39 | annotation count, source). Page with `cursor` until `nextCursor` is null when you need the full set. |
| 40 | |
| 41 | ### `get_feedback` — load one ticket in full |
| 42 | | Input | Type | Notes | |
| 43 | | --- | --- | --- | |
| 44 | | `feedbackId` | string, required | The ticket id (from a `search_feedback` item, a URL, or the user). | |
| 45 | |
| 46 | Returns the full ticket: written/spoken feedback, reconstructed HTML, annotations, session activity, |
| 47 | and the design doc when present. **Always `get_feedback` before building** — never act on a summary alone. |
| 48 | |
| 49 | ## 3. The operating loop |
| 50 | |
| 51 | ```text |
| 52 | search_feedback → find the relevant ticket(s) (filter by domain, page as needed) |
| 53 | get_feedback → load ONE ticket's full context |
| 54 | user-alignment → turn the ticket into an agent-executable PRD (do not skip) |
| 55 | build → implement the fix / high-fidelity mockup |
| 56 | verify → check the change against the ticket's annotations + design doc |
| 57 | ``` |
| 58 | |
| 59 | - **Do not jump from a raw ticket straight to code.** A ticket is a user *request*, not a spec. Hand |
| 60 | it to the **`user-alignment`** skill first to produce an aligned PRD — interpreted intent, scope, |
| 61 | non-goals, acceptance criteria — then build from that. The two skills are designed to compose. |
| 62 | - **Ground every decision in the captured context.** Use the reconstructed HTML and annotation markers |
| 63 | to locate the exact elements involved; use the session activity to understand what the user was |
| 64 | doing; use the design doc as a starting hypothesis, not the final answer. |
| 65 | - **Close the loop.** When you finish, verify the result against the annotations and the stated |
| 66 | outcome — the same ticket is your acceptance check. |
| 67 | |
| 68 | ## 4. Setup |
| 69 | |
| 70 | To connect the MCP, choose the install path for your agent and mint a token — see |
| 71 | [`references/connect-mcp.md`](references/connect-mcp.md). |