Install
$ agentstack add skill-nicholashidalgo-claude-skillforge-requirements-doc-drafter ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
requirements-doc-writer
Purpose: Convert product briefs, design notes, or meeting outputs into a structured requirements document with clear acceptance criteria.
Input Schema
| Field | Type | Required | |---|---|---| | feature_name | string | yes | | problem_statement | string | yes | | user_stories | string[] | yes | | constraints | string[] | yes | | non_goals | string[] | yes | | preserve_facts | string[] | 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"]
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: nicholashidalgo
- Source: nicholashidalgo/claude-skillforge
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.