Listening Machine logo

Listening Machine

Community
ojiudezue
listening-machine

Use when the user needs a customer feedback system or is debugging signal-to-noise in existing channels. Triggers on phrases like "customer feedback", "voice of customer", "VOC", "churn surveys", "feedback loop", "how do I listen at scale", "support is overwhelmed", "we're flying blind". Implements the Customer Listening Machine from Ch 2 of Building Rocketships.

Overview

Publisherojiudezue
Repositoryproductmind-skills
Skill namelistening-machine
Stars
81
Forks
18
Bundled files
Instructions only
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by ojiudezue on GitHub. Read the source before you install it.

Installation

Install the Listening Machine AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/ojiudezue/productmind-skills/tree/main/skills/listening-machine
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/ojiudezue/productmind-skills.git /tmp/productmind-skills
mkdir -p .claude/skills
cp -r /tmp/productmind-skills/skills/listening-machine .claude/skills/listening-machine
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Listening Machine in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Listening Machine on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Listening Machine is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Customer Listening Machine

What this does

Runs Ch 2's Customer Listening Machine framework. Returns a wiring diagram for feedback channels in the user's tool stack, a triage SLA defining who handles what within how long, and a first-month rollout plan. Encodes the book's decision rule: prioritize signals that recur across ≥2 channels.

When to use

Trigger when the user:

  • Has no formal feedback system and is "flying blind"
  • Has feedback fragmented across Slack, Intercom, support tickets, CS notes — and can't tell what's actually a priority
  • Is post-launch and needs to set up VOC infrastructure
  • Has high churn but no idea why
  • Wants to install churn surveys, NPS, or embedded feedback

When NOT to use

  • Pre-PMF / pre-launch — you have no users yet; run customer-discovery-week instead
  • The problem is single-channel triage (e.g., "improve our support ticket workflow") — narrower than this skill
  • The user is asking about quantitative North Star metrics — that's vmsoop-strategy

The 4 channels (from Ch 2)

A complete listening machine has all four. Missing channels are silent failure modes — you don't know what you're missing.

1. Embedded in-product feedback

A persistent, in-context way for users to report problems or suggestions from inside the product (not a help page button buried in a menu). Examples: contextual feedback widget, "send feedback" shortcut, AI-assistant style "what's broken" prompt.

2. Churn surveys (100% capture)

Every churned customer triggers a survey asking why. Not optional, not sampled — 100% capture. Even 3 responses per week build a qualitative picture other channels miss.

3. Bi-directional CS sync

Customer Success / Support notes must flow both ways: into product review meetings, AND product context flows back into CS. A one-directional pipe (CS hears, product never responds) destroys the signal.

4. Automated routing to product/eng

Critical signals (e.g., reported bugs, churn reasons, feature requests recurring across channels) route automatically to Slack / Jira / Linear with the source attached. Manual triage doesn't scale past 1k users.

The decision rule

Prioritize signals that recur across ≥2 channels. A single channel surfaces noise. A signal that shows up in churn surveys AND in support tickets AND in CS notes is real. Build for that signal.

The triage SLA

Every signal needs an owner and a clock:

  • P0 (security, data loss, outage): < 1 hour, named on-call
  • P1 (broken core workflow): < 1 business day, named PM/EM
  • P2 (paper cuts, feature requests recurring): weekly product triage, batched
  • P3 (one-off ideas): monthly review, often archived without action

If you don't have these SLAs, the channels exist but the machine doesn't run.

Refusal mode

If the user proposes "we'll add NPS and call it done," refuse. NPS is a single channel and a lagging score, not a listening machine.

If the user has channels but no triage SLA, the system is decorative, not load-bearing. Flag the SLA gap as the blocker.

If the user has ≥3 channels with high volume but no automated routing, recommend the routing FIRST — manual triage at scale suppresses signal more than gathering more feedback does.

Inputs

  • Current tool stack (Slack, Intercom, Jira, Linear, Pendo, Mixpanel, etc.)
  • Current channels in place (or "none")
  • User volume tier (< 100, 100–1k, 1k–10k, > 10k)
  • (Optional) current pain — "support is overwhelmed", "we don't know why people churn", etc.

Output structure

## Listening machine verdict: [READY | GAPS | NEEDS_MORE_INPUT]

### Wiring diagram
1. Embedded feedback: [tool + how/where it's surfaced in-product]
2. Churn surveys: [tool + 100% capture mechanism]
3. Bi-directional CS sync: [tool + cadence]
4. Automated routing: [tool + rules]

### Triage SLA
| Priority | Owner | Clock | Cadence |
|---|---|---|---|
| P0 | ... | < 1h | as-it-happens |
| P1 | ... | < 1 day | daily |
| P2 | ... | weekly | weekly triage |
| P3 | ... | monthly | monthly review |

### First-month rollout plan
- Week 1: [setup]
- Week 2: [setup]
- Week 3: [first triage round]
- Week 4: [first cross-channel synthesis]

### Cross-channel rule
[How to identify a real signal: recurring across ≥2 channels]

### Recommendation
[Concrete next step — typically 'install the missing channel before adding nudges to existing ones']

### Analogous case from the book
[A named example]

Worked example from the book

Atlassian's listening machine (Ch 2)

  • Embedded in-product: contextual feedback in every product surface, routed to specific squad inboxes
  • Churn surveys: 100% capture via post-cancellation email; CS triages and tags by reason
  • Bi-directional CS sync: weekly product+CS sync; product owners attend; CS gets a feedback channel back
  • Automated routing: feedback widget feeds Jira tickets tagged by squad and customer tier
  • Triage SLA: P1 < 24h, P2 weekly, P3 quarterly; named owners
  • Cross-channel synthesis: monthly "voice of customer" digest showing signals that hit ≥2 channels

Gotchas

  • NPS is not a listening machine. It's one number from one channel. Use it as a lagging indicator, not the system.
  • CS notes that don't reach product = nothing was reported. If the loop is broken at the bi-directional step, every other channel is degraded.
  • Don't add channels you can't triage. A new feedback widget that floods an untriaged inbox is worse than no widget; users learn their feedback is ignored.
  • The cross-channel rule is the strongest filter. Without it, every loud single-channel signal wins; the listening machine just surfaces the loudest people.

Anti-patterns to flag

If the user's plan has any of these, surface them:

  • "We'll just install Intercom and we'll be fine" — single channel, no triage; not a machine
  • ≥3 channels but no automated routing — manual triage will suppress the real signal
  • Churn surveys but not 100% capture — sampling bias destroys the picture
  • Listening machine but no published SLA — owners don't know what they're on the hook for

Source

Ch 2: The Customer Listening Machine.


About this skill

This skill is part of the ProductMind Skills catalog — open-source product-judgment skills for AI coding agents.

Source: Building Rocketships by Oji and Ezinne Udezue — Chapter 2. This skill applies one named framework from the book. It works standalone in any agent that supports the SKILL.md standard.

Want the orchestrated version? The RocketshipsGPT agent runs all 13 book skills together, with persistent memory, framework-fidelity evals, voice-checked output, and the book's anti-pattern catches built in. → rocketshipsgpt.productmind.co

License: Skill content licensed under CC BY-SA 4.0. Attribution required; derivative works must share alike. See ADR 0005 for rationale.

Skill version: 1.0.0 · Published: 2026-06-05

Frequently asked questions

What does the Listening Machine AI skill do?

Use when the user needs a customer feedback system or is debugging signal-to-noise in existing channels. Triggers on phrases like "customer feedback", "voice of customer", "VOC", "churn surveys", "feedback loop", "how do I listen at scale", "support is overwhelmed", "we're flying blind". Implements the Customer Listening Machine from Ch 2 of Building Rocketships.

Why use Listening Machine on TypingMind?

Because you install it once and use it with any model. Listening Machine is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Listening Machine in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/ojiudezue/productmind-skills/tree/main/skills/listening-machine. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Listening Machine?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Listening Machine?

As many as you like. As long as a model supports skills, you can use Listening Machine with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Listening Machine AI skill free?

It is published on GitHub by ojiudezue. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇