Skip to content
cccskills
FreePublished on GitHub

requirements-writer

Turn rough feature ideas into a clear SPEC.md through focused questions. Define target users, business rules, current scope, and acceptance criteria based on observable results, giving developers or AI agents concrete requirements to implement.

OriginalShow the original description

Use when converting PM intake into a slice SPEC.md with observable acceptance outcomes, explicit scope, and advisory sibling build dependencies.

See how to install

Good for

  • Turning rough feature ideas into requirements
  • Defining observable acceptance criteria
  • Clarifying current scope and exclusions
  • Documenting business rules and edge cases

Files included (1)

  • SKILL.md4.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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.

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

---
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.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

agent-browser

FreeSummary

Automate website interactions through a command-line browser tool. Navigate pages, fill forms, extract text, save screenshots or PDFs, reuse login sessions, and compare page states to check the effects of actions or website changes.

  • Automating form entry and submission
  • Extracting page text and saving screenshots
  • Comparing page appearance before and after changes
mvschwarz/openrig7.9KUpdated Oct 19, 2026

Design and maintain applications where OpenRig agents help run the system. Organize instructions, shared state, and artifact checks, then trace unexpected behavior to the code, skill, or schema that needs repair.

  • Designing an application operated by OpenRig agents
  • Organizing instructions and shared application state
  • Tracing unexpected behavior to its source
mvschwarz/openrig7.9KUpdated Oct 19, 2026

Design and run bounded procedures in environments where current conditions are uncertain. The skill separates agent judgment from precise tool actions, verifies each effect, and records checkpoints so interrupted work can resume from observed evidence.

  • Designing procedures for environments with varying conditions
  • Resuming interrupted operations from verified evidence
  • Deciding whether an agent or ordinary code should control a procedure
mvschwarz/openrig7.9KUpdated Oct 19, 2026

agent-starters

FreeSummary

Create reusable starting configurations that combine an agent’s role, startup context, and source history. The skill guides registry entries, checks whether their sources are current, and manages their progression from initial capture to recommendation or retirement.

  • Create reusable startup context for an agent role
  • Refresh an agent workspace from an existing starter
  • Check a starter’s source history and freshness
mvschwarz/openrig7.9KUpdated Oct 19, 2026

Guides the design and review of agent startup context, including role files and links to authoritative records. It helps identify stale guidance, missing updates, overloaded startup files, and instructions that lose the purpose of the work.

  • Designing startup files for a new agent
  • Reviewing stale guidance used by running agents
  • Separating role information from reusable procedures
mvschwarz/openrig7.9KUpdated Oct 19, 2026

Configure selected OpenRig command permissions in Claude Code or Codex at the agreed project or user scope. Preserve existing restrictions, verify that settings load and behave as intended, and record additions so they can be removed later.

  • Configuring command permissions before launching an agent team
  • Reducing repeated approvals for selected rig commands
  • Adding permission rules within a chosen project scope
mvschwarz/openrig7.9KUpdated Oct 19, 2026

See all skills by mvschwarz

Report a problem with this skill