Claude-skill-registry builder-role-skill
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/builder-role-skill" ~/.claude/skills/majiayu000-claude-skill-registry-builder-role-skill && rm -rf "$T"
skills/data/builder-role-skill/SKILL.mdBuilder Role Skill
Description
Implement production-quality features, components, and systems using test-driven development, incremental delivery, and professional software engineering practices.
When to Use This Skill
- Implementing features from architectural specifications
- Building new components or systems
- Converting designs into production code
- Feature development requiring multi-phase implementation
- TDD-based development workflows
When NOT to Use This Skill
- For system design or architecture (use architect-role-skill)
- For testing and code review (use validator-role-skill)
- For documentation generation (use scribe-role-skill)
- For infrastructure work (use devops-role-skill)
Prerequisites
- Architecture or design specification available
- Development environment configured
- Test framework in place
- Git repository initialized
Workflow
Phase 1: Task Decomposition
Break architectural specifications into granular, implementable tasks.
Step 1.1: Load Planning Documents
Read context files: - DEVELOPMENT_PLAN.md (or equivalent) - ARCHITECTURE.md (design specifications) - TODO.md (task backlog) - MULTI_AGENT_PLAN.md (if multi-agent workflow)
Step 1.2: Create Implementation Plan
Generate
IMPLEMENTATION_PLAN.md with structured task breakdown:
# Implementation Plan: [Feature Name] ## Architecture Reference - Source: [Document] Section [X] - Components: [List components to build] - Dependencies: [External/internal dependencies] ## Phase Breakdown ### Phase 1: Foundation - [ ] Task 1.1: [Specific task] - [ ] Task 1.2: [Specific task] - [ ] Task 1.3: Write unit tests for foundation ### Phase 2: Business Logic - [ ] Task 2.1: [Specific task] - [ ] Task 2.2: [Specific task] - [ ] Task 2.3: Write service tests ### Phase 3: Integration - [ ] Task 3.1: [Specific task] - [ ] Task 3.2: Write integration tests - [ ] Task 3.3: Full test suite validation ## Completion Criteria - All tests passing (coverage >= 80%) - Code linted with zero errors - Documentation updated - Peer review approved
Step 1.3: Validate Plan
- Ensure tasks are specific and measurable
- Verify dependencies are identified
- Confirm test coverage is planned
- Check phase estimates are realistic
Phase 2: TDD Implementation Loop
For each task in the implementation plan, follow the RED-GREEN-REFACTOR cycle:
Step 2.1: RED - Write Failing Test
// Example: test/user-service.test.js describe('UserService', () => { test('createUser should validate email format', async () => { const userService = new UserService(); await expect(userService.createUser({ email: 'invalid-email', name: 'John Doe' })).rejects.toThrow('Invalid email format'); }); });
Run test to confirm it fails:
npm test -- --testPathPattern=user-service # Expected: FAIL - Test should fail initially
Step 2.2: GREEN - Write Minimal Implementation
// Example: src/services/user-service.js class UserService { async createUser(userData) { // Minimal code to make test pass const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; if (!emailRegex.test(userData.email)) { throw new Error('Invalid email format'); } // ... rest of implementation } }
Run test to confirm it passes:
npm test -- --testPathPattern=user-service # Expected: PASS - Test should now pass
Step 2.3: REFACTOR - Improve Code Quality
- Extract reusable functions:
// utils/validators.js export const isValidEmail = (email) => { const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; return emailRegex.test(email); }; // Refactored service import { isValidEmail } from '../utils/validators.js'; class UserService { async createUser(userData) { if (!isValidEmail(userData.email)) { throw new Error('Invalid email format'); } // ... rest of implementation } }
- Run linter and formatter:
npm run lint # Fix linting issues npm run format # Auto-format code
- Re-run tests:
npm test # Expected: All tests still pass after refactoring
Step 2.4: Commit Progress
git add . git commit -m "feat(user): add email validation to user creation - Implement email format validation - Add unit tests for validation - Extract reusable validator utility Tests: 12 passing, coverage 85% Refs: #[issue-number]"
Phase 3: Phase Integration
After completing all tasks in a phase:
Step 3.1: Run Full Test Suite
# Run all tests npm test # Check coverage npm run coverage # Ensure coverage >= 80% # Run linter npm run lint # Zero errors required
Step 3.2: Update Progress Tracking
Mark phase complete in planning documents:
- Check off phase tasksIMPLEMENTATION_PLAN.md
- Update task statusTODO.md
- Update coordination status (if applicable)MULTI_AGENT_PLAN.md
Step 3.3: Create Phase Commit
git add . git commit -m "feat([feature-name]): Complete Phase [N] - [Phase Name] Phase [N] Summary: - ✅ Task 1 completed - ✅ Task 2 completed - ✅ Task 3 completed Tests: [X] passing, coverage [Y%] Phase: [N] of [Total] Next: Phase [N+1]"
Phase 4: Final Integration & Handoff
After all phases complete:
Step 4.1: Integration Testing
# Merge feature branch to develop git checkout develop git merge --no-ff feature/[feature-name] # Run full test suite including integration tests npm run test:integration # Verify all tests pass
Step 4.2: Create Pull Request
gh pr create \ --title "feat: [Feature Name]" \ --body-file PR_DESCRIPTION.md \ --label "ready-for-review"
PR Description Template:
## Feature: [Name] ### Summary [1-2 sentence description] ### Implementation Details - Component 1: [Description] - Component 2: [Description] ### Test Coverage - Unit tests: [X] tests, [Y%] coverage - Integration tests: [Z] scenarios ### Breaking Changes - [None / List breaking changes] ### Migration Guide [If breaking changes, provide migration steps] ### Checklist - [ ] All tests passing - [ ] Coverage >= 80% - [ ] Linting passes - [ ] Documentation updated - [ ] No known bugs
Step 4.3: Handoff to Validator
If using multi-agent workflow, create handoff document:
--- TO: Validator Agent (or use validator-role-skill) FEATURE: [Feature Name] PR: #[PR number] IMPLEMENTATION_PLAN: IMPLEMENTATION_PLAN.md TEST_COVERAGE: [X%] IMPLEMENTATION_NOTES: - [Key implementation detail 1] - [Any concerns or trade-offs] - [Areas needing special attention] VALIDATION_REQUESTS: - [ ] Unit test review - [ ] Integration test verification - [ ] Code quality assessment - [ ] Security review (if handling sensitive data) ---
Specialized Workflows
Workflow A: Bug Fix Implementation
When to Use: Fixing defects in existing code
Step A.1: Bug Analysis
# Bug Fix Plan: [Bug ID] ## Problem Description [What is broken, symptoms, reproduction steps] ## Root Cause Analysis [Why it's broken - technical explanation] ## Proposed Solution [How to fix it - specific approach] ## Affected Components [List files/modules requiring changes] ## Regression Risk [What could potentially break] ## Testing Strategy [How to verify fix + prevent regression]
Step A.2: Test-Driven Fix
- Write failing test that reproduces bug:
test('Bug #123: division by zero should throw error', () => { const calculator = new Calculator(); expect(() => calculator.divide(10, 0)) .toThrow('Cannot divide by zero'); });
- Implement minimal fix:
divide(a, b) { if (b === 0) { throw new Error('Cannot divide by zero'); } return a / b; }
- Verify test passes
- Run full test suite (check for regressions)
- Commit with "fix:" prefix
Step A.3: Verification
# Run affected component tests npm test -- --testPathPattern=[component] # Run full suite npm test # Manual verification if UI/UX involved [Steps to manually verify fix]
Workflow B: Refactoring Implementation
When to Use: Improving code structure without changing behavior
Step B.1: Refactoring Justification
# Refactoring Proposal: [Component Name] ## Current Problems - [Problem 1: e.g., Code duplication] - [Problem 2: e.g., Poor naming] - [Problem 3: e.g., High complexity] ## Proposed Improvements - [Improvement 1: Extract common logic] - [Improvement 2: Rename variables for clarity] - [Improvement 3: Split large function] ## Risk Assessment - Breaking changes: [Yes/No] - Current test coverage: [X%] - Effort estimate: [Hours] - Architect approval required: [Yes/No]
Step B.2: Safety-First Refactoring
-
Ensure comprehensive test coverage FIRST
- If coverage < 80%, write tests before refactoring
- Tests act as safety net
-
Make incremental changes
- One refactoring at a time
- Commit after each logical change
- Run tests after EVERY change
-
Never break public APIs without version bump
- Internal refactoring OK
- Public API changes require coordination
-
Document breaking changes clearly
- Update CHANGELOG.md
- Provide migration guide
- Notify stakeholders
Code Quality Standards
File-Level Requirements
Every file must have:
- File-level docstring/comment explaining purpose
- Appropriate imports/dependencies
- Consistent formatting (via auto-formatter)
- Error handling for failure modes
- Input validation where applicable
Function-Level Requirements
Every function must have:
- Clear, descriptive name (verb for actions)
- Docstring/comment (purpose, params, returns)
- Type hints/annotations (if language supports)
- Single responsibility principle
- Unit test coverage
Example (TypeScript):
/** * Validates user email format and domain * @param email - Email address to validate * @returns true if valid, false otherwise * @throws ValidationError if email is null/undefined */ function validateUserEmail(email: string): boolean { if (!email) { throw new ValidationError('Email is required'); } return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email); }
Class-Level Requirements
Every class must have:
- Class-level docstring
- Well-defined public interface
- Private methods clearly marked
- Constructor documentation
- Test coverage of public methods
Commit Message Standards
Use Conventional Commits format:
<type>(<scope>): <subject> <body> <footer>
Types:
: New featurefeat
: Bug fixfix
: Documentation onlydocs
: Formatting, missing semi-colons, etc.style
: Code restructuringrefactor
: Adding/updating teststest
: Maintenance taskschore
Example:
feat(auth): add JWT token refresh mechanism - Implement refresh token endpoint - Add token expiration validation - Update authentication middleware - Add unit tests for refresh flow Tests: 45 passing, coverage 92% Closes: #123
Quality Assurance Checklists
Before Each Commit
- Code compiles/runs without errors
- All tests pass
- Linter passes with zero errors
- Code formatted with project formatter
- No commented-out code blocks
- No debug logging statements
- Commit message follows convention
Before Phase Completion
- Phase tasks all complete
- Test coverage meets threshold (80%+)
- Documentation updated
- IMPLEMENTATION_PLAN.md updated
- No known bugs or issues
- Performance acceptable
Before PR Creation
- All phases complete
- Integration tests pass
- No merge conflicts with target branch
- PR description complete and accurate
- Breaking changes documented
- Migration guide provided (if needed)
Collaboration Patterns
With Architect (or architect-role-skill)
- Request clarification on unclear specifications
- Propose alternative implementations when issues discovered
- Report architectural concerns immediately
- Never deviate from architecture without approval
With Validator (or validator-role-skill)
- Provide comprehensive test instructions
- Document known limitations or edge cases
- Request specific security reviews when handling sensitive data
- Respond promptly to code review feedback
With Scribe (or scribe-role-skill)
- Update inline documentation as code changes
- Flag complex algorithms needing detailed explanation
- Provide API usage examples
- Document breaking changes
With DevOps (or devops-role-skill)
- Communicate new dependencies or environment requirements
- Provide database migration scripts
- Document configuration changes
- Alert to performance-critical changes
Error Handling Protocols
When Stuck on Implementation
- Document the problem in IMPLEMENTATION_PLAN.md
- Research similar patterns in codebase (use grep/search)
- Consult external documentation
- Use researcher-role-skill if needed for deep investigation
- Escalate to architect-role-skill if architectural change needed
When Tests Fail
- Analyze test failure output
- Debug with focused console logging
- Isolate failing component
- Fix or update test as appropriate
- Never skip or disable tests to make them pass
When Dependencies Conflict
- Document the conflict
- Research resolution in package documentation
- Test resolution in isolated environment
- Update dependency management files
- Notify DevOps (or use devops-role-skill) of environment changes
Performance Considerations
Code Efficiency Guidelines
- Optimize only when profiling shows bottleneck
- Prefer clarity over premature optimization
- Use appropriate data structures (arrays vs objects vs sets)
- Avoid N+1 queries (use eager loading, joins)
- Cache expensive computations
- Consider pagination for large datasets
Resource Management
- Close file handles and connections
- Manage memory in long-running processes
- Use connection pooling for databases
- Implement timeouts for external API calls
- Log resource usage in development
Security Implementation Standards
Input Validation
- Validate ALL user input
- Sanitize before database queries
- Use parameterized queries (NEVER string concatenation)
- Validate file uploads (type, size, content)
- Implement rate limiting where appropriate
Example (SQL Injection Prevention):
// ❌ WRONG - Vulnerable to SQL injection const query = `SELECT * FROM users WHERE email = '${userEmail}'`; // ✅ CORRECT - Parameterized query const query = 'SELECT * FROM users WHERE email = ?'; db.execute(query, [userEmail]);
Authentication & Authorization
- Never store passwords in plain text
- Use established libraries for crypto operations
- Validate authorization on every request
- Implement proper session management
- Log authentication events
Data Protection
- Encrypt sensitive data at rest
- Use HTTPS for data in transit
- Redact sensitive info from logs
- Implement proper access controls
- Follow principle of least privilege
Examples
Example 1: Simple Feature Implementation
Task: Add user registration endpoint
## Phase 1: Foundation 1. Write test for user model validation 2. Create user model with email, password fields 3. Add email format validation 4. Add password strength validation ## Phase 2: Business Logic 1. Write test for registration service 2. Implement registration service 3. Add duplicate email check 4. Hash password before storage ## Phase 3: API Integration 1. Write integration test for /register endpoint 2. Create POST /register endpoint 3. Add input validation middleware 4. Add error handling Result: Feature complete in 3 phases with 95% test coverage
Example 2: Bug Fix
Task: Fix user login timeout issue
## Bug Analysis - Problem: Login hangs after 30 seconds - Root cause: Database query missing index on email column - Solution: Add database index ## Implementation 1. Write test that times login query 2. Add migration script for index 3. Run migration 4. Verify test passes 5. Measure performance improvement (30s → 50ms)
Example 3: Refactoring
Task: Extract duplicate validation logic
## Current Problem - Email validation duplicated in 5 files - Password validation duplicated in 3 files ## Solution 1. Ensure all 5 files have tests (add if missing) 2. Extract common validation to utils/validators.js 3. Update imports in all 5 files 4. Run tests after each file update 5. Remove old validation code 6. Final test run - all pass Result: Code duplication eliminated, tests still pass
Resources
Templates
- Implementation plan templateresources/IMPLEMENTATION_PLAN_template.md
- Commit message examplesresources/commit_message_guide.md
- TDD cycle referenceresources/tdd_workflow.md
Scripts
- Test execution scriptscripts/run_tests.sh
- Pre-commit validationscripts/validate_commit.py
- Phase completion validatorscripts/phase_checker.sh
References
Version: 1.0.0 Last Updated: December 12, 2025 Status: ✅ Active Maintained By: Claude Command and Control Project