Orchestrates creating a complete fullstack feature across backend and frontend. Use when adding new features that span both layers.
Scanned 2/12/2026
Install via CLI
openskills install majiayu000/claude-skill-registry---
name: fullstack-feature
description: Orchestrates creating a complete fullstack feature across backend and frontend. Use when adding new features that span both layers.
---
# Fullstack Feature
Orchestrates the creation of a complete feature across backend and frontend.
## Overview
A fullstack feature typically requires:
1. Backend API module (Clean Architecture)
2. Database migration
3. Frontend API types generation
4. Frontend hooks
5. Frontend page and components
## Workflow
### Phase 1: Backend
**Step 1: Create API Module**
Use the `create-api-module` skill or scaffold script:
```bash
python .claude/skills/create-api-module/scripts/scaffold_module.py {feature_name}
```
This creates:
- `back/src/api/{feature}/` with Clean Architecture structure
- `back/tests/api/{feature}/` with test files
**Step 2: Customize the Module**
1. Update models in `infrastructure/models.py`
2. Add repository methods in `infrastructure/repository.py`
3. Implement business logic in `domain/`
4. Create API endpoints in `api/router.py`
5. Register router in `back/src/api/routes.py`
**Step 3: Create Database Migration**
```bash
docker compose exec back uv run alembic revision --autogenerate -m "Add {feature} table"
```
**Step 4: Run Backend Tests**
```bash
cd back && task tests
```
### Phase 2: Frontend
**Step 5: Generate API Types**
Ensure backend is running, then:
```bash
cd front && pnpm run generate:api
```
**Step 6: Create Feature Hook**
Create `front/lib/hooks/use-{feature}.ts`:
- Query key factory
- `use{Feature}Suspense` for data fetching
- Mutation hooks for create/update/delete
See `add-feature-hook` skill for patterns.
**Step 7: Create Page and Components**
Create:
- `front/app/{feature}/page.tsx` - Auth wrapper
- `front/app/{feature}/loading.tsx` - Loading state
- `front/components/{feature}/{Feature}Content.tsx` - Data fetching + UI
See `add-protected-page` skill for patterns.
**Step 8: Update Middleware** (if needed)
```typescript
// front/middleware.ts
const isProtectedRoute = createRouteMatcher([
'/dashboard(.*)',
// ... existing routes
'/{feature}(.*)', // Add new route
]);
```
### Phase 3: Quality Checks
**Step 9: Run All Quality Checks**
Backend:
```bash
cd back && task format && task tests
```
Frontend:
```bash
cd front && pnpm type-check && pnpm lint && pnpm test
```
## Checklist
- [ ] Backend module created with Clean Architecture
- [ ] Database migration created and applied
- [ ] Backend tests passing
- [ ] API types generated in frontend
- [ ] Feature hook created
- [ ] Page and components created
- [ ] Middleware updated (if protected route)
- [ ] All quality checks passing
## Related Skills
- `create-api-module` - Backend module creation
- `create-db-migration` - Database migrations
- `add-protected-page` - Frontend page creation
- `add-feature-hook` - Frontend API hooks
- `backend-quality` - Backend quality checks
- `frontend-quality` - Frontend quality checks
No comments yet. Be the first to comment!