---
name: latentedge-feedback
description: Work a site's user feedback and client question batches through the feedback.latentedge.io MCP server. Use when asked to check, summarize, search, or triage feedback, or to send a client/stakeholder a batch of questions and read back their answers.
---

# Feedback

You are connected (or will connect) to one site's feedback on feedback.latentedge.io.
The site has two input channels, and this skill covers both:

- **Widget feedback** - passive, continuous: visitors submit feedback, feature requests, and bug reports through an embedded widget.
- **Question batches** - active, on-demand: the owner sends a named person a set of questions via a share link; they answer in the browser with no account.

## Connect (once)

If the `latentedge-feedback` MCP server is not connected yet, ask the user for their site token
(dashboard: Setup -> Connect an AI agent; `sk_` = read-only, `wk_` = read + write), then:

```bash
claude mcp add --transport http latentedge-feedback \
  https://feedback.latentedge.io/api/v1/mcp \
  --header "Authorization: Bearer THEIR_TOKEN"
```

The token scopes you to exactly one site. On an `sk_` connection the write tools are
absent from `tools/list` - that is intentional, not an error; tell the user a `wk_`
token enables them.

## Tools

| Tool | Scope | Use |
|---|---|---|
| `get_feedback_stats` | read | Overview first: totals, last-7-days, type/status breakdowns, average rating. |
| `list_feedback` | read | Browse newest-first; filter by `type` (feedback/feature_request/bug) and `status` (new/triaged/resolved); paginate with `cursor`. |
| `search_feedback` | read | Keyword search in messages - "what are people saying about pricing". |
| `list_question_batches` | read | Batches with status (draft -> sent -> opened -> answered) and answer counts. |
| `get_question_batch` | read | One batch: questions beside the client's answers. |
| `update_feedback_status` | write | Mark an item `triaged` (reviewed) or `resolved` (addressed). |
| `create_question_batch` | write | Draft a batch for the owner to review and send. `sendNow: true` publishes it and returns the share URL. |
| `get_question_batch_link` | write | The share URL of a batch you already sent, when you no longer have it to hand. |

## Working feedback

- **Summarize**: `get_feedback_stats` first, then `list_feedback` for the detail. Lead
  with what changed recently and anything urgent (bugs with high ratings of pain,
  repeated themes). Quote messages sparingly and verbatim.
- **Triage**: work through `status=new` items. Mark an item `triaged` only after you
  have actually read it and told the user about it; mark `resolved` only when the user
  says it is addressed. Never bulk-resolve to tidy up.
- **Investigate a theme**: `search_feedback` with 2-3 phrasings (users misspell and
  paraphrase), then read the hits before concluding.

## Working question batches

- **Draft questions**: build the batch from what the user wants to ask - one clear
  question per item, numbered, optional HTML context under each. `create_question_batch`
  creates a DRAFT: nobody can reach it, and the owner reviews, edits and sends it from
  the dashboard. Report the batch id and say it is ready to review. Do not describe a
  link - there is not one yet, and a sent batch cannot be edited, so the review is what
  makes editing possible at all.
- **Send only when asked.** `sendNow: true` publishes immediately and returns the share
  URL. Use it when the user has actually said to send, not as a shortcut. Once sent, the
  questions are final.
- **Hand over the share URL immediately** when you do send. The user cannot pass the
  batch on without it, so give it prominently rather than burying it in a summary. It is
  also the batch's entire access control: anyone with the link can answer, so it goes to
  the intended recipient only, and it does not belong in a group thread or a ticket.
- **If you no longer have the URL**, `get_question_batch_link` returns it - find the
  batch with `list_question_batches` first. It only works on a sent batch; a draft has no
  live link. Nothing is lost by not hoarding it.
- **Read answers**: `list_question_batches` to find the batch (status `answered` means
  they submitted; `opened` means they are looking; `draft` means the owner composed it
  in the dashboard and has not sent it, so there is nothing to read yet), then
  `get_question_batch` for the answers. Present each question with its answer; unanswered questions are worth
  pointing out, not hiding.
- Answers can be revised until the owner reviews them - if the user acts on an answer,
  note when it was last updated (`answerUpdatedAt`).

## Boundaries

- Notification emails go to the site owner automatically on submit; you never send mail.
- Do not paste secret tokens (`sk_`/`wk_`) into files, logs, or messages.
- Rate limit is 60 requests/minute for the site - batch your reads; never poll in a loop.
- If a write tool errors with "read-only", report it and suggest a `wk_` token; do not
  retry or work around it.

---

Maintained by [LatentEdge](https://latentedge.io) - part of [Feedback](https://feedback.latentedge.io).
Canonical copy: https://feedback.latentedge.io/skills/latentedge-feedback/SKILL.md
Re-download that URL to pick up new tools and guidance as the product grows.
