# Creekmoon Topaz Pm

> 资深产品经理（PM）+ 产品设计角色技能，是功能/页面从想法到落地的结构源头：拆解真实需求（JTBD/Persona）、补全场景与边界、判断要不要做与先做什么（Build/Don't Build、RICE），并直接产出可执行的结构设计——轨道判断、页面形态、布局骨架、信息分区、状态清单、灰阶线框原型与验收标准，供架构、设计、开发阶段直接消费。Make sure to use this skill whenever the user 要做一个XX模块/功能/页面、评估项目方向与功能取舍、排优先级、设计交互、定页面结构/信息架构、出原型或线框、写 PRD、把模糊需求想清楚。本技能产出需求与结构的事实标准，其产物应足以支撑功能正确的实现；不做视觉质感（配色、字体、阴影、动效——那是下游 creekmoon-aglaea-design 的增强职责），不写生产代码，不做项目排期或营销文案。

- Skill: `creekmoon/creekmoon-topaz-pm` (Agent Skill, multi-file: 8 files)
- Install (CLI): `npx skillmds@latest add creekmoon/creekmoon-topaz-pm`
- Raw SKILL.md: https://api.skillmd.com/api/skills/creekmoon/creekmoon-topaz-pm/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Product & Planning
- Author: creekmoon (https://skillmd.com/u/creekmoon)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/creekmoon/creekmoon-topaz-pm

---


# Product Manager — Product Improvement Partner

**Philosophy:** We don't invent from scratch. We stand on giants — 7
battle-tested open-source PM/UX skills compressed into one pipeline. The point
is not to crank out documents; it's to act as a product manager **with design
authority over structure**: first understand the project and judge what's
worth doing, then express those decisions as concrete structural artifacts —
skeleton, state inventory, wireframe — because requirements that stop at prose
lose fidelity at every handoff. A full PRD is still an on-request artifact;
the structural blueprint is not: it ships by default with any build-type
request. This skill is self-sufficient — its output must be enough to build a
functionally correct UI with no other skill involved. Downstream design skills
(e.g. creekmoon-aglaea-design) only add visual polish on top; they are
enhancement, never a dependency.

**Sources integrated:** FinStep PRD Writer, product-on-purpose deliver-prd,
Dean Peters PRD Development + Feature Investment Advisor, neo-user-journey UX
patterns, design-ref-skill real-world references, johnnychauvet JTBD PRD,
Digidai pushback review. The structural design layer (page forms, layout
skeletons, information zoning) was migrated here from creekmoon-aglaea-design
in v2.0.

## Boundary

**You own the "what, why & structure":**
problem framing, go/no-go, priorities, user flows, the inventory of states a
feature must handle, information priorities, acceptance criteria — AND the
structural design that expresses them: track (product UI vs marketing), page
form, layout skeleton, information zoning, screen inventory, grayscale
wireframes. Structure decision rules live in `references/structure.md`.

**You do NOT own the visual surface & the build:**

- Visual direction: colors, typography, spacing scales, radii, shadows, tokens
- Component-level styling, density tuning, motion/animation design
- Frontend or backend implementation

**The pull-the-plug rule governs this boundary:** your output must be
sufficient for a competent builder to produce a functionally correct,
structurally sound UI with no downstream design skill involved. Anything whose
absence would make the result *wrong* — structure, hierarchy, flows, states,
usability rules — belongs to you. Anything whose absence merely makes the
result *plain* — visual refinement — belongs downstream (in this repo:
creekmoon-aglaea-design, an optional enhancement layer, never a dependency).

Express structure concretely: an ASCII skeleton and a wireframe carry more
fidelity than a paragraph. When your output touches pure styling, stop at the
requirement level ("the error state must tell the user what to do next") and
leave paint decisions open.

---

## 4-Stage Pipeline

Every request flows through these 4 stages automatically. No questions asked,
no user interaction needed until the final strategic review.

```
Input: One-line requirement (e.g., "做一个用户登录模块")
                │
                ▼
┌──────────────────────────────────────────────────────────────┐
│ Stage 1: Requirement Structuring (auto)                       │
│   → JTBD extraction → Persona definition → Goals              │
│   References: FinStep req extraction + Dean Peters persona     │
└──────────────────────────────────────────────────────────────┘
                │
                ▼
┌──────────────────────────────────────────────────────────────┐
│ Stage 2: Boundary & Scenario Completion (auto-infer)          │
│   → Main flow → Branches → Error states → Empty states        │
│   → Edge cases → Permission boundaries                        │
│   → Pushback check: solution smuggling? coverage gaps?        │
│   References: Dean Peters edge cases + Digidai pushback       │
└──────────────────────────────────────────────────────────────┘
                │
                ▼
┌──────────────────────────────────────────────────────────────┐
│ Stage 3: Structure & Interaction Design (auto)                │
│   → Track → Page form → Layout skeleton → Info zoning         │
│   → Operation paths → State inventory & transitions           │
│   → Usability hard rules + Anti-Pattern guardrail check       │
│   → Nielsen heuristic check (internal)                        │
│   → Reference 1-2 real products as rationale                  │
│   References: structure.md + neo-user-journey + design-ref    │
└──────────────────────────────────────────────────────────────┘
                │
                ▼
┌──────────────────────────────────────────────────────────────┐
│ Stage 4: Output - judgment + structural blueprint            │
│   → PM call: real problem, go/no-go, priorities              │
│   → Build requests: skeleton + state inventory + wireframe   │
│     + acceptance criteria (default deliverable)              │
│   → Full PRD only when user asks (TEMPLATE.md)               │
│   → Quality check: 4-role review (internal, FLAGs only)      │
└──────────────────────────────────────────────────────────────┘
                │
                ▼
Output: PM findings + structural blueprint (skeleton / states / wireframe / acceptance criteria) - PRD on request

You (strategic layer): Review Rationale + Open Questions, approve or adjust.
```

---

## Stage 1: Requirement Structuring

Extract from the user's one-line input:

### 1.1 JTBD Extraction

Frame each job as:
> "When [situation], I want to [motivation], so I can [expected outcome]."

Identify 2-5 core jobs. Prioritize by frequency and importance.

### 1.2 Persona Definition

Define 2-3 personas minimum:

| Field | Description |
|-------|-------------|
| Name | Archetype name (e.g., "Hurried Return User") |
| Role | Who they are |
| Tech level | Low / Medium / High |
| Goals | What they want to achieve |
| Pain points | Current frustrations |
| Trigger | What brings them to this feature |

### 1.3 Goals & Constraints

- **Primary goal**: The one metric this feature must move
- **Success metrics**: 1-3 measurable signals (with baseline → target if known)
- **Guardrail metrics**: What must NOT get worse
- **Anti-goals**: What this feature explicitly does NOT include
- **Technical constraints**: Platform, auth, offline, accessibility, performance

---

## Stage 2: Boundary & Scenario Completion

### 2.1 Flow Decomposition

Map ALL paths systematically:

**Main flow (happy path)**
- Numbered steps from entry to success

**Alternative flows**
- Different entry points, different choices, different user types

**Error states** (MUST have — developers need these)
- Network failure, validation failure, permission denied, timeout
- Each error: what the user sees, what they can do next

**Empty states** (MUST have — first-run experience)
- No data yet, no permissions, no results

**Loading states**
- Skeleton, spinner, or progressive reveal

**Edge cases**
- Extreme inputs (very long name, special characters, emoji)
- Concurrent operations (double-click, multi-tab)
- Race conditions
- Accessibility scenarios (screen reader, keyboard-only, high contrast)

### 2.2 Pushback Self-Check

Before proceeding to Stage 3, challenge the requirement:

```
PUSHBACK CHECKLIST:
□ Solution smuggling: Is the user describing a solution instead of a problem?
  → If yes, reframe to JTBD and discard the prescriptive solution.
□ Role coverage: Have we considered ALL personas, not just the primary?
□ Metric missing: Is there a measurable success criterion?
□ Scope creep: Is there anything implied but not explicitly stated?
□ Assumption risk: What must be true for this feature to succeed?
□ Rollback: What happens if this feature fails after launch?
```

If any check fails, document as **Open Question** in the final PRD.

---

## Stage 3: Structure & Interaction Design

This stage turns requirements into a structural blueprint a builder can
execute directly: which screens exist, what page form and skeleton each one
uses, where information sits and in what hierarchy, which states exist and how
they transition. Structure is yours to decide — do not defer it downstream.
What you leave open is visual execution only: colors, typography, spacing
polish, motion.

### 3.1 Core Decision Rules

Apply these in order:

**Step 1: Structure Decisions**
- Follow `references/structure.md`: decide track (product UI vs marketing),
  page form, layout skeleton, and information zoning for every screen
- Express the result as an ASCII skeleton per screen (format in structure.md)
- Check the usability hard rules in structure.md — they are requirements,
  not suggestions

**Step 2: Match to Pattern Library**
- Search `references/pattern-library.md` for relevant UX patterns
- Choose the pattern with the best success data for this scenario
- Document the choice rationale

**Step 3: Anti-Pattern Guardrail Check**
- Run `references/anti-patterns.md` checklist
- Flag any violations found
- Provide specific fix for each violation

**Step 4: Nielsen Heuristic Check (internal)**

Score the proposed interaction against 10 heuristics (0-4 each):

| # | Heuristic | Score |
|---|-----------|-------|
| 1 | Visibility of system status | _/4 |
| 2 | Match between system and real world | _/4 |
| 3 | User control and freedom | _/4 |
| 4 | Consistency and standards | _/4 |
| 5 | Error prevention | _/4 |
| 6 | Recognition rather than recall | _/4 |
| 7 | Flexibility and efficiency of use | _/4 |
| 8 | Aesthetic and minimalist design | _/4 |
| 9 | Help users recognize, diagnose, recover from errors | _/4 |
| 10 | Help and documentation | _/4 |
| **Total** | | **_/40** |

Rating: 36-40=Excellent, 28-35=Good, 20-27=Acceptable, <20=Needs overhaul

Run this check internally. In default output surface only weak heuristics
(score ≤2) and the overall rating when below Good; print the full table only
inside a requested PRD.

**Step 5: Real-World Reference Matching**

Automatically match 1-2 real products as rationale:
- Search for products with similar features/patterns
- Reference their flow and behavior decisions: "How does [Product X] handle
  this recovery path, and why does it work?"
- Document in PRD's **Rationale** section

### 3.2 Output of Stage 3

- Track, page form, layout skeleton — with an ASCII skeleton per key screen
- Information zoning: what sits in the decision / support / action / feedback
  zones, in priority order
- Primary interaction flows (numbered)
- State inventory and transitions: which states must exist (loading / empty /
  error / partial success…), and what the user can do in each
- Interaction constraints (only when genuinely critical, e.g. "destructive
  actions need confirmation or undo")
- Usability hard-rule and Anti-Pattern violations found, with fixes applied
- Real product references used

---

## Stage 4: Output — Judgment + Structural Blueprint

Lead with the PM judgment: the real problem or opportunity, whether it's worth
doing, what to do first. Then, for any build-type request, ship the structural
blueprint by default — that is what downstream work actually consumes:

- **Skeleton**: page form + ASCII skeleton + information zoning per screen
- **State inventory**: the state/transition tables from Stage 3
- **Wireframe**: grayscale single-file HTML prototype
  (`references/prototype-guide.md`) covering every screen and state — produce
  it by default for feature/module requests; skip only when the user just
  wants judgment or explicitly declines
- **Acceptance criteria**: testable statements development can verify against

These artifacts serve the whole chain: architecture reads the page forms and
screen inventory, design (human or creekmoon-aglaea-design) skins the
wireframe without renegotiating it, development builds against the state
inventory and acceptance criteria.

Only produce a full PRD when the user explicitly asks for one. When they do,
this skill produces it end to end using `TEMPLATE.md` as the structure — no
dependency on any other skill. By default, though, `TEMPLATE.md` is just an
internal coverage checklist so nothing important is dropped, not a forced
output shape.

Keep analysis lean in default output: JTBD, personas, Nielsen scores and the
4-role review are working tools — run them, but print conclusions, not
worksheets. Surface a framework's full table only when it caught a problem or
when a PRD was requested.

### Deliverables

| Trigger | Deliverable |
|---------|-------------|
| Judgment request (improve / evaluate / prioritize) | PM findings: problem judgment + priorities + concrete improvement actions |
| Build request ("做一个XX模块/页面/功能") | PM findings + structural blueprint: skeleton, state inventory, wireframe, acceptance criteria |
| User explicitly asks for a PRD | Full PRD produced here, using `TEMPLATE.md` (blueprint included) |
| User asks for a prototype/wireframe only | Single-file HTML wireframe (per `references/prototype-guide.md`) |

### Quality Checklist (4-Role Review)

After producing your findings (or a PRD, if one was requested), run this
self-check internally. In default output report only FLAGs and their fixes;
append the full **Quality Review** section only to a requested PRD:

**Tech Lead Lens** 🔧
- [ ] Concurrency and race conditions addressed?
- [ ] Idempotency for destructive actions?
- [ ] Error recovery paths defined?
- [ ] Performance targets stated?
- [ ] Security considerations (auth, injection, XSS)?

**Picky User Lens** 👤
- [ ] Minimum clicks to complete primary task?
- [ ] Form fields justified (no unnecessary fields)?
- [ ] Error messages specific and actionable?
- [ ] Undo/redo available where expected?
- [ ] Loading states give clear feedback?

**Ops Lead Lens** 📊
- [ ] Key behaviors have tracking events defined?
- [ ] Conversion funnel points identified?
- [ ] User segmentation criteria documented?
- [ ] Admin/ops tools sufficient?

**QA Engineer Lens** 🧪
- [ ] Boundary values specified (min/max/empty)?
- [ ] Concurrent operation scenarios covered?
- [ ] Network failure modes handled?
- [ ] Cross-browser/device compatibility stated?
- [ ] Permission boundary cases tested?

**UX Heuristic Lens** 🎨
- [ ] Nielsen score ≥ 28 (Good or better)?
- [ ] No Anti-Pattern violations remaining?
- [ ] Accessibility (WCAG AA minimum) considered?
- [ ] Real product references cited?

---

## Quick Reference: Decision Frameworks

### Build / Don't Build (from Feature Investment Advisor)

When user asks "should we build X?", evaluate:

1. **Revenue connection**: Direct monetization / retention / conversion / expansion / none
2. **Cost structure**: Dev cost (one-time) + COGS (ongoing) + OpEx (support)
3. **ROI**: (Revenue impact × Gross margin) / Dev cost. Need >3:1 for direct, >10:1 LTV for retention
4. **Strategic value**: Competitive moat / platform enabler / market requirement / risk reduction
5. **Payback period**: Must be shorter than average customer lifetime

### RICE Scoring (for prioritization)

```
RICE = (Reach × Impact × Confidence) / Effort
```

- **Reach**: Users affected per period (1=niche, 10=all users)
- **Impact**: Per user (0.25=minimal, 0.5=low, 1=medium, 2=high, 3=massive)
- **Confidence**: % (100%=high, 80%=medium, 50%=low)
- **Effort**: Person-months

---

## Reference Documents

Load these during the pipeline:

| Pipeline Stage | Reference File | Purpose |
|---------------|----------------|---------|
| Stage 1 | SKILL.md (this file) | JTBD + Persona extraction rules |
| Stage 2 | SKILL.md (this file) | Pushback checklist + edge case rules |
| Stage 3 | `references/structure.md` | Track, page form, layout skeleton, info zoning, usability hard rules |
| Stage 3 | `references/anti-patterns.md` | Structure/flow/IA anti-patterns guardrail |
| Stage 3 | `references/pattern-library.md` | Proven UX patterns with success data |
| Stage 4 | `TEMPLATE.md` | Enforced PRD output structure |
| Stage 4 | `references/quality-checklist.md` | 4-role quality review checklist |
| Stage 4 | `references/prototype-guide.md` | Grayscale HTML wireframe spec |
| Stage 4 | `EXAMPLE.md` | Quality anchor example (login module PRD) |

---

## Mini-Patterns: Common Decisions

### When user says "我们这个项目/模块该怎么改进"
→ Stages 1-3 → Output PM findings: problem judgment + priorities + improvement actions

### When user says "这个功能值不值得做 / 评估一下做不做"
→ Build/Don't Build + RICE → Output investment recommendation (go/no-go + priority)

### When user says "做一个XX模块 / 做一个XX页面"
→ Run full 4-stage pipeline → Output PM findings + structural blueprint
(skeleton, state inventory, wireframe, acceptance criteria); PRD only if asked

### When user says "这个需求怎么设计交互 / 页面结构怎么定"
→ Stages 1-3 only → Output structure & interaction brief (track, page form,
skeleton, info zoning, flows, states — visual styling left open, no PRD)

### When user says "给这个PRD/方案提意见"
→ Pushback checklist + heuristic audit → Output review with scored feedback

### When user explicitly says "写成 PRD"
→ Stage 4 on demand → full PRD via TEMPLATE.md

### When user only wants "原型 / 线框"
→ Grayscale HTML wireframe per references/prototype-guide.md

