# Sparc Spec > Ejecuta la fase de Especificación de SPARC: reúne requisitos, define criterios de aceptación, identifica restricciones y guarda la especificación en memoria. Fuente: https://skillsagentes.com/skills/ruvnet/ruflo/sparc-spec Markdown: https://skillsagentes.com/skills/ruvnet/ruflo/sparc-spec.md Repositorio: https://github.com/ruvnet/ruflo Autor: ruvnet Licencia: MIT Actualizado: el mes pasado Coste de contexto: 34 tok instalada, 1.1k tok al activarse, 1.1k tok con todos los archivos del bundle Bundle: 1 archivo, 4 KB Permisos que pide: mcp__plugin_ruflo-core_ruflo__memory_store mcp__plugin_ruflo-core_ruflo__memory_search mcp__plugin_ruflo-core_ruflo__memory_retrieve mcp__plugin_ruflo-core_ruflo__task_create mcp__plugin_ruflo-core_ruflo__task_update mcp__plugin_ruflo-core_ruflo__task_complete mcp__plugin_ruflo-core_ruflo__hooks_intelligence_trajectory-start mcp__plugin_ruflo-core_ruflo__hooks_intelligence_trajectory-step mcp__plugin_ruflo-core_ruflo__neural_predict bash read edit ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add ruvnet/ruflo --skill sparc-spec --agent claude-code # Cursor npx -y skills add ruvnet/ruflo --skill sparc-spec --agent cursor # Codex npx -y skills add ruvnet/ruflo --skill sparc-spec --agent codex # Gemini CLI npx -y skills add ruvnet/ruflo --skill sparc-spec --agent gemini # Windsurf npx -y skills add ruvnet/ruflo --skill sparc-spec --agent windsurf # Cline npx -y skills add ruvnet/ruflo --skill sparc-spec --agent cline ``` ## Qué hace - Reúne requisitos funcionales y no funcionales analizando la descripción de la feature y el código existente - Define al menos 3 criterios de aceptación concretos en formato Given/When/Then - Documenta restricciones de rendimiento, seguridad, compatibilidad e infraestructura - Mapea al menos 3 casos límite o escenarios de fallo - Guarda la especificación completa en memoria para las fases siguientes de SPARC ## Cuándo usarla - Se inicia una nueva feature o proyecto que necesita requisitos estructurados antes de escribir código ## Qué la activa - "Ejecuta la fase de especificación SPARC para el login de usuarios" - "Define los criterios de aceptación de esta nueva feature" - "Documenta los casos límite antes de empezar a programar esto" ## Antes de instalar - Requiere las herramientas MCP de ruflo (memory_store, memory_search, neural_predict, etc.). ## Archivos - SKILL.md — 4 KB ## SKILL.md Reproducido tal cual desde ruvnet/ruflo bajo MIT. Esta sección es el documento original y está en inglés. # 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_search` with namespace `sparc-state` and query for the feature to see if a SPARC workflow already exists. If it does, retrieve existing artifacts. If not, initialize state with phase 1. 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: updated state with artifacts list including the spec key 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 `/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 `/sparc advance` to pass the gate check. ``` ## Dónde encaja - Categoría: [Herramientas para desarrolladores](https://skillsagentes.com/categorias/herramientas-desarrollo.md) — Skills que cambian cómo tu agente escribe, revisa y despliega código. - Creador: [ruvnet](https://skillsagentes.com/creators/ruvnet.md) — 275 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Harness Gepa](https://skillsagentes.com/skills/ruvnet/ruflo/harness-gepa.md): Inspecciona y audita genomas GEPA: carga y valida un genoma, renderiza el system prompt que compila, o clasifica los modos de fallo de una transcripción de ejecución. - [Deepseek Reason](https://skillsagentes.com/skills/ruvnet/ruflo/deepseek-reason.md): Completion en modo razonamiento contra deepseek-reasoner (R1) de DeepSeek. Devuelve el chain-of-thought por separado de la respuesta final. Lee DEEPSEEK_API_KEY y degrada si falta o la API no responde. - [Deepseek Chat](https://skillsagentes.com/skills/ruvnet/ruflo/deepseek-chat.md): Completion de un solo turno contra el modelo deepseek-chat de DeepSeek vía /v1/chat/completions. Lee DEEPSEEK_API_KEY y degrada con status:degraded si falta o la API no responde. Para tareas sin razonamiento. - [Adr Index](https://skillsagentes.com/skills/ruvnet/ruflo/adr-index.md): Construye o reconstruye el índice de ADRs y su grafo de dependencias ejecutando scripts/import.mjs, en vez de cientos de llamadas MCP. - [Agntcy Status](https://skillsagentes.com/skills/ruvnet/ruflo/agntcy-status.md): Muestra el estado de la integración AGNTCY/SLIM/CASA: si los paquetes están instalados, qué transporte está activo y si el enforcement de CASA está habilitado. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)