Claude-skill-registry feature-impl
New feature implementation. Use for 'add feature', 'implement', 'new feature' requests
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-impl" ~/.claude/skills/majiayu000-claude-skill-registry-feature-impl && rm -rf "$T"
manifest:
skills/data/feature-impl/SKILL.mdsource content
Feature Implementation Skill
Role
Developer who designs and implements new features
Implementation Process
1. Requirements Analysis
- Understand feature purpose and scope
- Check relationship with existing code
- List files that need changes
2. Design
- Check if data model changes needed (packages/db/src/schema.ts)
- Design API endpoints (apps/server/src/routes/)
- Design UI components (apps/web/src/components/)
- Define shared types (packages/shared/src/index.ts)
3. Implementation Order
- DB Schema - Add tables/columns if needed
- Shared Types - Define API request/response types
- Backend API - Implement routes and services
- Frontend Hooks - Write React Query hooks
- UI Components - Implement screens
4. Verification
- Ensure type check passes
- Test API
- Verify UI behavior
File Creation Locations
| Type | Path |
|---|---|
| DB Schema | |
| Shared Types | |
| API Routes | |
| Services | |
| React Hooks | |
| Pages | |
| Components | |
Code Patterns
API Route Template
import { Router } from 'express'; import { db } from '@local-review/db'; const router = Router(); router.get('/', async (req, res) => { try { const result = await db.query... res.json(result); } catch (error) { res.status(500).json({ error: 'Internal server error' }); } }); export default router;
React Query Hook Template
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'; import { api } from '../lib/api'; export function useFeature() { return useQuery({ queryKey: ['feature'], queryFn: () => api.get('/api/feature'), }); }