Agent skill

Requirements Writer

by mvschwarz in mvschwarz/openrig

A skill your agent uses when converting PM intake into a slice SPEC.md with observable acceptance outcomes, explicit scope, and advisory sibling build dependencies.

Apache-2.0Auto-check passedProduct & Project Management

Install Requirements Writer

skills CLI
$ npx skills add mvschwarz/openrig --skill requirements-writer -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install mvschwarz/openrig requirements-writer --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/mvschwarz/openrig.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/_canonical/pm/requirements-writer .claude/skills/requirements-writer && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
requirements-writer
GitHub stars
6.6k
Token cost
~1.1k tokens
SKILL.md length
454 words
Files
1
Skills in repo
49
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when converting PM intake into a slice SPEC.md with observable acceptance outcomes, explicit scope, and advisory sibling build dependencies.

  • Works in 4 steps: Check for validation.md (office hours… → Check for background.md: May have… → Check for existing requirements: Use the… → …
  • Converting PM intake into a slice SPEC.md with observable acceptance outcomes
  • SKILL.md covers Your Boundaries, Context Gathering, Conversation Process and Output Schema, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Requirements Writer is an agent skill from mvschwarz/openrig. Use when converting PM intake into a slice SPEC.md with observable acceptance outcomes, explicit scope, and advisory sibling build dependencies.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Product & Project Management. The repository describes itself as: Build your own network of agents from Claude Code, Codex and Pi: persistent teams with roles, shared context and owned work. The licence is Apache-2.0.

When your agent uses it

  • Converting PM intake into a slice SPEC.md with observable acceptance outcomes
  • Advisory sibling build dependencies

Example prompts

  • “/requirements-writer”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Check for validation.md (office hours output): If it exists, read it — it contains demand evidence, the desperate user, the narrowest…
  2. Check for background.md: May have customer drivers, competitive context, and regulatory considerations.
  3. Check for existing requirements: Use the selected slice's SPEC.md. If only legacy requirements.md exists, preserve it as input/history and…
  4. Check for shipped features: Look for related as-built specs.

What it can do on your machine

Read from SKILL.md and the folder at commit 4b48ca2. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Requirements Writer loads about 1.1k tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 454 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~41
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from mvschwarz/openrig at commit 4b48ca2, republished under its Apache-2.0 licence (© mvschwarz). 454 words, ~1,079 tokens.

Download SKILL.mdSave it as .claude/skills/requirements-writer/SKILL.md (or your agent's skills folder).
name
requirements-writer
description
Use when converting PM intake into a slice SPEC.md with observable acceptance outcomes, explicit scope, and advisory sibling build dependencies.

You are an expert product analyst helping a product manager create well-structured feature requirements.

Your job is to take the PM's rough, unstructured thinking about a feature and — through a focused conversation — produce the slice's one authored SPEC.md, clear enough for a developer or AI agent to implement from while staying firmly in the PM lane.

Critical: AI agents treat everything in SPEC.md as literal instructions. Be precise. No aspirational content, no future phases, no nice-to-haves. Only what's being built NOW.

Your Boundaries

You own the "what" and "why." You do NOT:

  • Make architecture or implementation decisions
  • Estimate timelines or effort
  • Suggest specific technical approaches
  • Define data models, API contracts, or database schemas

Context Gathering

Before starting the conversation, silently gather context:

  1. Check for validation.md (office hours output): If it exists, read it — it contains demand evidence, the desperate user, the narrowest wedge, and the GO/REFINE/PAUSE verdict. Use it to skip questions the PM already answered.
  2. Check for background.md: May have customer drivers, competitive context, and regulatory considerations.
  3. Check for existing requirements: Use the selected slice's SPEC.md. If only legacy requirements.md exists, preserve it as input/history and reconcile it into SPEC.md before downstream mockup/review/summary work. Maintain one requirements authority.
  4. Check for shipped features: Look for related as-built specs.

If validation.md exists with a GO verdict, you can skip demand/scope questions and jump straight to acceptance criteria.

Conversation Process

Round 1: Absorb and Reflect
  1. Summarize back what you understand the feature to be in 2-3 sentences.
  2. Map to existing product. Identify what this touches, depends on, or extends.
  3. Ask your first round of questions (5-8 max). Focus on the biggest gaps.
Show full SKILL.md (177 more words)Show less
Subsequent Rounds

Each round, ask follow-up questions based on what's still unclear:

  • Early rounds: Scope, personas, core behavior
  • Middle rounds: Acceptance criteria (GIVEN/WHEN/THEN), business rules, edge cases
  • Late rounds: Scope refinements, open questions
After Each Exchange

Return the current state of the requirements. Mark items that still need PM input as [draft]. No marker needed for finalized items.

Output Schema

markdown
---
id: [slice dot-ID]
title: [Feature Name]
status: draft
owner: [PM name]
intent: "[Why this slice exists, in one sentence]"
depends_on: []
---

# [Feature Name]

## Intent
[Why this matters. Who feels the pain. 2-4 sentences.]

## Mini-requirements

### Target Personas
- **Primary**: [Role]
- **Secondary**: [Role]

### User Stories
- As a [persona], I want [capability], so that [outcome].

### Acceptance Criteria

### [Functional Area 1]
- GIVEN [context or precondition]
  WHEN [user action or system event]
  THEN [expected observable result] — [draft] if not yet confirmed

### Business Rules
1. When [condition], then [behavior].

### Scope

### In Scope
- [What this feature covers]

### Explicitly Out of Scope
- [What is NOT included]

### Open Questions
- [ ] [Unresolved question]

## Proof contract

- [ ] [Observable outcome that demonstrates the slice worked]

depends_on contains only same-parent dot-IDs and means advisory sibling build-order. A stale or missing edge is reported by graph readers; it never blocks or crashes work.

Acceptance Criteria Guidelines

  • GIVEN = the starting state or precondition
  • WHEN = the trigger
  • THEN = the observable result
  • Keep each criterion independent
  • Describe what the user sees/experiences, not what the system does internally

Guidelines

  • When the PM is unsure, offer 2-3 concrete options with trade-offs.
  • Reference existing product behavior when relevant.
  • The goal is requirements complete enough that a dev or AI agent doesn't need to chase the PM.
  • Scope to current phase only — future phases go in Out of Scope.
  • Always ask about business rules — the non-obvious logic is where bugs live.

© mvschwarz, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/_canonical/pm/requirements-writer of mvschwarz/openrig.

Open the folder on GitHubat commit 4b48ca2

Compare with similar skills

Requirements Writer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Requirements Writer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Requirements Writer this skillmvschwarz/openrig6.6k—~1.1kAutomated safety check: PassApache-2.0
User Story Writerdeanpeters/Product-Manager-Skills7.2k2 repos~2.9kAutomated safety check: PassCustom licence
Game Changing FeaturesopenstatusHQ/data-table-filters2.3k3 repos~2.1kAutomated safety check: PassMIT
CCPM Project Managementautomazeio/ccpm8.4k—~1.1kAutomated safety check: PassMIT
Convex Create Componentspokvulcan/poker-planning1148 repos~2.6kAutomated safety check: PassMIT
Self Improving Agentfarm-fe/farm5.6k2 repos~3.3kAutomated safety check: NotesMIT

Similar skills

  • User Story Writer

    deanpeters/Product-Manager-Skills

    Writes user stories in Mike Cohn's format with Gherkin acceptance criteria, turning user needs into development-ready work with testable conditions.

    7.2k GitHub starsUsed in 2 repos~2.9k tokens
    Product & Project ManagementAuto-check passed
  • Game Changing Features

    openstatusHQ/data-table-filters

    Find 10x product opportunities and high-leverage improvements.

    2.3k GitHub starsUsed in 3 repos~2.1k tokens
    Product & Project ManagementAuto-check passed
  • Runs a spec-driven workflow from PRD to epic to GitHub issues to parallel agents, with status, standup and blocked-work reports from bundled scripts.

    8.4k GitHub stars~1.1k tokensUpdated 6 mo ago
    Product & Project ManagementAuto-check passed
  • Convex Create Component

    spokvulcan/poker-planning

    Builds reusable Convex components with isolated tables and app-facing APIs.

    114 GitHub starsUsed in 8 repos~2.6k tokens
    Product & Project ManagementAuto-check passed
  • A universal self-improving agent that learns from ALL skill experiences.

    5.6k GitHub starsUsed in 2 repos~3.3k tokens
    Product & Project ManagementAuto-check: notes
  • Builds a weekly engineering retrospective from git history: commit counts, per-person contributions, work patterns and code quality numbers over a chosen window.

    136k GitHub stars~2.4k tokensUpdated today
    Product & Project ManagementAuto-check passed

More from mvschwarz/openrig

All 49 skills in this repo
  • OpenRig Upgrade Procedure

    mvschwarz/openrig

    Walks an agent through upgrading the OpenRig CLI and daemon one observed step at a time, keeping live seats alive and reconciling managed plugin files.

    6.6k GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Agent Refocusing

    mvschwarz/openrig

    Re-grounds a long-running agent in the current product outcome by running a path-based trace to the root of its topology and work trees.

    6.6k GitHub stars~864 tokensUpdated today
    Auto-check passed
  • OpenRig Software Factory

    mvschwarz/openrig

    Helps set up a continuing agent software team for a real repository with OpenRig, choosing between manual work, queue handoffs and an explicit Workflow.

    6.6k GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Separates a stable agent seat's identity from its changing occupant, and records honest, two-part provenance whenever one occupant replaces another.

    6.6k GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Loads one section of a Markdown file by its path#h2-slug address with a bundled resolver script, for use outside OpenRig's context library.

    6.6k GitHub stars~341 tokensUpdated today
    Auto-check passed
  • Agent Starters

    mvschwarz/openrig

    Covers authoring, inspecting, refreshing, promoting and deprecating named Agent Starters, the reusable starting points for agent seats in a rig.

    6.6k GitHub stars~1.7k tokensUpdated today
    Auto-check passed

Questions about Requirements Writer

What does Requirements Writer do?

A skill your agent uses when converting PM intake into a slice SPEC.md with observable acceptance outcomes, explicit scope, and advisory sibling build dependencies. Requirements Writer is an agent skill from mvschwarz/openrig.md with observable acceptance outcomes, explicit scope, and advisory sibling build dependencies.

When should I use Requirements Writer?

Requirements Writer fits situations like: converting PM intake into a slice SPEC.md with observable acceptance outcomes; advisory sibling build dependencies.

How do I install Requirements Writer in Claude Code?

Run `npx skills add mvschwarz/openrig --skill requirements-writer -a claude-code`. Or copy the skill folder (skills/_canonical/pm/requirements-writer in mvschwarz/openrig) into .claude/skills/requirements-writer in your project. Claude Code loads it when a task matches its description.

How do I install Requirements Writer in Codex?

Run `npx skills add mvschwarz/openrig --skill requirements-writer -a codex`. Or copy the skill folder (skills/_canonical/pm/requirements-writer in mvschwarz/openrig) into .agents/skills/requirements-writer in your project. Codex loads it when a task matches its description.

Can I use Requirements Writer in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mvschwarz/openrig --skill requirements-writer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/requirements-writer, .gemini/skills/requirements-writer, .github/skills/requirements-writer and .opencode/skills/requirements-writer in your project.

What does Requirements Writer need to run?

SKILL.md names no scripts, command-line tools or credentials: Requirements Writer is instructions for the agent only.

Does Requirements Writer access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Requirements Writer safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Requirements Writer use?

Requirements Writer is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Requirements Writer use?

About 1.1k tokens (SKILL.md is roughly 4.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Requirements Writer?

Skills that share tags, products or a category with Requirements Writer: User Story Writer (deanpeters/Product-Manager-Skills, 7.2k stars), Game Changing Features (openstatusHQ/data-table-filters, 2.3k stars), CCPM Project Management (automazeio/ccpm, 8.4k stars) and Convex Create Component (spokvulcan/poker-planning, 114 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Requirements Writer?

mvschwarz (a GitHub user) maintains it in mvschwarz/openrig, which has 6,551 GitHub stars. The repository holds 49 skills in this directory. The repository was last updated on October 10, 2026.

Source: mvschwarz/openrig on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.