agentsclimarketplace

Requirements doc drafter

Skill nicholashidalgo/claude-skillforge/writing/requirements-doc-drafter

Install
npx -y skills add nicholashidalgo/claude-skillforge --skill requirements-doc-drafter

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Writes structured requirements documents from product briefs or engineer notes.

SKILL.md

3.5 KB, as published. Nobody here has run it

requirements-doc-writer

Purpose: Convert product briefs, design notes, or meeting outputs into a structured requirements document with clear acceptance criteria.

Input Schema

FieldTypeRequired
feature_namestringyes
problem_statementstringyes
user_storiesstring[]yes
constraintsstring[]yes
non_goalsstring[]yes
preserve_factsstring[]yes
{
  "feature_name": "Saved Payment Methods",
  "problem_statement": "Users re-enter card details on every purchase. 28% of checkout abandonments cite friction.",
  "user_stories": ["As a returning user, I can save a card and use it on subsequent purchases without re-entering details"],
  "constraints": ["PCI-DSS compliance required", "Must support multi-card per user", "No server-side card storage"],
  "non_goals": ["Loyalty points", "Crypto payments"],
  "preserve_facts": ["28% abandonment", "PCI-DSS"]
}

Output Schema

{
  "title": "Requirements: Saved Payment Methods",
  "problem": "...",
  "user_stories": [{"id": "US-001", "story": "...", "acceptance_criteria": ["..."]}],
  "constraints": ["..."],
  "non_goals": ["..."],
  "open_questions": ["..."]
}

Prompt Flow

Pass 1: Structure the doc. Write acceptance criteria as testable, binary pass/fail statements. Remove: significance inflation (P1), promotional adjectives (P4), weasel words (P5), AI vocab (P7), boldface overuse (P14), inline-header lists (P15), filler (P22).

Pass 2: Audit for any remaining vague language or non-testable requirements. Rewrite to concrete and specific.

Examples

Short - single AC

Before: "The system should provide a seamless and intuitive experience for saving payment methods, enhancing user satisfaction." After: "AC: User can save a card at checkout with a single click. Saved card appears on next visit pre-selected."

Medium - user story

Before: "As a user, I want to be able to leverage the platform's groundbreaking capabilities to manage my payment information in a dynamic way." After: "US-001: As a returning user, I can view all saved cards, select one at checkout, and delete any card from my account settings."

Long - constraints section

Before: "The solution must be built in a way that ensures compliance with all relevant regulatory frameworks and fosters trust among users." After: "Constraints: (1) Card data must be tokenized via Stripe; no raw PANs stored server-side. (2) PCI-DSS SAQ A compliance required before launch. (3) Each user may store up to 5 cards."

Unit Tests

# tests/skills/test_requirements_doc_writer.py
from ai_pattern_scrubber import detect_patterns

AC = "User can save a card at checkout with one click. Saved card appears pre-selected on next visit."
CONSTRAINT = "Card data must be tokenized via Stripe; no raw PANs stored server-side. PCI-DSS SAQ A required."

def test_ac_no_ai_vocab():
    assert not [h for h in detect_patterns(AC) if h.id == 7]

def test_constraint_no_weasel_words():
    assert not [h for h in detect_patterns(CONSTRAINT) if h.id == 5]

def test_ac_no_high_severity():
    assert not [h for h in detect_patterns(AC) if h.severity == "high"]

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.