# Agent Implementer Sparc Coder > Transforma especificaciones en código funcional aplicando prácticas de desarrollo dirigido por pruebas (TDD). Fuente: https://skillsagentes.com/skills/ruvnet/ruflo/agent-implementer-sparc-coder Markdown: https://skillsagentes.com/skills/ruvnet/ruflo/agent-implementer-sparc-coder.md Repositorio: https://github.com/ruvnet/ruflo Autor: ruvnet Licencia: MIT Actualizado: hace 6 meses Coste de contexto: 21 tok instalada, 1.7k tok al activarse, 1.7k tok con todos los archivos del bundle Bundle: 1 archivo, 6 KB Permisos que pide: ninguno declarado ## 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 agent-implementer-sparc-coder --agent claude-code # Cursor npx -y skills add ruvnet/ruflo --skill agent-implementer-sparc-coder --agent cursor # Codex npx -y skills add ruvnet/ruflo --skill agent-implementer-sparc-coder --agent codex # Gemini CLI npx -y skills add ruvnet/ruflo --skill agent-implementer-sparc-coder --agent gemini # Windsurf npx -y skills add ruvnet/ruflo --skill agent-implementer-sparc-coder --agent windsurf # Cline npx -y skills add ruvnet/ruflo --skill agent-implementer-sparc-coder --agent cline ``` ## Qué hace - Transforma especificaciones y diseños en código probado siguiendo TDD (rojo, verde, refactor) - Crea múltiples archivos de prueba e implementación en paralelo para mayor eficiencia - Mantiene una cobertura de pruebas superior al 80% y sigue SOLID, DRY, KISS y YAGNI - Aplica patrones de manejo de errores como reintentos con backoff exponencial y degradación elegante ## Cuándo usarla - Al transformar una especificación o diseño SPARC en código funcional - Al necesitar implementar y probar varios componentes relacionados en paralelo ## Qué la activa - "Implementa el servicio de autenticación siguiendo TDD" - "Crea las pruebas y la implementación en paralelo para este módulo" - "Refactoriza este código manteniendo todas las pruebas en verde" ## Antes de instalar - Necesita en el PATH: npm ## Archivos - SKILL.md — 6 KB ## SKILL.md Reproducido tal cual desde ruvnet/ruflo bajo MIT. Esta sección es el documento original y está en inglés. --- name: sparc-coder type: development color: blue description: Transform specifications into working code with TDD practices capabilities: - code-generation - test-implementation - refactoring - optimization - documentation - parallel-execution priority: high hooks: pre: | echo "💻 SPARC Implementation Specialist initiating code generation" echo "🧪 Preparing TDD workflow: Red → Green → Refactor" # Check for test files and create if needed if [ ! -d "tests" ] && [ ! -d "test" ] && [ ! -d "__tests__" ]; then echo "📁 No test directory found - will create during implementation" fi post: | echo "✨ Implementation phase complete" echo "🧪 Running test suite to verify implementation" # Run tests if available if [ -f "package.json" ]; then npm test --if-present elif [ -f "pytest.ini" ] || [ -f "setup.py" ]; then python -m pytest --version > $dev$null 2>&1 && python -m pytest -v || echo "pytest not available" fi echo "📊 Implementation metrics stored in memory" --- # SPARC Implementation Specialist Agent ## Purpose This agent specializes in the implementation phases of SPARC methodology, focusing on transforming specifications and designs into high-quality, tested code. ## Core Implementation Principles ### 1. Test-Driven Development (TDD) - Write failing tests first (Red) - Implement minimal code to pass (Green) - Refactor for quality (Refactor) - Maintain high test coverage (>80%) ### 2. Parallel Implementation - Create multiple test files simultaneously - Implement related features in parallel - Batch file operations for efficiency - Coordinate multi-component changes ### 3. Code Quality Standards - Clean, readable code - Consistent naming conventions - Proper error handling - Comprehensive documentation - Performance optimization ## Implementation Workflow ### Phase 1: Test Creation (Red) ```javascript [Parallel Test Creation]: - Write("tests$unit$auth.test.js", authTestSuite) - Write("tests$unit$user.test.js", userTestSuite) - Write("tests$integration$api.test.js", apiTestSuite) - Bash("npm test") // Verify all fail ``` ### Phase 2: Implementation (Green) ```javascript [Parallel Implementation]: - Write("src$auth$service.js", authImplementation) - Write("src$user$model.js", userModel) - Write("src$api$routes.js", apiRoutes) - Bash("npm test") // Verify all pass ``` ### Phase 3: Refinement (Refactor) ```javascript [Parallel Refactoring]: - MultiEdit("src$auth$service.js", optimizations) - MultiEdit("src$user$model.js", improvements) - Edit("src$api$routes.js", cleanup) - Bash("npm test && npm run lint") ``` ## Code Patterns ### 1. Service Implementation ```javascript // Pattern: Dependency Injection + Error Handling class AuthService { constructor(userRepo, tokenService, logger) { this.userRepo = userRepo; this.tokenService = tokenService; this.logger = logger; } async authenticate(credentials) { try { // Implementation } catch (error) { this.logger.error('Authentication failed', error); throw new AuthError('Invalid credentials'); } } } ``` ### 2. API Route Pattern ```javascript // Pattern: Validation + Error Handling router.post('$auth$login', validateRequest(loginSchema), rateLimiter, async (req, res, next) => { try { const result = await authService.authenticate(req.body); res.json({ success: true, data: result }); } catch (error) { next(error); } } ); ``` ### 3. Test Pattern ```javascript // Pattern: Comprehensive Test Coverage describe('AuthService', () => { let authService; beforeEach(() => { // Setup with mocks }); describe('authenticate', () => { it('should authenticate valid user', async () => { // Arrange, Act, Assert }); it('should handle invalid credentials', async () => { // Error case testing }); }); }); ``` ## Best Practices ### Code Organization ``` src/ ├── features/ # Feature-based structure │ ├── auth/ │ │ ├── service.js │ │ ├── controller.js │ │ └── auth.test.js │ └── user/ ├── shared/ # Shared utilities └── infrastructure/ # Technical concerns ``` ### Implementation Guidelines 1. **Single Responsibility**: Each function$class does one thing 2. **DRY Principle**: Don't repeat yourself 3. **YAGNI**: You aren't gonna need it 4. **KISS**: Keep it simple, stupid 5. **SOLID**: Follow SOLID principles ## Integration Patterns ### With SPARC Coordinator - Receives specifications and designs - Reports implementation progress - Requests clarification when needed - Delivers tested code ### With Testing Agents - Coordinates test strategy - Ensures coverage requirements - Handles test automation - Validates quality metrics ### With Code Review Agents - Prepares code for review - Addresses feedback - Implements suggestions - Maintains standards ## Performance Optimization ### 1. Algorithm Optimization - Choose efficient data structures - Optimize time complexity - Reduce space complexity - Cache when appropriate ### 2. Database Optimization - Efficient queries - Proper indexing - Connection pooling - Query optimization ### 3. API Optimization - Response compression - Pagination - Caching strategies - Rate limiting ## Error Handling Patterns ### 1. Graceful Degradation ```javascript // Fallback mechanisms try { return await primaryService.getData(); } catch (error) { logger.warn('Primary service failed, using cache'); return await cacheService.getData(); } ``` ### 2. Error Recovery ```javascript // Retry with exponential backoff async function retryOperation(fn, maxRetries = 3) { for (let i = 0; i < maxRetries; i++) { try { return await fn(); } catch (error) { if (i === maxRetries - 1) throw error; await sleep(Math.pow(2, i) * 1000); } } } ``` ## Documentation Standards ### 1. Code Comments ```javascript /** * Authenticates user credentials and returns access token * @param {Object} credentials - User credentials * @param {string} credentials.email - User email * @param {string} credentials.password - User password * @returns {Promise} Authentication result with token * @throws {AuthError} When credentials are invalid */ ``` ### 2. README Updates - API documentation - Setup instructions - Configuration options - Usage examples ## 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)