Skip to content
cccskills
FreePublished on GitHub

sparc-spec

Turn a feature idea into a structured specification before coding. Review requirements, system connections, constraints, and failure scenarios, define testable acceptance criteria, and save the specification in memory for later development phases.

OriginalShow the original description

Run the SPARC Specification phase — gather requirements, define acceptance criteria, identify constraints, and store the spec in memory

See how to install

Good for

  • Defining requirements before building a new feature
  • Writing testable acceptance criteria
  • Documenting constraints and failure scenarios
  • Saving specifications for later design phases

Files included (1)

  • SKILL.md4.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

SPARC Specification Phase

Run Phase 1 of the SPARC methodology: define what must be built and how success is measured.

When to use

When starting a new feature or project that needs structured requirements gathering before any code is written. This phase produces the foundational specification that all subsequent phases (Pseudocode, Architecture, Refinement, Completion) build upon.

Steps

  1. Initialize phase tracking — call mcp__plugin_ruflo-core_ruflo__hooks_intelligence_trajectory-start with metadata { "phase": "specification", "feature": "$ARGUMENTS" }

  2. Check for prior work — call mcp__plugin_ruflo-core_ruflo__memory_retrieve with namespace sparc-state and exact key current-phase-{feature-slug} to see if this workflow exists. If it does, retrieve existing artifacts. If not, initialize state at that exact key with phase 1, status: "active", and startedAt and updatedAt set to the current ISO timestamp.

  3. Search for similar patterns — call mcp__plugin_ruflo-core_ruflo__neural_predict with the feature description to find relevant past specifications and learned patterns

  4. Gather requirements — analyze the feature description and the codebase to identify:

    • Functional requirements: what the feature must do (user-facing behaviors)
    • Non-functional requirements: performance targets, security constraints, scalability needs
    • Integration points: what existing systems or APIs are affected
    • Data requirements: what data is created, read, updated, or deleted
  5. Define acceptance criteria — write at least 3 concrete, testable acceptance criteria in Given/When/Then format:

    AC-1: Given [precondition], when [action], then [expected result]
    AC-2: Given [precondition], when [action], then [expected result]
    AC-3: Given [precondition], when [action], then [expected result]
    
  6. Identify constraints — document:

    • Performance constraints (latency, throughput, resource limits)
    • Security constraints (authentication, authorization, data sensitivity)
    • Compatibility constraints (browser support, API versions, backward compatibility)
    • Infrastructure constraints (deployment environment, dependencies)
  7. Map edge cases — list at least 3 edge cases or failure scenarios:

    • What happens with invalid input?
    • What happens under concurrent access?
    • What happens when external dependencies fail?
  8. Store specification — call mcp__plugin_ruflo-core_ruflo__memory_store with:

    • Namespace: sparc-phases
    • Key: spec-{feature-slug}
    • Value: JSON with { status: "complete", requirements, acceptanceCriteria, constraints, edgeCases, integrationPoints }
  9. Update phase state — call mcp__plugin_ruflo-core_ruflo__memory_store with:

    • Namespace: sparc-state
    • Key: current-phase-{feature-slug}
    • Value: preserve existing state fields, update artifacts list to include the spec key, and set updatedAt to the current ISO timestamp
  10. Record trajectory step — call mcp__plugin_ruflo-core_ruflo__hooks_intelligence_trajectory-step with the specification summary

  11. Present specification — display the full specification document to the user with a summary table and suggest running /ruflo-sparc:ruflo-sparc advance to pass the gate and move to the Pseudocode phase

Output format

# Specification: {Feature Name}

## Requirements
### Functional
- FR-1: ...
- FR-2: ...

### Non-Functional
- NFR-1: ...

## Acceptance Criteria
- AC-1: Given ..., when ..., then ...
- AC-2: Given ..., when ..., then ...
- AC-3: Given ..., when ..., then ...

## Constraints
- Performance: ...
- Security: ...
- Compatibility: ...

## Edge Cases
- EC-1: ...
- EC-2: ...
- EC-3: ...

## Integration Points
- IP-1: ...

---
Phase 1 complete. Run `/ruflo-sparc:ruflo-sparc advance` to pass the gate check.

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

Compare models available through the HuggingFace router with chat-ui configuration, research missing models, and write short English descriptions of their architecture and capabilities. Add entries to both production and development configuration files and commit the changes.

  • Adding newly available router models to chat-ui
  • Writing concise descriptions of model capabilities
  • Updating production and development model entries together
ruvnet/ruflo76.8KUpdated Oct 18, 2026

adr-create

FreeSummary

Create an Architecture Decision Record, a document for recording important design choices, with the next sequential number. It generates a Markdown template, registers the record in AgentDB, and links related decisions found through search.

  • Record the reasoning behind adopting a technology
  • Start an ADR for an API or data model change
  • Document an infrastructure decision
ruvnet/ruflo76.8KUpdated Oct 18, 2026

adr-index

FreeSummary

Build a searchable index and relationship graph from ADRs, records of architectural decisions. Import two supported document formats, refresh existing metadata without duplicate relationships, and review summaries of statuses, missing references, and inconsistencies.

  • Index ADRs imported from another project
  • Refresh a graph that differs from files on disk
  • Set up ADR tracking in an existing codebase
ruvnet/ruflo76.8KUpdated Oct 18, 2026

adr-reindex

FreeSummary

Rebuild the index of ADRs, records of architectural decisions, after files or relationship lines are deleted. It clears stored records and relationships, indexes the files still present, and checks that the final record count matches.

  • Rebuild the index after deleting an ADR file
  • Remove stale relationships after editing an ADR
  • Reconcile the ADR index on a schedule
ruvnet/ruflo76.8KUpdated Oct 18, 2026

adr-review

FreeSummary

Review code changes against accepted Architecture Decision Records, documents that capture agreed design choices. Report violations, outdated references, compliant changes, and areas without ADR coverage, then suggest code fixes or a new decision record where appropriate.

  • Check a pull request before merging
  • Review major code changes against agreed design decisions
  • Find references to superseded ADRs
ruvnet/ruflo76.8KUpdated Oct 18, 2026

adr-verify

FreeSummary

Check saved architecture decision records (ADRs) for broken references, circular replacement relationships, and inconsistent statuses. Use the results to verify imported records or stop a CI check when selected integrity rules fail.

  • Checking ADR integrity after import
  • Blocking CI when ADR issues are found
  • Reviewing ADR data before a release
ruvnet/ruflo76.8KUpdated Oct 18, 2026

See all skills by ruvnet

Report a problem with this skill