Claude-skill-registry feature-implementation

Comprehensive checklist for implementing new features in Ishkul. Ensures all aspects are covered including frontend, backend, tests, E2E tests, infrastructure, and documentation. Use when starting work on a new feature or enhancement.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/feature-implementation" ~/.claude/skills/majiayu000-claude-skill-registry-feature-implementation-08b379 && rm -rf "$T"
manifest: skills/data/feature-implementation/SKILL.md
source content

Feature Implementation Checklist

This skill provides a comprehensive checklist for implementing new features across the Ishkul platform.

Pre-Implementation

Before starting:

  1. Understand the feature requirements
  2. Identify affected areas (frontend, backend, database, etc.)
  3. Plan the implementation approach

Implementation Checklist

Frontend Changes

  • UI components in
    frontend/src/components/
  • Screens in
    frontend/src/screens/
  • State management in
    frontend/src/state/
    (Zustand stores)
  • Types in
    frontend/src/types/
  • Navigation updates in
    frontend/src/navigation/
  • Services for API calls in
    frontend/src/services/

Backend Changes

  • Handlers in
    backend/internal/handlers/
  • Routes in
    backend/cmd/server/main.go
  • Firebase/Firestore operations in
    backend/pkg/firebase/
  • Business logic implementation

Unit Tests (MANDATORY)

  • Frontend screen tests:
    frontend/src/screens/__tests__/
  • Frontend component tests:
    frontend/src/components/__tests__/
  • Backend handler tests:
    backend/internal/handlers/*_test.go
  • State transition tests for React components

Integration Tests

  • API endpoint integration tests
  • Service interaction tests

E2E Tests

  • Playwright tests for web:
    e2e/
  • Maestro tests for mobile:
    .maestro/
  • Newman/Postman API tests:
    tests/postman/

Infrastructure

  • Firebase/Firestore rules:
    firebase/
  • Environment variables added to
    .env.example
  • Cloud Run configuration updates
  • GitHub Actions workflow updates if needed

Documentation

  • Update CLAUDE.md if architecture changed
  • Update relevant docs in
    docs/
    folder
  • Clear commit messages explaining changes

Verification Commands

Frontend

cd frontend
npm run type-check  # TypeScript validation
npm run lint        # ESLint
npm test           # Unit tests
npm start          # Local testing

Backend

cd backend
gofmt -w .         # Format code
go vet ./...       # Static analysis
go test ./...      # Unit tests
go run cmd/server/main.go  # Local testing

E2E Tests

# Web E2E
cd e2e && npm test

# Mobile E2E
maestro test .maestro/flows/smoke-test.yaml

# API Tests
newman run tests/postman/ishkul-api.collection.json

Adding New Screens (Quick Reference)

  1. Create screen:
    frontend/src/screens/NewScreen.tsx
  2. Add navigation:
    frontend/src/navigation/AppNavigator.tsx
  3. Update types:
    frontend/src/types/app.ts
  4. Create tests:
    frontend/src/screens/__tests__/NewScreen.test.tsx
  5. Run verification:
    npm run type-check && npm test

Adding New API Endpoints (Quick Reference)

  1. Create handler:
    backend/internal/handlers/new_handler.go
  2. Create tests:
    backend/internal/handlers/new_handler_test.go
  3. Add route:
    backend/cmd/server/main.go
  4. Run verification:
    gofmt -w . && go vet ./... && go test ./...
  5. Test locally:
    go run cmd/server/main.go