requirements

requirements is a skill for Claude Code, Codex from saitarrun/Devforge-ai. It costs 79 tokens per session (701 once invoked), scanned A, original, Apache-2.0.

A guide for turning rough feature ideas or issues into clear user stories, requirements, and acceptance criteria. It uses INVEST, a checklist for making stories independent, useful, estimable, small, and testable.

In plain words
What is it for?
Use it to write feature specifications, split large requests into smaller stories, define edge cases, and describe observable outcomes for testing.
Why use it?
It reduces ambiguity between product and engineering teams and makes it clearer when work is complete.

Skill for Claude CodeCodex

Part of the devforge-ai plugin — 48 skills, 17 commands, 13 agents shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/saitarrun/devforge-ai/requirements
Any agent
npx skills add saitarrun/Devforge-ai --skill requirements
Clone the repo
git clone --depth 1 https://github.com/saitarrun/Devforge-ai

Made for: Claude Code, Codex.

Or install devforge-ai, the plugin that ships this one along with the rest of its 48 skills, 17 commands, 13 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for requirements

README.md
[![agentmods](https://agentmods.dev/badge/skills/saitarrun/devforge-ai/requirements.svg)](https://agentmods.dev/skills/saitarrun/devforge-ai/requirements)
Your own site
<a href="https://agentmods.dev/skills/saitarrun/devforge-ai/requirements"><img src="https://agentmods.dev/badge/skills/saitarrun/devforge-ai/requirements.svg" alt="Measured on agentmods" height="20"></a>
Per session 79 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 701 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00079 $0.00701
Opus 5 $0.00039 $0.00351
Sonnet 5 $0.00016 $0.00140
Haiku 4.5 $0.00008 $0.00070

Measured yesterday against content hash 47973ce0eb88, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

requirements scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/requirements/SKILL.md · 74 lines

How it starts

The opening of the file, as written. The whole thing — 74 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Skill: Requirements & User Stories (INVEST)

INVEST Criteria — Making Stories Actionable

A well-written user story is INVEST-compliant:

  • Independent: Story doesn't depend on another story (can be built in any order)
  • Negotiable: Details can be discussed and refined (not cast in stone)
  • Valuable: Delivers value to the end user (not just internal plumbing)
  • Estimable: Engineer can estimate size (2-13 story points)
  • Small: Fits in a single sprint (1-2 weeks max)
  • Testable: Acceptance criteria are clear and provable

Story Format

## User Story: [Feature Name]

As a [role/persona]
I want to [action/capability]
So that [business value/outcome]

### Acceptance Criteria
- Given [precondition]
  When [action]
  Then [observable result]

### Edge Cases & Questions
- Q: What happens if [scenario]?
- Q: Should we support [case]?

### Definition of Done
- [ ] Code written and reviewed
- [ ] Acceptance criteria tests pass
- [ ] Documentation updated
- [ ] Performance tested (if relevant)
- [ ] Security review passed (if relevant)

Story Estimation

  • Small (2-3 pts): Can be done in a day, low complexity, well-understood
  • Medium (5 pts): Takes 2-3 days, some unknowns, requires design
  • Large (8 pts): Takes full sprint, many unknowns, high risk
  • Too Large (13+ pts): Break into smaller stories

Common Pitfalls

Pitfall Bad Example Good Example
Not independent "Add payment form" depends on "Add payment backend" "Add payment form UI" + "Add payment API" (can be mocked)
Not valuable "Refactor database layer" "Enable payments via Stripe"
Not testable "Code should be fast" "Page load <2 seconds on 3G"
Too large "Build entire user profile system" "User can upload profile photo"
Unclear "Handle edge cases" "Given missing email, show validation error"

Ambiguity Detection

Always ask these questions before starting work:

Read the full file on GitHub · 74 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 74 lines · 79 tokens per session scan A 47973ce0eb88

Subscribe to this mod's changes

requirements is a skill published in the GitHub repository saitarrun/Devforge-ai (5 stars, last pushed 22d ago), licensed Apache-2.0. It adds 79 tokens to every session and 701 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other skills, from other repositories

merge-review

Reviews pending fleet worktree merges before they're accepted. Reads the merge-check queue, detects file-level conflicts between branches, proposes a safe merge order, and surfaces reconciliation plans for overlapping changes.

SethGammon/Citadel · 40 tokens

workspace

Multi-repo campaign coordinator. Same lifecycle as fleet -- scope claims, discovery relay, wave-based execution -- but the unit of work is a repo, not a file. Coordinates campaigns across repositories with shared context.

SethGammon/Citadel · 44 tokens

decision-map

Turn a loose idea into a git-tracked, session-resumable map of typed investigation tickets, then drive them to resolution one at a time. The planning-loop engine for work that is still being figured out — too fuzzy for a campaign, too big for a single intake item. Resolved tickets graduate into .planning/intake/ for…

SethGammon/Citadel · 77 tokens

unharness

Safely leave Citadel using the active adoption receipt. Produces a no-write, reviewable plan, preserves a portable archive, removes only exact owned material, and reports modified or externally registered surfaces as retained or unknown. Legacy installs must be imported before exact leave is claimed.

SethGammon/Citadel · 59 tokens

orient

Orient a spec-driven jig/servo/shaper repository with a read-only, project-wide briefing: start from the workflow.py orient headline, then survey open pull requests and unmerged work, Proposed ADRs, DEFERRED triggers, refinement items, release plans, the inbox, and the bug board; render one readable headline, titled…

ramboz/jig · 202 tokens

process-backlog

Internal crew primitive, dispatched by /crew:run — do not invoke directly or select it for a user request; route backlog/catch-up requests to /crew:run, which decides the full workflow. (Function: find and advance stalled issues/PRs or ledger tasks, bounded; never merges.).

tessaryai/plugins · 65 tokens