New to Claude Skills? Learn how to install them โ†’

ruvnet on GitHub

SPARC Coder

Free

Transform specifications into tested code with TDD.

by ruvnet67.6k stars on ruvnet/ruflo
1 views
Updated Aug 10, 2026
Get this skill

Free ยท Opens the source repo

What SPARC Coder does

The SPARC Coder agent skill is designed to facilitate the implementation phases of the SPARC methodology, focusing on converting specifications and designs into functional code while adhering to Test-Driven Development (TDD) practices. It streamlines the process of generating code, implementing tests, and ensuring high-quality outputs through a structured workflow. By following the TDD cycle of Red โ†’ Green โ†’ Refactor, developers can maintain a high level of test coverage and code quality throughout the development process.

This skill automates several aspects of code generation and testing. It initiates with a pre-hook that checks for existing test directories and creates them if necessary, ensuring that the testing framework is in place before code implementation begins. Once the tests are created, the skill supports parallel execution of both test creation and code implementation, allowing developers to work on multiple features simultaneously. This not only enhances productivity but also ensures that related components are developed in a coordinated manner.

In addition to code generation, the SPARC Coder emphasizes best practices in code quality, including clean coding standards, comprehensive documentation, and performance optimization. After implementing the code, a post-hook runs the test suite to verify the implementation, ensuring that the code meets the specified requirements and maintains high quality. This skill is particularly useful for teams adopting the SPARC methodology or those looking to enhance their TDD practices in a structured manner.

When to use it

Use this skill when you need to implement features based on specifications and want to follow TDD practices for code quality.

When not to use it

This skill may not be suitable for projects that do not require TDD or for developers who prefer a more manual coding approach without automated test generation.

What you can build with it

Implementing a New Feature

Use the SPARC Coder to quickly generate code for a new feature based on specifications while ensuring all necessary tests are created and executed.

Refactoring Existing Code

Leverage the skill to refactor existing code while maintaining test coverage, ensuring that any changes do not break existing functionality.

Parallel Development of Multiple Features

Utilize the parallel execution capabilities of the SPARC Coder to develop related features simultaneously, enhancing team productivity.

How to install SPARC Coder

View source

1. Install with the skills CLI

npx skills add ruvnet/ruflo/agent-implementer-sparc-coder --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by ruvnet

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)

[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)

[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)

[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

// 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

// 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

// 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

// Fallback mechanisms
try {
  return await primaryService.getData();
} catch (error) {
  logger.warn('Primary service failed, using cache');
  return await cacheService.getData();
}

2. Error Recovery

// 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

/**
 * 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<Object>} Authentication result with token
 * @throws {AuthError} When credentials are invalid
 */

2. README Updates

  • API documentation
  • Setup instructions
  • Configuration options
  • Usage examples

Frequently asked questions about SPARC Coder

Similar skills