Pm Product Spec logo

Pm Product Spec

Organization
Uxcel-Lab
pm-product-spec

Write a product requirements document (PRD) or spec anchored to a validated problem, with measurable requirements and surfaced risks — or review an existing one. Trigger when asked to write a PRD, product spec, user stories, technical requirements, or to review/critique an existing spec document.

Overview

PublisherUxcel-Lab
Repositoryproduct-skills
Skill namepm-product-spec
Stars
35
Forks
8
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by Uxcel-Lab on GitHub. Read the source before you install it.

Installation

Install the Pm Product Spec AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/Uxcel-Lab/product-skills/tree/main/pm/deliverables/product-spec
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/Uxcel-Lab/product-skills.git /tmp/product-skills
mkdir -p .claude/skills
cp -r /tmp/product-skills/pm/deliverables/product-spec .claude/skills/pm-product-spec
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Pm Product Spec in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Pm Product Spec on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Pm Product Spec is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Product Spec / PRD Writer Skill

How this skill behaves (read first)

Claude's default already produces a plausible-looking PRD on request — which is exactly the problem. The default tends to: invent requirements before the problem is pinned down, write vague targets ("fast", "user-friendly"), skip dependencies and assumptions, and phrase user stories as engineering tasks. A document that looks complete but is built on an unvalidated problem and untestable requirements is worse than no document, because teams build from it.

So this skill is generative but gated, and it enforces quality rather than just filling a template:

  1. Gate on the problem first. Don't draft requirements until there's a clear, fact-based problem statement. If the user hasn't supplied one, build it with them — or flag that the spec rests on unverified assumptions.
  2. Write the right document. PRD and spec are different artifacts for different audiences and moments — pick deliberately (see below).
  3. Enforce measurability. Every requirement must be testable; every user story must express value; every assumption must be flagged as a risk.
  4. Self-audit before delivering (built-in review pass — see final section).

Step 0 — PRD or spec? Write the right one.

These are different documents; writing the wrong one (or blurring them) is a common failure.

PRD (Product Requirements Document)Product Specification
AnswersWhat should the product do, and whyHow it will be designed and built
AudienceBroad — PMs, execs, marketing, stakeholdersTechnical — engineers, designers, QA
WhenEarly, during discovery/planningAfter requirements are agreed
FlexibilityAdaptable as insights emergeStable once development starts; changes cause rework
ContainsVision, goals, personas, user stories, success metricsComponents, behavior, performance targets, dependencies

Rule of thumb: requirements set priorities (what/why); specs define dependencies and behavior (how). If the user is still deciding what to build, they need a PRD. If what-to-build is settled and they need a build blueprint, they need a spec. Confirm which before writing.


The problem gate (do this before any requirements)

A specification built on a poorly-defined problem fails no matter how well-written. A complete problem statement has three parts:

  • Problem — the gap between the current and desired state (facts, not assumptions).
  • Consequences — the negative outcomes for users or the business.
  • Goal — the improvement to achieve, not the solution.

Enforce these checks before proceeding:

  • Causes, not symptoms. "Low retention" is a symptom; "onboarding doesn't convey core value" is a cause. Push past the symptom.
  • Specific, not broad. "Improve the user experience" is not a problem — it produces an endless task list. Narrow it.
  • Facts, not assumptions. "The process is inefficient" / "users are unhappy" hide the real cause and measurable impact. Tie to evidence (feedback, data) where possible.
  • Clarity test. Could someone in design, eng, or leadership understand what the problem is, who it affects, and why it matters without extra explanation? If not, refine.

If the user can't supply evidence, proceed but explicitly mark the problem as an unvalidated assumption to be tested — don't paper over it.


Spec / PRD structure

Build from this structure (adapt to the doc type from Step 0). Every section traces back to the problem statement.

  1. Summary — what it is, why it exists now, who it serves.
  2. Problem statement — from the gate above.
  3. Scope — in and out. State explicitly what is excluded, not just included. Unstated scope is where misalignment hides.
  4. Personas & user stories — who, and what they need (format below).
  5. Requirements — what the product must do, each testable (rules below).
  6. Acceptance criteria — what "done" looks like for each requirement.
  7. Dependencies, constraints & assumptions (DCA) — what could derail delivery (below).
  8. Success metrics — how the outcome will be measured, in specific terms.

Requirement quality — make every requirement testable

Replace subjective descriptions with measurable targets. This is the highest-leverage thing the skill does.

  • ❌ "The app should load quickly." → ✅ "The dashboard loads within 2 seconds on a standard mobile network."
  • ❌ "Make checkout user-friendly." → ✅ "A returning user can complete checkout in ≤ 3 steps without re-entering saved details."
  • Describe complete workflows, not isolated features.
  • A requirement is testable when QA (or anyone) could write a pass/fail check from it without asking what you meant.

User stories — express value, not tasks

Use the formula: "As a [persona], I want to [action], so that [benefit]." Tie each story to a real persona (goals + frustrations from research), so the backlog stays rooted in authentic needs.

Apply INVEST — Independent, Negotiable, Valuable, Estimable, Small, Testable.

Flag weak stories — these describe tasks, not user value, and should be rewritten:

  • ❌ "Add login feature" / "Improve dashboard performance" (tasks, no who/why)
  • ✅ "As a returning user, I want to log in quickly so I can access my saved data."

Dependencies, Constraints & Assumptions (DCA)

The section the default most often omits — and where delivery actually breaks.

  • Dependencies — one step enabling the next. Distinguish internal (within the team — manageable via planning) from external (legal approval, third-party vendors, other teams — higher risk). Map the chain so a single delay's downstream impact is visible.
  • Constraints — the boundaries: budget, deadlines, legacy tech, legal/compliance. Name them early to avoid unrealistic plans.
  • Assumptions — what the team believes but hasn't confirmed. Turn each assumption into a measurable check with an owner. An untested assumption left sitting is a hidden risk; surface it as one.

Early-warning signals to call out if reviewing an existing spec: vague ownership of a critical dependency, inconsistent timelines across teams, assumptions still unverified after several sprints.


Self-audit before delivering (built-in review pass)

Before presenting the document, run this quality check on your own output — this is what separates the skill from a template fill:

  • Every requirement is measurable/testable (no "fast", "intuitive", "user-friendly" left undefined).
  • Every user story expresses value (has a who + why), passes INVEST, and isn't a disguised task.
  • Scope explicitly lists what's out, not only what's in.
  • Each requirement traces back to the problem statement.
  • Assumptions are flagged as risks with a way to test them; dependencies note internal vs. external.
  • Success is defined in specific, measurable terms.

Then hand the document to the audit lenses. These are candidate lenses — posture per docs/orchestration-policy.md, or route the whole artifact through pm-product-review. Here assumption-rigor is the always-relevant lens (auto-runs); the others are offered, tied to what the artifact actually contains. If the user invoked this skill for one specific thing, respect that scope.

In a full idea-to-plan build, this spec is the final rung of pm-idea-to-plan — it should arrive already resting on a framed problem, discovery evidence, and a tested riskiest assumption, and stay proportionate to them. A spec produced before those rungs is a polished PRD on an unvalidated bet, which is the exact failure that front door exists to prevent.

Hand-offs name each lens by its installable skill name. Invoke one only if that skill is installed; if it isn't, this skill's own self-audit checklist above already carries these rules — proceed without it rather than blocking.

  • pm-assumption-rigor-audit (auto-runs) — when the spec rests on material unvalidated assumptions: whether the riskiest one is being tested, with a right-fidelity method and pre-set success criteria, rather than left as a belief dressed up as a fact.
  • pm-spec-quality-audit (offer — if it writes a spec) — the full document review: testability of every requirement, complete flows vs. happy paths, scope exclusions, DCA completeness, validation evidence, layer-mixing, audience fit.
  • pm-okr-metric-validity-audit (offer — if it names success metrics) — the success metrics specifically: vanity metrics, unfalsifiable targets, outputs disguised as outcomes, and gameable metrics missing guardrails.

Report anything that can't be satisfied (e.g. "Success metric for requirement 3 is undefined — needs a target") rather than silently filling it with plausible-sounding text. Note that a spec is a living document: requirements should be revalidated after sprint reviews and releases.


Common do/don't patterns

❌ Don't✅ Do
Draft requirements before the problem is clearGate on a problem statement (problem + consequence + goal) first
Describe symptoms ("low retention")Frame the underlying cause
"Improve the user experience"Narrow to a specific, evidence-based problem
"The page should be fast""Loads within 2 seconds on a standard mobile network"
"Add login feature""As a returning user, I want to log in quickly so I can access my saved data"
List only what's in scopeState what's explicitly out of scope too
Omit dependencies and assumptionsInclude a DCA section; turn assumptions into testable checks with owners
Blur PRD and specDecide which doc the moment/audience needs
Present a polished-but-vague docSelf-audit; flag undefined targets instead of inventing them
Treat the spec as finalTreat it as living — revalidate after reviews and releases

Source lessons (Uxcel)

Frequently asked questions

What does the Pm Product Spec AI skill do?

Write a product requirements document (PRD) or spec anchored to a validated problem, with measurable requirements and surfaced risks — or review an existing one. Trigger when asked to write a PRD, product spec, user stories, technical requirements, or to review/critique an existing spec document.

Why use Pm Product Spec on TypingMind?

Because you install it once and use it with any model. Pm Product Spec is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Pm Product Spec in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/Uxcel-Lab/product-skills/tree/main/pm/deliverables/product-spec. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Pm Product Spec?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Pm Product Spec?

As many as you like. As long as a model supports skills, you can use Pm Product Spec with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Pm Product Spec AI skill free?

Yes. It is published on GitHub by Uxcel-Lab under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇