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 shipping-artifactsgit 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/shipping-artifacts)<a href="https://agentmods.dev/skills/phuryn/pm-skills/shipping-artifacts"><img src="https://agentmods.dev/badge/skills/phuryn/pm-skills/shipping-artifacts/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/shipping-artifacts"><img src="https://agentmods.dev/badge/skills/phuryn/pm-skills/shipping-artifacts.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Socket pass
- Snyk pass
- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Excessive Agency · line 49 Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
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.00120 | $0.02606 |
| Opus 5.5 | $0.00048 | $0.01042 |
| Sonnet 5.5 | $0.00024 | $0.00521 |
| Haiku 4.5 | $0.00012 | $0.00261 |
Grade A, and why
shipping-artifacts 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
1 near-identical copy found in the catalogue:
- shipping-artifacts — 100% identical, 31 lines differ
How it starts
The opening of the file, as written. The whole thing — 99 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Shipping Artifacts: The Docs That Make AI-Built Code Reviewable
Purpose
AI agents write code fast, but they leave no durable record of intent — what the system is supposed to do, who is allowed to do what, where the secrets live, which rules are actually verified. Without that record, no human (and no auditing agent) can tell whether the code is safe to ship. This skill defines the small set of documents that restore reviewability.
These docs are written for two readers: a human reviewer and the next AI coding agent. They are the intended-state half of every later audit — a security or performance review is only as good as the intent it can compare the code against.
Locations and names: the repo's setup wins
Every location, file name and doc-format convention in this plugin is a default. The host repo's own setup comes first. Before writing anything (a system doc, the coverage map, an audit report), look for that setup:
- Agent instructions —
AGENTS.md,CLAUDE.md, and whatever they import or point to. They often name the docs folder, the files in it, who maintains each one, and how dates are recorded. - A docs location — an existing
docs/,documentation/or similar folder. - Existing equivalents — a document that already covers what one of the files below covers, under any name (
ARCHITECTURE.md,docs/security.md,docs/env.md). Match on what it covers, not on its file name. - An existing test-coverage map — a file that maps behaviour to the tests covering it, such as
docs/test-coverage.md. Match on what it covers: aTESTS.mdortesting.mdthat describes how the repo tests is the testing method, not the coverage map. - A reports location — wherever the repo already keeps audit or review output.
Then:
- Follow what you find. Write into the repo's docs location, update its existing equivalent instead of creating a parallel file, and keep its naming and date conventions. What each document must contain does not change; only where it lives and what it is called. If its agent instructions say how or by whom a doc is maintained, follow that too.
- Use the plugin's defaults only where the repo has none: docs in
documentation/at the repo root, the file names below, the coverage map atdocumentation/tests.md, reports atreports/<name>_{timestamp}.md, and no "updated date" line (the file's history is the source of truth). - Say which you did. The output names every location and file written, and whether each follows the repo's setup or a plugin default.
- Never create a file whose name differs from an existing one only in letter case —
tests.mdbesideTESTS.md,Architecture.mdbesidearchitecture.md. On Windows and macOS they are the same file, so the write overwrites it; elsewhere they become two files that collide on the next checkout. Check case-insensitively before creating a file. If the existing one covers the same thing, use it. If it covers something else (aTESTS.mdthat is the testing method, not a coverage map), do not write into it: use the repo's real equivalent, and where there is none, pick a name that collides with nothing.
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 · +19 lines ae08fe51dfc2
- 1mo ago First seen · 80 lines · 120 tokens per session scan A 934f6e1d0eec
shipping-artifacts is a skill published in the GitHub repository phuryn/pm-skills (27,447 stars, last pushed 11d ago), licensed MIT. It adds 120 tokens to every session and 2,606 once invoked, about $0.0005 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…