mcpbeat Sign in

Voice Of Customer Agent Skill

Builds the loop from what customers say to what gets changed — collecting feedback, distinguishing signal from noise, routing it to owners, and closing the loop back to the customer. Use this to set up a feedback program, design or interpret CSAT/NPS, decide what customer feedback deserves action, get product to act on recurring issues, or diagnose why feedback is collected but nothing changes.

878 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
220
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/cbrock84/headcount --skill voice-of-customer

The instruction itself

6 sections, as written by the author

Voice of customer

Most feedback programs collect diligently and change nothing. The collection is the easy half; the

loop is the whole value.

Sources, weighted honestly

  • Support contacts — the highest-volume and least *prompted* source, and the most under-used.

People contacting you have a real problem nobody asked them about. But the sample is strongly

self-selected: it excludes everyone who silently churned, worked around the problem, or would

never contact you. Treat it as operational evidence to be normalized per active account and

triangulated against churn and behavioral data — never as representative of the customer base.

  • Churn and loss reasons — the most valuable and most under-sampled. People leaving have no

reason to be polite.

  • Interviews — depth, small n, best for understanding *why* something in the data is happening.
  • Surveys — breadth, and only meaningful once you know what to ask.
  • Public reviews and forums — biased toward extremes, useful for what people say when you are not

in the room.

Anything a customer built a workaround for outranks anything they merely said in a survey.

On CSAT and NPS

Both are useful as trends and misleading as targets. The moment a team is measured on a score, the

score improves faster than the experience does — asking at the favorable moment, coaching for the

rating, excluding difficult segments.

Treat the score as a prompt for the free-text answer, which is where the information is. Segment

before concluding: an overall score is an average of experiences that have nothing in common.

Never target a number without also watching the behavior it is supposed to predict.

Turning feedback into change

The failure is not collection, it is triage. Feedback needs:

  • Categorization against a stable taxonomy, so volume per cause is countable across periods.
  • Quantification. "Several customers mentioned" loses every argument. "Eighty-one contacts this

quarter, four percent of active accounts, twelve of them on enterprise plans" wins.

  • A named owner per theme, outside the feedback function. A theme owned by the team collecting

it goes nowhere.

  • A standing review where product, support, and success look at the same list together.

Distinguish requests from problems. Customers describe solutions; your job is to recover the problem

underneath, because the request is often not the best fix for it.

Closing the loop

Tell the customer what changed and that they prompted it. Almost nobody does this, which is exactly

why it works — it converts a complainer into someone who reports the next issue instead of leaving.

Also close it internally: show the support team what shipped because of what they escalated, or they

stop escalating.

Never

  • Report themes without volume.
  • Let one loud enterprise account set the roadmap without checking how widely the problem is shared.
  • Run a program with no mechanism for anything to change as a result. That is a survey habit, not

a feedback loop.

How to use it

Copy the folder

Take cbrock84/voice-of-customer from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.