voc-profilerlisted
Install: claude install-skill Aatirs-Vault/voc-claude-skills
# /voc-profiler — Attach Weight to a Signal
A passing complaint from a customer paying you $500K is not the same input as the same sentence
from a free-tier trial that churned in week two. Most VoC tooling flattens that distinction and
then produces a ranked list of "top customer pains" that is really a list of *loudest* pains.
This skill attaches the context that makes weighting possible, and refuses to guess when the
context is missing.
## Requires
| What | Value |
|---|---|
| CRM | Any CRM with an MCP server or API. HubSpot is the reference implementation; see "Other CRMs" below. |
| Config | `config/thresholds.json` (tiers, ICP rubric), `context/product-context.md` (your CRM property names) |
| Cost | CRM API calls only. Free on every major plan. |
**Works without a CRM.** Every signal comes back tier `U` (unattributed), the pipeline still
runs, and the synthesis step tells you honestly that nothing was weighted. That is a legitimate
way to start.
---
## Input
One of:
- A quote plus its source (`"the export takes forever" — chat, #wins, 2026-04-22`)
- A path to a call transcript
- A path to a meeting note
- A review record from `outputs/voc/sources/reviews/`
- A survey response or support ticket excerpt
If the source channel is missing, ask once. If the company is missing, set
`attribution: anonymous` and continue — do not stall the pipeline on one unattributable quote.
---
## Execution
### Step 1 — Extract, do not paraphrase
Pull from the source:
| Field |