Agent skill

Autospec Specify

by ariel-frischer in ariel-frischer/autospec

Generate YAML feature specification from natural language description.

MITAuto-check passedDevelopment

Install Autospec Specify

skills CLI
$ npx skills add ariel-frischer/autospec --skill autospec-specify -a claude-code

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

GitHub CLI
$ gh skill install ariel-frischer/autospec autospec-specify --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/ariel-frischer/autospec.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/autospec-specify .claude/skills/autospec-specify && 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
autospec-specify
GitHub stars
144
Token cost
~2.5k tokens
SKILL.md length
856 words
Files
1
Skills in repo
9
Repo updated
First seen
Licence
MIT

At a glance

Generate YAML feature specification from natural language description.

  • Works in 7 steps: Generate a concise short name (2-4… → Create feature branch and directory: Run… → Generate spec.yaml: Create the YAML… → …
  • Development work in your project
  • SKILL.md covers User Input, Outline and Quick Guidelines
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Autospec Specify is an agent skill from ariel-frischer/autospec. Generate YAML feature specification from natural language description.

Its SKILL.md is about 2.5k 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 Development. The repository describes itself as: CLI for streamlined spec-driven development. The licence is MIT.

When your agent uses it

  • Development work in your project

Example prompts

  • “/autospec-specify”

Workflow steps

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

  1. Generate a concise short name (2-4 words) for the branch
  2. Create feature branch and directory: Run the Go command with your generated short-name
  3. Generate spec.yaml: Create the YAML specification file with this exact structure.
  4. Follow this execution flow
  5. Write the specification to FEATURE_DIR/spec.yaml
  6. ⚠️ MANDATORY: Validate the artifact (skipping this WILL cause task failure and retry)
  7. Report: Output

What it can do on your machine

Read from SKILL.md and the folder at commit 3381f26. 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 bash and yaml).

    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

Autospec Specify loads about 2.5k tokens when it runs. Until then it costs about 22 tokens; SKILL.md has 856 words of instructions outside code blocks.

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

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 ariel-frischer/autospec at commit 3381f26, republished under its MIT licence (© ariel-frischer). 856 words, ~2,483 tokens.

Download SKILL.mdSave it as .claude/skills/autospec-specify/SKILL.md (or your agent's skills folder).
name
autospec-specify
description
Generate YAML feature specification from natural language description.

autospec-specify

This Agent Skill is generated from autospec.specify. When the user invokes "$autospec-specify" or "/autospec.specify", load and follow these instructions directly. Treat the text after the skill or command name as "$ARGUMENTS". Do not route back through "autospec specify"; this skill is the prompt for the stage.

Project specs directory: ./specs

User Input

text
$ARGUMENTS

You MUST consider the user input before proceeding (if not empty).

Outline

The text the user typed after $autospec-specify in the triggering message is the feature description. Assume you always have it available in this conversation even if $ARGUMENTS appears literally below. Do not ask the user to repeat it unless they provided an empty command.

Given that feature description, do this:

  1. Generate a concise short name (2-4 words) for the branch:

    • Analyze the feature description and extract the most meaningful keywords
    • Create a 2-4 word short name that captures the essence of the feature
    • Use action-noun format when possible (e.g., "add-user-auth", "fix-payment-bug")
    • Preserve technical terms and acronyms (OAuth2, API, JWT, etc.)
    • Keep it concise but descriptive enough to understand the feature at a glance
    • Examples:
      • "I want to add user authentication" → "user-auth"
      • "Implement OAuth2 integration for the API" → "oauth2-api-integration"
      • "Create a dashboard for analytics" → "analytics-dashboard"
      • "Fix payment processing timeout bug" → "fix-payment-timeout"
  2. Create feature branch and directory: Run the Go command with your generated short-name:

    bash
    autospec new-feature --json --short-name "<short-name>" "$ARGUMENTS"

    Parse the JSON output for:

    • BRANCH_NAME: The full branch name (e.g., "008-user-auth")
    • SPEC_FILE: Path to the spec file (ignore - we'll create spec.yaml instead)
    • FEATURE_NUM: The feature number
    • AUTOSPEC_VERSION: The autospec version (for _meta section)
    • CREATED_DATE: ISO 8601 timestamp (for _meta section)

    Set FEATURE_DIR to specs/<BRANCH_NAME>/

  3. Generate spec.yaml: Create the YAML specification file with this exact structure.

    The structure below is the authoritative schema; follow it directly. Optionally run autospec artifact spec --schema for field details; if that probe is unavailable or fails in your environment, continue with the structure below and rely on the validation step instead.

    yaml
    # ============ REQUIRED SECTIONS ============
    
    feature:                    # REQUIRED section
      branch: "<branch name from step 2>"      # REQUIRED
      created: "<today's date YYYY-MM-DD>"     # REQUIRED
      status: "Draft"           # REQUIRED enum: Draft|Review|Approved|Completed
      input: "<original user description verbatim>"  # optional
    
    user_stories:               # REQUIRED section (array, at least one item)
      - id: "US-001"            # REQUIRED
        title: "<story title>"  # REQUIRED
        priority: "P1"          # REQUIRED enum: P0|P1|P2|P3 (P0=critical, P1=must-have, P2=should-have, P3=nice-to-have)
        as_a: "<role/actor>"    # REQUIRED
        i_want: "<action/capability>"   # REQUIRED
        so_that: "<benefit/value>"      # REQUIRED
        why_this_priority: "<justification for priority level>"  # optional
        independent_test: "<how this story can be tested in isolation>"  # optional
        acceptance_scenarios:   # optional (but recommended)
          - given: "<precondition/context>"
            when: "<action taken>"
            then: "<expected outcome>"
    
    requirements:               # REQUIRED section
      functional:               # REQUIRED (array)
        - id: "FR-001"
          description: "<MUST/SHOULD/MAY + requirement>"
          acceptance_criteria: "<how to verify this>"
      non_functional:           # optional (array)
        - id: "NFR-001"
          category: "<performance|security|usability|reliability|code_quality>"
          description: "<requirement>"
          measurable_target: "<specific metric>"
    
    # ============ OPTIONAL SECTIONS ============
    
    success_criteria:           # optional
      measurable_outcomes:
        - id: "SC-001"
          description: "<user-focused, measurable outcome>"
          metric: "<how to measure>"
          target: "<specific value or threshold>"
    
    key_entities:               # optional
      - name: "<entity name>"
        description: "<what this entity represents>"
        attributes:
          - "<key attribute 1>"
          - "<key attribute 2>"
    
    edge_cases:                 # optional
      - scenario: "<edge case description>"
        expected_behavior: "<what should happen>"
    
    assumptions:                # optional
      - "<assumption 1>"
      - "<assumption 2>"
    
    constraints:                # optional
      - "<constraint 1>"
      - "<constraint 2>"
    
    out_of_scope:               # optional
      - "<explicitly excluded item 1>"
      - "<explicitly excluded item 2>"
    
    _meta:                      # optional (but recommended)
      version: "1.0.0"
      generator: "autospec"
      generator_version: "<AUTOSPEC_VERSION from step 2>"
      created: "<CREATED_DATE from step 2>"
      artifact_type: "spec"
  4. Follow this execution flow:

    1. Parse user description from Input If empty: ERROR "No feature description provided"
    2. Extract key concepts from description Identify: actors, actions, data, constraints
    3. For unclear aspects:
      • Make informed guesses based on context and industry standards
      • Only mark with clarification_needed: "<specific question>" if:
        • The choice significantly impacts feature scope or user experience
        • Multiple reasonable interpretations exist with different implications
        • No reasonable default exists
      • LIMIT: Maximum 3 clarification_needed markers total
      • Prioritize clarifications by impact: scope > security/privacy > user experience > technical details
    4. Fill user_stories section If no clear user flow: ERROR "Cannot determine user scenarios"
    5. Generate functional requirements Each requirement must be testable Use reasonable defaults for unspecified details (document in assumptions)
    6. Define success_criteria Create measurable, technology-agnostic outcomes Include both quantitative metrics (time, performance, volume) and qualitative measures Each criterion must be verifiable without implementation details
    7. Identify key_entities (if data involved)
    8. Document edge_cases, assumptions, constraints, out_of_scope
  5. Write the specification to FEATURE_DIR/spec.yaml

  6. ⚠️ MANDATORY: Validate the artifact (skipping this WILL cause task failure and retry):

    bash
    autospec artifact FEATURE_DIR/spec.yaml
    • If validation fails: Read the error output carefully. Fix ALL schema errors (missing required fields, wrong enum values, invalid types) and re-run validation until it passes.
    • If validation passes: Proceed to report.
    • Do NOT skip this step - post-execution validation will catch errors and force a full retry.

    Common validation errors:

    • Missing required field (e.g., user_stories[0].priority) → add the field
    • Invalid enum value (e.g., priority: "High") → use valid value (P0, P1, P2, P3)
    • Wrong type (e.g., user_stories is object instead of array) → fix structure
  7. Report: Output:

    • Branch name created
    • Full path to spec.yaml
    • Summary of user stories and requirements count
    • Any clarification_needed items found
    • Readiness for $autospec-plan
Show full SKILL.md (259 more words)Show less

Quick Guidelines

  • Focus on WHAT users need and WHY
  • Avoid HOW to implement (no tech stack, APIs, code structure)
  • Written for business stakeholders, not developers
  • All YAML output must be syntactically valid
For AI Generation

When creating this spec from a user prompt:

  1. Make informed guesses: Use context, industry standards, and common patterns to fill gaps
  2. Document assumptions: Record reasonable defaults in the assumptions section
  3. Limit clarifications: Maximum 3 clarification_needed fields - use only for critical decisions that:
    • Significantly impact feature scope or user experience
    • Have multiple reasonable interpretations with different implications
    • Lack any reasonable default
  4. Prioritize clarifications: scope > security/privacy > user experience > technical details
  5. Think like a tester: Every vague requirement should be made specific and measurable

Examples of reasonable defaults (don't ask about these):

  • Data retention: Industry-standard practices for the domain
  • Performance targets: Standard web/mobile app expectations unless specified
  • Error handling: User-friendly messages with appropriate fallbacks
  • Authentication method: Standard session-based or OAuth2 for web apps
  • Integration patterns: RESTful APIs unless specified otherwise
Success Criteria Guidelines

Success criteria must be:

  1. Measurable: Include specific metrics (time, percentage, count, rate)
  2. Technology-agnostic: No mention of frameworks, languages, databases, or tools
  3. User-focused: Describe outcomes from user/business perspective, not system internals
  4. Verifiable: Can be tested/validated without knowing implementation details

Good examples:

  • "Users can complete checkout in under 3 minutes"
  • "System supports 10,000 concurrent users"
  • "95% of searches return results in under 1 second"

Bad examples (implementation-focused):

  • "API response time is under 200ms" (too technical)
  • "Database can handle 1000 TPS" (implementation detail)
  • "React components render efficiently" (framework-specific)

© ariel-frischer, MIT. 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 .agents/skills/autospec-specify of ariel-frischer/autospec.

Open the folder on GitHubat commit 3381f26

Compare with similar skills

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

Autospec Specify compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Autospec Specify this skillariel-frischer/autospec144—~2.5kAutomated safety check: PassMIT
Backend Code Reviewlanggenius/dify158k—~676Automated safety check: PassCustom licence
Native Data FetchingCherryHQ/cherry-studio-app4k6 repos~2.9kAutomated safety check: NotesMIT
Twenty App Entity Developmenttwentyhq/twenty58k—~1.8kAutomated safety check: PassCustom licence
Go Pedantrychromedp/chromedp13k—~3.7kAutomated safety check: PassMIT
Gumroad Prod Consoleantiwork/gumroad9.8k—~2.9kAutomated safety check: NotesMIT

Similar skills

  • Backend Code Review

    langgenius/dify

    Reviews backend code under api/ for concrete, reproducible defects, routes to rule packs for architecture, schema, repositories and SQLAlchemy, and ranks findings from P0 to P3.

    158k GitHub stars~676 tokensUpdated today
    DevelopmentAuto-check passed
  • Native Data Fetching

    CherryHQ/cherry-studio-app

    A skill your agent uses when implementing or debugging ANY network request, API call, or data fetching.

    4k GitHub starsUsed in 6 repos~2.9k tokens
    DevelopmentAuto-check: notes
  • Guides changes to an existing Twenty app: adding or editing objects, layouts, logic functions and front components, with a plan stated before multi-entity edits.

    58k GitHub stars~1.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Go Pedantry

    chromedp/chromedp

    This skill should be used when the user is writing Go code and needs guidance on Go-specific pedantry: error wrapping with fmt.Errorf and %w, interface design (accept interfaces return structs)…

    13k GitHub stars~3.7k tokensUpdated today
    DevelopmentAuto-check passed
  • Gumroad Prod Console

    antiwork/gumroad

    Execute read-only Ruby/Rails commands against Gumroad's production database for debugging and investigation.

    9.8k GitHub stars~2.9k tokensUpdated today
    DevelopmentAuto-check: notes
  • LangBot Plugin Development

    langbot-app/LangBot

    Guides building, debugging and testing LangBot plugins: components, SDK calls, README and locale rules, SDK pitfalls and WebSocket-based testing.

    18k GitHub stars~3.9k tokensUpdated today
    DevelopmentAuto-check passed

More from ariel-frischer/autospec

All 9 skills in this repo
  • Autospec Analyze

    ariel-frischer/autospec

    Analyze cross-artifact consistency and quality in YAML format.

    144 GitHub stars~2.3k tokensUpdated 13 days ago
    Auto-check passed
  • Autospec Checklist

    ariel-frischer/autospec

    Generate YAML checklist for feature quality validation. An agent skill from ariel-frischer/autospec.

    144 GitHub stars~2.4k tokensUpdated 13 days ago
    Auto-check passed
  • Autospec Clarify

    ariel-frischer/autospec

    Identify underspecified areas in YAML spec and encode clarifications back into the spec.

    144 GitHub stars~2.2k tokensUpdated 13 days ago
    Auto-check passed
  • Autospec Constitution

    ariel-frischer/autospec

    Generate or update project constitution in YAML format. An agent skill from ariel-frischer/autospec.

    144 GitHub stars~2.1k tokensUpdated 13 days ago
    Auto-check passed
  • Autospec Plan

    ariel-frischer/autospec

    Generate YAML implementation plan from feature specification.

    144 GitHub stars~1.7k tokensUpdated 13 days ago
    Auto-check passed
  • Autospec Tasks

    ariel-frischer/autospec

    Generate YAML task breakdown from implementation plan. An agent skill from ariel-frischer/autospec.

    144 GitHub stars~2.5k tokensUpdated 13 days ago
    Auto-check passed

Questions about Autospec Specify

What does Autospec Specify do?

Generate YAML feature specification from natural language description. Autospec Specify is an agent skill from ariel-frischer/autospec. Generate YAML feature specification from natural language description.

When should I use Autospec Specify?

Autospec Specify fits situations like: development work in your project.

How do I install Autospec Specify in Claude Code?

Run `npx skills add ariel-frischer/autospec --skill autospec-specify -a claude-code`. Or copy the skill folder (.agents/skills/autospec-specify in ariel-frischer/autospec) into .claude/skills/autospec-specify in your project. Claude Code loads it when a task matches its description.

How do I install Autospec Specify in Codex?

Run `npx skills add ariel-frischer/autospec --skill autospec-specify -a codex`. Or copy the skill folder (.agents/skills/autospec-specify in ariel-frischer/autospec) into .agents/skills/autospec-specify in your project. Codex loads it when a task matches its description.

Can I use Autospec Specify 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 ariel-frischer/autospec --skill autospec-specify -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/autospec-specify, .gemini/skills/autospec-specify, .github/skills/autospec-specify and .opencode/skills/autospec-specify in your project.

What does Autospec Specify need to run?

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

Does Autospec Specify 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 Autospec Specify 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 Autospec Specify use?

Autospec Specify is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Autospec Specify use?

About 2.5k tokens (SKILL.md is roughly 9.9k 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 Autospec Specify?

Skills that share tags, products or a category with Autospec Specify: Backend Code Review (langgenius/dify, 158k stars), Native Data Fetching (CherryHQ/cherry-studio-app, 4k stars), Twenty App Entity Development (twentyhq/twenty, 58k stars) and Go Pedantry (chromedp/chromedp, 13k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Autospec Specify?

ariel-frischer (a GitHub user) maintains it in ariel-frischer/autospec, which has 144 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on September 28, 2026.

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