Skill: Vibe coding
Purpose
Rapidly prototype and build modern, responsive web applications from scratch using current frameworks, libraries, and best practices. This skill handles everything from initial project setup to implementing features, styling, and basic deployment configuration with a focus on creative flow and quick iteration.
When to use this skill
- You want to rapidly prototype a new web application idea.
- You're in a creative flow and want to build something quickly without context switching.
- You want to use modern frameworks like React, Next.js, Vue, Svelte, or similar.
- You prefer local development with full control rather than hosted builder environments.
- You want to experiment and iterate fast on designs and features.
Key differences from Lovable/Bolt/v0
Unlike hosted vibe-coding tools (Lovable, Bolt, v0):
- Runs locally: All code lives on your machine, not in a hosted environment.
- No infrastructure lock-in: You control deployment, hosting, and infrastructure choices.
- Framework flexibility: Not limited to a specific tech stack; can use any modern framework.
- Full backend support: Can integrate with any backend, run local servers, use databases, etc.
- Version control native: Built with git workflows in mind from the start.
- No runtime environment required: Build from scratch locally, not dependent on their infrastructure.
Inputs
- Application description: Purpose, key features, and target users.
- Technology preferences: Desired frameworks (React/Next.js/Vue/Svelte), styling approach (Tailwind/CSS-in-JS/CSS Modules), and any specific libraries.
- Feature requirements: Core functionality, user flows, and data models.
- Design direction: Style preferences, color schemes, or reference sites.
- Deployment target: Where you plan to host (Vercel, Netlify, AWS, self-hosted, etc.).
Out of scope
- Managing production infrastructure or cloud provider accounts.
- Creating complex backend microservices architecture (use service-integration skill instead).
- Mobile native app development (iOS/Android).
Conventions and best practices
Framework selection
- Always search for the most current documentation from official sources before implementing.
- Example: Search https://nextjs.org/docs for Next.js, https://react.dev for React, etc.
- Never hardcode outdated commands or patterns – always verify current best practices.
Project initialization
- Search official docs for the latest initialization command (e.g.,
npx create-next-app@latest).
- Use TypeScript by default for type safety.
- Set up ESLint and Prettier for code quality.
- Initialize git repository from the start.
Architecture patterns
- Component-based: Break UI into small, reusable components.
- Type-safe: Use TypeScript throughout for better developer experience.
- Responsive by default: Mobile-first design approach.
- Accessibility first: Semantic HTML, ARIA labels, keyboard navigation.
- Performance-conscious: Code splitting, lazy loading, optimized images.
Styling approach
- Use modern CSS frameworks (Tailwind CSS recommended for rapid development).
- Implement consistent design system with reusable tokens for colors, spacing, typography.
- Support light/dark mode when appropriate.
- Ensure proper contrast ratios and accessibility.
State and data
- Choose appropriate state management (React Context, Zustand, Redux) based on complexity.
- Use modern data fetching patterns (React Query, SWR, or framework built-ins like Next.js App Router).
- Implement proper loading, error, and empty states.
Backend integration
- If backend is needed, set up API routes or server components appropriately.
- For databases, use type-safe ORMs (Prisma, Drizzle) when possible.
- Implement proper error handling and validation.
Required behavior
- Research current best practices: Before any implementation, search for and reference the latest official documentation.
- Initialize properly: Set up project with all necessary tooling, configs, and directory structure.
- Implement features incrementally: Build and test features one at a time.
- Write clean, maintainable code: Follow framework conventions and best practices.
- Handle edge cases: Loading states, errors, empty states, validation.
- Ensure accessibility: Proper semantic HTML, ARIA labels, keyboard navigation.
- Test critical paths: Write tests for core functionality.
- Document setup and usage: README with setup instructions, environment variables, and deployment notes.
Required artifacts
- Fully initialized project with all configuration files.
- Clean, well-organized component and page structure.
- Styling implementation (Tailwind config, CSS modules, or chosen approach).
- Tests for critical user flows and business logic.
- README.md with:
- Project description and features
- Setup instructions
- Development commands
- Environment variables needed
- Deployment guidance
- .gitignore properly configured.
- Package.json with clear scripts and dependencies.
Implementation checklist
1. Discovery and planning
2. Project initialization
3. Design system setup
4. Feature implementation
5. Quality and polish
6. Documentation and deployment
Verification
Run the following commands (adjust based on package manager and setup):
# Install dependencies
npm install
# Type checking
npm run type-check # or tsc --noEmit
# Linting
npm run lint
# Tests
npm test
# Build verification
npm run build
# Run locally
npm run dev
The skill is complete when:
- All commands run successfully without errors.
- The application builds and runs in development mode.
- Core features work as specified across different screen sizes.
- Accessibility checks pass (use browser dev tools or axe extension).
- Tests cover critical user paths.
- Documentation is clear and complete.
Safety and escalation
- External dependencies: Always verify package security and maintenance status before adding dependencies.
- Environment secrets: Never commit API keys, secrets, or credentials. Use
.env.local and document in README.
- Framework limitations: If requirements exceed framework capabilities, suggest alternatives or clarify constraints.
- Performance concerns: If the app requires complex state or data handling, consider suggesting more robust solutions.
Dynamic documentation references
Always search for and reference the most current documentation:
Before implementing any feature, search these docs to ensure you're using current APIs and best practices.
Example workflows
Vibing a landing page
User: "Let's vibe a landing page for a SaaS product - hero section, features, pricing, contact form"
Droid will:
1. Search for current Next.js initialization best practices
2. Initialize Next.js project with TypeScript and Tailwind
3. Create component structure (Hero, Features, Pricing, Contact)
4. Implement responsive design with proper accessibility
5. Add form validation and error handling
6. Set up basic SEO with metadata
7. Provide deployment instructions for Vercel/Netlify
Quick dashboard prototype
User: "I want to quickly prototype an admin dashboard - auth, data tables, charts"
Droid will:
1. Research current patterns for Next.js App Router with authentication
2. Initialize project with appropriate dependencies
3. Set up authentication flow (NextAuth.js or similar)
4. Create protected route structure
5. Implement data fetching with loading states
6. Add table and chart components with proper typing
7. Include tests for auth and data flows
8. Document setup including database requirements
SEO and web vitals
For public-facing applications, automatically implement:
- Meta tags: Title, description, Open Graph, Twitter cards
- Structured data: JSON-LD for rich search results
- Performance: Image optimization, code splitting, lazy loading
- Core Web Vitals: Optimize LCP, FID, CLS metrics
- Sitemap: Generate sitemap.xml for better indexing
- Robots.txt: Configure crawler behavior
Integration with other skills
This skill can be combined with:
- Service integration: When the web app needs to call existing backend services.
- Internal tools: When building internal admin panels or dashboards.
- Data querying: When the app needs to display analytics or reports.
1---2name: vibe-coding3description: Rapidly prototype and build modern, responsive web applications from scratch using current frameworks and libraries. Use when you want to quickly create a new web app with full local control, creative flow, and modern best practices. Local alternative to Lovable, Bolt, and v0.4---5# Skill: Vibe coding67## Purpose89Rapidly prototype and build modern, responsive web applications from scratch using current frameworks, libraries, and best practices. This skill handles everything from initial project setup to implementing features, styling, and basic deployment configuration with a focus on creative flow and quick iteration.1011## When to use this skill1213- You want to **rapidly prototype** a new web application idea.14- You're in a **creative flow** and want to build something quickly without context switching.15- You want to use **modern frameworks** like React, Next.js, Vue, Svelte, or similar.16- You prefer **local development** with full control rather than hosted builder environments.17- You want to **experiment and iterate fast** on designs and features.1819## Key differences from Lovable/Bolt/v02021Unlike hosted vibe-coding tools (Lovable, Bolt, v0):2223- **Runs locally**: All code lives on your machine, not in a hosted environment.24- **No infrastructure lock-in**: You control deployment, hosting, and infrastructure choices.25- **Framework flexibility**: Not limited to a specific tech stack; can use any modern framework.26- **Full backend support**: Can integrate with any backend, run local servers, use databases, etc.27- **Version control native**: Built with git workflows in mind from the start.28- **No runtime environment required**: Build from scratch locally, not dependent on their infrastructure.2930## Inputs3132- **Application description**: Purpose, key features, and target users.33- **Technology preferences**: Desired frameworks (React/Next.js/Vue/Svelte), styling approach (Tailwind/CSS-in-JS/CSS Modules), and any specific libraries.34- **Feature requirements**: Core functionality, user flows, and data models.35- **Design direction**: Style preferences, color schemes, or reference sites.36- **Deployment target**: Where you plan to host (Vercel, Netlify, AWS, self-hosted, etc.).3738## Out of scope3940- Managing production infrastructure or cloud provider accounts.41- Creating complex backend microservices architecture (use service-integration skill instead).42- Mobile native app development (iOS/Android).4344## Conventions and best practices4546### Framework selection47- **Always search for the most current documentation** from official sources before implementing.48- Example: Search https://nextjs.org/docs for Next.js, https://react.dev for React, etc.49- **Never hardcode outdated commands or patterns** – always verify current best practices.5051### Project initialization521. Search official docs for the latest initialization command (e.g., `npx create-next-app@latest`).532. Use TypeScript by default for type safety.543. Set up ESLint and Prettier for code quality.554. Initialize git repository from the start.5657### Architecture patterns58- **Component-based**: Break UI into small, reusable components.59- **Type-safe**: Use TypeScript throughout for better developer experience.60- **Responsive by default**: Mobile-first design approach.61- **Accessibility first**: Semantic HTML, ARIA labels, keyboard navigation.62- **Performance-conscious**: Code splitting, lazy loading, optimized images.6364### Styling approach65- Use modern CSS frameworks (Tailwind CSS recommended for rapid development).66- Implement consistent design system with reusable tokens for colors, spacing, typography.67- Support light/dark mode when appropriate.68- Ensure proper contrast ratios and accessibility.6970### State and data71- Choose appropriate state management (React Context, Zustand, Redux) based on complexity.72- Use modern data fetching patterns (React Query, SWR, or framework built-ins like Next.js App Router).73- Implement proper loading, error, and empty states.7475### Backend integration76- If backend is needed, set up API routes or server components appropriately.77- For databases, use type-safe ORMs (Prisma, Drizzle) when possible.78- Implement proper error handling and validation.7980## Required behavior81821. **Research current best practices**: Before any implementation, search for and reference the latest official documentation.832. **Initialize properly**: Set up project with all necessary tooling, configs, and directory structure.843. **Implement features incrementally**: Build and test features one at a time.854. **Write clean, maintainable code**: Follow framework conventions and best practices.865. **Handle edge cases**: Loading states, errors, empty states, validation.876. **Ensure accessibility**: Proper semantic HTML, ARIA labels, keyboard navigation.887. **Test critical paths**: Write tests for core functionality.898. **Document setup and usage**: README with setup instructions, environment variables, and deployment notes.9091## Required artifacts9293- Fully initialized project with all configuration files.94- Clean, well-organized component and page structure.95- Styling implementation (Tailwind config, CSS modules, or chosen approach).96- **Tests** for critical user flows and business logic.97- **README.md** with:98 - Project description and features99 - Setup instructions100 - Development commands101 - Environment variables needed102 - Deployment guidance103- **.gitignore** properly configured.104- **Package.json** with clear scripts and dependencies.105106## Implementation checklist107108### 1. Discovery and planning109- [ ] Search for current best practices for chosen framework110- [ ] Review official documentation for initialization commands111- [ ] Understand feature requirements and user flows112- [ ] Plan component hierarchy and data flow113114### 2. Project initialization115- [ ] Run current framework initialization command116- [ ] Set up TypeScript, ESLint, Prettier117- [ ] Initialize git repository118- [ ] Create basic directory structure119120### 3. Design system setup121- [ ] Set up styling solution (Tailwind, CSS-in-JS, etc.)122- [ ] Define color palette and design tokens123- [ ] Create base components (Button, Input, Card, etc.)124- [ ] Implement responsive layout system125126### 4. Feature implementation127- [ ] Build pages and routes128- [ ] Implement components with proper typing129- [ ] Add state management where needed130- [ ] Integrate data fetching and APIs131- [ ] Handle loading, error, and empty states132133### 5. Quality and polish134- [ ] Add accessibility features (ARIA, keyboard nav)135- [ ] Optimize performance (code splitting, image optimization)136- [ ] Write tests for critical flows137- [ ] Add error boundaries and fallbacks138- [ ] Review responsive behavior on different screen sizes139140### 6. Documentation and deployment141- [ ] Write comprehensive README142- [ ] Document environment variables143- [ ] Add deployment configuration for target platform144- [ ] Create development and build scripts145146## Verification147148Run the following commands (adjust based on package manager and setup):149150```bash151# Install dependencies152npm install153154# Type checking155npm run type-check # or tsc --noEmit156157# Linting158npm run lint159160# Tests161npm test162163# Build verification164npm run build165166# Run locally167npm run dev168```169170The skill is complete when:171172- All commands run successfully without errors.173- The application builds and runs in development mode.174- Core features work as specified across different screen sizes.175- Accessibility checks pass (use browser dev tools or axe extension).176- Tests cover critical user paths.177- Documentation is clear and complete.178179## Safety and escalation180181- **External dependencies**: Always verify package security and maintenance status before adding dependencies.182- **Environment secrets**: Never commit API keys, secrets, or credentials. Use `.env.local` and document in README.183- **Framework limitations**: If requirements exceed framework capabilities, suggest alternatives or clarify constraints.184- **Performance concerns**: If the app requires complex state or data handling, consider suggesting more robust solutions.185186## Dynamic documentation references187188Always search for and reference the most current documentation:189190- **React**: https://react.dev191- **Next.js**: https://nextjs.org/docs192- **Vue**: https://vuejs.org/guide193- **Svelte**: https://svelte.dev/docs194- **Tailwind CSS**: https://tailwindcss.com/docs195- **TypeScript**: https://www.typescriptlang.org/docs196- **Vite**: https://vitejs.dev/guide197198Before implementing any feature, search these docs to ensure you're using current APIs and best practices.199200## Example workflows201202<examples>203204### Vibing a landing page205```206User: "Let's vibe a landing page for a SaaS product - hero section, features, pricing, contact form"207208Droid will:2091. Search for current Next.js initialization best practices2102. Initialize Next.js project with TypeScript and Tailwind2113. Create component structure (Hero, Features, Pricing, Contact)2124. Implement responsive design with proper accessibility2135. Add form validation and error handling2146. Set up basic SEO with metadata2157. Provide deployment instructions for Vercel/Netlify216```217218### Quick dashboard prototype219```220User: "I want to quickly prototype an admin dashboard - auth, data tables, charts"221222Droid will:2231. Research current patterns for Next.js App Router with authentication2242. Initialize project with appropriate dependencies2253. Set up authentication flow (NextAuth.js or similar)2264. Create protected route structure2275. Implement data fetching with loading states2286. Add table and chart components with proper typing2297. Include tests for auth and data flows2308. Document setup including database requirements231```232</examples>233234## SEO and web vitals235236For public-facing applications, automatically implement:237238- **Meta tags**: Title, description, Open Graph, Twitter cards239- **Structured data**: JSON-LD for rich search results240- **Performance**: Image optimization, code splitting, lazy loading241- **Core Web Vitals**: Optimize LCP, FID, CLS metrics242- **Sitemap**: Generate sitemap.xml for better indexing243- **Robots.txt**: Configure crawler behavior244245## Integration with other skills246247This skill can be combined with:248249- **Service integration**: When the web app needs to call existing backend services.250- **Internal tools**: When building internal admin panels or dashboards.251- **Data querying**: When the app needs to display analytics or reports.