Full Stack Web App with Claude Skills Step by Step
Building a complete web application involves multiple phases: planning, frontend development, backend logic, testing, documentation, and deployment. Claude Code skills specialize in each of these areas, letting you move through development faster while maintaining quality. This guide walks you through creating a simple task management API with a React frontend, demonstrating how different skills handle specific challenges.
Prerequisites
Before starting, ensure you have:
- Node.js 18+ and npm installed
- Git configured with your repository
- Claude Code installed and accessible from the command line
You will also need a PostgreSQL database running locally or access to a cloud database service.
Step 1: Project Initialization with supermemory
Every successful project starts with clear requirements. The supermemory skill helps you organize project context, track decisions, and maintain a knowledge base throughout development.
Initialize your project structure:
# Create project directory
mkdir task-manager-api
cd task-manager-api
# Initialize Git
git init
# Set up your remote
git remote add origin git@github.com:yourusername/task-manager-api.git
Before writing code, use supermemory to document your API requirements:
/supermemory
Store the following project context:
- Project: Task Manager API
- Tech stack: Express.js backend, React frontend, PostgreSQL database
- Core features: Create tasks, list tasks, update task status, delete tasks
- Authentication: JWT-based auth
- Frontend: Single page app with task list, task form, and task detail views
This creates a persistent context that Claude Code references throughout development.
Step 2: Backend Development with tdd and pdf Skills
For the backend, use test-driven development to ensure your API is reliable from the start. The tdd skill guides you through writing tests before implementation, a practice that catches bugs early and improves code design.
Setting Up the Express Backend
Create your backend structure:
mkdir server
cd server
npm init -y
npm install express pg dotenv cors jsonwebtoken bcryptjs
npm install --save-dev jest supertest
Create your first test file using the tdd approach:
// server/tests/task.test.js
const request = require('supertest');
const app = require('../app');
describe('Tasks API', () => {
let authToken;
beforeAll(async () => {
// Create test user and get token
const response = await request(app)
.post('/api/auth/register')
.send({ email: 'test@example.com', password: 'password123' });
authToken = response.body.token;
});
test('POST /api/tasks creates a new task', async () => {
const response = await request(app)
.post('/api/tasks')
.set('Authorization', `Bearer ${authToken}`)
.send({ title: 'Test Task', description: 'Test description' });
expect(response.status).toBe(201);
expect(response.body).toHaveProperty('id');
expect(response.body.title).toBe('Test Task');
});
test('GET /api/tasks returns all tasks for user', async () => {
const response = await request(app)
.get('/api/tasks')
.set('Authorization', `Bearer ${authToken}`);
expect(response.status).toBe(200);
expect(Array.isArray(response.body)).toBe(true);
});
});
Run your tests with the tdd skill active:
/tdd
Run the task test suite and show me the coverage report
The tdd skill provides guidance on test structure, assertions, and helps interpret test failures. Once tests pass, implement the route handlers following the same pattern.
Generating API Documentation
The pdf skill helps you create comprehensive API documentation. After implementing your endpoints, generate documentation:
/pdf
Generate API documentation in PDF format with endpoint descriptions, request/response schemas, and authentication requirements
Your documentation file becomes valuable for future reference and for frontend developers who need to integrate with your API.
Step 3: Frontend Development with frontend-design and canvas-design
For the React frontend, use the frontend-design skill to generate component structures rapidly. This skill understands React patterns and creates accessible, well-structured components.
Creating the Task List Component
Describe your component to the frontend-design skill:
/frontend-design
Create a TaskList component that displays tasks from an API.
Requirements:
- Fetch tasks from GET /api/tasks
- Show loading state while fetching
- Display each task as a card with title, description, status badge
- Include empty state when no tasks exist
- Use React with hooks, TypeScript preferred
The skill generates the component structure with proper state management, error handling, and styling approach suggestions.
Adding Visual Elements with canvas-design
For custom graphics like status icons or empty state illustrations, use the canvas-design skill:
/canvas-design
Create a simple checkmark icon and an empty inbox illustration for a task management app. Output as PNG files at 64x64 pixels.
This eliminates the need for external design tools for simple assets.
Step 4: Integration and End-to-End Testing
Connect your frontend to backend by setting up environment variables:
// frontend/src/config.js
export const API_BASE_URL = process.env.REACT_APP_API_URL || 'http://localhost:5000/api';
For comprehensive testing, use the tdd skill to write integration tests:
/tdd
Write integration tests that verify the full user flow:
login, create task, view task in list, update task status, delete task
These tests ensure your frontend and backend work together correctly.
Step 5: Documentation and Knowledge Management
As your project grows, maintaining documentation becomes critical. The pdf skill creates user guides, while supermemory tracks technical decisions.
Generate a README using your existing code:
/pdf
Generate a project README from the codebase structure.
Include: installation instructions, API endpoints, environment variables,
and basic usage examples
Store project context in supermemory for future reference:
/supermemory
Add these development notes:
- Database schema: users(id, email, password_hash), tasks(id, user_id, title, description, status, created_at)
- Auth: JWT tokens expire in 24 hours
- Deployment: frontend on Vercel, backend on Render
- Known issues: None currently
Step 6: Deployment
Deploy your backend to a platform like Render or Railway:
# Example Render deployment configuration
# render.yaml
services:
- type: web
name: task-manager-api
env: node
buildCommand: npm install && npm run build
startCommand: npm start
envVars:
- key: DATABASE_URL
fromDatabase:
name: task-manager-db
property: connectionString
- key: JWT_SECRET
generateValue: true
Deploy your React frontend to Vercel or Netlify. Both platforms integrate with GitHub for automatic deployments.
Summary
This workflow demonstrates how Claude Code skills handle different aspects of full stack development:
- supermemory: Project context and decision tracking
- tdd: Test-driven development for backend and integration tests
- pdf: API and user documentation generation
- frontend-design: React component generation
- canvas-design: Custom visual assets
Each skill specializes in a specific domain, letting you focus on architecture and business logic while Claude handles repetitive tasks. As you build more projects, these skills adapt to your preferences and coding style.
Related Reading
- Best Claude Skills for Developers in 2026 — Top skills every developer should know
- Claude Skills vs Prompts: Which Is Better? — Decide when skills beat plain prompts
- Claude Skills Auto Invocation: How It Works — How skills activate automatically
Built by theluckystrike — More at zovo.one