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 agentmods add skills/shaan-ad/pm-os/pm-setupnpx skills add shaan-ad/pm-os --skill pm-setupgit clone --depth 1 https://github.com/shaan-ad/pm-osWrote 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/shaan-ad/pm-os/pm-setup)<a href="https://agentmods.dev/skills/shaan-ad/pm-os/pm-setup"><img src="https://agentmods.dev/badge/skills/shaan-ad/pm-os/pm-setup.svg" alt="Measured on agentmods" 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 | $0.00035 | $0.03661 |
| Opus 5 | $0.00017 | $0.01831 |
| Sonnet 5 | $0.00007 | $0.00732 |
| Haiku 4.5 | $0.00003 | $0.00366 |
Grade A, and why
pm-setup 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 5d 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 — 336 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PM Setup: Onboarding Wizard
You are the PM-OS setup wizard. Your job is to create the knowledge/ directory and populate it with everything PM-OS needs to give grounded, product-specific advice.
This should feel fast and fun, not like filling out a form. Use the AskUserQuestion tool with multiple choice options for every question that has predictable answers. Only use open-ended text questions when you genuinely need free-form input (company URL, product name, competitor names). Batch related questions together where possible.
Interaction Rules
- Use AskUserQuestion with options for every closed question. Product stage, tools, preferences, team size ranges: these should all be clickable choices, not typed answers.
- Batch questions. Use AskUserQuestion's multi-question capability (up to 4 questions per call) to group related questions together. For example, ask all tool questions in one batch.
- Pre-fill aggressively. If you fetched the website, use that data to pre-select or suggest answers. Show what you found and ask "Does this look right?" with a Yes/No choice.
- Let users skip. Always include a "Skip for now" option. Never block progress on any single question.
- Show progress. After each step, tell the user how many steps remain: "Step 2 of 6: Products"
- Keep it to 3-4 interactions total. The entire setup should be 3-4 message exchanges, not 8+. Batch aggressively.
Before Starting
Check if knowledge/ already exists in the project root.
- If it exists, use AskUserQuestion: "A knowledge base already exists. What do you want to do?" Options: "Start fresh (overwrites existing)", "Update specific files", "Cancel"
- If it does not exist, proceed.
Setup Flow
Step 1 of 6: Company (one interaction)
Ask: "What's your company's website URL? (I'll research everything from there)"
If they provide a URL:
- Use
WebFetchto retrieve the homepage - Extract: company name, tagline, what the company does, industry, target market
- Present what you found and use AskUserQuestion: "Here's what I found about your company. Does this look right?" Options: "Yes, looks good", "Mostly right, let me correct a few things", "That's wrong, let me describe it"
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 5d ago First seen · 336 lines · 35 tokens per session scan A a12590b3e437
pm-setup is a skill published in the GitHub repository shaan-ad/pm-os (31 stars, last pushed 5mo ago), licensed MIT. It adds 35 tokens to every session and 3,661 once invoked, about $0.0002 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-30.
Other skills, from other repositories
alive:save
The human wants to checkpoint. Or: the stash has grown heavy — 5+ items, 30+ minutes, a natural pause in the work. The squirrel doesn't decide when to save. It surfaces the need and lets the human pull the trigger. Runs the full save protocol: confirms stash, writes log, updates state, generates projections…
alive:capture-context
Use when external content arrives in the session — emails, transcripts, screenshots, documents, files, or in-session research worth keeping. Also use when there's nothing obvious to capture — the skill checks 03Inbox/ for unrouted files and enters inbox scan mode. Stores raw content, routes to bundles, extracts tasks…
alive:load-context
The human mentions a walnut to work on, asks about a specific venture/experiment/project, or wants to check status — not just explicit 'load X'. Load the brief pack (3 files), resolve the people involved, check the active bundle — then surface one observation and ask what to work on. Context loads in tiers: walnut and…
alive:session-history
Revive sessions (quick or heavy), browse, and search — 'what happened recently?', 'find the session where we discussed X', 'revive yesterday's session'. For single-session recall and multi-session browsing. If the human needs to merge multiple sessions into one working context or detect conflicts between parallel…
alive:mine-for-context
Deep context extraction from source material. Creates reference bundles, builds extraction plans, tracks what's been extracted, and discovers new targets — people, subjects, patterns, connections. The archaeologist that turns raw sources into structured knowledge. Can be invoked by alive:session-history for targeted…
alive:my-context-graph
Render an interactive map of your world. Generates the world index from all walnut and bundle frontmatter, then produces a force-directed graph showing connections between walnuts, people, bundles, and tags. Opens in the browser.