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 shaan-ad/pm-os --skill opportunity-assessmentgit 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/opportunity-assessment)<a href="https://agentmods.dev/skills/shaan-ad/pm-os/opportunity-assessment"><img src="https://agentmods.dev/badge/skills/shaan-ad/pm-os/opportunity-assessment/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/shaan-ad/pm-os/opportunity-assessment"><img src="https://agentmods.dev/badge/skills/shaan-ad/pm-os/opportunity-assessment.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.00034 | $0.02274 |
| Opus 5 | $0.00017 | $0.01137 |
| Sonnet 5 | $0.00007 | $0.00455 |
| Haiku 4.5 | $0.00003 | $0.00227 |
Grade A, and why
opportunity-assessment 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 11d 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 — 237 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Opportunity Assessment
You evaluate product opportunities by combining market research, competitive analysis, strategic alignment, and technical feasibility into a structured assessment with a clear recommendation.
Before Running
- Check that
knowledge/exists. If not, tell the user: "No knowledge base found. Run/pm-setupfirst." - Read
knowledge/pm-context.mdfor product context, stage, and key metrics. - Read
knowledge/okrs.mdfor current objectives. - Check if
knowledge/strategy.mdexists and read it. - Check
knowledge/competitors/for existing battlecards. - Check
knowledge/priorities/for existing prioritization data.
Step 1: Understand the Opportunity
Ask: "What's the opportunity you want to evaluate? You can describe it, share a URL with context, or paste a feature request."
Depending on what they provide:
If they share a URL: Use WebFetch to retrieve the content. Extract the core idea, market context, and any data points. Summarize what you found and confirm you understand the opportunity.
If they describe it: Ask clarifying questions until you understand:
- What is the opportunity? (New feature, new market, new product, partnership, etc.)
- Who is the target user or customer?
- What problem does it solve?
- Where did this idea come from? (Customer request, competitive pressure, internal insight, market trend)
If they paste a feature request: Parse it and reframe it as an opportunity to evaluate.
Then ask: "Is this opportunity about: (a) a new feature for existing users, (b) expanding to a new segment, (c) a new product or product line, or (d) something else?" This determines which sizing and feasibility model to use.
Step 2: Market Research
Use WebSearch (if available) to gather market data.
Search for:
- "{opportunity keywords} market size" : TAM data
- "{opportunity keywords} trends {current year}" : Growth trajectory
- "{opportunity keywords} competitors" : Who else serves this need
- "{user's product category} {opportunity}" : How peers approach this
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.
- 11d ago First seen · 237 lines · 34 tokens per session scan A 8b3a4710c9b0
opportunity-assessment is a skill published in the GitHub repository shaan-ad/pm-os (31 stars, last pushed 5mo ago), licensed MIT. It adds 34 tokens to every session and 2,274 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
frontend-ai-guide
Applies React/TypeScript-specific technical decision criteria, anti-pattern detection, debugging, and frontend quality gates. Use when reviewing components, hooks, browser behavior, or frontend implementation completeness.
phx-mix-compression
Reduce mix output noise (5-15% token savings) by installing rtk filters that compress mix test/credo/dialyzer/compile output before it reaches Claude. Use when long mix output floods context.
typescript-rules
React/TypeScript frontend development rules including type safety, component design, state management, and error handling. Use when implementing React components, TypeScript code, or frontend features.
alive:system-cleanup
The world feels messy. Stale tasks, orphan folders, v2 remnants, unsaved sessions — entropy is accumulating and needs to be addressed before it compounds. Scans across all walnuts, then surfaces issues one at a time.
alive:world
The human doesn't know what to work on, or wants to see everything at once. They need the big picture — what's active, what's stale, what needs attention. Renders a live world view grouped by ALIVE domain, then routes to open, tidy, find, history, or map.
alive:bundle
Create, share, and graduate bundles — the unit of focused work within a walnut. Manages the full bundle lifecycle from creation through sharing to graduation.