Files
gh-jschulte-claude-plugins-…/commands/speckit-implement.md
2025-11-30 08:29:31 +08:00

4.5 KiB

description
description
Implement feature from specification and plan

Spec Kit: Implement Feature

Systematically implement a feature from its specification and implementation plan.

Inputs

Feature name: 008-user-profile/tasks.md

Files to read:

  • Specification: specs/specs/008-user-profile/tasks.md
  • Implementation Plan: specs/specs/008-user-profile/tasks.md

Implementation Process

Step 1: Review Specification

Read specs/specs/008-user-profile/tasks.md:

  • Understand the feature overview
  • Read all user stories
  • Review acceptance criteria (these are your tests!)
  • Note dependencies on other features
  • Check current status (COMPLETE/PARTIAL/MISSING)

Step 2: Review Implementation Plan

Read specs/specs/008-user-profile/tasks.md:

  • Understand current vs target state
  • Review technical approach
  • Read the task list
  • Note risks and mitigations
  • Review testing strategy

Step 3: Execute Tasks Systematically

For each task in the implementation plan:

  1. Read the task description

  2. Implement the task:

    • Create/modify files as needed
    • Follow existing code patterns
    • Use appropriate frameworks/libraries
    • Add proper error handling
    • Include logging where appropriate
  3. Test the task:

    • Run relevant tests
    • Manual testing if needed
    • Verify acceptance criteria
  4. Mark task complete:

    • Update task checklist
    • Note any issues or deviations
  5. Continue to next task

Step 4: Validate Against Acceptance Criteria

After all tasks complete, verify each acceptance criterion:

## Acceptance Criteria Validation

- [x] User can register with email/password
  ✅ Tested: Registration form works, user created in DB

- [x] Passwords meet complexity requirements
  ✅ Tested: Weak passwords rejected with proper error message

- [x] Verification email sent
  ✅ Tested: Email sent via SendGrid, token valid for 24h

- [ ] User can reset password
  ❌ NOT IMPLEMENTED: Deferred to future sprint

Step 5: Run Tests

Execute test suite:

# Run unit tests
npm test

# Run integration tests (if available)
npm run test:integration

# Run E2E tests for this feature (if available)
npm run test:e2e

Report test results:

  • Tests passing: X/Y
  • New tests added: Z
  • Coverage: X%

Step 6: Update Specification Status

Update specs/specs/008-user-profile/tasks.md:

If fully implemented:

## Status
**COMPLETE** - Fully implemented and tested

## Implementation Complete

- Date: [current date]
- All acceptance criteria met
- Tests passing: X/X
- No known issues

If partially implemented:

## Status
⚠️ **PARTIAL** - Core functionality complete, missing: [list]

## Implementation Status

**Completed:**
- ✅ [What was implemented]

**Still Missing:**
- ❌ [What's still needed]

**Reason:** [Why not fully complete]

Step 7: Commit Changes

Create commit with reference to specification:

git add .
git commit -m "feat: implement specs/008-user-profile/tasks.md (specs/008-user-profile/tasks.md)

Implemented from specification: specs/specs/008-user-profile/tasks.md

Completed:
- [Task 1]
- [Task 2]
- [Task 3]

Tests: X passing
Status: COMPLETE"

Output Format

Provide summary:

## Implementation Complete: specs/008-user-profile/tasks.md

### Tasks Completed
- [x] Task 1: [description] (file.ts)
- [x] Task 2: [description] (file2.ts)
- [x] Task 3: [description]

### Files Created/Modified
- src/feature/component.ts (142 lines)
- src/api/endpoint.ts (78 lines)
- tests/feature.test.ts (95 lines)

### Tests
- Unit tests: 12/12 passing ✅
- Integration tests: 3/3 passing ✅
- Coverage: 87%

### Acceptance Criteria
- [x] Criterion 1 ✅
- [x] Criterion 2 ✅
- [x] Criterion 3 ✅

### Status Update
- Previous: ❌ MISSING
- Now: ✅ COMPLETE

### Commit
✅ Committed: feat: implement specs/008-user-profile/tasks.md

### Next Steps
Ready to shift into next feature or run `/speckit.analyze` to validate.

Error Handling

If implementation fails:

  • Save progress (mark completed tasks)
  • Update spec with partial status
  • Document blocker
  • Provide recommendations

If tests fail:

  • Fix issues before marking complete
  • Update spec if acceptance criteria need adjustment
  • Document test failures

Notes

  • Work incrementally (one task at a time)
  • Test frequently (after each task if possible)
  • Commit early and often
  • Update spec status accurately
  • Cross-reference related specs
  • For greenfield: Use target_stack from state
  • For brownfield: Maintain existing patterns and stack