
App Builder
- 1k installs
- 44k repo stars
- Updated July 27, 2026
- sickn33/antigravity-awesome-skills
App Builder is an agent orchestration skill that runs a plan-first specialist-agent pipeline with task breakdown, dependency graphs, and file-structure planning for developers who need coordinated multi-agent coding inst
About
App Builder is a multi-agent orchestration skill from sickn33/antigravity-awesome-skills that replaces ad-hoc code generation with a strict plan-first pipeline. An App Builder orchestrator delegates to a Project Planner that produces task breakdowns, dependency graphs, file-structure plans, and {task-slug} work units before implementation agents execute. Developers reach for App Builder when a feature spans multiple layers—API, UI, tests, config—and needs sequenced handoffs with explicit dependencies rather than a single monolithic prompt. The workflow mirrors a tech lead assigning scoped tickets to specialists, making it suited to greenfield features, refactors, and scaffold-heavy projects where execution order matters.
- Orchestrates Project Planner → specialist agents (Database, Backend, Frontend, etc.)
- Enforces mandatory {task-slug}.md plan file in project root before any specialist runs
- Implements hard-gate checkpoint that stops execution if plan verification fails
- Creates dependency graph, task breakdown, and file structure as first step
- Coordinates multi-agent pipeline while maintaining strict sequential verification
App Builder by the numbers
- 1,013 all-time installs (skills.sh)
- +21 installs in the week ending Jul 28, 2026 (Skillselion tracking)
- Ranked #461 of 3,301 Productivity & Planning skills by installs in the Skillselion catalog
- Security screen: LOW risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/sickn33/antigravity-awesome-skills --skill app-builderAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1k |
|---|---|
| repo stars | ★ 44k |
| Security audit | 3 / 3 scanners passed |
| Last updated | July 27, 2026 |
| Repository | sickn33/antigravity-awesome-skills ↗ |
How do you orchestrate specialist coding agents with a plan-first workflow?
Orchestrate a team of specialist agents that follow a strict plan-first workflow instead of generating code chaotically.
Who is it for?
Developers building multi-layer features who want an AI agent to plan tasks, map dependencies, and coordinate specialist agents before writing code.
Skip if: Developers who need a single-file fix, a quick snippet, or a one-shot answer without multi-step planning overhead.
When should I use this skill?
The user asks to build an app or feature with multiple agents, wants plan-first coordination, or needs task breakdown before coding starts.
What you get
Task breakdown, dependency graph, file-structure plan, task-slug work units, and sequenced specialist-agent deliverables.
- task breakdown
- dependency graph
- file-structure plan
Files
App Builder - Application Building Orchestrator
Analyzes user's requests, determines tech stack, plans structure, and coordinates agents.
🎯 Selective Reading Rule
Read ONLY files relevant to the request! Check the content map, find what you need.
| File | Description | When to Read |
|---|---|---|
project-detection.md | Keyword matrix, project type detection | Starting new project |
tech-stack.md | 2025 default stack, alternatives | Choosing technologies |
agent-coordination.md | Agent pipeline, execution order | Coordinating multi-agent work |
scaffolding.md | Directory structure, core files | Creating project structure |
feature-building.md | Feature analysis, error handling | Adding features to existing project |
templates/SKILL.md | Project templates | Scaffolding new project |
---
📦 Templates (13)
Quick-start scaffolding for new projects. Read the matching template only!
| Template | Tech Stack | When to Use |
|---|---|---|
| nextjs-fullstack | Next.js + Prisma | Full-stack web app |
| nextjs-saas | Next.js + Stripe | SaaS product |
| nextjs-static | Next.js + Framer | Landing page |
| nuxt-app | Nuxt 3 + Pinia | Vue full-stack app |
| express-api | Express + JWT | REST API |
| python-fastapi | FastAPI | Python API |
| react-native-app | Expo + Zustand | Mobile app |
| flutter-app | Flutter + Riverpod | Cross-platform mobile |
| electron-desktop | Electron + React | Desktop app |
| chrome-extension | Chrome MV3 | Browser extension |
| cli-tool | Node.js + Commander | CLI app |
| monorepo-turborepo | Turborepo + pnpm | Monorepo |
---
🔗 Related Agents
| Agent | Role |
|---|---|
project-planner | Task breakdown, dependency graph |
frontend-specialist | UI components, pages |
backend-specialist | API, business logic |
database-architect | Schema, migrations |
devops-engineer | Deployment, preview |
---
Usage Example
User: "Make an Instagram clone with photo sharing and likes"
App Builder Process:
1. Project type: Social Media App
2. Tech stack: Next.js + Prisma + Cloudinary + Clerk
3. Create plan:
├─ Database schema (users, posts, likes, follows)
├─ API routes (12 endpoints)
├─ Pages (feed, profile, upload)
└─ Components (PostCard, Feed, LikeButton)
4. Coordinate agents
5. Report progress
6. Start previewWhen to Use
This skill is applicable to execute the workflow or actions described in the overview.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Agent Coordination
How App Builder orchestrates specialist agents.
Agent Pipeline
┌─────────────────────────────────────────────────────────────┐
│ APP BUILDER (Orchestrator) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ PROJECT PLANNER │
│ • Task breakdown │
│ • Dependency graph │
│ • File structure planning │
│ • Create {task-slug}.md in project root (MANDATORY) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ CHECKPOINT: PLAN VERIFICATION │
│ 🔴 VERIFY: Does {task-slug}.md exist in project root? │
│ 🔴 If NO → STOP → Create plan file first │
│ 🔴 If YES → Proceed to specialist agents │
└─────────────────────────────────────────────────────────────┘
│
┌───────────────────┼───────────────────┐
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ DATABASE │ │ BACKEND │ │ FRONTEND │
│ ARCHITECT │ │ SPECIALIST │ │ SPECIALIST │
│ │ │ │ │ │
│ • Schema design │ │ • API routes │ │ • Components │
│ • Migrations │ │ • Controllers │ │ • Pages │
│ • Seed data │ │ • Middleware │ │ • Styling │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
└───────────────────┼───────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ PARALLEL PHASE (Optional) │
│ • Security Auditor → Vulnerability check │
│ • Test Engineer → Unit tests │
│ • Performance Optimizer → Bundle analysis │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ DEVOPS ENGINEER │
│ • Environment setup │
│ • Preview deployment │
│ • Health check │
└─────────────────────────────────────────────────────────────┘Execution Order
| Phase | Agent(s) | Parallel? | Prerequisite | CHECKPOINT |
|---|---|---|---|---|
| 0 | Socratic Gate | ❌ | - | ✅ Ask 3 questions |
| 1 | Project Planner | ❌ | Questions answered | ✅ PLAN.md created |
| 1.5 | PLAN VERIFICATION | ❌ | PLAN.md exists | ✅ File exists in root |
| 2 | Database Architect | ❌ | Plan ready | Schema defined |
| 3 | Backend Specialist | ❌ | Schema ready | API routes created |
| 4 | Frontend Specialist | ✅ | API ready (partial) | UI components ready |
| 5 | Security Auditor, Test Engineer | ✅ | Code ready | Tests & audit pass |
| 6 | DevOps Engineer | ❌ | All code ready | Deployment ready |
🔴 CRITICAL: Phase 1.5 is MANDATORY. No specialist agents proceed without PLAN.md verification.
Feature Building
How to analyze and implement new features.
Feature Analysis
Request: "add payment system"
Analysis:
├── Required Changes:
│ ├── Database: orders, payments tables
│ ├── Backend: /api/checkout, /api/webhooks/stripe
│ ├── Frontend: CheckoutForm, PaymentSuccess
│ └── Config: Stripe API keys
│
├── Dependencies:
│ ├── stripe package
│ └── Existing user authentication
│
└── Estimated Time: 15-20 minutesIterative Enhancement Process
1. Analyze existing project
2. Create change plan
3. Present plan to user
4. Get approval
5. Apply changes
6. Test
7. Show previewError Handling
| Error Type | Solution Strategy |
|---|---|
| TypeScript Error | Fix type, add missing import |
| Missing Dependency | Run npm install |
| Port Conflict | Suggest alternative port |
| Database Error | Check migration, validate connection |
Recovery Strategy
1. Detect error
2. Try automatic fix
3. If failed, report to user
4. Suggest alternative
5. Rollback if necessaryProject Type Detection
Analyze user requests to determine project type and template.
Keyword Matrix
| Keywords | Project Type | Template |
|---|---|---|
| blog, post, article | Blog | astro-static |
| e-commerce, product, cart, payment | E-commerce | nextjs-saas |
| dashboard, panel, management | Admin Dashboard | nextjs-fullstack |
| api, backend, service, rest | API Service | express-api |
| python, fastapi, django | Python API | python-fastapi |
| mobile, android, ios, react native | Mobile App (RN) | react-native-app |
| flutter, dart | Mobile App (Flutter) | flutter-app |
| portfolio, personal, cv | Portfolio | nextjs-static |
| crm, customer, sales | CRM | nextjs-fullstack |
| saas, subscription, stripe | SaaS | nextjs-saas |
| landing, promotional, marketing | Landing Page | nextjs-static |
| docs, documentation | Documentation | astro-static |
| extension, plugin, chrome | Browser Extension | chrome-extension |
| desktop, electron | Desktop App | electron-desktop |
| cli, command line, terminal | CLI Tool | cli-tool |
| monorepo, workspace | Monorepo | monorepo-turborepo |
Detection Process
1. Tokenize user request
2. Extract keywords
3. Determine project type
4. Detect missing information → forward to conversation-manager
5. Suggest tech stackProject Scaffolding
Directory structure and core files for new projects.
---
Next.js Full-Stack Structure (2025 Optimized)
project-name/
├── src/
│ ├── app/ # Routes only (thin layer)
│ │ ├── layout.tsx
│ │ ├── page.tsx
│ │ ├── globals.css
│ │ ├── (auth)/ # Route group - auth pages
│ │ │ ├── login/page.tsx
│ │ │ └── register/page.tsx
│ │ ├── (dashboard)/ # Route group - dashboard layout
│ │ │ ├── layout.tsx
│ │ │ └── page.tsx
│ │ └── api/
│ │ └── [resource]/route.ts
│ │
│ ├── features/ # Feature-based modules
│ │ ├── auth/
│ │ │ ├── components/
│ │ │ ├── hooks/
│ │ │ ├── actions.ts # Server Actions
│ │ │ ├── queries.ts # Data fetching
│ │ │ └── types.ts
│ │ ├── products/
│ │ │ ├── components/
│ │ │ ├── actions.ts
│ │ │ └── queries.ts
│ │ └── cart/
│ │ └── ...
│ │
│ ├── shared/ # Shared utilities
│ │ ├── components/ui/ # Reusable UI components
│ │ ├── lib/ # Utils, helpers
│ │ └── hooks/ # Global hooks
│ │
│ └── server/ # Server-only code
│ ├── db/ # Database client (Prisma)
│ ├── auth/ # Auth config
│ └── services/ # External API integrations
│
├── prisma/
│ ├── schema.prisma
│ ├── migrations/
│ └── seed.ts
│
├── public/
├── .env.example
├── .env.local
├── package.json
├── tailwind.config.ts
├── tsconfig.json
└── README.md---
Structure Principles
| Principle | Implementation |
|---|---|
| Feature isolation | Each feature in features/ with its own components, hooks, actions |
| Server/Client separation | Server-only code in server/, prevents accidental client imports |
| Thin routes | app/ only for routing, logic lives in features/ |
| Route groups | (groupName)/ for layout sharing without URL impact |
| Shared code | shared/ for truly reusable UI and utilities |
---
Core Files
| File | Purpose |
|---|---|
package.json | Dependencies |
tsconfig.json | TypeScript + path aliases (@/features/*) |
tailwind.config.ts | Tailwind config |
.env.example | Environment template |
README.md | Project documentation |
.gitignore | Git ignore rules |
prisma/schema.prisma | Database schema |
---
Path Aliases (tsconfig.json)
{
"compilerOptions": {
"paths": {
"@/*": ["./src/*"],
"@/features/*": ["./src/features/*"],
"@/shared/*": ["./src/shared/*"],
"@/server/*": ["./src/server/*"]
}
}
}---
When to Use What
| Need | Location |
|---|---|
| New page/route | app/(group)/page.tsx |
| Feature component | features/[name]/components/ |
| Server action | features/[name]/actions.ts |
| Data fetching | features/[name]/queries.ts |
| Reusable button/input | shared/components/ui/ |
| Database query | server/db/ |
| External API call | server/services/ |
Tech Stack Selection (2025)
Default and alternative technology choices for web applications.
Default Stack (Web App - 2025)
Frontend:
framework: Next.js 16 (Stable)
language: TypeScript 5.7+
styling: Tailwind CSS v4
state: React 19 Actions / Server Components
bundler: Turbopack (Stable for Dev)
Backend:
runtime: Node.js 23
framework: Next.js API Routes / Hono (for Edge)
validation: Zod / TypeBox
Database:
primary: PostgreSQL
orm: Prisma / Drizzle
hosting: Supabase / Neon
Auth:
provider: Auth.js (v5) / Clerk
Monorepo:
tool: Turborepo 2.0Alternative Options
| Need | Default | Alternative |
|---|---|---|
| Real-time | - | Supabase Realtime, Socket.io |
| File storage | - | Cloudinary, S3 |
| Payment | Stripe | LemonSqueezy, Paddle |
| - | Resend, SendGrid | |
| Search | - | Algolia, Typesense |
Astro Static Site Template
Tech Stack
| Component | Technology |
|---|---|
| Framework | Astro 4.x |
| Content | MDX + Content Collections |
| Styling | Tailwind CSS |
| Integrations | Sitemap, RSS, SEO |
| Output | Static/SSG |
---
Directory Structure
project-name/
├── src/
│ ├── components/ # .astro components
│ ├── content/ # MDX content
│ │ ├── blog/
│ │ └── config.ts # Collection schemas
│ ├── layouts/ # Page layouts
│ ├── pages/ # File-based routing
│ └── styles/
├── public/ # Static assets
├── astro.config.mjs
└── package.json---
Key Concepts
| Concept | Description |
|---|---|
| Content Collections | Type-safe content with Zod schemas |
| Islands Architecture | Partial hydration for interactivity |
| Zero JS by default | Static HTML unless needed |
| MDX Support | Markdown with components |
---
Setup Steps
1. npm create astro@latest {{name}} 2. Add integrations: npx astro add mdx tailwind sitemap 3. Configure astro.config.mjs 4. Create content collections 5. npm run dev
---
Deployment
| Platform | Method |
|---|---|
| Vercel | Auto-detected |
| Netlify | Auto-detected |
| Cloudflare Pages | Auto-detected |
| GitHub Pages | Build + deploy action |
---
Best Practices
- Use Content Collections for type safety
- Leverage static generation
- Add islands only where needed
- Optimize images with Astro Image
Chrome Extension Template
Tech Stack
| Component | Technology |
|---|---|
| Manifest | V3 |
| UI | React 18 |
| Language | TypeScript |
| Styling | Tailwind CSS |
| Bundler | Vite |
| Storage | Chrome Storage API |
---
Directory Structure
project-name/
├── src/
│ ├── popup/ # Extension popup
│ ├── options/ # Options page
│ ├── background/ # Service worker
│ ├── content/ # Content scripts
│ ├── components/
│ ├── hooks/
│ └── lib/
│ ├── storage.ts # Chrome storage helpers
│ └── messaging.ts # Message passing
├── public/
│ ├── icons/
│ └── manifest.json
└── package.json---
Manifest V3 Concepts
| Component | Purpose |
|---|---|
| Service Worker | Background processing |
| Content Scripts | Page injection |
| Popup | User interface |
| Options Page | Settings |
---
Permissions
| Permission | Use |
|---|---|
| storage | Save user data |
| activeTab | Current tab access |
| scripting | Inject scripts |
| host_permissions | Site access |
---
Setup Steps
1. npm create vite {{name}} -- --template react-ts 2. Add Chrome types: npm install -D @types/chrome 3. Configure Vite for multi-entry 4. Create manifest.json 5. npm run dev (watch mode) 6. Load in Chrome: chrome://extensions → Load unpacked
---
Development Tips
| Task | Method |
|---|---|
| Debug Popup | Right-click icon → Inspect |
| Debug Background | Extensions page → Service worker |
| Debug Content | DevTools console on page |
| Hot Reload | npm run dev with watch |
---
Best Practices
- Use type-safe messaging
- Wrap Chrome APIs in promises
- Minimize permissions
- Handle offline gracefully
CLI Tool Template
Tech Stack
| Component | Technology |
|---|---|
| Runtime | Node.js 20+ |
| Language | TypeScript |
| CLI Framework | Commander.js |
| Prompts | Inquirer.js |
| Output | chalk + ora |
| Config | cosmiconfig |
---
Directory Structure
project-name/
├── src/
│ ├── index.ts # Entry point
│ ├── cli.ts # CLI setup
│ ├── commands/ # Command handlers
│ ├── lib/
│ │ ├── config.ts # Config loader
│ │ └── logger.ts # Styled output
│ └── types/
├── bin/
│ └── cli.js # Executable
└── package.json---
CLI Design Principles
| Principle | Description |
|---|---|
| Subcommands | Group related actions |
| Options | Flags with defaults |
| Interactive | Prompts when needed |
| Non-interactive | Support --yes flags |
---
Key Components
| Component | Purpose |
|---|---|
| Commander | Command parsing |
| Inquirer | Interactive prompts |
| Chalk | Colored output |
| Ora | Spinners/loading |
| Cosmiconfig | Config file discovery |
---
Setup Steps
1. Create project directory 2. npm init -y 3. Install deps: npm install commander @inquirer/prompts chalk ora cosmiconfig 4. Configure bin in package.json 5. npm link for local testing
---
Publishing
npm login
npm publish---
Best Practices
- Provide helpful error messages
- Support both interactive and non-interactive modes
- Use consistent output styling
- Validate inputs with Zod
- Exit with proper codes (0 success, 1 error)
Electron Desktop App Template
Tech Stack
| Component | Technology |
|---|---|
| Framework | Electron 28+ |
| UI | React 18 |
| Language | TypeScript |
| Styling | Tailwind CSS |
| Bundler | Vite + electron-builder |
| IPC | Type-safe communication |
---
Directory Structure
project-name/
├── electron/
│ ├── main.ts # Main process
│ ├── preload.ts # Preload script
│ └── ipc/ # IPC handlers
├── src/
│ ├── App.tsx
│ ├── components/
│ │ ├── TitleBar.tsx # Custom title bar
│ │ └── ...
│ └── hooks/
├── public/
└── package.json---
Process Model
| Process | Role |
|---|---|
| Main | Node.js, system access |
| Renderer | Chromium, React UI |
| Preload | Bridge, context isolation |
---
Key Concepts
| Concept | Purpose |
|---|---|
| contextBridge | Safe API exposure |
| ipcMain/ipcRenderer | Process communication |
| nodeIntegration: false | Security |
| contextIsolation: true | Security |
---
Setup Steps
1. npm create vite {{name}} -- --template react-ts 2. Install: npm install -D electron electron-builder vite-plugin-electron 3. Create electron/ directory 4. Configure main process 5. npm run electron:dev
---
Build Targets
| Platform | Output |
|---|---|
| Windows | NSIS, Portable |
| macOS | DMG, ZIP |
| Linux | AppImage, DEB |
---
Best Practices
- Use preload script for main/renderer bridge
- Type-safe IPC with typed handlers
- Custom title bar for native feel
- Handle window state (maximize, minimize)
- Auto-updates with electron-updater
Express.js API Template
Tech Stack
| Component | Technology |
|---|---|
| Runtime | Node.js 20+ |
| Framework | Express.js |
| Language | TypeScript |
| Database | PostgreSQL + Prisma |
| Validation | Zod |
| Auth | JWT + bcrypt |
---
Directory Structure
project-name/
├── prisma/
│ └── schema.prisma
├── src/
│ ├── app.ts # Express setup
│ ├── config/ # Environment
│ ├── routes/ # Route handlers
│ ├── controllers/ # Business logic
│ ├── services/ # Data access
│ ├── middleware/
│ │ ├── auth.ts # JWT verify
│ │ ├── error.ts # Error handler
│ │ └── validate.ts # Zod validation
│ ├── schemas/ # Zod schemas
│ └── utils/
└── package.json---
Middleware Stack
| Order | Middleware |
|---|---|
| 1 | helmet (security) |
| 2 | cors |
| 3 | morgan (logging) |
| 4 | body parsing |
| 5 | routes |
| 6 | error handler |
---
API Response Format
| Type | Structure |
|---|---|
| Success | { success: true, data: {...} } |
| Error | { error: "message", details: [...] } |
---
Setup Steps
1. Create project directory 2. npm init -y 3. Install deps: npm install express prisma zod bcrypt jsonwebtoken 4. Configure Prisma 5. npm run db:push 6. npm run dev
---
Best Practices
- Layer architecture (routes → controllers → services)
- Validate all inputs with Zod
- Centralized error handling
- Environment-based config
- Use Prisma for type-safe DB access
Flutter App Template
Tech Stack
| Component | Technology |
|---|---|
| Framework | Flutter 3.x |
| Language | Dart 3.x |
| State | Riverpod 2.0 |
| Navigation | Go Router |
| HTTP | Dio |
| Storage | Hive |
---
Directory Structure
project_name/
├── lib/
│ ├── main.dart
│ ├── app.dart
│ ├── core/
│ │ ├── constants/
│ │ ├── theme/
│ │ ├── router/
│ │ └── utils/
│ ├── features/
│ │ ├── auth/
│ │ │ ├── data/
│ │ │ ├── domain/
│ │ │ └── presentation/
│ │ └── home/
│ ├── shared/
│ │ ├── widgets/
│ │ └── providers/
│ └── services/
│ ├── api/
│ └── storage/
├── test/
└── pubspec.yaml---
Architecture Layers
| Layer | Contents |
|---|---|
| Presentation | Screens, Widgets, Providers |
| Domain | Entities, Use Cases |
| Data | Repositories, Models |
---
Key Packages
| Package | Purpose |
|---|---|
| flutter_riverpod | State management |
| riverpod_annotation | Code generation |
| go_router | Navigation |
| dio | HTTP client |
| freezed | Immutable models |
| hive | Local storage |
---
Setup Steps
1. flutter create {{name}} --org com.{{bundle}} 2. Update pubspec.yaml 3. flutter pub get 4. Run code generation: dart run build_runner build 5. flutter run
---
Best Practices
- Feature-first folder structure
- Riverpod for state, React Query pattern for server state
- Freezed for immutable data classes
- Go Router for declarative navigation
- Material 3 theming
Turborepo Monorepo Template
Tech Stack
| Component | Technology |
|---|---|
| Build System | Turborepo |
| Package Manager | pnpm |
| Apps | Next.js, Express |
| Packages | Shared UI, Config, Types |
| Language | TypeScript |
---
Directory Structure
project-name/
├── apps/
│ ├── web/ # Next.js app
│ ├── api/ # Express API
│ └── docs/ # Documentation
├── packages/
│ ├── ui/ # Shared components
│ ├── config/ # ESLint, TS, Tailwind
│ ├── types/ # Shared types
│ └── utils/ # Shared utilities
├── turbo.json
├── pnpm-workspace.yaml
└── package.json---
Key Concepts
| Concept | Description |
|---|---|
| Workspaces | pnpm-workspace.yaml |
| Pipeline | turbo.json task graph |
| Caching | Remote/local task caching |
| Dependencies | workspace:* protocol |
---
Turbo Pipeline
| Task | Depends On |
|---|---|
| build | ^build (dependencies first) |
| dev | cache: false, persistent |
| lint | ^build |
| test | ^build |
---
Setup Steps
1. Create root directory 2. pnpm init 3. Create pnpm-workspace.yaml 4. Create turbo.json 5. Add apps and packages 6. pnpm install 7. pnpm dev
---
Common Commands
| Command | Description |
|---|---|
pnpm dev | Run all apps |
pnpm build | Build all |
pnpm --filter @name/web dev | Run specific app |
pnpm --filter @name/web add axios | Add dep to app |
---
Best Practices
- Shared configs in packages/config
- Shared types in packages/types
- Internal packages with
workspace:* - Use Turbo remote caching for CI
Next.js Full-Stack Template
Tech Stack
| Component | Technology |
|---|---|
| Framework | Next.js 14 (App Router) |
| Language | TypeScript |
| Database | PostgreSQL + Prisma |
| Styling | Tailwind CSS |
| Auth | Clerk (optional) |
| Validation | Zod |
---
Directory Structure
project-name/
├── prisma/
│ └── schema.prisma
├── src/
│ ├── app/
│ │ ├── layout.tsx
│ │ ├── page.tsx
│ │ ├── globals.css
│ │ └── api/
│ ├── components/
│ │ └── ui/
│ ├── lib/
│ │ ├── db.ts # Prisma client
│ │ └── utils.ts
│ └── types/
├── .env.example
└── package.json---
Key Concepts
| Concept | Description |
|---|---|
| Server Components | Default, fetch data |
| Server Actions | Form mutations |
| Route Handlers | API endpoints |
| Prisma | Type-safe ORM |
---
Environment Variables
| Variable | Purpose |
|---|---|
| DATABASE_URL | Prisma connection |
| NEXT_PUBLIC_APP_URL | Public URL |
---
Setup Steps
1. npx create-next-app {{name}} --typescript --tailwind --app 2. npm install prisma @prisma/client zod 3. npx prisma init 4. Configure schema 5. npm run db:push 6. npm run dev
---
Best Practices
- Server Components by default
- Server Actions for mutations
- Prisma for type-safe DB
- Zod for validation
- Edge runtime where possible
Next.js SaaS Template
Tech Stack
| Component | Technology |
|---|---|
| Framework | Next.js 14 (App Router) |
| Auth | NextAuth.js v5 |
| Payments | Stripe |
| Database | PostgreSQL + Prisma |
| Resend | |
| UI | Tailwind (ASK USER: shadcn/Headless UI/Custom?) |
---
Directory Structure
project-name/
├── prisma/
├── src/
│ ├── app/
│ │ ├── (auth)/ # Login, register
│ │ ├── (dashboard)/ # Protected routes
│ │ ├── (marketing)/ # Landing, pricing
│ │ └── api/
│ │ ├── auth/[...nextauth]/
│ │ └── webhooks/stripe/
│ ├── components/
│ │ ├── auth/
│ │ ├── billing/
│ │ └── dashboard/
│ ├── lib/
│ │ ├── auth.ts # NextAuth config
│ │ ├── stripe.ts # Stripe client
│ │ └── email.ts # Resend client
│ └── config/
│ └── subscriptions.ts
└── package.json---
SaaS Features
| Feature | Implementation |
|---|---|
| Auth | NextAuth + OAuth |
| Subscriptions | Stripe Checkout |
| Billing Portal | Stripe Portal |
| Webhooks | Stripe events |
| Transactional via Resend |
---
Database Schema
| Model | Fields |
|---|---|
| User | id, email, stripeCustomerId, subscriptionId |
| Account | OAuth provider data |
| Session | User sessions |
---
Environment Variables
| Variable | Purpose |
|---|---|
| DATABASE_URL | Prisma |
| NEXTAUTH_SECRET | Auth |
| STRIPE_SECRET_KEY | Payments |
| STRIPE_WEBHOOK_SECRET | Webhooks |
| RESEND_API_KEY |
---
Setup Steps
1. npx create-next-app {{name}} --typescript --tailwind --app 2. Install: npm install next-auth @auth/prisma-adapter stripe resend 3. Setup Stripe products/prices 4. Configure environment 5. npm run db:push 6. npm run stripe:listen (webhooks) 7. npm run dev
---
Best Practices
- Route groups for layout separation
- Stripe webhooks for subscription sync
- NextAuth with Prisma adapter
- Email templates with React Email
Next.js Static Site Template
Tech Stack
| Component | Technology |
|---|---|
| Framework | Next.js 14 (Static Export) |
| Language | TypeScript |
| Styling | Tailwind CSS |
| Animations | Framer Motion |
| Icons | Lucide React |
| SEO | Next SEO |
---
Directory Structure
project-name/
├── src/
│ ├── app/
│ │ ├── layout.tsx
│ │ ├── page.tsx # Landing
│ │ ├── about/
│ │ ├── contact/
│ │ └── blog/
│ ├── components/
│ │ ├── layout/ # Header, Footer
│ │ ├── sections/ # Hero, Features, CTA
│ │ └── ui/
│ └── lib/
├── content/ # Markdown content
├── public/
└── next.config.js---
Static Export Config
// next.config.js
const nextConfig = {
output: 'export',
images: { unoptimized: true },
trailingSlash: true,
};---
Landing Page Sections
| Section | Purpose |
|---|---|
| Hero | Main headline, CTA |
| Features | Product benefits |
| Testimonials | Social proof |
| Pricing | Plans |
| CTA | Final conversion |
---
Animation Patterns
| Pattern | Use |
|---|---|
| Fade up | Content entry |
| Stagger | List items |
| Scroll reveal | On viewport |
| Hover | Interactive feedback |
---
Setup Steps
1. npx create-next-app {{name}} --typescript --tailwind --app 2. Install: npm install framer-motion lucide-react next-seo 3. Configure static export 4. Create sections 5. npm run dev
---
Deployment
| Platform | Method |
|---|---|
| Vercel | Auto |
| Netlify | Auto |
| GitHub Pages | gh-pages branch |
| Any host | Upload out folder |
---
Best Practices
- Static export for maximum performance
- Framer Motion for premium animations
- Responsive mobile-first design
- SEO metadata on every page
Nuxt 3 Full-Stack Template
Tech Stack
| Component | Technology |
|---|---|
| Framework | Nuxt 3 |
| Language | TypeScript |
| UI | Vue 3 (Composition API) |
| State | Pinia |
| Database | PostgreSQL + Prisma |
| Styling | Tailwind CSS |
| Validation | Zod |
---
Directory Structure
project-name/
├── prisma/
│ └── schema.prisma
├── server/
│ ├── api/
│ │ └── [resource]/
│ │ └── index.ts
│ └── utils/
│ └── db.ts # Prisma client
├── composables/
│ └── useAuth.ts
├── stores/
│ └── user.ts # Pinia store
├── components/
│ └── ui/
├── pages/
│ ├── index.vue
│ └── [...slug].vue
├── layouts/
│ └── default.vue
├── assets/
│ └── css/
│ └── main.css
├── .env.example
├── nuxt.config.ts
└── package.json---
Key Concepts
| Concept | Description |
|---|---|
| Auto-imports | Components, composables, utils |
| File-based routing | pages/ → routes |
| Server Routes | server/api/ → API endpoints |
| Composables | Reusable reactive logic |
| Pinia | State management |
---
Environment Variables
| Variable | Purpose |
|---|---|
| DATABASE_URL | Prisma connection |
| NUXT_PUBLIC_APP_URL | Public URL |
---
Setup Steps
1. npx nuxi@latest init {{name}} 2. cd {{name}} 3. npm install @pinia/nuxt @prisma/client prisma zod 4. npm install -D @nuxtjs/tailwindcss 5. Add modules to nuxt.config.ts:
modules: ['@pinia/nuxt', '@nuxtjs/tailwindcss']6. npx prisma init 7. Configure schema 8. npx prisma db push 9. npm run dev
---
Best Practices
- Use
<script setup>for components - Composables for reusable logic
- Pinia stores in
stores/folder - Server routes for API logic
- Auto-import for clean code
- TypeScript for type safety
- See
@[skills/vue-expert]for Vue patterns
FastAPI API Template
Tech Stack
| Component | Technology |
|---|---|
| Framework | FastAPI |
| Language | Python 3.11+ |
| ORM | SQLAlchemy 2.0 |
| Validation | Pydantic v2 |
| Migrations | Alembic |
| Auth | JWT + passlib |
---
Directory Structure
project-name/
├── alembic/ # Migrations
├── app/
│ ├── main.py # FastAPI app
│ ├── config.py # Settings
│ ├── database.py # DB connection
│ ├── models/ # SQLAlchemy models
│ ├── schemas/ # Pydantic schemas
│ ├── routers/ # API routes
│ ├── services/ # Business logic
│ ├── dependencies/ # DI
│ └── utils/
├── tests/
├── .env.example
└── requirements.txt---
Key Concepts
| Concept | Description |
|---|---|
| Async | async/await throughout |
| Dependency Injection | FastAPI Depends |
| Pydantic v2 | Validation + serialization |
| SQLAlchemy 2.0 | Async sessions |
---
API Structure
| Layer | Responsibility |
|---|---|
| Routers | HTTP handling |
| Dependencies | Auth, validation |
| Services | Business logic |
| Models | Database entities |
| Schemas | Request/response |
---
Setup Steps
1. python -m venv venv 2. source venv/bin/activate 3. pip install fastapi uvicorn sqlalchemy alembic pydantic 4. Create .env 5. alembic upgrade head 6. uvicorn app.main:app --reload
---
Best Practices
- Use async everywhere
- Pydantic v2 for validation
- SQLAlchemy 2.0 async sessions
- Alembic for migrations
- pytest-asyncio for tests
React Native App Template
Tech Stack
| Component | Technology |
|---|---|
| Framework | React Native + Expo |
| Language | TypeScript |
| Navigation | Expo Router |
| State | Zustand + React Query |
| Styling | NativeWind |
| Testing | Jest + RNTL |
---
Directory Structure
project-name/
├── app/ # Expo Router (file-based)
│ ├── _layout.tsx # Root layout
│ ├── index.tsx # Home
│ ├── (tabs)/ # Tab navigation
│ └── [id].tsx # Dynamic route
├── components/
│ ├── ui/ # Reusable
│ └── features/
├── hooks/
├── lib/
│ ├── api.ts
│ └── storage.ts
├── store/
├── constants/
└── app.json---
Navigation Patterns
| Pattern | Use |
|---|---|
| Stack | Page hierarchy |
| Tabs | Bottom navigation |
| Drawer | Side menu |
| Modal | Overlay screens |
---
State Management
| Type | Tool |
|---|---|
| Local | Zustand |
| Server | React Query |
| Forms | React Hook Form |
| Storage | Expo SecureStore |
---
Key Packages
| Package | Purpose |
|---|---|
| expo-router | File-based routing |
| zustand | Local state |
| @tanstack/react-query | Server state |
| nativewind | Tailwind styling |
| expo-secure-store | Secure storage |
---
Setup Steps
1. npx create-expo-app {{name}} -t expo-template-blank-typescript 2. npx expo install expo-router react-native-safe-area-context 3. Install state: npm install zustand @tanstack/react-query 4. npx expo start
---
Best Practices
- Expo Router for navigation
- Zustand for local, React Query for server state
- NativeWind for consistent styling
- Expo SecureStore for tokens
- Test on both iOS and Android
Related skills
How it compares
Choose App Builder when coordinated multi-agent planning beats a single monolithic coding prompt for scoped, dependency-ordered work.
FAQ
What does App Builder do before writing code?
App Builder runs a Project Planner agent that produces a task breakdown, dependency graph, file-structure plan, and {task-slug} work units. Specialist agents execute only after this plan-first pipeline completes, preventing chaotic one-shot generation.
When should developers use App Builder over a single agent?
App Builder fits multi-layer features—API, UI, tests, config—where execution order and scoped handoffs matter. Developers who need a quick single-file fix or snippet should skip App Builder and use a direct coding prompt instead.
Is App Builder safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.