Skip to content
Back to skills

Pm Discover

ASecurity

Phase 1, Discover. Structured research across four fixed axes (prior art, feasibility, constraints, risk) producing research_note rows where every finding carries an implication. Use after /pm-new, when the user says "/pm-discover", "research this", "benchmark", "what are the risks", or before committing to a stack.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 6, 2026
ai-agentsrustgobashapi

Works with

  • api

Security analysis

A100/100

Scanned October 6, 2026

npx -y skills add ridwankustanto/mandor --skill pm-discover --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Pm Discover?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Pm Discover
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ridwankustanto-pm-discover/badge)](https://www.skillsdirectory.com/skills/ridwankustanto-pm-discover)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: pm-discover
description: Phase 1, Discover. Structured research across four fixed axes (prior art, feasibility, constraints, risk) producing research_note rows where every finding carries an implication. Use after /pm-new, when the user says "/pm-discover", "research this", "benchmark", "what are the risks", or before committing to a stack.
---

# /pm-discover: research that downstream work can rely on

Free-form research produces a different shape every project, so nothing can be compared
or reused. This phase has four fixed axes. Every project gets all four, even briefly.

**Every finding must have an implication.** A finding with no implication is trivia and
gets dropped. The implication is what changes: a story, a constraint, a risk to
watch, a choice now foreclosed.

Ask with `AskUserQuestion` whenever a finding forces a choice. Do not pick the stack,
the pattern, or the tradeoff on the user's behalf and mention it in passing.

## Axis 1: prior art

Three to five products that already solve this. For each:

- The pattern they use
- Why it fits their context specifically
- The tradeoff they accepted
- Verdict: adopt, adapt, or avoid, with one line of reasoning

Use web search and Claude in Chrome for real products, not from memory. Screenshot
teardowns are fair game and usually sharper than descriptions.

## Axis 2: technical feasibility

What the candidate stack can and cannot do for this specific product.

- Hard limits: rate limits, payload caps, quotas, cold starts, platform rules
- Cost at the expected scale, and at ten times it
- What is genuinely hard here, as opposed to merely unfamiliar
- What already exists that you would otherwise rebuild

## Axis 3: constraint scan

- Compliance and legal: data residency, retention, consent, licensing
- Platform rules: app store, browser extension, API terms of service
- Auth and privacy: what trust boundaries exist, what is validated where
- Accessibility floor: what you commit to now so it is not retrofitted later

## Axis 4: risk register

The five things most likely to kill this, each with an early signal.

| Risk | Impact if it lands | Early signal to watch | Cheapest mitigation |
|---|---|---|---|

A risk with no observable early signal is not a risk, it is a fear. Rewrite it or drop it.

## Write it down

```bash
./pm add research_note axis=prior_art topic="<product>" \
  finding="<what they do>" implication="<what it changes for us>" url="<link>"
./pm add research_note axis=risk topic="<risk>" \
  finding="<why it could kill us>" implication="<the early signal to watch>"
```

A finding that changes scope goes straight into `docs/product/overview.md`, so `/pm-spec`
builds the tree from something current. Note the research note code next to it, so the
reason survives:

> Constraint, from RN004: the platform forbids background sync on free tier.

Record the stack choice as an ADR the moment it is made. See `/pm-change` for the ADR
format, or write it directly to `docs/engineering/adr/0001-<slug>.md` and:

```bash
./pm add adr title="<decision>" status=accepted decision="<what>" why="<what forced it>" \
  alternatives="<what was rejected and why>" doc_path=docs/engineering/adr/0001-<slug>.md
```

Do not create the code repo here. `/pm-build` creates it and links it, once there is
something to put in it.

## Close the gate

Present the risk register and the adopt/avoid list to the user as a form. Approve only
after they respond.

```bash
./pm gate approve discover "risk register and adopt/avoid list reviewed"
./pm phase next
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.