Pm Spec Writing logo

Pm Spec Writing

OrganizationPopular
rampstackco
pm-spec-writing

Translate ideas, feature requests, or vague concepts into specific, actionable dev briefs. Use this skill whenever the user has an idea they want to build, a feature to spec out, a bug to file, a project to scope, or needs to convert a half-formed idea into a clear implementation brief. Triggers on I want to add, we should build, can we make, what is the plan for, how do we implement, dev brief, feature spec, PRD, user story, acceptance criteria, scope this, prioritize. Also triggers when the user has a list of things they want to build and needs help converting them into well-formed tasks.

Overview

Publisherrampstackco
Repositoryclaude-skills
Skill namepm-spec-writing
Stars
1K
Forks
134
Bundled files
3
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.

  • 3 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by rampstackco on GitHub. Read the source before you install it.

Installation

Install the Pm Spec Writing 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/rampstackco/claude-skills/tree/main/skills/pm-spec-writing
  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/rampstackco/claude-skills.git /tmp/claude-skills
mkdir -p .claude/skills
cp -r /tmp/claude-skills/skills/pm-spec-writing .claude/skills/pm-spec-writing
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Pm Spec Writing 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 Spec Writing 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 Spec Writing 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.

PM Spec Writing

Take an idea (often vague) and turn it into a specification a developer or AI agent can actually build from. Stack-agnostic. Works for new features, bug fixes, content changes, or infrastructure work.


When to use

  • Translating an idea into a buildable feature spec
  • Writing a PRD or product requirement document
  • Filing a bug report that someone else can act on
  • Scoping a project before kickoff
  • Prioritizing a backlog of feature requests
  • Writing acceptance criteria for an existing feature
  • Breaking a large initiative into shippable increments

When NOT to use

  • Quarterly or annual planning across multiple initiatives (use roadmap-planning)
  • Code review or debugging existing code (use code-review-web)
  • Design decisions for a feature already specced (use design-standards)
  • User research to validate an idea (use ux-research)

Required inputs

  • The idea, request, or problem being addressed
  • The audience or user affected
  • Any existing constraints (stack, deadlines, dependencies)
  • The success metric (how will you know it worked?)

If the idea is vague, the workflow's first step is clarification. Do not write specs around vagueness.


The framework: 4 phases

Every PM workflow follows the same arc. The phases are universal even if the specific outputs vary.

Phase 1: Clarify the idea

Before any spec, answer four questions. If any answer is "I don't know," go back to the user.

  1. What user problem does this solve? Not "what does it do." The problem comes first; the feature is the proposed solution.
  2. Who specifically benefits? Be precise. "Users" is not specific. "First-time visitors who don't convert" is.
  3. What is the success metric? How will you know it worked? Pick one primary metric.
  4. Why now? What changed that makes this the right time to build it? If "nothing changed," it might not be the right time.

Phase 2: Scope by impact and effort

Plot every candidate idea on the impact/effort grid:

HIGH IMPACT / LOW EFFORT       Ship immediately
  Examples: copy fixes, contrast fixes, meta tags,
            broken links, missing alt text, redirects

HIGH IMPACT / HIGH EFFORT      Plan and batch
  Examples: new page type, new feature, schema overhaul,
            major redesign, new integration

LOW IMPACT / LOW EFFORT        Nice-to-have batch
  Examples: tooltip improvements, minor copy polish,
            cosmetic UX touches

LOW IMPACT / HIGH EFFORT       Skip or defer indefinitely
  Examples: rebuilding what already works, exotic
            edge case features, premature optimization

This is not a perfect framework. Some "low impact" things are mandatory (compliance, accessibility, security). Note exceptions.

Phase 3: Write the spec

Three formats based on the type of work.

Format A: Feature spec (for new features)
TITLE: [Specific, action-oriented]

PROBLEM
[1-2 sentences. The user problem and current state.]

USERS
[Who specifically benefits. Be precise about the user segment.]

PROPOSAL
[1 paragraph. The proposed solution. Stay at the conceptual level.]

USER STORIES
- As a [user type], I want to [action], so that [outcome]
- As a [user type], I want to [action], so that [outcome]

ACCEPTANCE CRITERIA
- Given [context], when [action], then [expected outcome]
- Given [context], when [action], then [expected outcome]

OUT OF SCOPE
[What this spec explicitly does NOT cover. Important for scope control.]

DEPENDENCIES
[Other systems, APIs, designs, content needed before this can ship.]

SUCCESS METRIC
[The one primary metric that tells us this worked. With current baseline if known.]

ESTIMATED EFFORT
[Small (hours) / Medium (1-3 days) / Large (1-2 weeks) / XL (sprints)]

PRIORITY
[P0 launch blocker / P1 next sprint / P2 within quarter / P3 backlog]
Format B: Dev brief (for handing to a developer or AI agent)

For tactical, ready-to-build work. Lighter than a full spec.

CONTEXT: [1-2 sentences explaining why this matters]

TASK: [Specific files, exact changes needed]

CONSTRAINTS: [What must NOT change, what to preserve]

VERIFY: [Exact steps to confirm the work is done correctly]

The verify section is the most-skipped and most-important. Without it, "done" means whatever the implementer thinks done means.

Format C: Bug report
URL or context: [Where it happens]

Symptom: [What the user sees or experiences]

Expected: [What should happen instead]

Steps to reproduce:
1. [Specific step]
2. [Specific step]
3. [Specific step]

Hypothesis: [Likely root cause if known]

Files to investigate: [Likely files involved if known]

Priority:
  P0 - blocking critical user flow, ship immediately
  P1 - degrades UX significantly, fix this sprint
  P2 - minor issue, fix when convenient
  P3 - nice-to-have improvement

Browser/device: [If reproducibility might be browser-specific]

Phase 4: Sequence and ship

Specs without sequencing become dust on a shelf.

For a single feature: identify the smallest shippable increment. What is the smallest version that delivers user value? Ship that first. Then iterate.

For a backlog: order by dependencies first, then by priority, then by impact/effort. The order matters more than the priority labels.


Workflow

  1. Clarify. If the idea is vague, ask the four phase-1 questions before proceeding.
  2. Scope. Plot the work on the impact/effort grid.
  3. Pick the right format. Feature spec for new features, dev brief for tactical work, bug report for defects.
  4. Write the spec. Use the template format. Fill in every section. Empty sections are flags.
  5. Define done. Verify steps must be unambiguous. "Test it" is not a verify step.
  6. Get buy-in. Walk through the spec with whoever will build it before they start.
  7. Sequence. Identify the smallest shippable increment.

Failure patterns

  • Specs that describe solutions before problems. Always start with the user problem. The solution is downstream.
  • Specs without a success metric. Without a metric, you cannot tell if the feature worked.
  • Acceptance criteria that are not testable. "User experience is improved" is not testable. "User completes signup in under 60 seconds" is.
  • Specs that include the "how" instead of the "what." Implementation details belong in the dev brief, not the spec. The spec is the desired outcome.
  • No "out of scope" section. Without explicit boundaries, scope creeps.
  • Bug reports without reproduction steps. Cannot be acted on. Always include steps.
  • Verify steps that are vague. "Make sure it works." Useless. Must be specific actions with observable outcomes.
  • Skipping the smallest-shippable-increment exercise. Leads to 6-month projects that should have been 2-week experiments.

Output format

Output is one of three formats based on work type, all in markdown:

  • spec-[feature-name].md for feature specs
  • brief-[task-name].md for dev briefs
  • bug-[summary].md for bug reports

For larger initiatives, group related specs in a folder:

specs/
  initiative-name/
    spec-feature-1.md
    spec-feature-2.md
    brief-task-1.md
    README.md   (overview and sequencing)

If required data is unavailable

This skill's output depends on data, measurements, or tool results it cannot generate on its own. When a required input, tool, or data source is unavailable or unverifiable, the sanctioned output is the deliverable with the gap stated: what was needed, what was actually obtained or verified, and which parts of the output are affected. Fabricating, estimating, or interpolating a required number to complete the deliverable is never sanctioned. A stated gap is a complete answer.


Reference files

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Pm Spec Writing AI skill do?

Translate ideas, feature requests, or vague concepts into specific, actionable dev briefs. Use this skill whenever the user has an idea they want to build, a feature to spec out, a bug to file, a project to scope, or needs to convert a half-formed idea into a clear implementation brief. Triggers on I want to add, we should build, can we make, what is the plan for, how do we implement, dev brief, feature spec, PRD, user story, acceptance criteria, scope this, prioritize. Also triggers when the user has a list of things they want to build and needs help converting them into well-formed tasks.

Why use Pm Spec Writing on TypingMind?

Because you install it once and use it with any model. Pm Spec Writing 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 Spec Writing in TypingMind?

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

Which AI models can use Pm Spec Writing?

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 Spec Writing?

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

Is the Pm Spec Writing AI skill free?

Yes. It is published on GitHub by rampstackco 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 👇