agentleFS
ArvorCoArvorCo/Relentless/.claude/skills/specify/SKILL.md

specify

Skill98 starsChanged 9 months agoMITView on GitHub

Create feature specification from natural language description. Use when starting a new feature or creating a spec. Triggers on: create spec, specify feature, new feature spec.

We split this skill into the rules it gives an agent

23 rules. 0 are common, 17 are distinctive, and 6 are very specific to this project.

  • 0

    Common

    Most of the 25 edited versions we read keep these.

  • 17

    Distinctive

    This author's own choices. Worth a look.

  • 6

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Create structured feature specifications from natural language descriptions.

    line 8
  2. Distinctive:

    Every user requirement should be verifiable with tests

    line 28
  3. Distinctive:

    Test scenarios should be part of each story

    line 29
  4. Very specific:

    Create branch and feature directory in relentless/features/NNN-feature-name/

    line 41
  5. Distinctive:

    Ask the user these specific questions:

    line 50
  6. Very specific:

    "Allow free models in fallback?": - Default: yes

    line 53
  7. Very specific:

    "Specific harness/model preference?": - Default: auto

    line 54
  8. Distinctive:

    Run the create-new-feature script to set up the branch and directory:

    line 66
  9. Very specific:

    Read relentless/constitution.md for project governance

    line 84
  10. Distinctive:

    Keep these principles in mind while generating the spec

    line 86
  11. Distinctive:

    Pay special attention to TDD requirements: - all features must be testable

    line 87
  12. Distinctive:

    If aspects are unclear:

    line 142
  13. Very specific:

    Only mark [NEEDS CLARIFICATION: specific question] if:

    line 144
  14. Distinctive:

    No reasonable default exists

    line 147
  15. Distinctive:

    If clarifications needed, present to user:

    line 151
  16. Distinctive:

    Check the specification against:

    line 172
  17. Distinctive:

    If validation fails, revise and re-check (max 3 iterations).

    line 194
  18. Very specific:

    Write complete specification to SPEC_FILE from JSON output

    line 200
  19. Distinctive:

    If validation fails, fix the errors and re-run

    line 205
  20. Distinctive:

    Create progress.txt if it doesn't exist (note that markdown frontmatter must be properly formatted YAML):

    line 207
  21. Distinctive:

    Always run the script first to get proper paths

    line 313
  22. Distinctive:

    Use absolute paths from JSON output

    line 314
  23. Distinctive:

    TDD readiness is non-negotiable: - all acceptance criteria must be testable

    line 318

“Common” is measured: kept by at least 6 in 10 of the 25 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

Feature Specification Generator

Create structured feature specifications from natural language descriptions.


SpecKit Workflow

This skill is Step 1 of 6 in the Relentless workflow:

specify → plan → tasks → analyze → implement (task by task) or relentless run --feature [FEATURE NAME] --tui

What flows to next step:

  • User requirements → plan will create technical approach
  • Routing preference → carried through all artifacts
  • Acceptance criteria → basis for TDD in implementation

TDD is MANDATORY

The specification MUST include testable acceptance criteria:

  • Every user requirement should be verifiable with tests
  • Test scenarios should be part of each story
  • Edge cases should be documented for test coverage

All acceptance criteria must be written in Given/When/Then format to enable direct test implementation.


The Job

  1. Receive feature description from user
  2. Confirm routing preference (Step 0)
  3. Generate short name and feature number
  4. Create branch and feature directory in relentless/features/NNN-feature-name/
  5. Generate specification using template
  6. Validate specification quality (including TDD readiness)
  7. Save to spec.md

Step 0: Confirm Routing Preference (BEFORE generating spec)

Ask the user these specific questions:

  1. "Which routing mode?" (free/cheap/good/genius) - Default: good
  2. "Allow free models in fallback?" - Default: yes
  3. "Specific harness/model preference?" - Default: auto

Record the answer in spec.md metadata:

**Routing Preference**: auto: good | allow free: yes
<!-- Options: auto: free|cheap|good|genius | allow free: yes|no | OR specific: harness/model -->

Step 1: Create Feature Structure

Run the create-new-feature script to set up the branch and directory:

.claude/skills/specify/scripts/bash/create-new-feature.sh --json "FEATURE_DESCRIPTION"

This will output JSON with:

  • BRANCH_NAME: e.g., "003-user-auth"
  • SPEC_FILE: Full path to spec.md
  • FEATURE_DIR: Full path to feature directory
  • FEATURE_NUM: e.g., "003"

Important: Parse this JSON and use these paths for all subsequent operations.


Step 2: Load Constitution & Context

  1. Read relentless/constitution.md for project governance
  2. Note any MUST/SHOULD rules that apply to specifications
  3. Keep these principles in mind while generating the spec
  4. Pay special attention to TDD requirements - all features must be testable

Step 3: Generate Specification

Using the template at templates/spec.md, create a specification with:

Required Sections:

1. Feature Overview

  • One-paragraph summary
  • User value proposition
  • Problem being solved

2. User Scenarios & Testing

  • Concrete user stories with priorities (P1, P2, P3...)
  • Step-by-step flows
  • Expected outcomes
  • Given/When/Then acceptance scenarios (MANDATORY)
  • Independent testability explanation for each story

3. Functional Requirements

  • What the system must do
  • Testable requirements (no implementation details)
  • Clear success criteria

4. Test Strategy (MANDATORY)

  • Unit test approach
  • Integration test scenarios
  • Edge case tests
  • Test data requirements

5. Success Criteria

  • Measurable, technology-agnostic outcomes
  • Quantitative metrics (time, performance, volume)
  • Qualitative measures (user satisfaction, task completion)

6. Key Entities (if applicable)

  • Data models and relationships
  • Fields and types (logical, not implementation)

7. Dependencies & Assumptions

  • External systems required
  • Prerequisites
  • Assumptions made

8. Out of Scope

  • What this feature explicitly does NOT include
  • Future considerations

Step 4: Handle Ambiguities

If aspects are unclear:

  • Interview the user first with questions to clarify any doubts, concerns or about his opinion on eventual ideas to improve the feature.
  • Only mark [NEEDS CLARIFICATION: specific question] if:
    • Choice significantly impacts scope or UX
    • Multiple reasonable interpretations exist
    • No reasonable default exists
    • Question not already solved by interview
  • LIMIT: Maximum 3 clarifications

If clarifications needed, present to user:

## Clarification Needed

**Q1: [Topic]**
Context: [Quote spec section]
Question: [Specific question]

Options:
A. [Option 1] - [Implications]
B. [Option 2] - [Implications]
C. Custom - [Your answer]

Your choice: _

Step 5: Validate Quality

Check the specification against:

General Quality

  • No implementation details (languages, frameworks, APIs)
  • Focused on user value and business needs
  • All requirements are testable
  • Success criteria are measurable
  • User scenarios cover primary flows
  • Dependencies identified
  • Scope clearly bounded
  • No more than 3 [NEEDS CLARIFICATION] markers

TDD Readiness (MANDATORY)

  • Every user story has Given/When/Then acceptance criteria
  • Acceptance criteria are specific enough to write tests against
  • Edge cases are documented for test coverage
  • Test strategy section is complete

Routing Compliance

  • Routing preference is recorded in metadata
  • Routing choice is reasonable for feature complexity

If validation fails, revise and re-check (max 3 iterations).


Step 6: Save & Validate

  1. Write complete specification to SPEC_FILE from JSON output
  2. Run the validator to ensure spec.md is correctly formatted:
    .claude/skills/validators/scripts/validate-spec.sh "$SPEC_FILE"
    • If validation fails, fix the errors and re-run
    • Warnings are acceptable but should be reviewed
  3. Create progress.txt if it doesn't exist (note that markdown frontmatter must be properly formatted YAML):
    ---
    feature: FEATURE_NAME
    started: DATE
    last_updated: DATE
    stories_completed: 0
    routing_preference: "[auto: mode | allow free: yes/no]"
    ---
    
    # Progress Log: FEATURE_NAME
  4. Report to user:
    • Branch created: BRANCH_NAME
    • Spec saved: SPEC_FILE
    • Quality validation: PASSED/FAILED
    • TDD readiness: PASSED/FAILED
    • Routing preference: [recorded value]
    • Next step: /relentless.plan or /relentless.clarify

Example Output

# Feature: User Authentication

**Routing Preference**: auto: good | allow free: yes

## Overview
Enable users to create accounts and log in securely using email/password.

## User Scenarios

### User Story 1: New User Registration (Priority: P1)

User visits signup page, enters email and password, and creates an account.

**Why this priority**: Core functionality, blocks all other auth features.

**Independent Test**: Can be fully tested by registering a new account and verifying the account exists.

**Acceptance Scenarios**:

1. **Given** a visitor on the signup page, **When** they submit valid email and password, **Then** the account is created and confirmation email sent
2. **Given** an email already in use, **When** visitor tries to register, **Then** error message shown without revealing account exists

## Functional Requirements

**REQ-1:** System must validate email format
**REQ-2:** System must require passwords ≥ 8 characters
**REQ-3:** System must send confirmation email within 1 minute
**REQ-4:** System must hash passwords before storage

## Test Strategy (MANDATORY)

### Unit Test Approach
- Email validation logic
- Password strength validation
- Password hashing utility

### Integration Test Scenarios
- Full registration flow (submit form → create account → send email)
- Duplicate email rejection

### Edge Case Tests
- Invalid email formats (missing @, invalid domain)
- Password too short
- Unicode in email/password

### Test Data Requirements
- Valid test email addresses
- Various invalid email formats
- Password examples at boundary conditions

## Success Criteria

1. 95% of signups complete within 60 seconds
2. Zero plaintext passwords in database
3. Email confirmation rate > 80%

## Key Entities

**User**
- email: string (unique)
- password_hash: string
- confirmed: boolean
- created_at: timestamp

## Dependencies

- Email service provider (e.g., SendGrid, Mailgun)
- Session management system

## Out of Scope

- Social login (OAuth)
- Two-factor authentication
- Password reset (separate feature)

Notes

  • Always run the script first to get proper paths
  • Use absolute paths from JSON output
  • Validate before marking complete
  • Keep specification technology-agnostic
  • Focus on WHAT, not HOW
  • TDD readiness is non-negotiable - all acceptance criteria must be testable

Download now (ZIP)

  • Other versions28 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 28

    1. ZaxbyHub/opencode-swarm★ 511same name
    2. zaxbysauce/opencode-swarm★ 503same name
    3. genkovich/sdd★ 187same name
    4. team-attention/hoyeon★ 173same name
    5. jantichy/claude★ 40same name
    6. mehrad-dm/mastermind★ 23same name
    7. agent-ix/quoin★ 20same name
    8. danielcherubini/skills★ 14same name
    9. ariadoss/superskills★ 12same name
    10. stormlightlabs/thunderus★ 4same name

    18 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 spec-review, init and 10 more.

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

      spec-review

      Independent, multi-model review of a design or spec **before** any code is written, for the microsoft/winappcli repo. Activate when a contributor asks to "review this spec", "review my design", "review this design doc", "validate this approach", "should we build this", "spec review", "design review", or "feature review". Fans out parallel sub-agents — each doing its OWN research against the real codebase and ecosystem rather than trusting the spec — covering necessity & scope, approach & alternatives, feasibility vs reality, risks & unknowns, DX & user impact, and a different-model-family cross-check. Emits a decision-oriented recommendation (proceed / proceed-with-changes / reconsider) to stdout. This is the PRE-CODE companion to the pr-review skill (which reviews code already written); use spec-review at the design/spec stage, not on an implemented diff. Does NOT write code or edit the spec.

      Also in 3 projects that use this

    • MicrosoftSkill

      init

      Also in 5 projects that use this

    • sahinSkill

      execute

      Also in 3 projects that use this

    • Itsokay-coSkill

      discover

      Automated pattern discovery — finds what correlates with your best and worst sleep nights. Scans workouts, meals, caffeine, tags, gut scores, and timing patterns. Use when the user wants to know what actually affects their sleep.

      Also in 3 projects that use this

    • Microsoft AzureSkill

      verify

      End-to-end app testing pipeline for browser-based web apps on cloud browsers via Azure Playwright Workspaces: verify the live app, author tests for working flows, heal failing tests, then re-run with video and produce one consolidated report. Three phases (app verification, test authoring, test healing) plus a scoped final sanity run; each phase emits a sub-report. Use when asked to "verify my app", "make sure my app works and has good test coverage", "do a full QA pass", "add tests where I'm missing coverage", "fix failing tests and add new ones", "smoke test before deploy", "QA my deployment", or any combined verify-and-test ask. Requires Azure CLI (`az login`) and a Playwright Workspace resource ID — bootstraps configs on first invocation. Browser-based web apps with Playwright only — not for unit/API tests, native mobile/desktop, load/perf, or full accessibility audits.

      Also in 10 projects that use this

    • Microsoft AzureSkill

      design

      Design rules and conventions for the API Center Portal. Use when editing detail pages, card components, badges, layout, navigation, sidebars, or headers. Covers badge styling, metadata placement, page navigation patterns, and layout alignment.

      Also in 5 projects that use this

    • +1 more from microsoft
  • In this repository15 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.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

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.