Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add ianklassen/pm-skills --skill when-to-not-message-the-customergit clone --depth 1 https://github.com/ianklassen/pm-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ianklassen/pm-skills/when-to-not-message-the-customer)<a href="https://agentmods.dev/skills/ianklassen/pm-skills/when-to-not-message-the-customer"><img src="https://agentmods.dev/badge/skills/ianklassen/pm-skills/when-to-not-message-the-customer/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ianklassen/pm-skills/when-to-not-message-the-customer"><img src="https://agentmods.dev/badge/skills/ianklassen/pm-skills/when-to-not-message-the-customer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00144 | $0.01560 |
| Opus 5 | $0.00072 | $0.00780 |
| Sonnet 5 | $0.00029 | $0.00312 |
| Haiku 4.5 | $0.00014 | $0.00156 |
Grade A, and why
when-to-not-message-the-customer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 81 lines — stays where its author put it; the contents beside it link to each section on GitHub.
When to Not Message the Customer
The judgment this encodes
Most comms guidance is about tone and clarity. This skill is about the decision that comes before that: should this message exist at all, right now, to this audience?
The default reflex on a team is "communication is good, more is better, when in doubt send it." That reflex is wrong more often than it looks, because messaging has real costs that don't show up until later:
- Erodes signal. Every message you send trains customers on how much attention future messages deserve. A team that messages on every minor blip teaches customers to ignore all of them, including the one that matters.
- Manufactures anxiety. A status update sent because the team feels like it should say something can convert a non-event into a perceived crisis in the customer's mind, purely because "why would they be telling me this."
- Locks you into a narrative before you have the facts. An early, well-intentioned update ("we're aware of X, working on it") can pin you to a story that changes three hours later, forcing an awkward correction that damages trust more than silence would have.
- Solves the team's discomfort, not the customer's problem. A lot of "let's send an update" instinct is really the team wanting to feel like it's doing something. That's a legitimate feeling and a bad reason to message.
None of this means "default to silence." Silence has its own failure mode: customers who find out from someone else, who feel stonewalled, or who make a worse decision because they didn't have information you had. The skill is picking the right side of that line on purpose, not by reflex in either direction.
The decision framework
Work through these in order. Stop and message as soon as a "yes" forces your hand, and don't keep evaluating past the point of clarity.
1. Does the customer need to act differently because of this?
If yes (they need to change a workflow, expect downtime, migrate before a deadline, or a decision they're mid-way through is now based on stale information), message, regardless of how the other questions resolve. Actionability overrides everything else below.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 81 lines · 0 tokens per session scan A 293d7ce05edb
when-to-not-message-the-customer is a skill published in the GitHub repository ianklassen/pm-skills (1 stars, last pushed 1mo ago), licensed MIT. It adds 144 tokens to every session and 1,560 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
tool-foundation-sprint-founding-hypothesis
Day 2 end capstone move of a Foundation Sprint. Compresses the sprint's full strategic frame into a single canonical sentence (the Founding Hypothesis) plus an assumption scorecard, why-we-believe, what-could-prove-us-wrong, and recommended next validation step. Use after Magic Lenses is signed. Strict canonical…
apple-container
Apple's open-source container CLI to build, run, and manage OCI/Linux containers as lightweight per-container VMs on Apple-silicon macOS — no Docker daemon required. Use when the user mentions the container CLI, "apple container", running or building containers on macOS without Docker/Podman, container run, container…
imagen
Generate images using Google Gemini's image generation capabilities. Use this skill when the user needs to create, generate, or produce images for any purpose including UI mockups, icons, illustrations, diagrams, concept art, placeholder images, or visual representations.
playwright-cli
Automates browser interactions for testing and validating your own web applications using playwright-cli. Use when you need terminal-first browser control for navigation, form filling, screenshots, tracing, bound browser sessions, debugging, or generating Playwright test code. Only use against applications you own or…
measure-survey-analysis
Analyze survey results into actionable PM insights. Produces persona segmentation, hypothesis validation status, thematic clustering of open-text responses, statistical confidence labels, prioritized recommendations, and what-NOT-to-conclude warnings. Refuses to overstate statistical significance from weak samples or…
tool-design-sprint-prototype-plan
Day 4 (Thursday) move of a Design Sprint that produces the planning artifact for the day. Output covers the prototype role plan (Maker, Stitcher, Writer, Asset Collector, Interviewer), prototype brief (what to build, fidelity bar, time allocation per role), canonical Five-Act Interview script (Welcome, Context, Intro…