phuryn/pm-skills is a marketplace of reusable skills, commands, and plugins that guide AI assistants through product-management work such as discovery, strategy, planning, metrics, launches, and growth. It is for product managers and teams using Claude Code, Cowork, or compatible assistants. The catalogue entries are the project's own workflows and extensions.
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 phuryn/pm-skills --skill intended-vs-implementedgit clone --depth 1 https://github.com/phuryn/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/phuryn/pm-skills/intended-vs-implemented)<a href="https://agentmods.dev/skills/phuryn/pm-skills/intended-vs-implemented"><img src="https://agentmods.dev/badge/skills/phuryn/pm-skills/intended-vs-implemented/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/phuryn/pm-skills/intended-vs-implemented"><img src="https://agentmods.dev/badge/skills/phuryn/pm-skills/intended-vs-implemented.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Socket pass
- Snyk pass
- NVIDIA SkillSpector pass
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.00095 | $0.00845 |
| Opus 5.5 | $0.00038 | $0.00338 |
| Sonnet 5.5 | $0.00019 | $0.00169 |
| Haiku 4.5 | $0.00010 | $0.00085 |
Grade A, and why
intended-vs-implemented 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 17d 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.
Copies of this mod
2 near-identical copies found in the catalogue:
- intended-vs-implemented — 100% identical, 4 lines differ
- intended-vs-implemented — 100% identical, 4 lines differ
How it starts
The opening of the file, as written. The whole thing — 43 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Intended vs. Implemented: Auditing the Gap
Purpose
A linter scans code in a vacuum. It can tell you the code is internally consistent; it cannot tell you the code does what you meant, because it has no model of your intent. The highest-value security and correctness bugs live in that gap — a permission documented but never enforced, a "cron-only" endpoint anyone can call, a field marked public-only that leaks private data.
This skill is the method for finding that gap. It is the differentiator: it only works when intent has been written down first (see the shipping-artifacts skill), and that's exactly why commodity tools can't replicate it.
Context
Use this when documented intent exists — permissions.md, architecture.md, variables.md, etc., or the repo's own equivalents under whatever names it uses. If those docs are absent or stale, that absence is itself the first finding: you cannot audit intent you never recorded. Recommend documenting first, then auditing.
Method
-
Establish intent. Read the system docs, wherever the repo keeps them (
documentation/*.mdby default; see the shipping-artifacts skill), as the source of truth for what should be true: who may access what, which boundaries are trusted, which data is public. Treat the docs as claims to verify, not as proof. -
Gather implementation evidence. Read the code that enforces (or fails to enforce) each claim. Evidence is a cited file and line — the actual authorization check, the actual query filter, the actual sanitizer. "It's probably handled upstream" is not evidence; the code path is.
-
Compare claim to code, one boundary at a time. For each documented rule, ask: does an enforcement point actually implement it, on the server, on every path? Distrust comments like "internal only," "admin only," or "validated elsewhere" — verify them in code.
-
Classify each mismatch by whether it matters. A mismatch matters when crossing it lets a real actor reach data, money, infrastructure, or another tenant they shouldn't. It does not matter when the only person affected is the actor themselves on their own data. Drop cosmetic drift; keep boundary-crossing drift.
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.
- 17d ago Changed 5d88977487be
- 1mo ago First seen · 43 lines · 95 tokens per session scan A 6d917f0e59f7
intended-vs-implemented is a skill published in the GitHub repository phuryn/pm-skills (27,447 stars, last pushed 11d ago), licensed MIT. It adds 95 tokens to every session and 845 once invoked, about $0.0004 per session on Opus 5.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-30.
Other skills, from other repositories
becoming-senior-pm
Use this skill when the user asks "how do I become a senior PM", "what does senior PM actually mean", "I want to get promoted to senior", "what's the difference between PM and senior PM", "I've been a PM for 2–3 years and want to grow", "my manager says I need to work more strategically", "I'm stuck at PM level", or…
founding-pm
Use this skill when the user says "I'm the first PM", "founding PM", "I joined a startup as the only PM", "how do I set up PM processes from scratch", "no PM infrastructure exists", "I'm building the PM function", "what should a first PM do in 90 days", or is navigating the unique challenges of being an early-stage PM…
technical-pm
Use this skill when the user asks about "working with engineers as a PM", "how technical should a PM be", "I feel out of my depth with engineers", "how to earn engineering trust", "how to read code as a PM", "should I learn to code", "bridging the gap with engineering", "technical credibility for PMs", or wants to…
ai-feature-monetization
Use this skill when the user asks specifically about "how to monetize AI features", "should AI be a separate tier", "pricing for AI capabilities", "how to charge for AI", "AI add-on vs. bundle", "AI feature pricing strategy", or is adding AI capabilities to an existing product and wants to decide how to monetize them.…
altitude-horizon
Use this skill when the user asks about "altitude and horizon framework", "Shreyas Doshi altitude", "working at the right level", "am I too in the weeds", "I'm too tactical", "how do I work at the right altitude", "horizon thinking for PMs", or wants to evaluate whether they're operating at the right level of…
attitudinal-segmentation
Use this skill when the user asks about "attitudinal segmentation", "segmenting by attitude", "AI embracer vs skeptic", "how to segment our users beyond demographics", "psychographic segmentation", "behavioral segmentation", "how users feel about AI", or wants to go beyond demographic user segments to understand…