Back to skills
SKILL.md
App Builder
ASecurityUse when Main application building orchestrator. Creates full-stack applications from natural language requests. Determines project type, selects tech stack, coordinates agents.
- 5 stars
- 0 votes
- 0 copies
- 0 views
- Added September 27, 2026
Works with
Security analysis
92/100- Installs packages at runtime which could introduce malicious dependencies
Pro scans all 15 files and shows the line behind each finding
npx -y skills add Harmitx7/tribunal-kit --skill app-builder --agent claude-codeAre you the author of App Builder?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/harmitx7-app-builder-tribunal-kit)---
name: app-builder
description: "Use when Main application building orchestrator. Creates full-stack applications from natural language requests. Determines project type, selects tech stack, coordinates agents."
version: 5.0.0
last-updated: 2026-09-13
skills:
- nextjs-react-expert
- react-specialist
- project-idioms
tools: Read, Grep, Glob, Bash, Edit, Write
scripts-binding:
- .agent/scripts/lint_runner.js
- .agent/scripts/verify_all.js
---
# App Builder ā Application Orchestrator
---
## š ļø Technical Architecture & Reference Recipes
---
## Hallucination Traps (Read First)
- ā Generating entire applications in one shot -> ā
Build one module at a time, verify each
- ā Choosing a tech stack without asking the user -> ā
Always ask about existing preferences, team skills, and deployment target
- ā Hardcoding API keys or secrets during scaffolding -> ā
Use .env.example with placeholder values from day one
---
---
## When This Skill Activates
Activate when the user request involves:
- Creating a new application from scratch
- Building a major feature that spans frontend + backend + database
- Bootstrapping a project structure for a new stack
---
## Orchestration Flow
```
1. CLARIFY ā Understand what and who for
2. DECIDE ā Choose the stack
3. PLAN ā Break into ordered, dependency-aware tasks
4. COORDINATE ā Run specialists in the right sequence
5. INTEGRATE ā Verify boundaries are consistent
6. PREVIEW ā Start the dev server
```
---
## Phase 1 ā Clarification
Before selecting a stack or writing a line of code, ask:
```
1. What is the core thing this app does? (not features ā the primary purpose)
2. Who uses it? (internal tool, public-facing, B2B, mobile users?)
3. What constraints matter most? (time to ship, cost, performance, existing stack?)
4. What already exists that this integrates with?
```
Wait for answers. Stack decisions depend on these answers.
---
## Phase 2 ā Stack Selection
|App Type|Frontend|Backend|Database|
|Content / marketing site|Next.js|Next.js API routes|PostgreSQL (if dynamic)|
|SaaS web app|Next.js|Next.js API routes / Fastify|PostgreSQL + Redis|
|Mobile app (cross-platform)|React Native (Expo)|Node.js API|PostgreSQL|
|Internal dashboard / admin|Next.js|Next.js API routes|Existing|
|Real-time (chat, collaboration)|Next.js|Fastify + WebSockets|PostgreSQL + Redis|
|Data-heavy API|ā|FastAPI (Python)|PostgreSQL|
|AI assistant / RAG app|Next.js (streaming)|Fastify + LLM SDK|PostgreSQL + pgvector|
|Edge-global, latency-critical|Next.js|Hono (Cloudflare Workers)|Turso / Cloudflare KV|
**If unclear:** Next.js + PostgreSQL covers 80% of use cases and is the safest default for web apps.
---
## AI-Native App Orchestration
For RAG apps and AI assistants, the build order changes:
```
Step 1: vector-database-architect
ā Design the embedding schema and chunking strategy
ā Output: schema with vector column + indexing strategy
Step 2: ingest-pipeline (backend-specialist)
ā Build document ingestion: load ā chunk ā embed ā store
ā Output: ingest API endpoint
Step 3: retrieval-api (backend-specialist, uses Steps 1+2)
ā Build: embed query ā vector search ā rerank ā prompt assembly
ā Output: /api/generate endpoint with SSE streaming
Step 4: streaming-frontend (frontend-specialist, uses Step 3)
ā Build: EventSource consumer ā streaming text UI ā loading states
ā Output: AI chat or search interface
```
**Never wire the frontend to the LLM directly** ā always proxy through your backend to keep API keys server-side.
---
## Phase 3 ā Project Structure
**Web (Next.js):**
```
app/
(auth)/ Auth pages ā login, register
(app)/ Protected app routes
api/ API routes
components/
ui/ Primitive components (button, input, modal)
features/ Feature-specific components
lib/
db/ Database client and utilities
auth/ Auth helpers
utils/ Shared utilities
```
**API-only (Node.js / Fastify):**
```
src/
routes/ Route definitions (thin)
handlers/ Request handling and response formatting
services/ Business logic
repositories/ Database access
lib/ Shared utilities
```
---
## Phase 4 ā Agent Coordination
Build in dependency order:
```
Step 1: database-architect
ā Design and document the schema
ā Output: SQL schema, type definitions
Step 2: backend-specialist (uses schema from Step 1)
ā Build API routes
ā Output: API endpoint spec (URL, method, request, response shapes)
Step 3: frontend-specialist (uses API spec from Step 2)
ā Build UI components
ā Connect to real API contracts
ā Output: Working pages
Step 4: test-engineer (uses all of the above)
ā Create integration and E2E tests
ā Output: Test suite
```
**Never run Step 2 against a guessed schema. Never run Step 3 against a guessed API.**
---
## Phase 5 ā Integration Verification
Before presenting to the user, verify consistency:
- API endpoints the frontend calls ā exist on the backend
- Database column names the backend queries ā exist in the schema
- TypeScript types match across package boundaries
- Environment variables referenced in code ā are in `.env.example`
---
## Phase 6 ā Preview Launch
After integration verification, start the dev server:
```bash
# Check for dev script
node .agent/scripts/auto_preview.js start
# Or manually
npm run dev
```
Report the URL to the user.
---
## Template Index
|Template|Path|When to Use|
|Next.js Full-Stack|`templates/nextjs-app/`|Web app with API routes|
|React Native|`templates/react-native-app/`|Cross-platform mobile|
|API Only|`templates/api-only/`|Backend service, no UI|
---
---
## 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 minutes
```
### Iterative 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 preview
```
### Error 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 necessary
```
---
## Project 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 stack
```
---
## Project Scaffolding
---
### 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)
```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 (2026)
Default and alternative technology choices for web applications.
### Default Stack (Web App - 2026)
```yaml
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.0
```
### Alternative Options
| Need | Default | Alternative |
| ------------ | ------- | ---------------------------- |
| Real-time | - | Supabase Realtime, Socket.io |
| File storage | - | Cloudinary, S3 |
| Payment | Stripe | LemonSqueezy, Paddle |
| Email | - | Resend, SendGrid |
| Search | - | Algolia, Typesense |
Files in this skill
- SKILL.md
- templates/SKILL.md
- templates/astro-static/TEMPLATE.md
- templates/chrome-extension/TEMPLATE.md
- templates/cli-tool/TEMPLATE.md
- templates/electron-desktop/TEMPLATE.md
- templates/express-api/TEMPLATE.md
- templates/flutter-app/TEMPLATE.md
- templates/monorepo-turborepo/TEMPLATE.md
- templates/nextjs-fullstack/TEMPLATE.md
- templates/nextjs-saas/TEMPLATE.md
- templates/nextjs-static/TEMPLATE.md
- templates/nuxt-app/TEMPLATE.md
- templates/python-fastapi/TEMPLATE.md
- templates/react-native-app/TEMPLATE.md
Attribution
Comments
Loading commentsā¦