| name | systematic-feature-builder |
| description | Systematic approach to implementing features with detailed planning, tracking, and testing. Use when building new features, adding functionality to existing projects, implementing multi-step requirements, or when user requests organized, methodical development workflow. |
Systematic Feature Builder
Implement features systematically with detailed planning, progress tracking, and comprehensive testing.
When to Use This Skill
Use this skill when:
- Building new features from requirements or specifications
- Adding functionality to existing projects
- Implementing multi-step features that require coordination
- User requests "systematic", "organized", or "methodical" approach
- User provides a spec or detailed requirements document
- Features require database changes, API integration, or complex logic
Core Workflow
Follow these five phases in order:
- Requirements Analysis - Understand what needs to be built
- Implementation Planning - Create detailed, step-by-step plan
- Systematic Implementation - Execute plan with progress tracking
- Testing & Verification - Validate at multiple levels
- Documentation & Checkpoint - Create comprehensive checkpoint
Phase 1: Requirements Analysis
Gather Information
Extract clear requirements from user input:
- What features need to be built?
- What is the expected behavior?
- Are there existing examples or references?
- What are the success criteria?
Identify Dependencies
Determine what exists and what needs to be created:
- Existing code/components that can be reused
- Database schema changes required
- External services or APIs needed
- Dependencies between features
Clarify Ambiguities
Ask targeted questions if requirements are unclear:
- Edge cases and error handling
- User permissions and access control
- Performance or scalability requirements
- UI/UX preferences
Phase 2: Implementation Planning
Create Detailed Plan
Use the implementation plan template:
cp /home/ubuntu/skills/systematic-feature-builder/templates/implementation-plan-template.md \
<project-path>/docs/plans/YYYY-MM-DD-feature-name.md
Plan Structure:
- Overview and objectives
- Task breakdown with estimated time
- Step-by-step instructions with file paths
- Testing strategy for each task
- Success criteria
- Rollback plan
Break Down Into Atomic Tasks
Each task should:
- Be completable in one sitting (30-90 minutes)
- Have clear inputs and outputs
- Be independently testable
- Have explicit success criteria
Example Task Breakdown:
### Task 1: Add Database Field (15 min)
1. Update schema.ts with new field
2. Run `pnpm db:push` to migrate
3. Verify field exists in database
### Task 2: Create Backend Endpoint (30 min)
1. Add endpoint to router
2. Implement business logic
3. Add input validation
4. Write unit tests
### Task 3: Build Frontend Component (45 min)
1. Create component file
2. Add tRPC integration
3. Implement UI with shadcn/ui
4. Handle loading/error states
Update todo.md
Add all planned tasks to project's todo.md:
## [Feature Name]
- [ ] Task 1: Database changes
- [ ] Task 2: Backend endpoint
- [ ] Task 3: Frontend component
- [ ] Task 4: Testing
- [ ] Task 5: Documentation
Phase 3: Systematic Implementation
Execute Plan Sequentially
Implement tasks in order, following the plan:
- Start with backend/data layer (database, APIs)
- Then business logic (endpoints, services)
- Finally UI layer (components, pages)
This order minimizes rework and allows incremental testing.
Track Progress in todo.md
Mark tasks complete as you finish them:
## [Feature Name]
- [x] Task 1: Database changes
- [x] Task 2: Backend endpoint
- [ ] Task 3: Frontend component ← Currently working on this
- [ ] Task 4: Testing
- [ ] Task 5: Documentation
Use file tool's edit action to update checkboxes efficiently.
Handle Deviations
If you deviate from the plan:
- Document why in the plan file
- Update todo.md with new tasks
- Adjust time estimates if needed
Communicate Progress
For long implementations, send info messages at milestones:
- "✅ Task 1 complete: Database schema updated"
- "📊 Progress: 3/5 tasks complete"
- "⚠️ Encountered issue with X, implementing alternative approach"
Phase 4: Testing & Verification
Three-Level Testing
Test at all three levels before checkpoint:
1. Unit Tests
- Individual functions and endpoints
- Database operations
- Input validation
2. Integration Tests
- Features working together
- End-to-end workflows
- External service integration
3. Manual Verification
- UI renders correctly
- User flows work as expected
- Edge cases handled gracefully
Webdev-Specific Testing
For webdev projects:
pnpm test
Refer to references/testing-strategies.md for detailed testing approaches.
Verify Completion
Before creating checkpoint, verify all tasks complete:
python /home/ubuntu/skills/systematic-feature-builder/scripts/verify_completion.py \
<project-path>/todo.md
This script checks for incomplete [ ] items and reports them.
Phase 5: Documentation & Checkpoint
Update Documentation
Ensure documentation reflects changes:
- Update README if user-facing features added
- Add inline code comments for complex logic
- Update API documentation if endpoints changed
Create Comprehensive Checkpoint
Follow checkpoint guidelines in references/checkpoint-guidelines.md.
Checkpoint Description Template:
[Feature name]: [brief summary]
## Features Added
### 1. [Feature Name]
- Key capability 1
- Key capability 2
- Location/integration point
## Technical Details
**Database Changes:**
- [Schema changes]
**New Files:**
- [Important new files and their purpose]
**Dependencies:**
- [New packages added]
## Testing
- [X] tests passing
- [Y] tests failing (if any, explain why)
## Next Steps
- [Suggested follow-up actions]
Webdev Checkpoint Checklist
Before creating webdev checkpoint:
Webdev-Specific Guidance
Database Changes
Always follow this sequence:
- Edit
drizzle/schema.ts
- Run
pnpm db:push to apply migration
- Verify migration succeeded
- Test database operations
File Organization
Create files in this order:
- Database layer:
drizzle/schema.ts
- Data access:
server/db.ts (query helpers)
- Business logic:
server/*-router.ts (tRPC endpoints)
- Frontend:
client/src/components/*.tsx, client/src/pages/*.tsx
Testing Pattern
import { describe, it, expect } from 'vitest';
describe('Feature Tests', () => {
it('should handle valid input', async () => {
const input = { };
const result = await endpoint(input);
expect(result).toMatchObject({ expected });
});
it('should handle error cases', async () => {
});
});
Common Patterns
Adding a Feature:
- Plan → Update todo.md
- Schema → Database migration
- Backend → tRPC endpoint + tests
- Frontend → Component + integration
- Test → Manual verification
- Checkpoint → Comprehensive description
Fixing a Bug:
- Reproduce → Document steps
- Identify → Root cause analysis
- Fix → Minimal change
- Test → Verify fix + no regressions
- Checkpoint → Explain bug and fix
Best Practices
Do
✅ Write plans before coding - Saves time, reduces rework
✅ Update todo.md actively - Provides clear progress tracking
✅ Test incrementally - Catch issues early
✅ Document decisions - Future you will thank present you
✅ Create detailed checkpoints - Enable easy rollback and review
Don't
❌ Skip planning - Leads to disorganized implementation
❌ Implement everything at once - Hard to debug, test, and review
❌ Forget to update todo.md - Loses track of progress
❌ Skip testing - Bugs slip into production
❌ Create vague checkpoints - Useless for rollback or review
Templates and Scripts
Available Resources
Templates (templates/):
implementation-plan-template.md - Structured feature plan
todo-template.md - Format for tracking features
Scripts (scripts/):
verify_completion.py - Validates all checklist items complete
References (references/):
testing-strategies.md - Testing approaches by project type
checkpoint-guidelines.md - Checkpoint best practices
Using Templates
Copy templates to your project:
cp /home/ubuntu/skills/systematic-feature-builder/templates/implementation-plan-template.md \
<project>/docs/plans/$(date +%Y-%m-%d)-feature-name.md
cp /home/ubuntu/skills/systematic-feature-builder/templates/todo-template.md \
<project>/todo.md
Examples
Example: Adding Bulk CSV Import Feature
Phase 1: Requirements
- Admin needs to import rep codes from CSV
- CSV format: email, repCode
- Show import results with errors
Phase 2: Plan
### Task 1: Backend Endpoint (30 min)
1. Add bulkImportRepCodes to admin-router.ts
2. Parse CSV data from input
3. Validate each row
4. Update database
5. Return results with errors
### Task 2: Frontend Component (45 min)
1. Create BulkRepCodeImport.tsx
2. Add file upload input
3. Integrate Papa Parse
4. Show import results
5. Add CSV template download
### Task 3: Integration (15 min)
1. Add component to Admin page
2. Test with sample CSV
3. Verify error handling
Phase 3: Implementation
- Implement tasks sequentially
- Update todo.md after each task
- Test each component independently
Phase 4: Testing
- Unit test: endpoint validates CSV correctly
- Integration test: upload CSV via UI
- Manual test: download template, upload, verify results
Phase 5: Checkpoint
Title: Add bulk rep code CSV import
## Features Added
- Admin endpoint for bulk importing rep codes
- BulkRepCodeImport component with file upload
- Papa Parse integration
- Detailed error reporting
## Technical Details
**New Files:**
- server/admin-router.ts: bulkImportRepCodes endpoint
- client/src/components/BulkRepCodeImport.tsx
**Dependencies:**
- papaparse, @types/papaparse
## Testing
- 52 tests passing
Troubleshooting
"Plan is too detailed/taking too long"
→ Reduce granularity. Focus on major steps, not every line of code.
"Implementation deviating from plan"
→ Update plan document with deviations and reasoning. Adjust todo.md.
"Tests failing after implementation"
→ Fix tests before checkpoint. Document any intentional test changes.
"Checkpoint description too long"
→ Focus on what changed and why. Move detailed technical notes to plan document.
Summary
This skill provides a systematic, organized approach to feature implementation:
- Analyze requirements thoroughly
- Plan implementation with detailed steps
- Implement systematically with progress tracking
- Test at multiple levels
- Document comprehensively in checkpoint
The result: high-quality, well-tested features with clear documentation and easy rollback capability.