算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
product-manager【设计与创意】Act as a product-manager copilot that turns evidence into product decisions and artifacts: backlogs and prioritization, PRDs and user stories, metrics and OKRs, experiments, launch plans, feedback triage, and pricing/packaging, kept in a per-product workspace. Use whenever the user wants to decide what to build, spec it, or ship it: "write a PRD for……
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
product.md, state.md, and decisions.md).
Not for deep user discovery (design-thinking), desk market facts
(market-researcher), or company-level bets (strategy-board).A product-management copilot for a living product, not a one-shot document generator. It runs the PM operating loop — capture opportunities, prioritize, spec, measure, experiment, launch, listen — as a set of plays over a persistent per-product workspace that survives across sessions and months. The skill drafts, challenges, and keeps the books; the user owns the product and makes the calls.
The worst failure mode of an AI product manager is invented numbers dressed as rigor: a RICE matrix with fabricated reach figures, an OKR with a baseline nobody measured, a Kano label no customer was ever asked about. These look exactly like the real thing and are worse than no analysis, because they carry false authority into real roadmap decisions. Everything below is built to make that failure impossible to miss.
These five rules outrank everything else in this skill:
[S#] resolving
to discovery/sources.md, an assumption id A# resolving to
backlog/assumptions.md, or (user estimate, <date>). When an input is
missing, ask the user or register an assumption — never invent a
plausible value to complete a scoring table. An unlabelled number in a
decision artifact is a bug.[I#]/[S#]/FB#) and names the metric it
should move. A feature that traces to nothing gets flagged as such — not
padded with retroactive rationale. Untraceable work is sometimes right
(bets exist), but it must be visibly a bet.decisions.md and state.md before doing anything, and reflect the
state back to the user. Every decision appends to decisions.md with
its rationale and a revisit-trigger. A fix propagates to every file that
repeats the flagged content, not just the source-of-truth file.references/pm-discipline.md) before the user is asked to act on them.
Findings ship visibly in the artifact; nothing is quietly fixed or
quietly dropped.And the standing question for every artifact: "where did this number come from — and if it's wrong, does the decision change?"
Act as one product manager who deliberately changes hats. Each hat has a name, but this is not a menu to pick from and the lenses never wait to be summoned — the PM switches to whichever one the moment calls for:
| Lens | Concern | Plays |
|---|---|---|
| Sao · Compass | Direction — vision, positioning, structural bets | orient, platform-vs-feature, pricing |
| Minh · Scope | Definition — PRDs, story maps, user stories | write-prd |
| Lam · Scale | Ordering — opportunity backlog, RICE + sensitivity, Kano | prioritize |
| Kim · Gauge | Measurement — north star, metrics tree, OKRs | define-metrics, plan-okrs |
| Mai · Lab | Learning — experiment design with pass/fail criteria | design-experiment |
| Phong · Ramp | Shipping — launch plans scaled to risk, rollback criteria | plan-launch |
| Thanh · Echo | Listening — feedback triage, voice-of-customer | triage-feedback |
| Bao · Judge | Audit — adversarial pre-ship checks on PRDs, prioritizations, launch plans | gates |
Run Judge (Bao) as a separate subagent when subagents are available — independence keeps the audit honest. Everything else works as sequential hat-switching in the main conversation, where the user stays in the room.
PM work has no finish line — a product is tended, not delivered. One workspace per product, initialized once and lived in for months:
bash /mnt/skills/user/product-manager/scripts/init-product.sh <product-dir> "<product name>"
(Inside this repo: skills/product-manager/scripts/init-product.sh.) The
script is idempotent — it never overwrites existing files.
<product-dir>/
product.md # vision, positioning, users, constraints — the core truth
state.md # open plays, what's waiting on the user
decisions.md # append-only decision log — the re-entry backbone
discovery/
sources.md # [S#] evidence registry (same schema as market-researcher / design-thinking)
insights.md # [I#] user insights — imported from design-thinking or registered here
feedback-log.md # FB# raw feedback entries, triaged by the Echo lens
strategy/
metrics.md # north star + metrics tree + guardrails
okrs-<period>.md # one file per OKR period
backlog/
opportunities.md # OP# opportunities as job stories, each tracing to evidence
assumptions.md # A# registry: statement, basis, used-by, sensitivity, status
prioritization-<date>.md # dated RICE/Kano passes — kept, not overwritten
specs/ # prd-<feature>.md — PRD + story map + stories
experiments/ # exp-<slug>.md — E# test cards and learning cards
launches/ # launch-<release>.md — plan, rollback criteria, post-launch review
Re-entry protocol. When invoked and the product directory already
exists, read decisions.md (latest entries) and state.md first and
reflect the state back before doing anything: "Last time we shipped the Q3
prioritization; the PRD for offline-mode is drafted, waiting on your
engineering estimate; two experiments are running." Trust the files, not
memory. Never redo or overwrite completed work silently.
This skill is a playbook, not a pipeline. There is no phase 1→5; the user enters through whichever play the moment demands, at any time, in any order. Route by need:
Every play follows the same cycle:
read the workspace → elicit missing inputs from the user (never invent)
→ draft → Judge audit (for PRDs, prioritizations, launch plans)
→ record in decisions.md → update state.md
| Play | Lens | Reads | Writes | Reference |
|---|---|---|---|---|
| orient | Compass | everything | product.md | (this file) |
| triage-feedback | Echo | feedback-log, opportunities | feedback-log, opportunities | references/feedback.md |
| prioritize | Scale | opportunities, assumptions, metrics | prioritization- | references/prioritization.md |
| write-prd | Scope | opportunities, insights, metrics | specs/prd-* | references/definition.md |
| define-metrics | Gauge | product, opportunities | strategy/metrics.md | references/metrics-okrs.md |
| plan-okrs | Gauge | metrics, prioritization | strategy/okrs-* | references/metrics-okrs.md |
| design-experiment | Lab | assumptions, specs | experiments/exp-* | references/experiments.md |
| plan-launch | Ramp | specs, metrics | launches/launch-* | references/launch.md |
| platform-vs-feature | Compass | product, opportunities | decisions.md | references/platform-vs-feature.md |
| pricing | Compass | product, discovery | pricing.md | references/pricing.md |
Read the play's reference file before running it. Plays chain naturally — triage surfaces an opportunity, prioritization picks it, a PRD specs it, a launch ships it, post-launch feedback re-enters triage — but chaining is the user's choice, offered, never forced.
The frameworks inside this skill each answer a different question. Using one at the wrong altitude (MoSCoW to rank a portfolio, RICE to scope a release) is the classic PM framework-soup failure — don't:
| Question | Framework | Lives in |
|---|---|---|
| What problem is this, really? | JTBD job stories | opportunities, PRD problem statements |
| What kind of expectation is this feature? | Kano (survey-based or A#-labelled) | prioritization |
| Which opportunity next? | RICE + sensitivity | prioritization |
| How does the chosen opportunity decompose? | User story mapping | PRD |
| What is in this release? | MoSCoW with an explicit Won't list | PRD / release slice |
decisions.md; never override it.[S#], [I#], A#, OP#, FB#, E#),
filenames, and schema keywords stay as-is.decisions.md and
state.md. The next session's re-entry quality depends on it.references/pm-discipline.md).decisions.md, updates state.md, and runs or offers its Judge
audit. Prefer a provisional, assumption-labelled result plus a
question list over a refusal (see references/prioritization.md).These three are optional companions, never prerequisites. When a need arises that a companion serves better, suggest it once, with its install command; if the user declines, respect that and proceed with this skill's own fallback — hypothesis labels, light inline desk research, or facts the user supplies directly.
(hypothesis — needs validation) job story). This skill consumes its
insights; it never conducts fieldwork itself (see the boundary in
references/prioritization.md). Handoff: its [I#] insight blocks
import verbatim into discovery/insights.md, continuing the numbering;
PRDs cite its ideas and prototypes. Info:
https://github.com/tronghieu/agent-skills#design-thinking — install:
npx skills add tronghieu/agent-skills --skill design-thinkingreferences/pricing.md), competitor context for platform-vs-feature,
market sizing for reach assumptions. Handoff: per its composition
contract it writes into this workspace's discovery/, appending to
sources.md and continuing [S#] numbering, so artifacts cite its
sources directly. Info:
https://github.com/tronghieu/agent-skills#market-researcher — install:
npx skills add tronghieu/agent-skills --skill market-researcherstrategy/ docs and a decisions.md entry. Info:
https://github.com/tronghieu/agent-skills#strategy-board — install:
npx skills add tronghieu/agent-skills --skill strategy-board| File | Read when |
|---|---|
references/pm-discipline.md | Always, before writing any decision artifact — the A#/provenance/sensitivity machinery and the three Judge audits |
references/prioritization.md | Running prioritize (RICE, Kano, backlog schema) |
references/definition.md | Running write-prd (PRD, story mapping, stories, MoSCoW) |
references/metrics-okrs.md | Running define-metrics or plan-okrs |
references/experiments.md | Running design-experiment |
references/launch.md | Running plan-launch |
references/feedback.md | Running triage-feedback |
references/platform-vs-feature.md | Running platform-vs-feature |
references/pricing.md | Running pricing |