Use GitHub Spec Kit's /speckit.implement and /speckit.tasks to systematically build missing features from specifications. Leverages implementation plans in specs/, validates against acceptance criteria, and achieves 100% spec completion. This is Step 6 of 6 in the reverse engineering process.
Inherits all available tools
Additional assets for this skill
This skill inherits all available tools. When active, it can use any tool Claude has access to.
operations/handoff.mdStep 6 of 6 in the Reverse Engineering to Spec-Driven Development process.
Estimated Time: Hours to days (depends on gaps)
Prerequisites: Step 5 completed (all specs finalized, no [NEEDS CLARIFICATION] markers)
Output: Fully implemented application with all specs marked ✅ COMPLETE
Use this skill when:
specs/ are finalizedspecs//speckit.implement to build featuresTrigger Phrases:
Uses GitHub Spec Kit's implementation workflow to systematically build features:
.specify/memory/ status markersKey Benefit: Spec Kit's /speckit.implement command guides you through implementation plans, updates specs automatically, and validates work against acceptance criteria.
This skill works differently based on context:
When: Just completed Gears 1-5, on main branch, gaps identified What happens: Handoff procedure (celebrate, explain transition, offer feature branch setup) See: operations/handoff.md
When: On feature branch (002-, 003-), working on specific feature What happens: Standard GitHub Spec Kit implementation workflow See: Process Overview below
The handoff only happens ONCE (after initial reverse engineering). After that, you always use standard /speckit.* workflow on feature branches.
The standard Spec Kit workflow is:
/speckit.specify → /speckit.plan → /speckit.tasks → /speckit.implement → /speckit.analyze
For reverse engineering, we've already done the first two steps:
/speckit.specify - Done in Step 3 (created specifications)/speckit.plan - Done in Step 3 (created implementation plans)Now we use the remaining commands:
/speckit.tasks - Generate task lists/speckit.implement - Build features/speckit.analyze - ValidateFrom docs/gap-analysis-report.md, review the phased plan:
Phase 1: P0 Critical (~12 hours)
Phase 2: P1 High Value (~20 hours)
Phase 3: P2/P3 (~TBD)
Confirm with user:
Use /speckit.tasks to generate actionable tasks from implementation plan:
# Example: Implement user authentication frontend
> /speckit.tasks user-authentication-frontend
What this does:
specs/user-authentication-frontend.mdOutput example:
# Tasks: User Authentication Frontend
Based on implementation plan in `specs/user-authentication-frontend.md`
## Tasks
- [ ] Create LoginPage component (app/login/page.tsx)
- [ ] Create RegistrationPage component (app/register/page.tsx)
- [ ] Create PasswordResetPage component (app/reset-password/page.tsx)
- [ ] Add Zod validation schemas (lib/validation/auth.ts)
- [ ] Create useAuth hook (hooks/useAuth.ts)
- [ ] Implement API integration (lib/api/auth.ts)
- [ ] Add loading states to all forms
- [ ] Add error handling and display
- [ ] Write component tests (LoginPage.test.tsx, etc.)
- [ ] Update routing configuration (app/layout.tsx)
## Dependencies
- Backend API endpoints must be functional
- UI component library installed
## Acceptance Criteria (from specification)
- [ ] User can register with email and password
- [ ] User can log in with credentials
- [ ] User can reset forgotten password
- [ ] JWT tokens stored securely
- [ ] Forms validate input before submission
- [ ] Loading states shown during API calls
- [ ] Error messages displayed clearly
See operations/generate-tasks.md
Use /speckit.implement to execute the implementation plan:
# Implement the feature step-by-step
> /speckit.implement user-authentication-frontend
What this does:
/speckit.tasks outputInteractive flow:
> /speckit.implement user-authentication-frontend
Starting implementation of: User Authentication Frontend
Plan: specs/user-authentication-frontend.md
Task 1/10: Create LoginPage component
I'll create app/login/page.tsx with:
- Email/password form
- Form validation
- Submit handler
- Link to registration and password reset
[Code generated]
✅ Task 1 complete
Task 2/10: Create RegistrationPage component
[...]
All tasks complete! Running validation...
✅ All acceptance criteria met
✅ Tests passing (8/8)
✅ No TypeScript errors
Updating specification status...
user-authentication.md: ⚠️ PARTIAL → ✅ COMPLETE
Implementation complete!
See operations/use-speckit-implement.md
After implementing, use /speckit.analyze to verify:
> /speckit.analyze
What it checks:
If issues found:
⚠️ Issues detected:
1. user-authentication.md marked COMPLETE
- Missing: Token refresh mechanism
- Action: Add token refresh or update spec
2. Inconsistency with user-profile.md
- user-profile depends on authentication
- user-profile marked PARTIAL
- Recommendation: Complete user-profile next
Fix any issues and re-run /speckit.analyze until clean.
After each feature:
Check progress:
> /speckit.analyze
# Shows: X/Y features complete
Update gap report:
Commit changes:
git commit -m "feat: implement user authentication frontend (user-authentication.md)"
Select next feature:
Repeat Steps 2-5 for each feature in the roadmap:
# Phase 1: P0 Critical
> /speckit.tasks fish-management-ui
> /speckit.implement fish-management-ui
> /speckit.analyze
> /speckit.tasks photo-upload-api
> /speckit.implement photo-upload-api
> /speckit.analyze
# Phase 2: P1 High Value
> /speckit.tasks analytics-dashboard
> /speckit.implement analytics-dashboard
> /speckit.analyze
# Continue until all features complete...
Track progress:
# 1. Review roadmap
User: "Let's implement the missing features"
Claude: Reviews docs/gap-analysis-report.md
Claude: "I see 3 P0 items. Let's start with fish-management-ui?"
User: "Yes, let's do it"
# 2. Generate tasks
> /speckit.tasks fish-management-ui
Output: 12 tasks identified
# 3. Implement
> /speckit.implement fish-management-ui
Starting implementation...
Task 1/12: Create FishEditPage component
[Code generated for app/fish/[id]/edit/page.tsx]
✅ Task 1 complete
Task 2/12: Add photo upload UI
[Code generated for components/PhotoUpload.tsx]
✅ Task 2 complete
[... continues through all 12 tasks ...]
Implementation complete!
✅ All acceptance criteria met
✅ Tests passing (15/15)
# 4. Validate
> /speckit.analyze
✅ No issues found
fish-management.md: ⚠️ PARTIAL → ✅ COMPLETE
# 5. Commit
git commit -m "feat: complete fish management UI (fish-management.md)"
# 6. Next feature
Claude: "Phase 1 progress: 1/3 complete. Next: photo-upload-api?"
User: "Yes"
# Repeat...
Your reverse-engineered codebase is now:
Spec Kit ensures:
After completion:
/speckit.specify for new features/speckit.plan → /speckit.tasks → /speckit.implement for development/speckit.analyze to maintain consistencyAfter running this skill (implementing all features), you should have:
/speckit.analyze shows no issuesOngoing spec-driven development established:
/speckit.specify/speckit.plan → /speckit.tasks → /speckit.implement/speckit.analyze/speckit.implement - Don't implement manually, let Spec Kit guide you/speckit.analyze after each featureFor each implementation:
If /speckit.analyze finds problems:
After completing the reverse engineering process:
# 1. Create specification
> /speckit.specify
# 2. Create implementation plan
> /speckit.plan
# 3. Generate tasks
> /speckit.tasks
# 4. Implement
> /speckit.implement
# 5. Validate
> /speckit.analyze
# 1. Update affected specifications
> /speckit.specify
# 2. Update implementation plan
> /speckit.plan
# 3. Implement changes
> /speckit.implement
# 4. Validate no regression
> /speckit.analyze
# 1. Update spec if bug reveals requirement gap
> /speckit.specify
# 2. Fix implementation
[manual fix or /speckit.implement]
# 3. Validate
> /speckit.analyze
/speckit.implement generates code - review before committing/speckit.tasks output can be refined if tasks are too broad/speckit.clarify if you discover ambiguities during implementation.specify/memory/ in version controlspecs/ is the source of truthYou've transformed:
/speckit.analyzeYour application is now:
Before finalizing, let's ensure everything meets quality standards through systematic validation.
# Validate implementation against specs
/stackshift.validate --fix
This will:
Expected result:
✅ VALIDATION PASSED
All tests passing: ✅
TypeScript compiling: ✅
Spec compliance: ✅
Code quality: ✅
🚀 Implementation is production-ready!
If validation finds issues, they'll be fixed automatically. If critical issues are found that can't be auto-fixed, I'll report them for manual resolution.
# Perform comprehensive code review
/stackshift.review
This reviews across 5 dimensions:
Expected result:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 Review Report
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
### ✅ APPROVED
All quality checks passed
Ready for deployment
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
If issues are found, I'll provide specific feedback with line numbers and recommendations.
After validation passes, let's create the coverage map...
Now let's create a visual coverage map showing the relationship between your specifications and code:
# Generate coverage map
I'll analyze all specs in .specify/memory/specifications/ or specs/ and create:
Output: docs/spec-coverage-map.md
This provides crucial visibility into spec-code alignment and helps identify any gaps!
After generating the coverage map, I'll show you a summary:
📊 Spec Coverage Health Report
Overall Coverage: 91% (99/109 files)
By Category:
Backend: 93% [████████████████░░]
Frontend: 92% [████████████████░░]
Infrastructure: 83% [███████████████░░░]
Database: 100% [████████████████████]
Scripts: 67% [█████████░░░░░░░░░]
Status:
✅ 12 specs covering 99 files
⚠️ 10 gap files identified (need review)
🔴 2 high-risk shared files (used by 4+ specs)
Full report: docs/spec-coverage-map.md
Congratulations! You've completed the 6-step Reverse Engineering to Spec-Driven Development process. Your codebase is now enterprise-grade, fully specified, and ready for sustainable development using GitHub Spec Kit or continue using StackShift to help develop new functionality. 🎉
Remember: Maintain the spec-driven workflow going forward:
/speckit.specify)/speckit.plan)/speckit.tasks)/speckit.implement)/speckit.analyze)This ensures specs and code never drift apart.