agentleFS
DevelopersGlobalDevelopersGlobal/ai-agent-skills/skills/idea-to-spec/SKILL.md

idea-to-spec

Skill216 starsChanged 6 months agoMITView on GitHub

Converts vague ideas into concrete, testable specifications with acceptance criteria. No implementation begins without a spec.

We split this skill into the rules it gives an agent

4 rules. 0 are common, 4 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 4

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When a request is ambiguous

    line 16
  2. Distinctive:

    Before creating tasks or writing any code

    line 17
  3. Distinctive:

    Write: *"Users currently can't [do X], which causes [pain Y]."*

    line 23
  4. Distinctive:

    Write 3–7 acceptance criteria in this format:

    line 31

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

Overview

Vague ideas produce vague implementations. This skill transforms any idea — no matter how fuzzy — into a concrete specification with clear scope, acceptance criteria, and non-goals.

When to Use

  • At the start of any new feature
  • When a request is ambiguous
  • Before creating tasks or writing any code

Process

Step 1: Capture the Core Problem

  1. Write: "Users currently can't [do X], which causes [pain Y]."
  2. Identify: who has this problem? How often? What's the impact?
  3. Distinguish problem from solution — don't spec a solution until the problem is understood.

Verify: You can state the problem without mentioning any implementation.

Step 2: Define Success

  1. Write 3–7 acceptance criteria in this format:
    Given [context]
    When [action]
    Then [outcome]
  2. Each criterion must be binary — either it passes or it doesn't.
  3. Include negative cases: "Given X, the system must NOT do Y."

Verify: A QA engineer can test each criterion without asking for clarification.

Step 3: Define Scope

  1. In scope: List what is explicitly included.
  2. Out of scope: List what is explicitly excluded — as important as what's included.
  3. Open questions: List any decisions that still need resolution before implementation.

Verify: The out-of-scope list has at least 2 items.

Step 4: Define Non-Functional Requirements

  1. Performance: response time, throughput, scale targets.
  2. Security: auth requirements, data sensitivity.
  3. Reliability: uptime SLA, acceptable error rate.

Verification

  • Problem statement written without mentioning implementation
  • Acceptance criteria in Given/When/Then format
  • Each criterion is binary (pass/fail)
  • Explicit out-of-scope list
  • Open questions listed

References

  • think-before-coding skill
  • task-decomposition skill

Download now (ZIP)

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.