MCP HubMCP Hub
SKILL·034A1E

pm-spec-writing

rampstackco
Mis à jour 23 days ago
1 vues
953
132
953
Voir sur GitHub
Métadesign

À propos

Cette compétence transforme des idées vagues, des demandes de fonctionnalités ou des rapports de bugs en des briefs de développement clairs et actionnables. Elle génère des spécifications structurées telles que des PRD, des user stories et des critères d'acceptation à partir de requêtes conversationnelles. Utilisez-la pour cadrer des projets, prioriser des tâches et créer des plans exécutables pour des développeurs ou des agents IA.

Installation rapide

Claude Code

Recommandé
Principal
npx skills add rampstackco/claude-skills -a claude-code
Commande PluginAlternatif
/plugin add https://github.com/rampstackco/claude-skills
Git CloneAlternatif
git clone https://github.com/rampstackco/claude-skills.git ~/.claude/skills/pm-spec-writing

Copiez et collez cette commande dans Claude Code pour installer cette compétence

Documentation

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

Dépôt GitHub

rampstackco/claude-skills
Chemin: dist/codex/.agents/skills/pm-spec-writing
0
agent-skillsai-agentsanthropicclaudeclaude-aiclaude-code
FAQ

Questions fréquentes

Qu’est-ce que le Skill pm-spec-writing ?

pm-spec-writing est un Skill Claude créé par rampstackco. Un Skill regroupe des instructions et des ressources que Claude charge à la demande pour effectuer des tâches liées à pm-spec-writing sans consigne supplémentaire.

Comment installer pm-spec-writing ?

Utilisez les commandes d’installation de cette page : ajoutez pm-spec-writing à Claude Code comme plugin ou clonez son dépôt dans votre dossier skills, puis redémarrez Claude pour charger le Skill.

À quelle catégorie appartient pm-spec-writing ?

pm-spec-writing appartient à la catégorie Méta.

pm-spec-writing est-il gratuit ?

Oui. pm-spec-writing est référencé sur AIMCP et son installation est gratuite.

Compétences associées

content-collections
Méta

Cette compétence propose une configuration éprouvée en production pour Content Collections, un outil axé sur TypeScript qui transforme des fichiers Markdown/MDX en collections de données typées de manière sûre avec une validation Zod. Utilisez-la lors de la création de blogs, de sites de documentation ou d'applications Vite + React riches en contenu pour garantir la sécurité de typage et la validation automatique du contenu. Elle couvre tout, de la configuration du plugin Vite et de la compilation MDX à l'optimisation des déploiements et la validation des schémas.

Voir la compétence
polymarket
Méta

Cette compétence permet aux développeurs de créer des applications avec la plateforme de marchés prédictifs Polymarket, incluant l'intégration d'API pour le trading et les données de marché. Elle fournit également une diffusion de données en temps réel via WebSocket pour surveiller les transactions en direct et l'activité du marché. Utilisez-la pour mettre en œuvre des stratégies de trading ou pour créer des outils traitant les mises à jour de marché en direct.

Voir la compétence
creating-opencode-plugins
Méta

Cette compétence aide les développeurs à créer des plugins OpenCode qui s'interconnectent avec plus de 25 types d'événements tels que les commandes, les fichiers et les opérations LSP. Elle fournit la structure du plugin, les spécifications de l'API événementielle et les modèles d'implémentation pour les modules JavaScript/TypeScript. Utilisez-la lorsque vous avez besoin d'intercepter, de surveiller ou d'étendre le cycle de vie de l'assistant IA OpenCode avec une logique personnalisée pilotée par les événements.

Voir la compétence
sglang
Méta

SGLang est un framework de service LLM haute performance spécialisé dans la génération rapide et structurée pour les workflows JSON, regex et agentiques grâce à son cache de préfixe RadixAttention. Il offre une inférence nettement plus rapide, particulièrement pour les tâches avec des préfixes répétés, ce qui le rend idéal pour les sorties complexes et structurées ainsi que les conversations multi-tours. Choisissez SGLang plutôt que des alternatives comme vLLM lorsque vous avez besoin d'un décodage contraint ou que vous construisez des applications avec un partage étendu de préfixes.

Voir la compétence