agentleFS
kambleakash0kambleakash0/agent-skills/skills/spec-writer/SKILL.md

spec-writer

Skill10 starsChanged 7 months agoMITView on GitHub

Create a comprehensive Product Requirements Document from conversation and repo context. Use when the user wants a PRD, product spec, feature requirements, or similar documentation.

We split this skill into the rules it gives an agent

13 rules. 0 are common, 11 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 20 edited versions we read keep these.

  • 11

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this skill when the user:

    line 18
  2. Very specific:

    If the idea is still fuzzy or underspecified, recommend using /grill-me first and then come back to this skill.

    line 24
  3. Distinctive:

    Ask the user for a long, detailed description of:

    line 31
  4. Distinctive:

    Ask the user whether they have considered other solution options or design directions.

    line 44
  5. Distinctive:

    If the requirements still feel high‑level, interview the user about how they want it to behave in detail: flows, states, inputs/outputs, …

    line 49
  6. Very specific:

    Call out opportunities to extract deep, testable modules that can be validated in isolation (good for later TDD or /tdd usage).

    line 59
  7. Distinctive:

    Use plain, precise language suitable for engineers, PMs, and designers.

    line 63
  8. Distinctive:

    If appropriate, format the PRD as a GitHub issue or markdown file according to the repo’s conventions.

    line 66
  9. Distinctive:

    Use and adapt this structure.

    line 71
  10. Distinctive:

    If precise numbers are not yet available, describe directional expectations (e.g., “meaningful reduction in support tickets for X”).

    line 132
  11. Distinctive:

    Use repo facts where possible.

    line 137
  12. Distinctive:

    If the user pushes for speed over thoroughness, confirm which sections they want you to prioritize and keep the rest minimal.

    line 138
  13. Distinctive:

    If requirements are too vague, ask 1–3 targeted clarification questions instead of guessing.

    line 139

“Common” is measured: kept by at least 6 in 10 of the 20 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Write a Product Requirements Document

This skill turns a clarified idea into a structured PRD using conversation and repository context. It assumes that major ambiguities have already been grilled out (for example with /grill-me), but it can also perform its own lightweight clarification when needed.

When to Use

Use this skill when the user:

  • Asks to "write a PRD", "product spec", "requirements doc", "feature specification", or similar.
  • Wants to document a new feature, change, or system in a structured way before implementation.
  • Has already clarified the idea and now needs a single, coherent document you can file as an issue, share with stakeholders, or feed into /slice-the-spec.

If the idea is still fuzzy or underspecified, recommend using /grill-me first and then come back to this skill.

Overall Workflow

You may skip or compress steps that are clearly already complete (for example, if the user pastes a detailed problem statement or user story list).

  1. Collect a rich problem description
    • Ask the user for a long, detailed description of:
      • The problem they want to solve
      • Who it is for
      • Why it matters now
      • Any initial solution ideas or constraints they already have
    • Encourage them to paste existing context (docs, tickets, research) instead of re‑typing everything.
  2. Explore the repo and verify assumptions
    • Inspect the codebase to understand current behavior, relevant modules, data models, and existing APIs.
    • Cross‑check the user’s assertions: note where the repo agrees, disagrees, or is silent, and adjust your understanding accordingly.
    • Capture any repo‑grounded facts that will matter for scope, edge cases, or implementation constraints.
  3. Consider alternative approaches
    • Ask the user whether they have considered other solution options or design directions.
    • Briefly outline 2–3 plausible approaches, with trade‑offs (complexity, time‑to‑ship, risk, UX impact).
    • Confirm which approach you should treat as the primary one for this PRD.
  4. Deep implementation interview (if needed)
    • If the requirements still feel high‑level, interview the user about how they want it to behave in detail: flows, states, inputs/outputs, failure modes, permissions, and performance expectations.
    • Where answers depend on existing behavior, prefer inspecting the repo over guessing.
    • Make assumptions explicit and ask for confirmation.
  5. Hammer out exact scope
    • Work out what will be in scope and explicitly list what is out of scope for this PRD (e.g., deferred edge cases, nice‑to‑haves, follow‑ups).
    • Clarify the target release slice (MVP vs full feature) and any sequencing or phase‑1/phase‑2 distinctions.
  6. Sketch modules and architecture (lightweight)
    • Identify the major modules, services, or components that will be created or modified.
    • Call out opportunities to extract deep, testable modules that can be validated in isolation (good for later TDD or /tdd usage).
  7. Write the PRD using a structured template
    • Draft a complete PRD with clearly labeled sections (see template below).
    • Use plain, precise language suitable for engineers, PMs, and designers.
  8. File it where it belongs (optional)
    • If appropriate, format the PRD as a GitHub issue or markdown file according to the repo’s conventions.
    • Include labels, owners, and links to related issues or docs if the context provides them.

PRD Template

Use and adapt this structure. You can omit sections that are clearly irrelevant, but err on the side of including them.

1. Summary

  • 2–3 sentences describing what we are building and why.
  • Include the target user segment and the primary outcome we want.

2. Problem Statement

  • Current pain or gap in the product.
  • Who is experiencing it and in what context.
  • Evidence (metrics, anecdotes, user research, support tickets) if available.

3. Goals and Non‑Goals

  • Goals: A short, numbered list of what success looks like.
  • Non‑Goals: Explicitly list what this PRD will not attempt to do.

4. User Stories

A long, numbered list of user stories that captures all important behavior.

Each user story should follow the format:

  1. As an <actor>, I want <feature>, so that <benefit>
    • Include acceptance notes or clarifications inline if helpful.

Aim for extensive coverage: core flows, edge cases, permission variations, and failure scenarios.

5. Functional Requirements

  • Detailed description of expected behavior for each major area or flow.
  • System states, transitions, and how different actors interact with the feature.
  • Validation rules, error handling, retries, rate limits, and constraints that matter for correctness.

6. Non‑Functional Requirements

  • Performance, scalability, and latency expectations where relevant.
  • Reliability, availability, and degradation behavior.
  • Security, privacy, and compliance considerations if applicable.

7. Implementation Notes and Architecture

  • High‑level architecture or component diagram in text form.
  • List of modules/services to change or create, and how they interact.
  • Notes that tie back to the current codebase (key classes, endpoints, tables).

8. Out of Scope

  • Explicitly list features, flows, user types, or edge cases that will not be addressed in this PRD.
  • Mention likely follow‑ups or future iterations, if known.

9. Risks and Open Questions

  • Known risks: technical, product, UX, or organizational.
  • Open questions that must be resolved before implementation or rollout.
  • Any assumptions that feel especially fragile.

10. Success Metrics

  • How we will know this work is successful (input and output metrics).
  • If precise numbers are not yet available, describe directional expectations (e.g., “meaningful reduction in support tickets for X”).

Behavior and Rules

  1. Favor structure over prose walls: break content into clear sections and numbered lists.
  2. Use repo facts where possible; do not invent APIs or data models when you can inspect them.
  3. If the user pushes for speed over thoroughness, confirm which sections they want you to prioritize and keep the rest minimal.
  4. If requirements are too vague, ask 1–3 targeted clarification questions instead of guessing.
  5. Aim for a document that an engineer could implement with minimal back‑and‑forth, not a marketing one‑pager.

Download now (ZIP)

  • Other versions24 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 24

    1. MageByte-Zero/spec-superflow★ 875same name
    2. AlpacaLabsLLC/skills-for-architects★ 390same name
    3. SamJHudson01/Carmack-Council★ 52same name
    4. dannwaneri/spec-writer★ 26same name
    5. JPeetz/agent-skills★ 14same name
    6. Ecoa-PUC-Rio/GAIDE★ 8same name
    7. jcarlos78/GAIDE★ 8same name
    8. AskExe/exe-build-skills★ 4same name
    9. dayvisonassis/sdd-skills★ 3same name
    10. goldenprofile/llm-skills★ 3same name

    14 more not listed

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • Used alongsideProjects with it also use security-reviewer and code-reviewer.

    Other files people use alongside this one.

    Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
    • JeffallanSkill

      security-reviewer

      Identifies security vulnerabilities, generates structured audit reports with severity ratings, and provides actionable remediation guidance. Use when conducting security audits, reviewing code for vulnerabilities, or analyzing infrastructure security. Invoke for SAST scans, penetration testing, DevSecOps practices, cloud security reviews, dependency audits, secrets scanning, or compliance checks. Produces vulnerability reports, prioritized recommendations, and compliance checklists.

      Also in 3 projects that use this

    • GoogleSkill

      code-reviewer

      Also in 4 projects that use this

  • In this repository12 other files it gives its agents.

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.