skills/workflow-skills/systematic-feature-builder/SKILL.md
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.
npx skillsauth add abcnuts/manus-skills systematic-feature-builderInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Implement features systematically with detailed planning, progress tracking, and comprehensive testing.
Use this skill when:
Follow these five phases in order:
Extract clear requirements from user input:
Determine what exists and what needs to be created:
Ask targeted questions if requirements are unclear:
Use the implementation plan template:
# Copy template to project
cp /home/ubuntu/skills/systematic-feature-builder/templates/implementation-plan-template.md \
<project-path>/docs/plans/YYYY-MM-DD-feature-name.md
Plan Structure:
Each task should:
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
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
Implement tasks in order, following the plan:
This order minimizes rework and allows incremental testing.
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.
If you deviate from the plan:
For long implementations, send info messages at milestones:
Test at all three levels before checkpoint:
1. Unit Tests
2. Integration Tests
3. Manual Verification
For webdev projects:
# Run automated tests
pnpm test
# Check dev server health
# (use webdev_check_status tool)
# Manual browser testing
# - Open dev server URL
# - Test feature in browser
# - Check console for errors
# - Verify responsive design
Refer to references/testing-strategies.md for detailed testing approaches.
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.
Ensure documentation reflects changes:
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]
Before creating webdev checkpoint:
webdev_check_status shows no critical errors[x]Always follow this sequence:
drizzle/schema.tspnpm db:push to apply migrationCreate files in this order:
drizzle/schema.tsserver/db.ts (query helpers)server/*-router.ts (tRPC endpoints)client/src/components/*.tsx, client/src/pages/*.tsx// server/feature.test.ts
import { describe, it, expect } from 'vitest';
describe('Feature Tests', () => {
it('should handle valid input', async () => {
// Arrange
const input = { /* test data */ };
// Act
const result = await endpoint(input);
// Assert
expect(result).toMatchObject({ expected });
});
it('should handle error cases', async () => {
// Test error scenarios
});
});
Adding a Feature:
Fixing a Bug:
✅ 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
❌ 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 (templates/):
implementation-plan-template.md - Structured feature plantodo-template.md - Format for tracking featuresScripts (scripts/):
verify_completion.py - Validates all checklist items completeReferences (references/):
testing-strategies.md - Testing approaches by project typecheckpoint-guidelines.md - Checkpoint best practicesCopy templates to your project:
# Implementation plan
cp /home/ubuntu/skills/systematic-feature-builder/templates/implementation-plan-template.md \
<project>/docs/plans/$(date +%Y-%m-%d)-feature-name.md
# Todo file (if project doesn't have one)
cp /home/ubuntu/skills/systematic-feature-builder/templates/todo-template.md \
<project>/todo.md
Phase 1: Requirements
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
Phase 4: Testing
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
"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.
This skill provides a systematic, organized approach to feature implementation:
The result: high-quality, well-tested features with clear documentation and easy rollback capability.
tools
Generate comprehensive demonstrations showing how to access projects and work across different environments (Manus terminals, personal computers, team collaboration). Use when users ask "how do I access this from another terminal/computer", "how do I share this with my team", "how do I get this on my Mac", or need clarification on Manus persistence vs GitHub usage.
development
Use when you have a spec or requirements for a multi-step task, before touching code
data-ai
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always
development
Use when implementing any feature or bugfix, before writing implementation code