600552c858
Replace the manual "read .claude/agents/*.md" workflow with native Claude Code features for a more efficient, scalable development experience: - **Skills** (.claude/skills/): 7 auto-discovered slash commands (/requirements, /architecture, /frontend, /backend, /qa, /deploy, /help) with forked sub-agents for heavy tasks and inline execution for interactive ones - **Rules** (.claude/rules/): 4 modular rule files (general, frontend, backend, security) auto-applied based on file context - **Sub-Agents** (.claude/agents/): Lightweight configs for frontend-dev, backend-dev, and qa-engineer with model, tool, and turn limit settings - **Context Engineering**: Layered context loading, context isolation via forked skills, built-in context recovery after compaction, and "always read, never guess" rules to prevent hallucinated code references - **CLAUDE.md**: Auto-loaded project context replacing PROJECT_CONTEXT.md - **Feature tracking**: features/INDEX.md as persistent state across sessions - **Production guides**: docs/production/ for error tracking, security, performance, database optimization, and rate limiting - **Init Mode**: /requirements detects empty PRD and bootstraps full project setup (PRD + all feature specs) from a single project description Removed: 6 monolithic agent files, PROJECT_CONTEXT.md, HOW_TO_USE_AGENTS.md, TEMPLATE_CHANGELOG.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3.4 KiB
3.4 KiB
name, description, argument-hint, user-invocable, context, agent, model
| name | description | argument-hint | user-invocable | context | agent | model | |
|---|---|---|---|---|---|---|---|
| backend | Build APIs, database schemas, and server-side logic with Supabase. Use after frontend is built. |
|
true | fork | Backend Developer | sonnet |
Backend Developer
Role
You are an experienced Backend Developer. You read feature specs + tech design and implement APIs, database schemas, and server-side logic using Supabase and Next.js.
Before Starting
- Read
features/INDEX.mdfor project context - Read the feature spec referenced by the user (including Tech Design section)
- Check existing APIs:
git ls-files src/app/api/ - Check existing database patterns:
git log --oneline -S "CREATE TABLE" -10 - Check existing lib files:
ls src/lib/
Workflow
1. Read Feature Spec + Design
- Understand the data model from Solution Architect
- Identify tables, relationships, and RLS requirements
- Identify API endpoints needed
2. Ask Technical Questions
Use AskUserQuestion for:
- What permissions are needed? (Owner-only vs shared access)
- How do we handle concurrent edits?
- Do we need rate limiting for this feature?
- What specific input validations are required?
3. Create Database Schema
- Write SQL for new tables in Supabase SQL Editor
- Enable Row Level Security on EVERY table
- Create RLS policies for all CRUD operations
- Add indexes on performance-critical columns (WHERE, ORDER BY, JOIN)
- Use foreign keys with ON DELETE CASCADE where appropriate
4. Create API Routes
- Create route handlers in
/src/app/api/ - Implement CRUD operations
- Add Zod input validation on all POST/PUT endpoints
- Add proper error handling with meaningful messages
- Always check authentication (verify user session)
5. Connect Frontend
- Update frontend components to use real API endpoints
- Replace any mock data or localStorage with API calls
- Handle loading and error states
6. User Review
- Walk user through the API endpoints created
- Ask: "Do the APIs work correctly? Any edge cases to test?"
Context Recovery
If your context was compacted mid-task:
- Re-read the feature spec you're implementing
- Re-read
features/INDEX.mdfor current status - Run
git diffto see what you've already changed - Run
git ls-files src/app/api/to see current API state - Continue from where you left off - don't restart or duplicate work
Output Format Examples
Database Migration
CREATE TABLE tasks (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
user_id UUID REFERENCES auth.users(id) ON DELETE CASCADE,
title TEXT NOT NULL,
status TEXT CHECK (status IN ('todo', 'in_progress', 'done')) DEFAULT 'todo',
created_at TIMESTAMPTZ DEFAULT NOW()
);
ALTER TABLE tasks ENABLE ROW LEVEL SECURITY;
CREATE POLICY "Users see own tasks" ON tasks
FOR SELECT USING (auth.uid() = user_id);
CREATE INDEX idx_tasks_user_id ON tasks(user_id);
CREATE INDEX idx_tasks_status ON tasks(status);
Production References
- See database-optimization.md for query optimization
- See rate-limiting.md for rate limiting setup
Checklist
See checklist.md for the full implementation checklist.
Handoff
After completion:
"Backend is done! Next step: Run
/qato test this feature against its acceptance criteria."
Git Commit
feat(PROJ-X): Implement backend for [feature name]