{"owner":"vudovn","repo":"antigravity-kit","hasSkills":true,"totalSkillsCount":132,"totalTokensCount":183829,"categories":["project-spec","anthropic-skill","claude-rule"],"hasMcp":false,"mcpConfig":null,"found":[".agents/ARCHITECTURE.md",".agents/rules/code-rules.md",".agents/rules/core-protocol.md",".agents/rules/design-rules.md",".agents/rules/quick-reference.md",".agents/rules/request-routing.md",".agents/rules/universal-rules.md",".agents/skills/api-patterns/SKILL.md",".agents/skills/api-patterns/api-style.md",".agents/skills/api-patterns/auth.md",".agents/skills/api-patterns/documentation.md",".agents/skills/api-patterns/graphql.md",".agents/skills/api-patterns/rate-limiting.md",".agents/skills/api-patterns/response.md",".agents/skills/api-patterns/rest.md",".agents/skills/api-patterns/security-testing.md",".agents/skills/api-patterns/trpc.md",".agents/skills/api-patterns/versioning.md",".agents/skills/app-builder/SKILL.md",".agents/skills/app-builder/agent-coordination.md",".agents/skills/app-builder/feature-building.md",".agents/skills/app-builder/project-detection.md",".agents/skills/app-builder/scaffolding.md",".agents/skills/app-builder/tech-stack.md",".agents/skills/app-builder/templates/SKILL.md",".agents/skills/app-builder/templates/astro-static/TEMPLATE.md",".agents/skills/app-builder/templates/chrome-extension/TEMPLATE.md",".agents/skills/app-builder/templates/cli-tool/TEMPLATE.md",".agents/skills/app-builder/templates/electron-desktop/TEMPLATE.md",".agents/skills/app-builder/templates/express-api/TEMPLATE.md",".agents/skills/app-builder/templates/flutter-app/TEMPLATE.md",".agents/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md",".agents/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md",".agents/skills/app-builder/templates/nextjs-saas/TEMPLATE.md",".agents/skills/app-builder/templates/nextjs-static/TEMPLATE.md",".agents/skills/app-builder/templates/nuxt-app/TEMPLATE.md",".agents/skills/app-builder/templates/python-fastapi/TEMPLATE.md",".agents/skills/app-builder/templates/react-native-app/TEMPLATE.md",".agents/skills/architecture/SKILL.md",".agents/skills/architecture/context-discovery.md",".agents/skills/architecture/examples.md",".agents/skills/architecture/pattern-selection.md",".agents/skills/architecture/patterns-reference.md",".agents/skills/architecture/trade-off-analysis.md",".agents/skills/bash-linux/SKILL.md",".agents/skills/batch-operations/SKILL.md",".agents/skills/behavioral-modes/SKILL.md",".agents/skills/brainstorming/SKILL.md",".agents/skills/brainstorming/dynamic-questioning.md",".agents/skills/clean-code/SKILL.md",".agents/skills/code-review-checklist/SKILL.md",".agents/skills/code-review-graph/SKILL.md",".agents/skills/context-compression/SKILL.md",".agents/skills/coordinator-mode/SKILL.md",".agents/skills/database-design/SKILL.md",".agents/skills/database-design/database-selection.md",".agents/skills/database-design/indexing.md",".agents/skills/database-design/migrations.md",".agents/skills/database-design/optimization.md",".agents/skills/database-design/orm-selection.md",".agents/skills/database-design/schema-design.md",".agents/skills/deployment-procedures/SKILL.md",".agents/skills/design-spec/SKILL.md",".agents/skills/design-spec/collection.md",".agents/skills/documentation-templates/SKILL.md",".agents/skills/frontend-architecture/SKILL.md",".agents/skills/frontend-design/SKILL.md",".agents/skills/frontend-design/redesign.md",".agents/skills/frontend-design/style-brutalist.md",".agents/skills/frontend-design/style-minimalist.md",".agents/skills/game-development/2d-games/SKILL.md",".agents/skills/game-development/3d-games/SKILL.md",".agents/skills/game-development/SKILL.md",".agents/skills/game-development/game-art/SKILL.md",".agents/skills/game-development/game-audio/SKILL.md",".agents/skills/game-development/game-design/SKILL.md",".agents/skills/game-development/mobile-games/SKILL.md",".agents/skills/game-development/multiplayer/SKILL.md",".agents/skills/game-development/pc-games/SKILL.md",".agents/skills/game-development/vr-ar/SKILL.md",".agents/skills/game-development/web-games/SKILL.md",".agents/skills/geo-fundamentals/SKILL.md",".agents/skills/i18n-localization/SKILL.md",".agents/skills/intelligent-routing/SKILL.md",".agents/skills/lint-and-validate/SKILL.md",".agents/skills/mcp-builder/SKILL.md",".agents/skills/memory-system/SKILL.md",".agents/skills/mobile-design/SKILL.md",".agents/skills/mobile-design/decision-trees.md",".agents/skills/mobile-design/mobile-backend.md",".agents/skills/mobile-design/mobile-color-system.md",".agents/skills/mobile-design/mobile-debugging.md",".agents/skills/mobile-design/mobile-design-thinking.md",".agents/skills/mobile-design/mobile-navigation.md",".agents/skills/mobile-design/mobile-performance.md",".agents/skills/mobile-design/mobile-testing.md",".agents/skills/mobile-design/mobile-typography.md",".agents/skills/mobile-design/platform-android.md",".agents/skills/mobile-design/platform-ios.md",".agents/skills/mobile-design/touch-psychology.md",".agents/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md",".agents/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md",".agents/skills/nextjs-react-expert/3-server-server-side-performance.md",".agents/skills/nextjs-react-expert/4-client-client-side-data-fetching.md",".agents/skills/nextjs-react-expert/5-rerender-re-render-optimization.md",".agents/skills/nextjs-react-expert/6-rendering-rendering-performance.md",".agents/skills/nextjs-react-expert/7-js-javascript-performance.md",".agents/skills/nextjs-react-expert/8-advanced-advanced-patterns.md",".agents/skills/nextjs-react-expert/9-cache-components.md",".agents/skills/nextjs-react-expert/SKILL.md",".agents/skills/nodejs-best-practices/SKILL.md",".agents/skills/parallel-agents/SKILL.md",".agents/skills/performance-profiling/SKILL.md",".agents/skills/plan-writing/SKILL.md",".agents/skills/powershell-windows/SKILL.md",".agents/skills/python-patterns/SKILL.md",".agents/skills/red-team-tactics/SKILL.md",".agents/skills/rust-pro/SKILL.md",".agents/skills/seo-fundamentals/SKILL.md",".agents/skills/server-management/SKILL.md",".agents/skills/simplify-code/SKILL.md",".agents/skills/skillify/SKILL.md",".agents/skills/systematic-debugging/SKILL.md",".agents/skills/tailwind-patterns/SKILL.md",".agents/skills/tdd-workflow/SKILL.md",".agents/skills/testing-patterns/SKILL.md",".agents/skills/verify-changes/SKILL.md",".agents/skills/vulnerability-scanner/SKILL.md",".agents/skills/vulnerability-scanner/checklists.md",".agents/skills/web-design-guidelines/SKILL.md",".agents/skills/webapp-testing/SKILL.md","CLAUDE.md"],"skills":{".agents/ARCHITECTURE.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2FARCHITECTURE.md -->",".agents/rules/code-rules.md":"---\nname: code-rules\nversion: 1.0.0\npriority: P0\ntrigger: model_decision\ndescription: Apply when writing, building, refactoring, or fixing code — project-type agent routing, the Socratic Gate, Plan Mode phases, and the final checklist/scripts. Skip for pure questions or text-only responses.\n---\n\n# Code Rules (TIER 1) - AG Kit\n\n> Loaded when the request involves writing or modifying code.\n\n---\n\n## 📱 Project Type Routing\n\n| Project Type                           | Primary Agent         | Skills                        |\n| -------------------------------------- | --------------------- | ----------------------------- |\n| **MOBILE** (iOS, Android, RN, Flutter) | `mobile-developer`    | mobile-design                 |\n| **WEB** (Next.js, React web)           | `frontend-specialist` | frontend-design               |\n| **BACKEND** (API, server, DB)          | `backend-specialist`  | api-patterns, database-design |\n\n> 🔴 **Mobile + frontend-specialist = WRONG.** Mobile = mobile-developer ONLY.\n\n---\n\n## 🛑 GLOBAL SOCRATIC GATE\n\n**MANDATORY: Every user request must pass through the Socratic Gate before ANY tool use or implementation.**\n\n| Request Type            | Strategy       | Required Action                                                   |\n| ----------------------- | -------------- | ----------------------------------------------------------------- |\n| **New Feature / Build** | Deep Discovery | ASK minimum 3 strategic questions                                 |\n| **Code Edit / Bug Fix** | Context Check  | Confirm understanding + ask impact questions                      |\n| **Vague / Simple**      | Clarification  | Ask Purpose, Users, and Scope                                     |\n| **Full Orchestration**  | Gatekeeper     | **STOP** subagents until user confirms plan details               |\n| **Direct \"Proceed\"**    | Validation     | **STOP** → Even if answers are given, ask 2 \"Edge Case\" questions |\n\n**Protocol:**\n\n1. **Never Assume:** If even 1% is unclear, ASK.\n2. **Handle Spec-heavy Requests:** When user gives a list (Answers 1, 2, 3...), do NOT skip the gate. Instead, ask about **Trade-offs** or **Edge Cases** (e.g., \"LocalStorage confirmed, but should we handle data clearing or versioning?\") before starting.\n3. **Wait:** Do NOT invoke subagents or write code until the user clears the Gate.\n4. **Reference:** Full protocol in `@[skills/brainstorming]`.\n\n---\n\n## 🏁 Plan Mode (4-Phase)\n\n1. ANALYSIS → Research, questions\n2. PLANNING → `{task-slug}.md`, task breakdown\n3. SOLUTIONING → Architecture, design (NO CODE!)\n4. IMPLEMENTATION → Code + tests\n\n---\n\n## 🏁 Final Checklist Protocol\n\n**Trigger:** When the user says \"run the final checks\", \"final checks\", \"run all the tests\", or similar phrases.\n\n| Task Stage       | Command                                            | Purpose                        |\n| ---------------- | -------------------------------------------------- | ------------------------------ |\n| **Manual Audit** | `python .agents/scripts/checklist.py .`             | Priority-based project audit   |\n| **Pre-Deploy**   | `python .agents/scripts/checklist.py . --url <URL>` | Full Suite + Performance + E2E |\n\n**Priority Execution Order:**\n\n1. **Security** → 2. **Lint** → 3. **Schema** → 4. **Tests** → 5. **UX** → 6. **Seo** → 7. **Lighthouse/E2E**\n\n**Rules:**\n\n- **Completion:** A task is NOT finished until `checklist.py` returns success.\n- **Reporting:** If it fails, fix the **Critical** blockers first (Security/Lint).\n\n**Available Scripts (10 total):**\n\n| Script                     | Skill                 | When to Use         |\n| -------------------------- | --------------------- | ------------------- |\n| `security_scan.py`         | vulnerability-scanner | Always on deploy    |\n| `lint_runner.py`           | lint-and-validate     | Every code change   |\n| `test_runner.py`           | testing-patterns      | After logic change  |\n| `schema_validator.py`      | database-design       | After DB change     |\n| `ux_audit.py`              | frontend-design       | After UI change     |\n| `accessibility_checker.py` | frontend-design       | After UI change     |\n| `seo_checker.py`           | seo-fundamentals      | After page change   |\n| `mobile_audit.py`          | mobile-design         | After mobile change |\n| `lighthouse_audit.py`      | performance-profiling | Before deploy       |\n| `playwright_runner.py`     | webapp-testing        | Before deploy       |\n\n> 🔴 **Agents & Skills can invoke ANY script** via `python .agents/skills/<skill>/scripts/<script>.py`\n\n---\n",".agents/rules/core-protocol.md":"---\nname: core-protocol\nversion: 1.0.0\npriority: P0\ntrigger: always_on\n---\n\n# Core Protocol - AG Kit\n\n> The highest-priority workspace rules. How the AI loads agents/skills and what it must do before any implementation.\n\n---\n\n## CRITICAL: AGENT & SKILL PROTOCOL (START HERE)\n\n> **MANDATORY:** You MUST read the appropriate agent file and its skills BEFORE performing any implementation. This is the highest priority rule.\n\n### 1. Modular Skill Loading Protocol\n\nAgent activated → Check frontmatter \"skills:\" → Read SKILL.md (INDEX) → Read specific sections.\n\n- **Selective Reading:** DO NOT read ALL files in a skill folder. Read `SKILL.md` first, then only read sections matching the user's request.\n- **Rule Priority:** P0 (Workspace Rules in `.agents/rules/`) > P1 (Agent `.md`) > P2 (SKILL.md). All rules are binding.\n\n### 1.1 Skill Announcement (MANDATORY)\n\n**Every time you load and apply a skill, announce it BEFORE using it** — so the user can verify which knowledge is active.\n\n```markdown\n📚 **Using skill: `@[skill-name]`...**\n```\n\n- List multiple skills together: `📚 Using skills: @frontend-design + @design-spec...`\n- Announce on-demand skills too (e.g. a companion skill pulled from a hub, or `app-builder` for a new app), not just frontmatter ones.\n- ❌ Applying a skill without announcing it = **USER CANNOT VERIFY THE SKILL WAS USED**.\n\n### 2. Enforcement Protocol\n\n1. **When agent is activated:**\n    - ✅ Activate: Read Rules → Check Frontmatter → Load SKILL.md → Apply All.\n2. **Forbidden:** Never skip reading agent rules or skill instructions. \"Read → Understand → Apply\" is mandatory.\n\n---\n\n## 📁 File Dependency Awareness\n\n**Before modifying ANY file:**\n\n1. If `CODEBASE.md` exists, check its File Dependencies section.\n2. Otherwise, discover dependencies with targeted search/import analysis; do not block waiting for a missing file.\n3. Identify dependent files and update all affected files together.\n\n---\n\n## 🗺️ System Map & Memory Read\n\n> 🔴 **MANDATORY:** At session start, you MUST read `.agents/memory/MEMORY.md` to load persistent project conventions, user preferences, and decisions.\n\n> 📚 **Catalog lookup (on-demand, NOT every session):** Need the full list of Agents / Skills / Scripts? The `quick-reference` rule has the essentials. For the complete catalog, read `.agents/ARCHITECTURE.md` only when you actually need it (e.g. orchestration, or discovering a skill you're unsure exists) — do NOT load it on every request.\n\n**Path Awareness (Note: the project directory name is `.agents` plural):**\n\n- Agents: `.agents/agent/` (Project)\n- Skills: `.agents/skills/` (Project)\n- Memory: `.agents/memory/` (Project)\n- Runtime Scripts: `.agents/skills/<skill>/scripts/`\n\n---\n\n## 🧠 Read → Understand → Apply\n\n```\n❌ WRONG: Read agent file → Start coding\n✅ CORRECT: Read → Understand WHY → Apply PRINCIPLES → Code\n```\n\n**Before coding, answer:**\n\n1. What is the GOAL of this agent/skill?\n2. What PRINCIPLES must I apply?\n3. How does this DIFFER from generic output?\n\n---\n",".agents/rules/design-rules.md":"---\nname: design-rules\nversion: 1.0.0\npriority: P0\ntrigger: glob\nglobs: \"**/*.{tsx,jsx,vue,svelte,css,scss},**/components/**,**/app/**/page.tsx\"\n---\n\n# Design Rules (TIER 2) - AG Kit\n\n> Loaded when touching UI files. Design rules live in the specialist agents, NOT here.\n\n## 🛑 GATE: DESIGN.md before any UI code (MANDATORY)\n\nBefore writing or editing UI (components, pages, styles — web or mobile), a **`DESIGN.md` must exist at the project root**.\n\n1. **Check** for `DESIGN.md` at the project root.\n2. **If missing:** infer the design direction from the brief, then **create `DESIGN.md` first** (tokens + rationale) following the `design-spec` skill. Do not write UI code until it exists.\n3. **If present:** READ it and build strictly against its tokens. Descriptive names in prose map to token names.\n4. **Keep it in sync** when the visual language changes — it is the single source of truth.\n\n> Exception: none for new UI. A genuinely trivial tweak to existing UI (one button color, a spacing nudge) may proceed if a `DESIGN.md` already governs the project. Net-new UI always requires the gate.\n\n| Need | Read |\n| ---- | ---- |\n| DESIGN.md format / tokens | `.agents/skills/design-spec/SKILL.md` |\n\n---\n\n| Task         | Read                            |\n| ------------ | ------------------------------- |\n| Web UI/UX    | `.agents/agent/frontend-specialist.md` |\n| Mobile UI/UX | `.agents/agent/mobile-developer.md`    |\n\n**These agents contain:**\n\n- Purple Ban (no purple by default — brand/brief override allowed)\n- Template Ban (no standard layouts)\n- Anti-cliché rules\n- Deep Design Thinking protocol\n\n> 🔴 **For design work:** Open and READ the agent file. Rules are there.\n\n---\n",".agents/rules/quick-reference.md":"---\nname: quick-reference\nversion: 1.0.0\npriority: P2\ntrigger: model_decision\ndescription: Apply when you need a fast lookup of which agents, skills, or validation scripts exist — for routing decisions or recalling the master/key components of the kit.\n---\n\n# Quick Reference - AG Kit\n\n> A fast index of the most-used agents, skills, and scripts.\n\n## Agents & Skills\n\n- **Masters**: `orchestrator`, `project-planner`, `security-auditor` (Cyber/Audit), `backend-specialist` (API/DB), `frontend-specialist` (UI/UX), `mobile-developer`, `debugger`, `game-developer`\n- **Key Skills**: `clean-code`, `brainstorming`, `app-builder`, `frontend-design`, `mobile-design`, `plan-writing`, `behavioral-modes`\n\n## Key Scripts\n\n- **Verify**: `.agents/scripts/verify_all.py`, `.agents/scripts/checklist.py`\n- **Scanners**: `security_scan.py`\n- **Audits**: `ux_audit.py`, `mobile_audit.py`, `lighthouse_audit.py`, `seo_checker.py`\n- **Test**: `playwright_runner.py`, `test_runner.py`\n\n---\n",".agents/rules/request-routing.md":"---\nname: request-routing\nversion: 1.0.0\npriority: P0\ntrigger: always_on\n---\n\n# Request Routing - AG Kit\n\n> Always-active. Classify every request, then auto-route to the best specialist agent(s) before responding.\n\n---\n\n## 📥 REQUEST CLASSIFIER (STEP 1)\n\n**Before ANY action, classify the request:**\n\n| Request Type     | Trigger Keywords                           | Active Tiers                   | Result                      |\n| ---------------- | ------------------------------------------ | ------------------------------ | --------------------------- |\n| **QUESTION**     | \"what is\", \"how does\", \"explain\"           | TIER 0 only                    | Text Response               |\n| **SURVEY/INTEL** | \"analyze\", \"list files\", \"overview\"        | TIER 0 + Explorer              | Session Intel (No File)     |\n| **SIMPLE CODE**  | \"fix\", \"add\", \"change\" (single file)       | TIER 0 + TIER 1 (lite)         | Inline Edit                 |\n| **COMPLEX CODE** | \"build\", \"create\", \"implement\", \"refactor\" | TIER 0 + TIER 1 (full) + Agent | **{task-slug}.md Required** |\n| **NEW APP**      | \"new app\", \"from scratch\", \"build me a/an\", multi-page | `project-planner` (loads `app-builder`) → `orchestrator` | **{task-slug}.md + app-builder** |\n| **DESIGN/UI**    | \"design\", \"UI\", \"page\", \"dashboard\"        | TIER 0 + TIER 1 + Agent        | **{task-slug}.md Required** |\n| **SLASH CMD**    | /create, /orchestrate, /debug              | Command-specific flow          | Variable                    |\n\n> 🔴 **NEW APP / scaffold from scratch:** route through `project-planner` or `orchestrator` (both load `app-builder`), NOT a lone specialist like `frontend-specialist`. A specialist alone has no project-detection, tech-stack selection, or template knowledge — `app-builder` does. Or run `/create`.\n\n---\n\n## 🤖 INTELLIGENT AGENT ROUTING (STEP 2 - AUTO)\n\n**ALWAYS ACTIVE: Before responding to ANY request, automatically analyze and select the best agent(s).**\n\n> 🔴 **MANDATORY:** You MUST follow the protocol defined in `@[skills/intelligent-routing]`.\n\n### Auto-Selection Protocol\n\n1. **Analyze (Silent)**: Detect domains (Frontend, Backend, Security, etc.) from user request.\n2. **Select Agent(s)**: Choose the most appropriate specialist(s).\n3. **Inform User**: Concisely state which expertise is being applied.\n4. **Apply**: Generate response using the selected agent's persona and rules.\n\n### Response Format (MANDATORY)\n\nWhen auto-applying an agent, inform the user:\n\n```markdown\n🤖 **Applying knowledge of `@[agent-name]`...**\n\n[Continue with specialized response]\n```\n\n**Rules:**\n\n1. **Silent Analysis**: No verbose meta-commentary (\"I am analyzing...\").\n2. **Respect Overrides**: If user mentions `@agent`, use it.\n3. **Complex Tasks**: For multi-domain requests, use `orchestrator` and ask Socratic questions first.\n\n### ⚠️ AGENT ROUTING CHECKLIST (MANDATORY BEFORE EVERY CODE/DESIGN RESPONSE)\n\n**Before ANY code or design work, you MUST complete this mental checklist:**\n\n| Step | Check | If Unchecked |\n|------|-------|--------------|\n| 1 | Did I identify the correct agent for this domain? | → STOP. Analyze request domain first. |\n| 2 | Did I READ the agent's `.md` file (or recall its rules)? | → STOP. Open `.agents/agent/{agent}.md` |\n| 3 | Did I announce `🤖 Applying knowledge of @[agent]...`? | → STOP. Add announcement before response. |\n| 4 | Did I load required skills from agent's frontmatter? | → STOP. Check `skills:` field and read them. |\n\n**Failure Conditions:**\n\n- ❌ Writing code without identifying an agent = **PROTOCOL VIOLATION**\n- ❌ Skipping the announcement = **USER CANNOT VERIFY AGENT WAS USED**\n- ❌ Ignoring agent-specific rules (e.g., Purple Ban) = **QUALITY FAILURE**\n\n> 🔴 **Self-Check Trigger:** Every time you are about to write code or create UI, ask yourself:\n> \"Have I completed the Agent Routing Checklist?\" If NO → Complete it first.\n\n---\n\n## 🎭 Gemini Mode Mapping\n\n| Mode     | Agent             | Behavior                                     |\n| -------- | ----------------- | -------------------------------------------- |\n| **plan** | `project-planner` | 4-phase methodology. NO CODE before Phase 4. |\n| **ask**  | -                 | Focus on understanding. Ask questions.       |\n| **edit** | `orchestrator`    | Execute. Check `{task-slug}.md` first.       |\n\n> 🔴 **Edit mode:** If multi-file or structural change → Offer to create `{task-slug}.md`. For single-file fixes → Proceed directly.\n> Full Plan Mode (4-Phase) protocol lives in `code-rules.md`.\n\n---\n",".agents/rules/universal-rules.md":"---\nname: universal-rules\nversion: 1.0.0\npriority: P0\ntrigger: always_on\n---\n\n# Universal Rules (TIER 0) - AG Kit\n\n> Always-active rules that apply to every request, regardless of domain.\n\n---\n\n## 🌐 Language Handling\n\nWhen user's prompt is NOT in English:\n\n1. **Internally translate** for better comprehension\n2. **Respond in user's language** - match their communication\n3. **Code comments/variables** remain in English\n\n---\n\n## 🧹 Clean Code (Global Mandatory)\n\n**ALL code MUST follow `@[skills/clean-code]` rules. No exceptions.**\n\n- **Code**: Concise, direct, no over-engineering. Self-documenting.\n- **Testing**: Mandatory. Pyramid (Unit > Int > E2E) + AAA Pattern.\n- **Performance**: Measure first. Adhere to current Core Web Vitals standards.\n- **Infra/Safety**: 5-Phase Deployment. Verify secrets security.\n\n---\n",".agents/skills/api-patterns/SKILL.md":"---\nname: api-patterns\ndescription: API design principles and decision-making. REST vs GraphQL vs tRPC selection, response formats, versioning, pagination.\nwhen_to_use: \"When designing REST/GraphQL/tRPC APIs, defining response formats, versioning, pagination, or API authentication. NOT for UI/frontend work.\"\nallowed-tools: Read, Write, Edit, Glob, Grep\nversion: 1.0.0\n---\n\n# API Patterns\n\n> API design principles and decision-making.\n> **Learn to THINK, not copy fixed patterns.**\n\n## 🎯 Selective Reading Rule\n\n**Read ONLY files relevant to the request!** Check the content map, find what you need.\n\n---\n\n## 📑 Content Map\n\n| File | Description | When to Read |\n|------|-------------|--------------|\n| `api-style.md` | REST vs GraphQL vs tRPC decision tree | Choosing API type |\n| `rest.md` | Resource naming, HTTP methods, status codes | Designing REST API |\n| `response.md` | Envelope pattern, error format, pagination | Response structure |\n| `graphql.md` | Schema design, when to use, security | Considering GraphQL |\n| `trpc.md` | TypeScript monorepo, type safety | TS fullstack projects |\n| `versioning.md` | URI/Header/Query versioning | API evolution planning |\n| `auth.md` | JWT, OAuth, Passkey, API Keys | Auth pattern selection |\n| `rate-limiting.md` | Token bucket, sliding window | API protection |\n| `documentation.md` | OpenAPI/Swagger best practices | Documentation |\n| `security-testing.md` | OWASP API Top 10, auth/authz testing | Security audits |\n\n---\n\n## 🔗 Related Skills\n\n| Need | Skill |\n|------|-------|\n| API implementation | `@[skills/nodejs-best-practices]` |\n| Data structure | `@[skills/database-design]` |\n| Security details | `@[skills/vulnerability-scanner]` |\n\n---\n\n## ✅ Decision Checklist\n\nBefore designing an API:\n\n- [ ] **Asked user about API consumers?**\n- [ ] **Chosen API style for THIS context?** (REST/GraphQL/tRPC)\n- [ ] **Defined consistent response format?**\n- [ ] **Planned versioning strategy?**\n- [ ] **Considered authentication needs?**\n- [ ] **Planned rate limiting?**\n- [ ] **Documentation approach defined?**\n\n---\n\n## ❌ Anti-Patterns\n\n**DON'T:**\n- Default to REST for everything\n- Use verbs in REST endpoints (/getUsers)\n- Return inconsistent response formats\n- Expose internal errors to clients\n- Skip rate limiting\n\n**DO:**\n- Choose API style based on context\n- Ask about client requirements\n- Document thoroughly\n- Use appropriate status codes\n\n---\n\n## Script\n\n| Script | Purpose | Command |\n|--------|---------|---------|\n| `scripts/api_validator.py` | API endpoint validation | `python scripts/api_validator.py <project_path>` |\n\n",".agents/skills/api-patterns/api-style.md":"# API Style Selection\n\n> REST vs GraphQL vs tRPC - which one, when?\n\n## Decision Tree\n\n```\nWho are the API consumers?\n│\n├── Public API / Multiple platforms\n│   └── REST + OpenAPI (widest compatibility)\n│\n├── Complex data needs / Multiple frontends\n│   └── GraphQL (flexible queries)\n│\n├── TypeScript frontend + backend (monorepo)\n│   └── tRPC (end-to-end type safety)\n│\n├── Real-time / Event-driven\n│   └── WebSocket + AsyncAPI\n│\n└── Internal microservices\n    └── gRPC (performance) or REST (simplicity)\n```\n\n## Comparison\n\n| Factor | REST | GraphQL | tRPC |\n|--------|------|---------|------|\n| **Best for** | Public APIs | Complex apps | TS monorepos |\n| **Learning curve** | Low | Medium | Low (if TS) |\n| **Over/under fetching** | Common | Solved | Solved |\n| **Type safety** | Manual (OpenAPI) | Schema-based | Automatic |\n| **Caching** | HTTP native | Complex | Client-based |\n\n## Selection Questions\n\n1. Who are the API consumers?\n2. Is the frontend TypeScript?\n3. How complex are the data relationships?\n4. Is caching critical?\n5. Public or internal API?\n",".agents/skills/api-patterns/auth.md":"# Authentication Patterns\n\n> Choose auth pattern based on use case.\n\n## Selection Guide\n\n| Pattern | Best For |\n|---------|----------|\n| **JWT** | Stateless, microservices |\n| **Session** | Traditional web, simple |\n| **OAuth 2.0** | Third-party integration |\n| **API Keys** | Server-to-server, public APIs |\n| **Passkey** | Modern passwordless (2025+) |\n\n## JWT Principles\n\n```\nImportant:\n├── Always verify signature\n├── Check expiration\n├── Include minimal claims\n├── Use short expiry + refresh tokens\n└── Never store sensitive data in JWT\n```\n",".agents/skills/api-patterns/documentation.md":"# API Documentation Principles\n\n> Good docs = happy developers = API adoption.\n\n## OpenAPI/Swagger Essentials\n\n```\nInclude:\n├── All endpoints with examples\n├── Request/response schemas\n├── Authentication requirements\n├── Error response formats\n└── Rate limiting info\n```\n\n## Good Documentation Has\n\n```\nEssentials:\n├── Quick start / Getting started\n├── Authentication guide\n├── Complete API reference\n├── Error handling guide\n├── Code examples (multiple languages)\n└── Changelog\n```\n",".agents/skills/api-patterns/graphql.md":"# GraphQL Principles\n\n> Flexible queries for complex, interconnected data.\n\n## When to Use\n\n```\n✅ Good fit:\n├── Complex, interconnected data\n├── Multiple frontend platforms\n├── Clients need flexible queries\n├── Evolving data requirements\n└── Reducing over-fetching matters\n\n❌ Poor fit:\n├── Simple CRUD operations\n├── File upload heavy\n├── HTTP caching important\n└── Team unfamiliar with GraphQL\n```\n\n## Schema Design Principles\n\n```\nPrinciples:\n├── Think in graphs, not endpoints\n├── Design for evolvability (no versions)\n├── Use connections for pagination\n├── Be specific with types (not generic \"data\")\n└── Handle nullability thoughtfully\n```\n\n## Security Considerations\n\n```\nProtect against:\n├── Query depth attacks → Set max depth\n├── Query complexity → Calculate cost\n├── Batching abuse → Limit batch size\n├── Introspection → Disable in production\n```\n",".agents/skills/api-patterns/rate-limiting.md":"# Rate Limiting Principles\n\n> Protect your API from abuse and overload.\n\n## Why Rate Limit\n\n```\nProtect against:\n├── Brute force attacks\n├── Resource exhaustion\n├── Cost overruns (if pay-per-use)\n└── Unfair usage\n```\n\n## Strategy Selection\n\n| Type | How | When |\n|------|-----|------|\n| **Token bucket** | Burst allowed, refills over time | Most APIs |\n| **Sliding window** | Smooth distribution | Strict limits |\n| **Fixed window** | Simple counters per window | Basic needs |\n\n## Response Headers\n\n```\nInclude in headers:\n├── X-RateLimit-Limit (max requests)\n├── X-RateLimit-Remaining (requests left)\n├── X-RateLimit-Reset (when limit resets)\n└── Return 429 when exceeded\n```\n",".agents/skills/api-patterns/response.md":"# Response Format Principles\n\n> Consistency is key - choose a format and stick to it.\n\n## Common Patterns\n\n```\nChoose one:\n├── Envelope pattern ({ success, data, error })\n├── Direct data (just return the resource)\n└── HAL/JSON:API (hypermedia)\n```\n\n## Error Response\n\n```\nInclude:\n├── Error code (for programmatic handling)\n├── User message (for display)\n├── Details (for debugging, field-level errors)\n├── Request ID (for support)\n└── NOT internal details (security!)\n```\n\n## Pagination Types\n\n| Type | Best For | Trade-offs |\n|------|----------|------------|\n| **Offset** | Simple, jumpable | Performance on large datasets |\n| **Cursor** | Large datasets | Can't jump to page |\n| **Keyset** | Performance critical | Requires sortable key |\n\n### Selection Questions\n\n1. How large is the dataset?\n2. Do users need to jump to specific pages?\n3. Is data frequently changing?\n",".agents/skills/api-patterns/rest.md":"# REST Principles\n\n> Resource-based API design - nouns not verbs.\n\n## Resource Naming Rules\n\n```\nPrinciples:\n├── Use NOUNS, not verbs (resources, not actions)\n├── Use PLURAL forms (/users not /user)\n├── Use lowercase with hyphens (/user-profiles)\n├── Nest for relationships (/users/123/posts)\n└── Keep shallow (max 3 levels deep)\n```\n\n## HTTP Method Selection\n\n| Method | Purpose | Idempotent? | Body? |\n|--------|---------|-------------|-------|\n| **GET** | Read resource(s) | Yes | No |\n| **POST** | Create new resource | No | Yes |\n| **PUT** | Replace entire resource | Yes | Yes |\n| **PATCH** | Partial update | No | Yes |\n| **DELETE** | Remove resource | Yes | No |\n\n## Status Code Selection\n\n| Situation | Code | Why |\n|-----------|------|-----|\n| Success (read) | 200 | Standard success |\n| Created | 201 | New resource created |\n| No content | 204 | Success, nothing to return |\n| Bad request | 400 | Malformed request |\n| Unauthorized | 401 | Missing/invalid auth |\n| Forbidden | 403 | Valid auth, no permission |\n| Not found | 404 | Resource doesn't exist |\n| Conflict | 409 | State conflict (duplicate) |\n| Validation error | 422 | Valid syntax, invalid data |\n| Rate limited | 429 | Too many requests |\n| Server error | 500 | Our fault |\n",".agents/skills/api-patterns/security-testing.md":"# API Security Testing\n\n> Principles for testing API security. OWASP API Top 10, authentication, authorization testing.\n\n---\n\n## OWASP API Security Top 10\n\n| Vulnerability | Test Focus |\n|---------------|------------|\n| **API1: BOLA** | Access other users' resources |\n| **API2: Broken Auth** | JWT, session, credentials |\n| **API3: Property Auth** | Mass assignment, data exposure |\n| **API4: Resource Consumption** | Rate limiting, DoS |\n| **API5: Function Auth** | Admin endpoints, role bypass |\n| **API6: Business Flow** | Logic abuse, automation |\n| **API7: SSRF** | Internal network access |\n| **API8: Misconfiguration** | Debug endpoints, CORS |\n| **API9: Inventory** | Shadow APIs, old versions |\n| **API10: Unsafe Consumption** | Third-party API trust |\n\n---\n\n## Authentication Testing\n\n### JWT Testing\n\n| Check | What to Test |\n|-------|--------------|\n| Algorithm | None, algorithm confusion |\n| Secret | Weak secrets, brute force |\n| Claims | Expiration, issuer, audience |\n| Signature | Manipulation, key injection |\n\n### Session Testing\n\n| Check | What to Test |\n|-------|--------------|\n| Generation | Predictability |\n| Storage | Client-side security |\n| Expiration | Timeout enforcement |\n| Invalidation | Logout effectiveness |\n\n---\n\n## Authorization Testing\n\n| Test Type | Approach |\n|-----------|----------|\n| **Horizontal** | Access peer users' data |\n| **Vertical** | Access higher privilege functions |\n| **Context** | Access outside allowed scope |\n\n### BOLA/IDOR Testing\n\n1. Identify resource IDs in requests\n2. Capture request with user A's session\n3. Replay with user B's session\n4. Check for unauthorized access\n\n---\n\n## Input Validation Testing\n\n| Injection Type | Test Focus |\n|----------------|------------|\n| SQL | Query manipulation |\n| NoSQL | Document queries |\n| Command | System commands |\n| LDAP | Directory queries |\n\n**Approach:** Test all parameters, try type coercion, test boundaries, check error messages.\n\n---\n\n## Rate Limiting Testing\n\n| Aspect | Check |\n|--------|-------|\n| Existence | Is there any limit? |\n| Bypass | Headers, IP rotation |\n| Scope | Per-user, per-IP, global |\n\n**Bypass techniques:** X-Forwarded-For, different HTTP methods, case variations, API versioning.\n\n---\n\n## GraphQL Security\n\n| Test | Focus |\n|------|-------|\n| Introspection | Schema disclosure |\n| Batching | Query DoS |\n| Nesting | Depth-based DoS |\n| Authorization | Field-level access |\n\n---\n\n## Security Testing Checklist\n\n**Authentication:**\n- [ ] Test for bypass\n- [ ] Check credential strength\n- [ ] Verify token security\n\n**Authorization:**\n- [ ] Test BOLA/IDOR\n- [ ] Check privilege escalation\n- [ ] Verify function access\n\n**Input:**\n- [ ] Test all parameters\n- [ ] Check for injection\n\n**Config:**\n- [ ] Check CORS\n- [ ] Verify headers\n- [ ] Test error handling\n\n---\n\n> **Remember:** APIs are the backbone of modern apps. Test them like attackers will.\n",".agents/skills/api-patterns/trpc.md":"# tRPC Principles\n\n> End-to-end type safety for TypeScript monorepos.\n\n## When to Use\n\n```\n✅ Perfect fit:\n├── TypeScript on both ends\n├── Monorepo structure\n├── Internal tools\n├── Rapid development\n└── Type safety critical\n\n❌ Poor fit:\n├── Non-TypeScript clients\n├── Public API\n├── Need REST conventions\n└── Multiple language backends\n```\n\n## Key Benefits\n\n```\nWhy tRPC:\n├── Zero schema maintenance\n├── End-to-end type inference\n├── IDE autocomplete across stack\n├── Instant API changes reflected\n└── No code generation step\n```\n\n## Integration Patterns\n\n```\nCommon setups:\n├── Next.js + tRPC (most common)\n├── Monorepo with shared types\n├── Remix + tRPC\n└── Any TS frontend + backend\n```\n",".agents/skills/api-patterns/versioning.md":"# Versioning Strategies\n\n> Plan for API evolution from day one.\n\n## Decision Factors\n\n| Strategy | Implementation | Trade-offs |\n|----------|---------------|------------|\n| **URI** | /v1/users | Clear, easy caching |\n| **Header** | Accept-Version: 1 | Cleaner URLs, harder discovery |\n| **Query** | ?version=1 | Easy to add, messy |\n| **None** | Evolve carefully | Best for internal, risky for public |\n\n## Versioning Philosophy\n\n```\nConsider:\n├── Public API? → Version in URI\n├── Internal only? → May not need versioning\n├── GraphQL? → Typically no versions (evolve schema)\n├── tRPC? → Types enforce compatibility\n```\n",".agents/skills/app-builder/SKILL.md":"---\nname: app-builder\ndescription: Main application building orchestrator. Creates full-stack applications from natural language requests. Determines project type, selects tech stack, coordinates agents.\nwhen_to_use: \"When creating a new full-stack application from scratch, selecting tech stack, or scaffolding project structure. Use with /create workflow.\"\nallowed-tools: Read, Write, Edit, Glob, Grep, Bash, Agent\nversion: 1.1.0\n---\n\n# App Builder - Application Building Orchestrator\n\n> Analyzes user's requests, determines tech stack, plans structure, and coordinates agents.\n\n## 🎯 Selective Reading Rule\n\n**Read ONLY files relevant to the request!** Check the content map, find what you need.\n\n| File | Description | When to Read |\n|------|-------------|--------------|\n| `project-detection.md` | Keyword matrix, project type detection | Starting new project |\n| `tech-stack.md` | 2026 default stack, alternatives | Choosing technologies |\n| `agent-coordination.md` | Agent pipeline, execution order | Coordinating multi-agent work |\n| `scaffolding.md` | Directory structure, core files | Creating project structure |\n| `feature-building.md` | Feature analysis, error handling | Adding features to existing project |\n| `templates/SKILL.md` | **Project templates** | Scaffolding new project |\n\n---\n\n## 📦 Templates (13)\n\nQuick-start scaffolding for new projects. **Read the matching template only!**\n\n| Template | Tech Stack | When to Use |\n|----------|------------|-------------|\n| [nextjs-fullstack](templates/nextjs-fullstack/TEMPLATE.md) | Next.js + Prisma | Full-stack web app |\n| [nextjs-saas](templates/nextjs-saas/TEMPLATE.md) | Next.js + Stripe | SaaS product |\n| [nextjs-static](templates/nextjs-static/TEMPLATE.md) | Next.js + Framer | Landing page |\n| [nuxt-app](templates/nuxt-app/TEMPLATE.md) | Nuxt 4 + Pinia | Vue full-stack app |\n| [express-api](templates/express-api/TEMPLATE.md) | Express + JWT | REST API |\n| [python-fastapi](templates/python-fastapi/TEMPLATE.md) | FastAPI | Python API |\n| [react-native-app](templates/react-native-app/TEMPLATE.md) | Expo + Zustand | Mobile app |\n| [flutter-app](templates/flutter-app/TEMPLATE.md) | Flutter + Riverpod | Cross-platform mobile |\n| [electron-desktop](templates/electron-desktop/TEMPLATE.md) | Electron + React | Desktop app |\n| [chrome-extension](templates/chrome-extension/TEMPLATE.md) | Chrome MV3 | Browser extension |\n| [cli-tool](templates/cli-tool/TEMPLATE.md) | Node.js + Commander | CLI app |\n| [monorepo-turborepo](templates/monorepo-turborepo/TEMPLATE.md) | Turborepo + pnpm | Monorepo |\n| [astro-static](templates/astro-static/TEMPLATE.md) | Astro + MDX | Blog / Documentation |\n\n---\n\n## 🔗 Related Agents\n\n| Agent | Role |\n|-------|------|\n| `project-planner` | Task breakdown, dependency graph |\n| `frontend-specialist` | UI components, pages |\n| `backend-specialist` | API, business logic |\n| `database-architect` | Schema, migrations |\n| `devops-engineer` | Deployment, preview |\n\n---\n\n## Usage Example\n\n```\nUser: \"Make an Instagram clone with photo sharing and likes\"\n\nApp Builder Process:\n1. Project type: Social Media App\n2. Tech stack: Next.js + Prisma + Cloudinary + Clerk\n3. Create plan:\n   ├─ Database schema (users, posts, likes, follows)\n   ├─ API routes (auth, posts, likes, follows)\n   ├─ Pages (feed, profile, upload)\n   └─ Components (PostCard, Feed, LikeButton)\n4. Coordinate agents\n5. Report progress\n6. Start preview\n```\n",".agents/skills/app-builder/agent-coordination.md":"# Agent Coordination\n\n> How App Builder orchestrates specialist agents.\n\n## Agent Pipeline\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                   APP BUILDER (Orchestrator)                 │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│                     PROJECT PLANNER                          │\n│  • Task breakdown                                            │\n│  • Dependency graph                                          │\n│  • File structure planning                                   │\n│  • Create {task-slug}.md in project root (MANDATORY)             │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│              CHECKPOINT: PLAN VERIFICATION                   │\n│  🔴 VERIFY: Does {task-slug}.md exist in project root?       │\n│  🔴 If NO → STOP → Create plan file first                    │\n│  🔴 If YES → Proceed to specialist agents                    │\n└─────────────────────────────────────────────────────────────┘\n                              │\n          ┌───────────────────┼───────────────────┐\n          ▼                   ▼                   ▼\n┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐\n│ DATABASE        │ │ BACKEND         │ │ DESIGN SOURCE   │\n│ ARCHITECT       │ │ SPECIALIST      │ │ OF TRUTH        │\n│                 │ │                 │ │                 │\n│ • Schema design │ │ • API routes    │ │ • Read design-  │\n│ • Migrations    │ │ • Controllers   │ │   spec & refs   │\n│ • Seed data     │ │ • Middleware    │ │ • Create        │\n│                 │ │                 │ │   DESIGN.md     │\n└─────────────────┘ └─────────────────┘ └─────────────────┘\n          │                   │                   │\n          │                   │                   ▼\n          │                   │         ┌─────────────────┐\n          │                   │         │ FRONTEND        │\n          │                   │         │ SPECIALIST      │\n          │                   │         │                 │\n          │                   │         │ • UI Components │\n          │                   │         │ • Pages         │\n          │                   │         │ • Strict tokens │\n          │                   │         └─────────────────┘\n          │                   │                   │\n          └───────────────────┼───────────────────┘\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│                 PARALLEL PHASE (Optional)                    │\n│  • Security Auditor → Vulnerability check                   │\n│  • Test Engineer → Unit tests                               │\n│  • Performance Optimizer → Bundle analysis                  │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│                     DEVOPS ENGINEER                          │\n│  • Environment setup                                         │\n│  • Preview deployment (`python .agents/scripts/auto_preview.py`) │\n│  • Health check & report URL                                 │\n└─────────────────────────────────────────────────────────────┘\n```\n\n## Execution Order\n\n| Phase | Agent(s) / Step | Parallel? | Prerequisite | CHECKPOINT |\n|-------|-----------------|-----------|--------------|------------|\n| 0 | Socratic Gate | ❌ | - | ✅ Ask 3 questions |\n| 1 | Project Planner | ❌ | Questions answered | ✅ **{task-slug}.md created** |\n| 1.5 | **PLAN VERIFICATION** | ❌ | {task-slug}.md exists | ✅ **File exists in root** |\n| 1.8 | **DESIGN SOURCE-OF-TRUTH** | ❌ | Plan verified (UI projects) | ✅ **DESIGN.md created at root** |\n| 2 | Database Architect | ❌ | Plan ready | Schema defined |\n| 3 | Backend Specialist | ❌ | Schema ready | API routes created |\n| 4 | Frontend Specialist | ✅ | DESIGN.md + API ready (partial) | UI components match tokens |\n| 5 | Security Auditor, Test Engineer | ✅ | Code ready | Tests & audit pass |\n| 6 | DevOps Engineer | ❌ | All code ready | Deployment & preview ready |\n\n> 🔴 **CRITICAL:** Phase 1.5 and Phase 1.8 are MANDATORY gates.\n> - Phase 1.5: No specialist agents proceed without `{task-slug}.md` verification.\n> - Phase 1.8: For any project with a UI (web, mobile, desktop), **`DESIGN.md` MUST exist at the project root** before writing UI components or pages (per `@[rules/design-rules]` and `@[skills/design-spec]`). Skip only for headless APIs or CLI tools.\n\n",".agents/skills/app-builder/feature-building.md":"# Feature Building\n\n> How to analyze and implement new features.\n\n## Feature Analysis\n\n```\nRequest: \"add payment system\"\n\nAnalysis:\n├── Required Changes:\n│   ├── Database: orders, payments tables\n│   ├── Backend: /api/checkout, /api/webhooks/stripe\n│   ├── Frontend: CheckoutForm, PaymentSuccess\n│   └── Config: Stripe API keys\n│\n├── Dependencies:\n│   ├── stripe package\n│   └── Existing user authentication\n│\n└── Scope: DB + 2 API routes + 2 components + config\n```\n\n## Iterative Enhancement Process\n\n```\n1. Analyze existing project & architecture\n2. Create change plan ({task-slug}.md)\n3. If UI modified/added: check & align with DESIGN.md\n4. Present plan to user & get approval\n5. Apply changes with specialist agents\n6. Test & validate (lint, typecheck, unit tests)\n7. Start preview (python .agents/scripts/auto_preview.py)\n```\n\n\n## Error Handling\n\n| Error Type | Solution Strategy |\n|------------|-------------------|\n| TypeScript Error | Fix type, add missing import |\n| Missing Dependency | Run npm install |\n| Port Conflict | Suggest alternative port |\n| Database Error | Check migration, validate connection |\n\n## Recovery Strategy\n\n```\n1. Detect error\n2. Try automatic fix\n3. If failed, report to user\n4. Suggest alternative\n5. Rollback if necessary\n```\n",".agents/skills/app-builder/project-detection.md":"# Project Type Detection\n\n> Analyze user requests to determine project type and template.\n\n## Keyword Matrix\n\n| Keywords | Project Type | Template |\n|----------|--------------|----------|\n| blog, post, article | Blog | astro-static |\n| e-commerce, product, cart, payment | E-commerce | nextjs-saas |\n| dashboard, panel, management | Admin Dashboard | nextjs-fullstack |\n| ai, chat, bot, llm, rag, agent app | AI / Chatbot App | nextjs-fullstack (AI SDK / Streaming) |\n| game, 2d, 3d, canvas, phaser, godot | Game Application | game-development skill (via `game-developer`) |\n| api, backend, service, rest | API Service | express-api |\n| python, fastapi, django | Python API | python-fastapi |\n| mobile, android, ios, react native | Mobile App (RN) | react-native-app |\n| flutter, dart | Mobile App (Flutter) | flutter-app |\n| portfolio, personal, cv | Portfolio | nextjs-static |\n| crm, customer, sales | CRM | nextjs-fullstack |\n| saas, subscription, stripe | SaaS | nextjs-saas |\n| landing, promotional, marketing | Landing Page | nextjs-static |\n| docs, documentation | Documentation | astro-static |\n| extension, plugin, chrome | Browser Extension | chrome-extension |\n| desktop, electron | Desktop App | electron-desktop |\n| cli, command line, terminal | CLI Tool | cli-tool |\n| monorepo, workspace | Monorepo | monorepo-turborepo |\n\n\n## Detection Process\n\n```\n1. Tokenize user request\n2. Extract keywords\n3. Determine project type\n4. Detect missing information → forward to project-planner / orchestrator\n5. Suggest tech stack\n```\n\n## Conflict Resolution\n\nWhen a request matches multiple keywords (e.g. \"a CLI to manage my e-commerce products\" matches both `cli` and `e-commerce`), resolve in this order:\n\n| Priority | Rule | Example |\n|----------|------|---------|\n| 1 | **Platform wins over domain.** A concrete platform (mobile / desktop / cli / extension) outranks a web/business domain (e-commerce, crm, blog). | \"CLI to manage e-commerce\" → **cli-tool** (e-commerce is the data domain, not the deliverable) |\n| 2 | **Head noun wins.** The keyword describing what is being built (grammatical subject) outranks modifiers. | \"a **dashboard** for my Shopify store\" → **nextjs-fullstack** (dashboard is the thing; Shopify is context) |\n| 3 | **Still ambiguous → ask.** If no rule breaks the tie, do NOT guess. Surface the options through the Socratic Gate (Phase 0) and let the user choose. | \"an app for my shop\" → ask: web, mobile, or desktop? |\n\n",".agents/skills/app-builder/scaffolding.md":"# Project Scaffolding\n\n> Directory structure and core files for new projects.\n\n---\n\n## Next.js Full-Stack Structure (Next.js 16 Optimized)\n\n```\nproject-name/\n├── src/\n│   ├── app/                        # Routes only (thin layer)\n│   │   ├── layout.tsx\n│   │   ├── page.tsx\n│   │   ├── globals.css             # Tailwind v4 config (@theme) lives here\n│   │   ├── (auth)/                 # Route group - auth pages\n│   │   │   ├── login/page.tsx\n│   │   │   └── register/page.tsx\n│   │   ├── (dashboard)/            # Route group - dashboard layout\n│   │   │   ├── layout.tsx\n│   │   │   └── page.tsx\n│   │   └── api/                    # Route Handlers (webhooks/external only)\n│   │       └── [resource]/route.ts\n│   │\n│   ├── components/                 # UI components\n│   │   ├── ui/                     # Reusable primitives (Button, Input)\n│   │   └── forms/                  # Client forms (useActionState)\n│   │\n│   ├── lib/                        # Shared utilities & server-only logic\n│   │   ├── db.ts                   # Prisma singleton client\n│   │   ├── dal.ts                  # Data Access Layer (server-only, DTOs)\n│   │   └── utils.ts                # Helper functions\n│   │\n│   ├── actions/                    # Server Actions (mutations)\n│   │\n│   └── types/                      # Global TypeScript types\n│\n├── prisma/\n│   ├── schema.prisma\n│   ├── migrations/\n│   └── seed.ts\n│\n├── public/\n├── proxy.ts                        # Network boundary (auth, redirects)\n├── DESIGN.md                       # Design source-of-truth tokens & rationale (MANDATORY for UI)\n├── .env.example\n├── .env.local\n├── package.json\n├── next.config.ts\n├── tsconfig.json\n└── README.md\n```\n\n---\n\n## Structure Principles\n\n| Principle | Implementation |\n|-----------|----------------|\n| **Thin routes** | `app/` only for routing + layouts, logic lives in `actions/` and `lib/` |\n| **Server/Client separation** | Server-only logic in `lib/dal.ts`, prevents accidental client imports |\n| **Data Access Layer** | `lib/dal.ts` centralizes DB access and returns DTOs for safe reuse |\n| **Mutations via Server Actions** | `actions/` holds Server Actions, called from forms with `useActionState` |\n| **Route groups** | `(groupName)/` for layout sharing without URL impact |\n| **Reusable UI** | `components/ui/` for primitives, `components/forms/` for client forms |\n\n---\n\n| File | Purpose |\n|------|---------|\n| `proxy.ts` | Next.js 16 network boundary logic (auth, redirects). Renamed from `middleware.ts`, runs on Node.js runtime |\n| `DESIGN.md` | Single source of truth for visual tokens (YAML frontmatter) & rationale (MANDATORY before UI) |\n| `package.json` | Dependencies |\n| `next.config.ts` | Next.js config (TypeScript) |\n| `tsconfig.json` | TypeScript + path aliases (`@/*`) |\n| `.env.example` | Environment template |\n| `README.md` | Project documentation |\n| `.gitignore` | Git ignore rules |\n| `prisma/schema.prisma` | Database schema |\n| `src/app/globals.css` | Tailwind v4 config via `@theme` (no `tailwind.config.js`) |\n\n\n---\n\n## Path Aliases (tsconfig.json)\n\n```json\n{\n  \"compilerOptions\": {\n    \"paths\": {\n      \"@/*\": [\"./src/*\"],\n      \"@/components/*\": [\"./src/components/*\"],\n      \"@/lib/*\": [\"./src/lib/*\"],\n      \"@/actions/*\": [\"./src/actions/*\"]\n    }\n  }\n}\n```\n\n---\n\n## When to Use What\n\n| Need | Location |\n|------|----------|\n| New page/route | `app/(group)/page.tsx` |\n| Reusable button/input | `components/ui/` |\n| Client form | `components/forms/` |\n| Server action (mutation) | `actions/` |\n| Data fetching / DB query | `lib/dal.ts` |\n| Prisma client | `lib/db.ts` |\n| Helper function | `lib/utils.ts` |\n| Auth / redirect logic | `proxy.ts` |\n",".agents/skills/app-builder/tech-stack.md":"# Tech Stack Selection (2026)\n\n> Default and alternative technology choices for web applications.\n\n## Default Stack (Web App - 2026)\n\n```yaml\nFrontend:\n  framework: Next.js 16 (Stable)\n  language: TypeScript 5.7+\n  styling: Tailwind CSS v4\n  state: React 19 Actions / Server Components\n  caching: Next.js 16 Cache Components (Stable)\n  bundler: Turbopack (Stable for Dev & Build)\n\nBackend:\n  runtime: Node.js 24 (Krypton LTS)\n  framework: Next.js API Routes / Hono (for Edge)\n  validation: Zod / TypeBox\n\nDatabase:\n  primary: PostgreSQL\n  orm: Prisma / Drizzle\n  hosting: Supabase / Neon\n\nAuth:\n  provider: Auth.js (v5) / Clerk\n\nMonorepo:\n  tool: Turborepo 2.0\n```\n\n## Alternative Options\n\n| Need | Default | Alternative |\n|------|---------|-------------|\n| Real-time | Supabase Realtime | Socket.io, Ably |\n| File storage | Supabase Storage | Cloudinary, AWS S3 |\n| Payment | Stripe | LemonSqueezy, Paddle |\n| Email | Resend | SendGrid, Postmark |\n| Search | Algolia | Typesense, Orama |\n| AI / LLM SDK | Vercel AI SDK (`ai` + `@ai-sdk/*`) | LangChain.js, direct REST API |\n| Vector Database | PostgreSQL (pgvector via Supabase / Neon) | Pinecone, Qdrant |\n| ORM (SQL-first) | Prisma ORM | Drizzle ORM (`drizzle-orm` + `drizzle-kit`) |\n\n---\n\n## AI Application Pattern (2026 Standard)\n\nWhen building an AI or LLM-powered application:\n- **Streaming**: Use Vercel AI SDK `streamText` / `streamUI` in Route Handlers or Server Actions.\n- **UI State**: Leverage `useChat` / `useCompletion` with React 19 optimistic updates.\n- **Embeddings & Vector**: Store vectors in PostgreSQL using `pgvector` extension; query via cosine similarity.\n- **Safety & Rate Limits**: Protect AI endpoints with rate limiting (`@[skills/api-patterns/rate-limiting]`) and Zod schema parsing.\n\n",".agents/skills/app-builder/templates/SKILL.md":"---\nname: templates\ndescription: Project scaffolding templates for new applications. Use when creating new projects from scratch. Contains 13 templates for various tech stacks.\nallowed-tools: Read, Glob, Grep\n---\n\n# Project Templates\n\n> Quick-start templates for scaffolding new projects.\n\n---\n\n## 🎯 Selective Reading Rule\n\n**Read ONLY the template matching user's project type!**\n\n| Template | Tech Stack | When to Use |\n|----------|------------|-------------|\n| [nextjs-fullstack](nextjs-fullstack/TEMPLATE.md) | Next.js + Prisma | Full-stack web app |\n| [nextjs-saas](nextjs-saas/TEMPLATE.md) | Next.js + Stripe | SaaS product |\n| [nextjs-static](nextjs-static/TEMPLATE.md) | Next.js + Framer | Landing page |\n| [nuxt-app](nuxt-app/TEMPLATE.md) | Nuxt 4 + Pinia | Vue full-stack app |\n| [express-api](express-api/TEMPLATE.md) | Express + JWT | REST API |\n| [python-fastapi](python-fastapi/TEMPLATE.md) | FastAPI | Python API |\n| [react-native-app](react-native-app/TEMPLATE.md) | Expo + Zustand | Mobile app |\n| [flutter-app](flutter-app/TEMPLATE.md) | Flutter + Riverpod | Cross-platform |\n| [electron-desktop](electron-desktop/TEMPLATE.md) | Electron + React | Desktop app |\n| [chrome-extension](chrome-extension/TEMPLATE.md) | Chrome MV3 | Browser extension |\n| [cli-tool](cli-tool/TEMPLATE.md) | Node.js + Commander | CLI app |\n| [monorepo-turborepo](monorepo-turborepo/TEMPLATE.md) | Turborepo + pnpm | Monorepo |\n| [astro-static](astro-static/TEMPLATE.md) | Astro + MDX | Blog / Docs |\n\n---\n\n## Usage\n\n1. User says \"create [type] app\"\n2. Match to appropriate template\n3. Read ONLY that template's TEMPLATE.md\n4. Follow its tech stack and structure\n",".agents/skills/app-builder/templates/astro-static/TEMPLATE.md":"---\nname: astro-static\ndescription: Astro static site template principles. Content-focused websites, blogs, documentation.\n---\n\n# Astro Static Site Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Framework | Astro 6.x |\n| Content | MDX + Content Collections (Content Layer API) |\n| Styling | Tailwind CSS v4 (@tailwindcss/vite) |\n| Integrations | Sitemap, RSS, SEO |\n| Output | Static/SSG |\n\n---\n\n## Directory Structure\n\n```\nproject-name/\n├── src/\n│   ├── components/      # .astro components\n│   ├── content/         # Collection entries (blog/, docs/ .md/.mdx)\n│   ├── layouts/         # Page layouts\n│   ├── pages/           # File-based routing (only reserved dir)\n│   ├── styles/\n│   │   └── global.css   # @import \"tailwindcss\";\n│   └── content.config.ts # Collection definitions (Content Layer, in src/ root)\n├── public/              # Static assets\n├── astro.config.mjs\n└── package.json\n```\n\n---\n\n## Key Concepts\n\n| Concept | Description |\n|---------|-------------|\n| Content Layer API | Collections defined in `src/content.config.ts` with `loader`s (glob/file) + Zod schemas |\n| Islands Architecture | Partial hydration for interactivity |\n| Zero JS by default | Static HTML unless needed |\n| MDX Support | Markdown with components |\n\n---\n\n## Setup Steps\n\n1. `npm create astro@latest {{name}}`\n2. Add integrations: `npx astro add mdx sitemap`\n3. Add Tailwind v4: `npx astro add tailwind` (installs @tailwindcss/vite, not the legacy @astrojs/tailwind)\n4. Define collections in `src/content.config.ts` using `loader`s + Zod schemas\n5. `npm run dev`\n\n---\n\n## Deployment\n\n| Platform | Method |\n|----------|--------|\n| Vercel | Auto-detected |\n| Netlify | Auto-detected |\n| Cloudflare Pages | Auto-detected |\n| GitHub Pages | Build + deploy action |\n\n---\n\n## Best Practices\n\n- Use Content Collections for type safety\n- Leverage static generation\n- Add islands only where needed\n- Optimize images with Astro Image\n",".agents/skills/app-builder/templates/chrome-extension/TEMPLATE.md":"---\nname: chrome-extension\ndescription: Chrome Extension template principles. Manifest V3, React, TypeScript.\n---\n\n# Chrome Extension Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Manifest | V3 |\n| UI | React 19 |\n| Language | TypeScript |\n| Styling | Tailwind CSS v4 |\n| Bundler | Vite + CRXJS (@crxjs/vite-plugin v2) |\n| Storage | Chrome Storage API |\n\n---\n\n## Directory Structure\n\n> CRXJS + Vite: `manifest.config.ts` is the source of truth, Vite resolves entries.\n\n```\nproject-name/\n├── src/\n│   ├── popup/           # { index.html, main.tsx, Popup.tsx }\n│   ├── options/         # { index.html, main.tsx, Options.tsx }\n│   ├── background/      # service-worker.ts (MV3 service worker)\n│   ├── content/         # { content-script.ts, content.css }\n│   ├── components/      # Shared React\n│   └── lib/\n│       ├── storage.ts   # Chrome storage helpers\n│       └── messaging.ts # Message passing\n├── public/              # Static assets (icons)\n├── manifest.config.ts   # defineManifest() — typed manifest\n├── vite.config.ts       # crx({ manifest }) + react + tailwind\n└── package.json\n```\n\n---\n\n## Manifest V3 Concepts\n\n| Component | Purpose |\n|-----------|---------|\n| Service Worker | Background processing |\n| Content Scripts | Page injection |\n| Popup | User interface |\n| Options Page | Settings |\n\n---\n\n## Permissions\n\n| Permission | Use |\n|------------|-----|\n| storage | Save user data |\n| activeTab | Current tab access |\n| scripting | Inject scripts |\n| host_permissions | Site access |\n\n---\n\n## Setup Steps\n\n1. `npm create vite@latest {{name}} -- --template react-ts`\n2. Install CRXJS: `npm install -D @crxjs/vite-plugin@latest`\n3. Add Chrome types: `npm install -D @types/chrome`\n4. Create `manifest.config.ts` with `defineManifest`, wire `crx({ manifest })` in `vite.config.ts`\n5. `npm run dev` (HMR for popup/options/content)\n6. Load in Chrome: `chrome://extensions` → Load unpacked → select `dist/`\n\n---\n\n## Development Tips\n\n| Task | Method |\n|------|--------|\n| Debug Popup | Right-click icon → Inspect |\n| Debug Background | Extensions page → Service worker |\n| Debug Content | DevTools console on page |\n| Hot Reload | `npm run dev` (CRXJS HMR) |\n\n---\n\n## Best Practices\n\n- Use type-safe messaging\n- Wrap Chrome APIs in promises\n- MV3 background is an ephemeral service worker — persist state in `chrome.storage`, not module globals; use event listeners + alarms, not long-lived timers\n- Minimize permissions\n- Scope content-script styles to avoid host-page bleed\n",".agents/skills/app-builder/templates/cli-tool/TEMPLATE.md":"---\nname: cli-tool\ndescription: Node.js CLI tool template principles. Commander.js, interactive prompts.\n---\n\n# CLI Tool Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Runtime | Node.js 24 (Krypton LTS) |\n| Language | TypeScript (ESM) |\n| CLI Framework | Commander.js (v15, needs Node ≥22.12) |\n| Prompts | @inquirer/prompts (modular) |\n| Output | chalk + ora |\n| Config | cosmiconfig |\n\n---\n\n## Directory Structure\n\n```\nproject-name/\n├── src/\n│   ├── index.ts         # Entry: #!/usr/bin/env node shebang, wires Commander\n│   ├── commands/        # One file per command (factory functions)\n│   ├── lib/             # Core logic (framework-agnostic, testable)\n│   ├── utils/           # logger (chalk/ora), prompt wrappers\n│   └── config.ts        # cosmiconfig loader\n├── dist/                # Build output (tsup/tsc)\n└── package.json         # \"type\":\"module\", \"bin\":{...}\n```\n\n---\n\n## CLI Design Principles\n\n| Principle | Description |\n|-----------|-------------|\n| Subcommands | Group related actions |\n| Options | Flags with defaults |\n| Interactive | Prompts when needed |\n| Non-interactive | Support --yes flags |\n\n---\n\n## Key Components\n\n| Component | Purpose |\n|-----------|---------|\n| Commander | Command parsing (use a local `new Command()` for testability) |\n| @inquirer/prompts | Modular interactive prompts (`input`, `select`, `confirm`) |\n| Chalk | Colored output |\n| Ora | Spinners/loading |\n| Cosmiconfig | Config file discovery |\n\n---\n\n## Setup Steps\n\n1. Create project directory\n2. `npm init -y` then set `\"type\": \"module\"`\n3. Install deps: `npm install commander @inquirer/prompts chalk ora cosmiconfig`\n4. Point `bin` at compiled `./dist/index.js`, keep `#!/usr/bin/env node` shebang\n5. `npm link` for local testing\n\n---\n\n## Publishing\n\n```bash\nnpm login\nnpm publish\n```\n\n---\n\n## Best Practices\n\n- Keep `src/index.ts` thin; attach commands via `.addCommand()` factories in `src/commands/`\n- Put business logic in `lib/`/`utils/` so commands stay testable wrappers\n- ESM by default; build with tsup/esbuild\n- Support both interactive and non-interactive (`--yes`) modes\n- Validate inputs with Zod; exit with proper codes (0 success, 1 error)\n- Alternatives worth knowing: @clack/prompts (polished prompts), citty (lightweight ESM command framework)\n",".agents/skills/app-builder/templates/electron-desktop/TEMPLATE.md":"---\nname: electron-desktop\ndescription: Electron desktop app template principles. Cross-platform, React, TypeScript.\n---\n\n# Electron Desktop App Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Framework | Electron 42+ |\n| UI | React 19 |\n| Language | TypeScript |\n| Styling | Tailwind CSS v4 |\n| Bundler | electron-vite + electron-builder |\n| IPC | Type-safe communication (contextBridge) |\n\n---\n\n## Directory Structure\n\n> electron-vite layout: main / preload / renderer separation is the 2026 standard.\n\n```\nproject-name/\n├── src/\n│   ├── main/            # Main process (lifecycle, windows, IPC handlers)\n│   │   └── index.ts\n│   ├── preload/         # contextBridge — type-safe IPC surface\n│   │   ├── index.ts\n│   │   └── index.d.ts   # Ambient types shared with renderer\n│   └── renderer/        # React app\n│       ├── index.html\n│       └── src/\n│           ├── main.tsx\n│           ├── App.tsx\n│           └── components/\n├── resources/           # App icons / static (build-time)\n├── build/               # Builder assets (entitlements, icons)\n├── electron.vite.config.ts\n├── electron-builder.yml\n└── package.json         # scripts: electron-vite dev | build | preview\n```\n\n---\n\n## Process Model\n\n| Process | Role |\n|---------|------|\n| Main | Node.js, system access |\n| Renderer | Chromium, React UI |\n| Preload | Bridge, context isolation |\n\n---\n\n## Key Concepts\n\n| Concept | Purpose |\n|---------|---------|\n| contextBridge | Safe API exposure |\n| ipcMain/ipcRenderer | Process communication |\n| nodeIntegration: false | Security |\n| contextIsolation: true | Security |\n\n---\n\n## Setup Steps\n\n1. `npm create @quick-start/electron@latest {{name}} -- --template react-ts`\n2. `cd {{name}} && npm install`\n3. Add Tailwind v4: `npm install tailwindcss @tailwindcss/vite`\n4. Define IPC types in `src/preload/index.d.ts`\n5. `npm run dev`\n\n---\n\n## Build Targets\n\n| Platform | Output |\n|----------|--------|\n| Windows | NSIS, Portable |\n| macOS | DMG, ZIP |\n| Linux | AppImage, DEB |\n\n---\n\n## Best Practices\n\n- `contextIsolation: true` (default v12+), `sandbox: true` (default v20+), `nodeIntegration: false` (default v5+) — never enable Node for remote content\n- Expose a narrow API via `contextBridge.exposeInMainWorld`, never raw `ipcRenderer`\n- Validate IPC `sender` against an allowlist; set a restrictive CSP (`script-src 'self'`)\n- Type-safe IPC: share types from `preload/index.d.ts` into the renderer\n- Auto-updates with electron-updater\n",".agents/skills/app-builder/templates/express-api/TEMPLATE.md":"---\nname: express-api\ndescription: Express.js REST API template principles. TypeScript, Prisma, JWT.\n---\n\n# Express.js API Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Runtime | Node.js 24 (Krypton LTS) |\n| Framework | Express 5 (stable, default on npm) |\n| Language | TypeScript |\n| Database | PostgreSQL + Prisma |\n| Validation | Zod |\n| Auth | JWT + bcrypt |\n\n---\n\n## Directory Structure\n\n```\nproject-name/\n├── prisma/\n│   └── schema.prisma\n├── src/\n│   ├── app.ts           # Express app + middleware wiring (no listen)\n│   ├── server.ts        # Bootstrap: listen() — split for testability\n│   ├── config/          # Environment\n│   ├── routes/          # Route definitions only\n│   ├── controllers/     # HTTP layer (req/res, calls services)\n│   ├── services/        # Business logic\n│   ├── middlewares/\n│   │   ├── auth.ts      # JWT verify\n│   │   ├── error.ts     # Error handler\n│   │   └── validate.ts  # Zod validation\n│   ├── schemas/         # Zod schemas\n│   └── utils/\n├── tests/\n└── package.json\n```\n\n---\n\n## Middleware Stack\n\n| Order | Middleware |\n|-------|------------|\n| 1 | helmet (security) |\n| 2 | cors |\n| 3 | compression |\n| 4 | body parsing |\n| 5 | morgan (logging) |\n| 6 | routes |\n| 7 | error handler (last, 4-arg signature) |\n\n---\n\n## API Response Format\n\n| Type | Structure |\n|------|-----------|\n| Success | `{ success: true, data: {...} }` |\n| Error | `{ error: \"message\", details: [...] }` |\n\n---\n\n## Setup Steps\n\n1. Create project directory\n2. `npm init -y`\n3. Install deps: `npm install express @prisma/client zod bcrypt jsonwebtoken`\n4. Install devDeps: `npm install -D prisma typescript @types/node @types/express @types/bcrypt @types/jsonwebtoken`\n5. Configure Prisma (`npx prisma init`)\n6. `npm run db:push`\n7. `npm run dev`\n\n\n---\n\n## Best Practices\n\n- Split `app.ts` (wiring) from `server.ts` (`listen`) so the app imports cleanly into tests\n- Layer architecture (routes → controllers → services)\n- Validate all inputs with Zod at the route boundary\n- Centralized error handler last (Express 5 auto-forwards rejected promises — no manual catch wrapper needed)\n- Environment-based config\n- Use Prisma for type-safe DB access\n",".agents/skills/app-builder/templates/flutter-app/TEMPLATE.md":"---\nname: flutter-app\ndescription: Flutter mobile app template principles. Riverpod, Go Router, clean architecture.\n---\n\n# Flutter App Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Framework | Flutter 3.x |\n| Language | Dart 3.x |\n| State | Riverpod 3 (codegen) |\n| Navigation | Go Router |\n| HTTP | Dio |\n| Storage | Hive |\n\n---\n\n## Directory Structure\n\n```\nproject_name/\n├── lib/\n│   ├── main.dart\n│   ├── app.dart\n│   ├── core/\n│   │   ├── constants/\n│   │   ├── theme/\n│   │   ├── router/\n│   │   └── utils/\n│   ├── features/\n│   │   ├── auth/\n│   │   │   ├── data/\n│   │   │   ├── domain/\n│   │   │   └── presentation/\n│   │   └── home/\n│   ├── shared/\n│   │   ├── widgets/\n│   │   └── providers/\n│   └── services/\n│       ├── api/\n│       └── storage/\n├── test/\n└── pubspec.yaml\n```\n\n---\n\n## Architecture Layers\n\n| Layer | Contents |\n|-------|----------|\n| Presentation | Screens, Widgets, Providers |\n| Domain | Entities, Use Cases |\n| Data | Repositories, Models |\n\n---\n\n## Key Packages\n\n| Package | Purpose |\n|---------|---------|\n| flutter_riverpod | State management |\n| riverpod_annotation | Code generation |\n| go_router | Navigation |\n| dio | HTTP client |\n| freezed | Immutable models |\n| hive | Local storage |\n\n---\n\n## Setup Steps\n\n1. `flutter create {{name}} --org com.{{bundle}}`\n2. Update `pubspec.yaml`\n3. `flutter pub get`\n4. Run code generation: `dart run build_runner build`\n5. `flutter run`\n\n---\n\n## Best Practices\n\n- Feature-first folder structure (data / domain / presentation per feature)\n- Riverpod 3 with `riverpod_annotation` codegen (generated ref is just `Ref`; plain `Notifier`, no `AutoDisposeNotifier`)\n- Legacy `StateProvider`/`StateNotifierProvider` moved to `package:riverpod/legacy.dart`\n- Freezed for immutable data classes\n- Go Router for declarative navigation\n- Material 3 theming\n",".agents/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md":"---\nname: monorepo-turborepo\ndescription: Turborepo monorepo template principles. pnpm workspaces, shared packages.\n---\n\n# Turborepo Monorepo Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Build System | Turborepo 2.x |\n| Package Manager | pnpm |\n| Apps | Next.js, Express |\n| Packages | Shared UI, Config, Types, Utils |\n| Language | TypeScript |\n\n---\n\n## Directory Structure\n\n```\nproject-name/\n├── apps/\n│   ├── web/             # Next.js app\n│   ├── api/             # Express API\n│   └── docs/            # Documentation\n├── packages/\n│   ├── ui/              # Shared components (@repo/ui)\n│   ├── config/          # ESLint, TS, Tailwind presets (@repo/config)\n│   ├── types/           # Shared types (@repo/types)\n│   └── utils/           # Shared utilities (@repo/utils)\n├── turbo.json           # \"tasks\" key (renamed from \"pipeline\" in v2)\n├── pnpm-workspace.yaml\n└── package.json         # requires \"packageManager\" field\n```\n\n---\n\n## Key Concepts\n\n| Concept | Description |\n|---------|-------------|\n| Workspaces | Globs declared in `pnpm-workspace.yaml` |\n| Pipeline | `turbo.json` `tasks` graph (NOT `pipeline` — renamed in v2) |\n| Caching | Remote/local task caching |\n| Dependencies | `workspace:*` protocol, `@repo/*` namespace |\n| Env mode | v2 is strict — declare task `env`/`globalEnv` or caching breaks |\n\n---\n\n## Turbo Tasks (turbo.json)\n\n> `tasks` is the v2 key. The `pipeline` key was renamed — migrate with `npx @turbo/codemod rename-pipeline`.\n\n| Task | Depends On |\n|------|------------|\n| build | ^build (dependencies first) |\n| dev | cache: false, persistent |\n| lint | ^build |\n| test | ^build |\n\n---\n\n## Setup Steps\n\n1. Create root directory\n2. `pnpm init`\n3. Create pnpm-workspace.yaml\n4. Create turbo.json\n5. Add apps and packages\n6. `pnpm install`\n7. `pnpm dev`\n\n---\n\n## Common Commands\n\n| Command | Description |\n|---------|-------------|\n| `pnpm dev` | Run all apps |\n| `pnpm build` | Build all |\n| `pnpm --filter @name/web dev` | Run specific app |\n| `pnpm --filter @name/web add axios` | Add dep to app |\n\n---\n\n## Best Practices\n\n- Split `apps/` (deployable) from `packages/` (libraries, shared config)\n- Namespace internal packages with `@repo/*`; reference via `workspace:*`\n- Define entrypoints with the `exports` field (better tree-shaking than barrel files)\n- Share tsconfig/eslint from `packages/config`\n- Declare task `env`/`globalEnv` explicitly (v2 strict env mode)\n- Use Turbo remote caching for CI\n",".agents/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md":"---\nname: nextjs-fullstack\ndescription: Next.js full-stack template principles. App Router, Prisma, Tailwind v4.\n---\n\n# Next.js Full-Stack Template (2026 Edition)\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology | Version / Notes |\n|-----------|------------|-----------------|\n| Framework | Next.js | v16+ (App Router, Turbopack) |\n| Runtime | Node.js | v24 (Krypton LTS) |\n| Language | TypeScript | v5+ (Strict Mode) |\n| Database | PostgreSQL | Prisma ORM (Serverless friendly) |\n| Styling | Tailwind CSS | v4.0 (Zero-config, CSS-first) |\n| Auth | Auth.js v5 (`next-auth@beta`) / Clerk | Protected routes via `proxy.ts` |\n| UI Logic | React 19 | Server Actions, useActionState |\n| Validation | Zod | Schema validation (API & Forms) |\n\n---\n\n## Directory Structure\n\n```\nproject-name/\n├── prisma/\n│   └── schema.prisma       # Database schema\n├── src/\n│   ├── app/\n│   │   ├── (auth)/         # Route groups for Login/Register\n│   │   ├── (dashboard)/    # Protected routes\n│   │   ├── api/            # Route Handlers (only for Webhooks/External integration)\n│   │   ├── layout.tsx      # Root Layout (Metadata, Providers)\n│   │   ├── page.tsx        # Landing Page\n│   │   └── globals.css     # Tailwind v4 config (@theme) lives here\n│   ├── components/\n│   │   ├── ui/             # Reusable UI (Button, Input)\n│   │   └── forms/          # Client forms using useActionState\n│   ├── lib/\n│   │   ├── db.ts           # Prisma singleton client\n│   │   ├── utils.ts        # Helper functions\n│   │   └── dal.ts          # Data Access Layer (Server-only)\n│   ├── actions/            # Server Actions (Mutations)\n│   └── types/              # Global TS Types\n├── public/\n├── DESIGN.md               # Visual source-of-truth tokens & rationale (MANDATORY before UI)\n├── next.config.ts          # TypeScript Config\n└── package.json\n```\n\n---\n\n## Key Concepts (Updated)\n\n| Concept | Description |\n|---------|-------------|\n| Server Components | Render on server (default). Direct DB access (Prisma) without APIs. |\n| Server Actions | Handle Form mutations. Replaces traditional API Routes. Use in action={}. |\n| React 19 Hooks | Form state management: useActionState, useFormStatus, useOptimistic. |\n| Data Access Layer | Data security. Separation of DB logic (DTOs) for safe reuse. |\n| Tailwind v4 | Styling engine. No tailwind.config.js. Config directly in CSS. |\n\n---\n\n## Environment Variables\n\n| Variable | Purpose |\n|----------|---------|\n| DATABASE_URL | PostgreSQL connection string (Prisma) |\n| NEXT_PUBLIC_APP_URL | Public application URL |\n| AUTH_SECRET | Auth.js v5 session secret (default auth) |\n| NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY | Auth (if using Clerk instead) |\n| CLERK_SECRET_KEY | Clerk secret (server only, if using Clerk) |\n\n---\n\n## Setup Steps\n\n1. Initialize Project:\n   ```bash\n   npx create-next-app@latest my-app --typescript --tailwind --eslint\n   # Select Yes for App Router\n   # Select No for src directory (optional, this template uses src)\n   ```\n\n2. Install DB & Validation:\n   ```bash\n   npm install prisma @prisma/client zod\n   npm install -D ts-node # For running seed scripts\n   ```\n\n3. Configure Tailwind v4 (If missing):\n   Ensure `src/app/globals.css` uses the new import syntax instead of a config file:\n   ```css\n   @import \"tailwindcss\";\n\n   @theme {\n     --color-primary: oklch(0.5 0.2 240);\n     --font-sans: \"Inter\", sans-serif;\n   }\n   ```\n\n4. Initialize Database:\n   ```bash\n   npx prisma init\n   # Update schema.prisma\n   npm run db:push\n   ```\n\n5. Run Developer Server:\n   ```bash\n   npm run dev --turbo\n   # --turbo to enable faster Turbopack\n   ```\n\n---\n\n## Best Practices (2026 Standards)\n\n- **Fetch Data**: Call Prisma directly in Server Components (async/await). Do not use useEffect for initial data fetching.\n- **Mutations**: Use Server Actions combined with React 19's `useActionState` to handle loading and error states instead of manual useState.\n- **Type Safety**: Share Zod schemas between Server Actions (input validation) and Client Forms.\n- **Security**: Always validate input data with Zod before passing it to Prisma.\n- **Styling**: Use native CSS variables in Tailwind v4 for easier dynamic theming.\n",".agents/skills/app-builder/templates/nextjs-saas/TEMPLATE.md":"---\nname: nextjs-saas\ndescription: Next.js SaaS template principles (2026 Standards). React 19, Server Actions, Auth.js v5.\n---\n\n# Next.js SaaS Template (Updated 2026)\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology | Version / Notes |\n|-----------|------------|-----------------|\n| Framework | Next.js | v16+ (App Router, React Compiler) |\n| Runtime | Node.js | v24 (Krypton LTS) |\n| Auth | Auth.js | v5 (`next-auth@beta`, formerly NextAuth). Alternative: Clerk |\n| Payments | Stripe API | Latest |\n| Database | PostgreSQL | Prisma v7+ (Serverless Driver) |\n| Email | Resend | React Email |\n| UI | Tailwind CSS | v4 (Oxide Engine, no config file) |\n\n---\n\n## Directory Structure\n\n```\nproject-name/\n├── prisma/\n│   └── schema.prisma    # Database Schema\n├── src/\n│   ├── actions/         # NEW: Server Actions (Replaces API Routes for data mutation)\n│   │   ├── auth-actions.ts\n│   │   ├── billing-actions.ts\n│   │   └── user-actions.ts\n│   ├── app/\n│   │   ├── (auth)/      # Route Group: Login, register\n│   │   ├── (dashboard)/ # Route Group: Protected routes (App Layout)\n│   │   ├── (marketing)/ # Route Group: Landing, pricing (Marketing Layout)\n│   │   └── api/         # Only used for Webhooks or Edge cases\n│   │       └── webhooks/stripe/\n│   ├── components/\n│   │   ├── emails/      # React Email templates\n│   │   ├── forms/       # Client components using useActionState (React 19)\n│   │   └── ui/          # Shadcn UI\n│   ├── lib/\n│   │   ├── auth.ts      # Auth.js v5 config\n│   │   ├── db.ts        # Prisma Singleton\n│   │   ├── data/        # Data Access Layer (server-only reads)\n│   │   └── stripe.ts    # Stripe Singleton\n│   └── app/globals.css  # Tailwind v4 imports (@theme in CSS)\n├── DESIGN.md            # Visual source-of-truth tokens & rationale (MANDATORY before UI)\n└── package.json\n```\n\n---\n\n## SaaS Features\n\n| Feature | Implementation |\n|---------|---------------|\n| Auth | Auth.js v5 + Passkeys + OAuth |\n| Data Mutation | Server Actions (No API routes) |\n| Subscriptions | Stripe Checkout & Customer Portal |\n| Webhooks | Asynchronous Stripe event handling |\n| Email | Transactional via Resend |\n| Validation | Zod (Server-side validation) |\n\n---\n\n## Database Schema\n\n| Model | Fields (Key fields) |\n|-------|---------------------|\n| User | id, email, stripeCustomerId, subscriptionId, plan |\n| Account | OAuth provider data (Google, GitHub...) |\n| Session | User sessions (Database strategy) |\n\n---\n\n## Environment Variables\n\n| Variable | Purpose |\n|----------|---------|\n| DATABASE_URL | Prisma connection string (Postgres) |\n| AUTH_SECRET | Replaces NEXTAUTH_SECRET (Auth.js v5) |\n| STRIPE_SECRET_KEY | Payments (Server-side) |\n| STRIPE_WEBHOOK_SECRET | Webhook verification |\n| RESEND_API_KEY | Email sending |\n| NEXT_PUBLIC_APP_URL | Application Canonical URL |\n\n---\n\n## Setup Steps\n\n1. Initialize project (Node 24):\n   ```bash\n   npx create-next-app@latest {{name}} --typescript --eslint\n   ```\n\n2. Install core libraries:\n   ```bash\n   npm install next-auth@beta stripe resend @prisma/client\n   ```\n\n3. Install Tailwind v4 (Add to globals.css):\n   ```css\n   @import \"tailwindcss\";\n   ```\n\n4. Configure environment (.env.local)\n\n5. Sync Database:\n   ```bash\n   npx prisma db push\n   ```\n\n6. Run local Webhook:\n   ```bash\n   npm run stripe:listen\n   ```\n\n7. Run project:\n   ```bash\n   npm run dev\n   ```\n",".agents/skills/app-builder/templates/nextjs-static/TEMPLATE.md":"---\nname: nextjs-static\ndescription: Modern template for Next.js 16, React 19 & Tailwind v4. Optimized for Landing pages and Portfolios.\n---\n\n# Next.js Static Site Template (Modern Edition)\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology | Notes |\n|-----------|------------|-------|\n| Framework | Next.js 16+ | App Router, Turbopack, Static Exports |\n| Core | React 19 | Server Components, New Hooks, Compiler |\n| Language | TypeScript | Strict Mode |\n| Styling | Tailwind CSS v4 | CSS-first configuration (No js config), Oxide Engine |\n| Animations | Framer Motion | Layout animations & gestures |\n| Icons | Lucide React | Lightweight SVG icons |\n| SEO | Metadata API | Native Next.js API (Replaces next-seo) |\n\n---\n\n## Directory Structure\n\nStreamlined structure thanks to Tailwind v4 (theme configuration lives inside CSS).\n\n```\nproject-name/\n├── src/\n│   ├── app/\n│   │   ├── layout.tsx    # Contains root SEO Metadata\n│   │   ├── page.tsx      # Landing Page\n│   │   ├── globals.css   # Import Tailwind v4 & @theme config\n│   │   ├── not-found.tsx # Custom 404 page\n│   │   ├── sitemap.ts    # Generated sitemap (Metadata convention)\n│   │   ├── robots.ts     # Generated robots.txt (Metadata convention)\n│   │   ├── opengraph-image.tsx # Dynamic OG image\n│   │   └── (routes)/     # Route groups (about, contact...)\n│   ├── components/\n│   │   ├── layout/       # Header, Footer\n│   │   ├── sections/     # Hero, Features, Pricing, CTA\n│   │   └── ui/           # Atomic components (Button, Card)\n│   └── lib/\n│       └── utils.ts      # Helper functions (cn, formatters)\n├── content/              # Markdown/MDX content\n├── public/               # Static assets (images, fonts)\n├── DESIGN.md             # Visual source-of-truth tokens & rationale (MANDATORY before UI)\n├── next.config.ts        # Next.js Config (TypeScript)\n└── package.json\n```\n\n---\n\n## Static Export Config\n\nUsing `next.config.ts` instead of `.js` for better type safety.\n\n```typescript\n// next.config.ts\nimport type { NextConfig } from \"next\";\n\nconst nextConfig: NextConfig = {\n  output: 'export',        // Required for Static Hosting (S3, GitHub Pages)\n  images: { \n    unoptimized: true      // Required if not using Node.js server image optimization\n  },\n  trailingSlash: true,     // Recommended for SEO and fixing 404s on some hosts\n  reactStrictMode: true,\n};\n\nexport default nextConfig;\n```\n\n---\n\n## SEO Implementation (Metadata API)\n\nDeprecated next-seo. Configure directly in layout.tsx or page.tsx.\n\n```typescript\n// src/app/layout.tsx\nimport type { Metadata } from 'next';\n\nexport const metadata: Metadata = {\n  title: {\n    template: '%s | Product Name',\n    default: 'Home - Product Name',\n  },\n  description: 'SEO optimized description for the landing page.',\n  openGraph: {\n    type: 'website',\n    locale: 'en_US',\n    url: 'https://mysite.com',\n    siteName: 'My Brand',\n  },\n};\n```\n\n---\n\n## Landing Page Sections\n\n| Section | Purpose | Suggested Component |\n|---------|---------|---------------------|\n| Hero | First impression, H1 & Main CTA | `<HeroSection />` |\n| Features | Product benefits (Grid/Bento layout) | `<FeaturesGrid />` |\n| Social Proof | Partner logos, User numbers | `<LogoCloud />` |\n| Testimonials | Customer reviews | `<TestimonialCarousel />` |\n| Pricing | Service plans | `<PricingCards />` |\n| FAQ | Questions & Answers (Good for SEO) | `<Accordion />` |\n| CTA | Final conversion | `<CallToAction />` |\n\n---\n\n## Animation Patterns (Framer Motion)\n\n| Pattern | Usage | Implementation |\n|---------|-------|----------------|\n| Fade Up | Headlines, paragraphs | `initial={{ opacity: 0, y: 20 }} animate={{ opacity: 1, y: 0 }}` |\n| Stagger | Lists of Features/Cards | Use variants with `staggerChildren` |\n| Parallax | Background images or floating elements | `useScroll` & `useTransform` |\n| Micro-interactions | Hover buttons, click effects | `whileHover={{ scale: 1.05 }} whileTap={{ scale: 0.95 }}` |\n\n---\n\n## Setup Steps\n\n1. Initialize Project:\n   ```bash\n   npx create-next-app@latest my-site --typescript --tailwind --eslint\n   # Select 'Yes' for App Router\n   # Select 'No' for 'Would you like to customize the default import alias?'\n   ```\n\n2. Install Auxiliary Libraries:\n   ```bash\n   npm install framer-motion lucide-react clsx tailwind-merge\n   # clsx and tailwind-merge help handle dynamic classes better\n   ```\n\n3. Configure Tailwind v4 (in `src/app/globals.css`):\n   ```css\n   @import \"tailwindcss\";\n\n   @theme {\n     --color-primary: #3b82f6;\n     --font-sans: 'Inter', sans-serif;\n   }\n   ```\n\n4. Development:\n   ```bash\n   npm run dev --turbopack\n   ```\n\n---\n\n## Deployment\n\n| Platform | Method | Important Notes |\n|----------|--------|-----------------|\n| Vercel | Git Push | Auto-detects Next.js. Best for performance. |\n| GitHub Pages | GitHub Actions | Need to set `basePath` in `next.config.ts` if not using a custom domain. |\n| AWS S3 / CloudFront | Upload out folder | Ensure Error Document is configured to `404.html`. |\n| Netlify | Git Push | Set build command to `npm run build`. |\n\n---\n\n## Best Practices (Modern)\n\n- **React Server Components (RSC)**: Default all components to Server Components. Only add `'use client'` when you need state (`useState`) or event listeners (`onClick`).\n- **Image Optimization**: Use the `<Image />` component but remember `unoptimized: true` for static export or use an external image CDN (Cloudinary/Imgix).\n- **Font Optimization**: Use `next/font` (Google Fonts) to automatically host fonts and prevent layout shift.\n- **Responsive**: Mobile-first design using Tailwind prefixes like `sm:`, `md:`, `lg:`.\n",".agents/skills/app-builder/templates/nuxt-app/TEMPLATE.md":"---\nname: nuxt-app\ndescription: Nuxt 4 full-stack template. Vue 3, Pinia, Tailwind v4, Prisma.\n---\n\n# Nuxt 4 Full-Stack Template (2026 Edition)\n\n> Modern full-stack template for Nuxt 4. Versions reflect the latest stable line verified 2026-05; pin to current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology | Version / Notes |\n|-----------|------------|-----------------|\n| Framework | Nuxt | v4+ (app/ srcDir structure) |\n| UI Engine | Vue | v3 (stable) |\n| Language | TypeScript | v5+ (Strict Mode) |\n| State | Pinia | v3+ (setup store syntax) |\n| Database | PostgreSQL | Prisma ORM |\n| Styling | Tailwind CSS | v4 (@tailwindcss/vite plugin) |\n| UI Lib | Nuxt UI | v3 (Tailwind v4 native) |\n| Validation | Zod | Schema validation |\n\n---\n\n## Directory Structure (Nuxt 4 Standard)\n\nNuxt 4 defaults `srcDir` to `app/`, keeping client code separate from `server/` and root config.\n\n```\nproject-name/\n├── app/                  # Application source (Nuxt 4 srcDir)\n│   ├── assets/css/\n│   │   └── main.css      # Tailwind v4 import\n│   ├── components/       # Auto-imported components\n│   ├── composables/      # Auto-imported logic\n│   ├── layouts/\n│   ├── middleware/\n│   ├── pages/            # File-based routing\n│   ├── plugins/\n│   ├── stores/           # Pinia stores\n│   ├── app.vue           # Root component\n│   └── app.config.ts     # Reactive runtime config\n├── server/               # Nitro server engine\n│   ├── api/              # API routes (e.g. /api/users)\n│   ├── routes/           # Server routes\n│   └── utils/            # Server-only helpers (Prisma client)\n├── shared/               # Isomorphic code (types, Zod schemas)\n├── prisma/\n│   └── schema.prisma\n├── public/\n├── nuxt.config.ts\n└── package.json\n```\n\n---\n\n## Key Concepts (2026)\n\n| Concept | Description |\n|---------|-------------|\n| **app/ srcDir** | Client code lives under `app/`, cleanly separated from `server/` and config |\n| **shared/** | Isomorphic code (types, Zod validators) usable in both Vue app and Nitro server |\n| **Server Engine** | Nitro-based; API routes in `server/api/`, Prisma client in `server/utils/` |\n| **Tailwind v4** | CSS-first config; theme lives in CSS via `@theme`, no `tailwind.config.js` |\n| **Vapor Mode** | Experimental no-VDOM renderer (not GA in 2026). Opt-in per component via `<script setup vapor>` when shipped |\n\n---\n\n## Environment Variables\n\n| Variable | Purpose |\n|----------|---------|\n| DATABASE_URL | Prisma connection string (PostgreSQL) |\n| NUXT_PUBLIC_APP_URL | Canonical URL |\n| NUXT_SESSION_PASSWORD | Session encryption key |\n\n---\n\n## Setup Steps\n\n1. Initialize project:\n   ```bash\n   npx nuxi@latest init my-app\n   ```\n\n2. Install core deps:\n   ```bash\n   npm install @pinia/nuxt @prisma/client zod\n   npm install -D prisma\n   ```\n\n3. Setup Tailwind v4 (first-party Vite plugin, NOT @nuxtjs/tailwindcss):\n   ```bash\n   npm install tailwindcss @tailwindcss/vite\n   ```\n\n   Add to `nuxt.config.ts`:\n   ```ts\n   import tailwindcss from '@tailwindcss/vite'\n   export default defineNuxtConfig({\n     vite: { plugins: [tailwindcss()] },\n     css: ['~/assets/css/main.css']\n   })\n   ```\n\n4. Configure CSS in `app/assets/css/main.css`:\n   ```css\n   @import \"tailwindcss\";\n   @theme {\n     --color-primary: oklch(0.6 0.15 150);\n   }\n   ```\n\n5. Run development:\n   ```bash\n   npm run dev\n   ```\n\n---\n\n## Best Practices\n\n- **Data Fetching**: Use `useFetch`/`useAsyncData` for SSR-friendly data; reserve `server: false` for client-only work.\n- **State**: Use Pinia (`defineStore`) for global state, Nuxt's `useState` for simple shared SSR state.\n- **Validation**: Define Zod schemas in `shared/` and reuse on client forms and Nitro API routes.\n- **Type Safety**: API route types are inferred automatically with `$fetch`.\n- **Server-only**: Instantiate the Prisma client in `server/utils/` so it never leaks to the client bundle.\n",".agents/skills/app-builder/templates/python-fastapi/TEMPLATE.md":"---\nname: python-fastapi\ndescription: FastAPI REST API template principles. SQLAlchemy, Pydantic, Alembic.\n---\n\n# FastAPI API Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Framework | FastAPI |\n| Language | Python 3.12+ (current stable 3.14) |\n| ORM | SQLAlchemy 2.0 (async) |\n| Validation | Pydantic v2 |\n| Migrations | Alembic |\n| Auth | JWT + passlib |\n\n---\n\n## Directory Structure\n\n> Domain/module layout (scales better than file-type for non-trivial apps). Each domain owns its router, schemas, models, service.\n\n```\nproject-name/\n├── alembic/             # Migrations\n├── src/\n│   ├── auth/\n│   │   ├── router.py    # APIRouter\n│   │   ├── schemas.py   # Pydantic models\n│   │   ├── models.py    # SQLAlchemy models\n│   │   ├── service.py   # Business logic\n│   │   ├── dependencies.py\n│   │   └── exceptions.py\n│   ├── posts/           # Same shape per domain\n│   ├── config.py        # Global settings (BaseSettings)\n│   ├── database.py      # Async engine / session\n│   ├── models.py        # Shared base models\n│   ├── exceptions.py    # Global exceptions\n│   └── main.py          # FastAPI() + include_router\n├── tests/\n├── requirements/        # base.txt / dev.txt / prod.txt\n├── alembic.ini\n└── .env\n```\n\n---\n\n## Key Concepts\n\n| Concept | Description |\n|---------|-------------|\n| Domain modules | Each feature folder owns router + schemas + models + service |\n| Async | async/await throughout (AsyncSession, async_sessionmaker) |\n| Dependency Injection | FastAPI Depends (validation, auth, DB session) |\n| Pydantic v2 | Validation + serialization |\n| SQLAlchemy 2.0 | Async sessions |\n\n---\n\n## API Structure\n\n| Layer | Responsibility |\n|-------|---------------|\n| Routers | HTTP handling |\n| Dependencies | Auth, validation |\n| Services | Business logic |\n| Models | Database entities |\n| Schemas | Request/response |\n\n---\n\n## Setup Steps\n\n1. `python -m venv venv`\n2. `source venv/bin/activate`\n3. `pip install fastapi uvicorn \"sqlalchemy[asyncio]\" alembic pydantic pydantic-settings`\n4. Create `.env`\n5. `alembic upgrade head`\n6. `uvicorn src.main:app --reload`\n\n---\n\n## Best Practices\n\n- Use async everywhere (AsyncSession, async dependencies; wrap sync SDKs in `run_in_threadpool`)\n- Per-module `BaseSettings` over one global config\n- Pydantic v2 for validation\n- SQLAlchemy 2.0 async sessions\n- Alembic migrations: static, reversible, descriptive slugs\n- pytest-asyncio for tests; use `dependency_overrides` to mock\n",".agents/skills/app-builder/templates/react-native-app/TEMPLATE.md":"---\nname: react-native-app\ndescription: React Native mobile app template principles. Expo, TypeScript, navigation.\n---\n\n# React Native App Template (2026 Edition)\n\n> Modern mobile app, optimized for New Architecture and React 19. Versions reflect the latest stable line verified 2026-05; NativeWind v5 is pre-release — pin deliberately when scaffolding.\n\n## Tech Stack\n\n| Component | Technology | Version / Notes |\n|-----------|------------|-----------------|\n| Core | React Native + Expo | SDK 56+ (New Architecture Enabled) |\n| Language | TypeScript | v5+ (Strict Mode) |\n| UI Logic | React | v19 (React Compiler, auto-memoization) |\n| Navigation | Expo Router | File-based, Universal Links |\n| Styling | NativeWind | v5 (pre-release, Tailwind v4 CSS-first) |\n| State | Zustand + React Query | v5+ (Async State Management) |\n| Storage | Expo SecureStore | Encrypted local storage |\n\n---\n\n## Directory Structure\n\nExpo Router keeps `app/` for routes only; everything else lives under `src/` with the `@/*` alias.\n\n```\nproject-name/\n├── src/\n│   ├── app/             # Expo Router (file-based routing ONLY)\n│   │   ├── _layout.tsx  # Root Layout (Stack/Tabs config)\n│   │   ├── index.tsx    # Main Screen\n│   │   ├── (tabs)/      # Route Group for Tab Bar\n│   │   │   ├── _layout.tsx\n│   │   │   ├── home.tsx\n│   │   │   └── profile.tsx\n│   │   ├── +not-found.tsx\n│   │   └── [id].tsx     # Dynamic Route (Typed)\n│   ├── components/\n│   │   ├── ui/          # Primitive Components (Button, Text)\n│   │   └── features/    # Complex Components\n│   ├── hooks/           # Custom Hooks\n│   ├── lib/\n│   │   ├── api.ts       # Axios/Fetch client\n│   │   └── storage.ts   # SecureStore wrapper\n│   ├── store/           # Zustand stores\n│   └── constants/       # Colors, Theme config\n├── assets/              # Fonts, Images\n├── global.css           # NativeWind v5 entry: @import \"tailwindcss\"\n├── babel.config.js      # NativeWind Babel preset\n├── metro.config.js      # withNativeWind wrapper\n└── app.json             # Expo Config\n```\n\n---\n\n## Navigation Patterns (Expo Router)\n\n| Pattern | Description | Implement |\n|---------|-------------|-----------|\n| Stack | Hierarchical navigation (Push/Pop) | `<Stack />` in `_layout.tsx` |\n| Tabs | Bottom navigation bar | `<Tabs />` in `(tabs)/_layout.tsx` |\n| Drawer | Side slide-out menu | `expo-router/drawer` |\n| Modals | Overlay screens | `presentation: 'modal'` in Stack screen |\n\n---\n\n## Key Packages & Purpose\n\n| Package | Purpose |\n|---------|---------|\n| expo-router | File-based routing (Next.js like) |\n| nativewind | Use Tailwind CSS classes in React Native |\n| react-native-reanimated | Smooth animations (runs on UI thread) |\n| @tanstack/react-query | Server state management, caching, pre-fetching |\n| zustand | Global state management (lighter than Redux) |\n| expo-image | Optimized image rendering for performance |\n\n---\n\n## Setup Steps (2026 Standard)\n\n1. Initialize Project:\n   ```bash\n   npx create-expo-app@latest my-app --template default\n   cd my-app\n   ```\n\n2. Install Core Dependencies:\n   ```bash\n   npx expo install expo-router react-native-safe-area-context react-native-screens expo-link expo-constants expo-status-bar\n   ```\n\n3. Install NativeWind v5 (pre-release, Tailwind v4 CSS-first):\n   ```bash\n   npm install nativewind@next tailwindcss react-native-reanimated\n   ```\n\n4. Configure NativeWind (Babel, Metro & CSS):\n   - Add the preset to `babel.config.js`: `presets: [[\"babel-preset-expo\", { jsxImportSource: \"nativewind\" }], \"nativewind/babel\"]`.\n   - Wrap Metro: `withNativeWind(config, { input: './global.css' })` in `metro.config.js`.\n   - Create `global.css` with `@import \"tailwindcss\";` (theme via `@theme`, no `tailwind.config.js`).\n   - Import `global.css` in `src/app/_layout.tsx`.\n\n5. Run Project:\n   ```bash\n   npx expo start -c\n   # Press 'i' for iOS simulator or 'a' for Android emulator\n   ```\n\n---\n\n## Best Practices (Updated)\n\n- **New Architecture**: Ensure `newArchEnabled: true` in `app.json` to leverage TurboModules and Fabric Renderer.\n- **Typed Routes**: Use Expo Router's \"Typed Routes\" feature for type-safe routing (e.g., `router.push('/path')`).\n- **React 19**: Reduce usage of `useMemo` or `useCallback` thanks to React Compiler (if enabled).\n- **Components**: Build UI primitives (Box, Text) with NativeWind className for reusability.\n- **Assets**: Use `expo-image` instead of default `<Image />` for better caching and performance.\n- **API**: Always wrap API calls with TanStack Query, avoid direct calls in `useEffect`.\n",".agents/skills/architecture/SKILL.md":"---\nname: architecture\ndescription: Architectural decision-making framework. Requirements analysis, trade-off evaluation, ADR documentation. Use when making architecture decisions or analyzing system design.\nwhen_to_use: \"When making architectural decisions, evaluating trade-offs, writing ADRs, or analyzing system design. NOT for direct code implementation.\"\nallowed-tools: Read, Glob, Grep\nversion: 1.0.0\n---\n\n# Architecture Decision Framework\n\n> \"Requirements drive architecture. Trade-offs inform decisions. ADRs capture rationale.\"\n\n## 🎯 Selective Reading Rule\n\n**Read ONLY files relevant to the request!** Check the content map, find what you need.\n\n| File | Description | When to Read |\n|------|-------------|--------------|\n| `context-discovery.md` | Questions to ask, project classification | Starting architecture design |\n| `trade-off-analysis.md` | ADR templates, trade-off framework | Documenting decisions |\n| `pattern-selection.md` | Decision trees, anti-patterns | Choosing patterns |\n| `examples.md` | MVP, SaaS, Enterprise examples | Reference implementations |\n| `patterns-reference.md` | Quick lookup for patterns | Pattern comparison |\n\n---\n\n## 🔗 Related Skills\n\n| Skill | Use For |\n|-------|---------|\n| `@[skills/database-design]` | Database schema design |\n| `@[skills/api-patterns]` | API design patterns |\n| `@[skills/deployment-procedures]` | Deployment architecture |\n\n---\n\n## Core Principle\n\n**\"Simplicity is the ultimate sophistication.\"**\n\n- Start simple\n- Add complexity ONLY when proven necessary\n- You can always add patterns later\n- Removing complexity is MUCH harder than adding it\n\n---\n\n## Validation Checklist\n\nBefore finalizing architecture:\n\n- [ ] Requirements clearly understood\n- [ ] Constraints identified\n- [ ] Each decision has trade-off analysis\n- [ ] Simpler alternatives considered\n- [ ] ADRs written for significant decisions\n- [ ] Team expertise matches chosen patterns\n",".agents/skills/architecture/context-discovery.md":"# Context Discovery\n\n> Before suggesting any architecture, gather context.\n\n## Question Hierarchy (Ask User FIRST)\n\n1. **Scale**\n   - How many users? (10, 1K, 100K, 1M+)\n   - Data volume? (MB, GB, TB)\n   - Transaction rate? (per second/minute)\n\n2. **Team**\n   - Solo developer or team?\n   - Team size and expertise?\n   - Distributed or co-located?\n\n3. **Timeline**\n   - MVP/Prototype or long-term product?\n   - Time to market pressure?\n\n4. **Domain**\n   - CRUD-heavy or business logic complex?\n   - Real-time requirements?\n   - Compliance/regulations?\n\n5. **Constraints**\n   - Budget limitations?\n   - Legacy systems to integrate?\n   - Technology stack preferences?\n\n## Project Classification Matrix\n\n```\n                    MVP              SaaS           Enterprise\n┌─────────────────────────────────────────────────────────────┐\n│ Scale        │ <1K           │ 1K-100K      │ 100K+        │\n│ Team         │ Solo          │ 2-10         │ 10+          │\n│ Timeline     │ Fast (weeks)  │ Medium (months)│ Long (years)│\n│ Architecture │ Simple        │ Modular      │ Distributed  │\n│ Patterns     │ Minimal       │ Selective    │ Comprehensive│\n│ Example      │ Next.js API   │ NestJS       │ Microservices│\n└─────────────────────────────────────────────────────────────┘\n```\n",".agents/skills/architecture/examples.md":"# Architecture Examples\n\n> Real-world architecture decisions by project type.\n\n---\n\n## Example 1: MVP E-commerce (Solo Developer)\n\n```yaml\nRequirements:\n  - <1000 users initially\n  - Solo developer\n  - Fast to market (8 weeks)\n  - Budget-conscious\n\nArchitecture Decisions:\n  App Structure: Monolith (simpler for solo)\n  Framework: Next.js (full-stack, fast)\n  Data Layer: Prisma direct (no over-abstraction)\n  Authentication: JWT (simpler than OAuth)\n  Payment: Stripe (hosted solution)\n  Database: PostgreSQL (ACID for orders)\n\nTrade-offs Accepted:\n  - Monolith → Can't scale independently (team doesn't justify it)\n  - No Repository → Less testable (simple CRUD doesn't need it)\n  - JWT → No social login initially (can add later)\n\nFuture Migration Path:\n  - Users > 10K → Extract payment service\n  - Team > 3 → Add Repository pattern\n  - Social login requested → Add OAuth\n```\n\n---\n\n## Example 2: SaaS Product (5-10 Developers)\n\n```yaml\nRequirements:\n  - 1K-100K users\n  - 5-10 developers\n  - Long-term (12+ months)\n  - Multiple domains (billing, users, core)\n\nArchitecture Decisions:\n  App Structure: Modular Monolith (team size optimal)\n  Framework: NestJS (modular by design)\n  Data Layer: Repository pattern (testing, flexibility)\n  Domain Model: Partial DDD (rich entities)\n  Authentication: OAuth + JWT\n  Caching: Redis\n  Database: PostgreSQL\n\nTrade-offs Accepted:\n  - Modular Monolith → Some module coupling (microservices not justified)\n  - Partial DDD → No full aggregates (no domain experts)\n  - RabbitMQ later → Initial synchronous (add when proven needed)\n\nMigration Path:\n  - Team > 10 → Consider microservices\n  - Domains conflict → Extract bounded contexts\n  - Read performance issues → Add CQRS\n```\n\n---\n\n## Example 3: Enterprise (100K+ Users)\n\n```yaml\nRequirements:\n  - 100K+ users\n  - 10+ developers\n  - Multiple business domains\n  - Different scaling needs\n  - 24/7 availability\n\nArchitecture Decisions:\n  App Structure: Microservices (independent scale)\n  API Gateway: Kong/AWS API GW\n  Domain Model: Full DDD\n  Consistency: Event-driven (eventual OK)\n  Message Bus: Kafka\n  Authentication: OAuth + SAML (enterprise SSO)\n  Database: Polyglot (right tool per job)\n  CQRS: Selected services\n\nOperational Requirements:\n  - Service mesh (Istio/Linkerd)\n  - Distributed tracing (Jaeger/Tempo)\n  - Centralized logging (ELK/Loki)\n  - Circuit breakers (Resilience4j)\n  - Kubernetes/Helm\n```\n",".agents/skills/architecture/pattern-selection.md":"# Pattern Selection Guidelines\n\n> Decision trees for choosing architectural patterns.\n\n## Main Decision Tree\n\n```\nSTART: What's your MAIN concern?\n\n┌─ Data Access Complexity?\n│  ├─ HIGH (complex queries, testing needed)\n│  │  → Repository Pattern + Unit of Work\n│  │  VALIDATE: Will data source change frequently?\n│  │     ├─ YES → Repository worth the indirection\n│  │     └─ NO  → Consider simpler ORM direct access\n│  └─ LOW (simple CRUD, single database)\n│     → ORM directly (Prisma, Drizzle)\n│     Simpler = Better, Faster\n│\n├─ Business Rules Complexity?\n│  ├─ HIGH (domain logic, rules vary by context)\n│  │  → Domain-Driven Design\n│  │  VALIDATE: Do you have domain experts on team?\n│  │     ├─ YES → Full DDD (Aggregates, Value Objects)\n│  │     └─ NO  → Partial DDD (rich entities, clear boundaries)\n│  └─ LOW (mostly CRUD, simple validation)\n│     → Transaction Script pattern\n│     Simpler = Better, Faster\n│\n├─ Independent Scaling Needed?\n│  ├─ YES (different components scale differently)\n│  │  → Microservices WORTH the complexity\n│  │  REQUIREMENTS (ALL must be true):\n│  │    - Clear domain boundaries\n│  │    - Team > 10 developers\n│  │    - Different scaling needs per service\n│  │  IF NOT ALL MET → Modular Monolith instead\n│  └─ NO (everything scales together)\n│     → Modular Monolith\n│     Can extract services later when proven needed\n│\n└─ Real-time Requirements?\n   ├─ HIGH (immediate updates, multi-user sync)\n   │  → Event-Driven Architecture\n   │  → Message Queue (RabbitMQ, Redis, Kafka)\n   │  VALIDATE: Can you handle eventual consistency?\n   │     ├─ YES → Event-driven valid\n   │     └─ NO  → Synchronous with polling\n   └─ LOW (eventual consistency acceptable)\n      → Synchronous (REST/GraphQL)\n      Simpler = Better, Faster\n```\n\n## The 3 Questions (Before ANY Pattern)\n\n1. **Problem Solved**: What SPECIFIC problem does this pattern solve?\n2. **Simpler Alternative**: Is there a simpler solution?\n3. **Deferred Complexity**: Can we add this LATER when needed?\n\n## Red Flags (Anti-patterns)\n\n| Pattern | Anti-pattern | Simpler Alternative |\n|---------|-------------|-------------------|\n| Microservices | Premature splitting | Start monolith, extract later |\n| Clean/Hexagonal | Over-abstraction | Concrete first, interfaces later |\n| Event Sourcing | Over-engineering | Append-only audit log |\n| CQRS | Unnecessary complexity | Single model |\n| Repository | YAGNI for simple CRUD | ORM direct access |\n",".agents/skills/architecture/patterns-reference.md":"# Architecture Patterns Reference\n\n> Quick reference for common patterns with usage guidance.\n\n## Data Access Patterns\n\n| Pattern | When to Use | When NOT to Use | Complexity |\n|---------|-------------|-----------------|------------|\n| **Active Record** | Simple CRUD, rapid prototyping | Complex queries, multiple sources | Low |\n| **Repository** | Testing needed, multiple sources | Simple CRUD, single database | Medium |\n| **Unit of Work** | Complex transactions | Simple operations | High |\n| **Data Mapper** | Complex domain, performance | Simple CRUD, rapid dev | High |\n\n## Domain Logic Patterns\n\n| Pattern | When to Use | When NOT to Use | Complexity |\n|---------|-------------|-----------------|------------|\n| **Transaction Script** | Simple CRUD, procedural | Complex business rules | Low |\n| **Table Module** | Record-based logic | Rich behavior needed | Low |\n| **Domain Model** | Complex business logic | Simple CRUD | Medium |\n| **DDD (Full)** | Complex domain, domain experts | Simple domain, no experts | High |\n\n## Distributed System Patterns\n\n| Pattern | When to Use | When NOT to Use | Complexity |\n|---------|-------------|-----------------|------------|\n| **Modular Monolith** | Small teams, unclear boundaries | Clear contexts, different scales | Medium |\n| **Microservices** | Different scales, large teams | Small teams, simple domain | Very High |\n| **Event-Driven** | Real-time, loose coupling | Simple workflows, strong consistency | High |\n| **CQRS** | Read/write performance diverges | Simple CRUD, same model | High |\n| **Saga** | Distributed transactions | Single database, simple ACID | High |\n\n## API Patterns\n\n| Pattern | When to Use | When NOT to Use | Complexity |\n|---------|-------------|-----------------|------------|\n| **REST** | Standard CRUD, resources | Real-time, complex queries | Low |\n| **GraphQL** | Flexible queries, multiple clients | Simple CRUD, caching needs | Medium |\n| **gRPC** | Internal services, performance | Public APIs, browser clients | Medium |\n| **WebSocket** | Real-time updates | Simple request/response | Medium |\n\n---\n\n## Simplicity Principle\n\n**\"Start simple, add complexity only when proven necessary.\"**\n\n- You can always add patterns later\n- Removing complexity is MUCH harder than adding it\n- When in doubt, choose simpler option\n",".agents/skills/architecture/trade-off-analysis.md":"# Trade-off Analysis & ADR\n\n> Document every architectural decision with trade-offs.\n\n## Decision Framework\n\nFor EACH architectural component, document:\n\n```markdown\n## Architecture Decision Record\n\n### Context\n- **Problem**: [What problem are we solving?]\n- **Constraints**: [Team size, scale, timeline, budget]\n\n### Options Considered\n\n| Option | Pros | Cons | Complexity | When Valid |\n|--------|------|------|------------|-----------|\n| Option A | Benefit 1 | Cost 1 | Low | [Conditions] |\n| Option B | Benefit 2 | Cost 2 | High | [Conditions] |\n\n### Decision\n**Chosen**: [Option B]\n\n### Rationale\n1. [Reason 1 - tied to constraints]\n2. [Reason 2 - tied to requirements]\n\n### Trade-offs Accepted\n- [What we're giving up]\n- [Why this is acceptable]\n\n### Consequences\n- **Positive**: [Benefits we gain]\n- **Negative**: [Costs/risks we accept]\n- **Mitigation**: [How we'll address negatives]\n\n### Revisit Trigger\n- [When to reconsider this decision]\n```\n\n## ADR Template\n\n```markdown\n# ADR-[XXX]: [Decision Title]\n\n## Status\nProposed | Accepted | Deprecated | Superseded by [ADR-YYY]\n\n## Context\n[What problem? What constraints?]\n\n## Decision\n[What we chose - be specific]\n\n## Rationale\n[Why - tie to requirements and constraints]\n\n## Trade-offs\n[What we're giving up - be honest]\n\n## Consequences\n- **Positive**: [Benefits]\n- **Negative**: [Costs]\n- **Mitigation**: [How to address]\n```\n\n## ADR Storage\n\n```\ndocs/\n└── architecture/\n    ├── adr-001-use-nextjs.md\n    ├── adr-002-postgresql-over-mongodb.md\n    └── adr-003-adopt-repository-pattern.md\n```\n",".agents/skills/bash-linux/SKILL.md":"---\nname: bash-linux\ndescription: Bash/Linux terminal patterns. Critical commands, piping, error handling, scripting. Use when working on macOS or Linux systems.\nwhen_to_use: \"When working on macOS or Linux systems, writing bash scripts, or using terminal commands. NOT for Windows/PowerShell environments.\"\nallowed-tools: Read, Write, Edit, Glob, Grep, Bash\nversion: 1.0.0\n---\n\n# Bash Linux Patterns\n\n> Essential patterns for Bash on Linux/macOS.\n\n---\n\n## 1. Operator Syntax\n\n### Chaining Commands\n\n| Operator | Meaning | Example |\n|----------|---------|---------|\n| `;` | Run sequentially | `cmd1; cmd2` |\n| `&&` | Run if previous succeeded | `npm install && npm run dev` |\n| `\\|\\|` | Run if previous failed | `npm test \\|\\| echo \"Tests failed\"` |\n| `\\|` | Pipe output | `ls \\| grep \".js\"` |\n\n---\n\n## 2. File Operations\n\n### Essential Commands\n\n| Task | Command |\n|------|---------|\n| List all | `ls -la` |\n| Find files | `find . -name \"*.js\" -type f` |\n| File content | `cat file.txt` |\n| First N lines | `head -n 20 file.txt` |\n| Last N lines | `tail -n 20 file.txt` |\n| Follow log | `tail -f log.txt` |\n| Search in files | `grep -r \"pattern\" --include=\"*.js\"` |\n| File size | `du -sh *` |\n| Disk usage | `df -h` |\n\n---\n\n## 3. Process Management\n\n| Task | Command |\n|------|---------|\n| List processes | `ps aux` |\n| Find by name | `ps aux \\| grep node` |\n| Kill by PID | `kill -9 <PID>` |\n| Find port user | `lsof -i :3000` |\n| Kill port | `kill -9 $(lsof -t -i :3000)` |\n| Background | `npm run dev &` |\n| Jobs | `jobs -l` |\n| Bring to front | `fg %1` |\n\n---\n\n## 4. Text Processing\n\n### Core Tools\n\n| Tool | Purpose | Example |\n|------|---------|---------|\n| `grep` | Search | `grep -rn \"TODO\" src/` |\n| `sed` | Replace | `sed -i 's/old/new/g' file.txt` |\n| `awk` | Extract columns | `awk '{print $1}' file.txt` |\n| `cut` | Cut fields | `cut -d',' -f1 data.csv` |\n| `sort` | Sort lines | `sort -u file.txt` |\n| `uniq` | Unique lines | `sort file.txt \\| uniq -c` |\n| `wc` | Count | `wc -l file.txt` |\n\n---\n\n## 5. Environment Variables\n\n| Task | Command |\n|------|---------|\n| View all | `env` or `printenv` |\n| View one | `echo $PATH` |\n| Set temporary | `export VAR=\"value\"` |\n| Set in script | `VAR=\"value\" command` |\n| Add to PATH | `export PATH=\"$PATH:/new/path\"` |\n\n---\n\n## 6. Network\n\n| Task | Command |\n|------|---------|\n| Download | `curl -O https://example.com/file` |\n| API request | `curl -X GET https://api.example.com` |\n| POST JSON | `curl -X POST -H \"Content-Type: application/json\" -d '{\"key\":\"value\"}' URL` |\n| Check port | `nc -zv localhost 3000` |\n| Network info | `ifconfig` or `ip addr` |\n\n---\n\n## 7. Script Template\n\n```bash\n#!/bin/bash\nset -euo pipefail  # Exit on error, undefined var, pipe fail\n\n# Colors (optional)\nRED='\\033[0;31m'\nGREEN='\\033[0;32m'\nNC='\\033[0m'\n\n# Script directory\nSCRIPT_DIR=\"$(cd \"$(dirname \"${BASH_SOURCE[0]}\")\" && pwd)\"\n\n# Functions\nlog_info() { echo -e \"${GREEN}[INFO]${NC} $1\"; }\nlog_error() { echo -e \"${RED}[ERROR]${NC} $1\" >&2; }\n\n# Main\nmain() {\n    log_info \"Starting...\"\n    # Your logic here\n    log_info \"Done!\"\n}\n\nmain \"$@\"\n```\n\n---\n\n## 8. Common Patterns\n\n### Check if command exists\n\n```bash\nif command -v node &> /dev/null; then\n    echo \"Node is installed\"\nfi\n```\n\n### Default variable value\n\n```bash\nNAME=${1:-\"default_value\"}\n```\n\n### Read file line by line\n\n```bash\nwhile IFS= read -r line; do\n    echo \"$line\"\ndone < file.txt\n```\n\n### Loop over files\n\n```bash\nfor file in *.js; do\n    echo \"Processing $file\"\ndone\n```\n\n---\n\n## 9. Differences from PowerShell\n\n| Task | PowerShell | Bash |\n|------|------------|------|\n| List files | `Get-ChildItem` | `ls -la` |\n| Find files | `Get-ChildItem -Recurse` | `find . -type f` |\n| Environment | `$env:VAR` | `$VAR` |\n| String concat | `\"$a$b\"` | `\"$a$b\"` (same) |\n| Null check | `if ($x)` | `if [ -n \"$x\" ]` |\n| Pipeline | Object-based | Text-based |\n\n---\n\n## 10. Error Handling\n\n### Set options\n\n```bash\nset -e          # Exit on error\nset -u          # Exit on undefined variable\nset -o pipefail # Exit on pipe failure\nset -x          # Debug: print commands\n```\n\n### Trap for cleanup\n\n```bash\ncleanup() {\n    echo \"Cleaning up...\"\n    rm -f /tmp/tempfile\n}\ntrap cleanup EXIT\n```\n\n---\n\n> **Remember:** Bash is text-based. Use `&&` for success chains, `set -e` for safety, and quote your variables!\n",".agents/skills/batch-operations/SKILL.md":"---\nname: batch-operations\ndescription: Apply operations across multiple files simultaneously. Pattern-based bulk modifications, search-and-replace across codebases, consistent changes to many files at once.\nwhen_to_use: \"When the user needs to change multiple files with the same pattern, rename across a codebase, add imports to many files, update versions, or apply consistent modifications. NOT for single-file edits.\"\nallowed-tools: Read, Write, Edit, Grep, Glob, Bash\nversion: 1.0.0\neffort: medium\n---\n\n# Batch Operations — Multi-File Changes\n\n> Apply consistent changes across many files at once. One pattern, many targets.\n\n## When to Use\n\n✅ **Good for:**\n- Renaming a function/component across all files that use it\n- Adding an import to every file in a directory\n- Updating version numbers across package files\n- Applying the same code pattern to multiple similar files\n- Migrating from one API to another across the codebase\n- Adding/removing a field from all similar data structures\n\n❌ **Not for:**\n- Single-file edits (use direct editing)\n- Unique changes per file (handle individually)\n- Changes that need per-file judgment (use an agent per domain)\n\n---\n\n## Batch Operation Protocol\n\n### Step 1: Define the Pattern\n```\nWhat:     [exact text/pattern to find]\nReplace:  [exact replacement text]\nScope:    [file glob pattern, e.g., \"src/**/*.tsx\"]\nExclude:  [files to skip, e.g., \"**/*.test.tsx\"]\n```\n\n### Step 2: Preview Before Executing\n```bash\n# Find all affected files FIRST\ngrep -rl \"oldPattern\" src/ --include=\"*.ts\"\n\n# Count matches\ngrep -rc \"oldPattern\" src/ --include=\"*.ts\" | grep -v \":0$\"\n\n# Show context for each match\ngrep -rn \"oldPattern\" src/ --include=\"*.ts\"\n```\n\n> 🔴 **NEVER batch-modify without previewing first.** Show the user what will change.\n\n### Step 3: Execute the Batch\n\nFor text replacements:\n```bash\n# On Linux/macOS\nfind src -name \"*.ts\" -exec sed -i 's/oldPattern/newPattern/g' {} +\n\n# On Windows (PowerShell)\nGet-ChildItem -Path src -Recurse -Filter *.ts |\n  ForEach-Object { (Get-Content $_) -replace 'oldPattern','newPattern' | Set-Content $_ }\n```\n\nFor structural changes (adding imports, wrapping code):\n- Use the Edit tool on each file\n- Process files in a consistent order (alphabetical or by dependency)\n\n### Step 4: Verify the Batch\n```bash\n# Confirm no missed instances\ngrep -rl \"oldPattern\" src/ --include=\"*.ts\"\n# Should return empty\n\n# Confirm replacements are correct\ngrep -rn \"newPattern\" src/ --include=\"*.ts\" | head -5\n\n# Run tests to catch breakage\nnpm run test\nnpm run build\n```\n\n---\n\n## Common Batch Patterns\n\n| Operation | Command Pattern |\n|---|---|\n| **Rename import** | Find all `import { X }` → replace with `import { Y }` |\n| **Update version** | Find `\"version\": \"1.0\"` → replace across all package.json |\n| **Add export** | Append `export { X }` to all index files |\n| **Remove deprecated** | Find `deprecatedFn()` → replace with `newFn()` |\n| **Add header** | Prepend license header to all source files |\n| **Type migration** | Find `interface X` → replace with `type X =` |\n\n---\n\n## Safety Rules\n\n1. **Preview first** — always show affected files before modifying\n2. **Git safety** — ensure clean working directory (`git stash` or commit first)\n3. **Exclude tests** — often tests need different treatment than source\n4. **Verify after** — run build + tests after every batch operation\n5. **Report changes** — list every file modified with change summary\n",".agents/skills/behavioral-modes/SKILL.md":"---\nname: behavioral-modes\ndescription: AI operational modes (brainstorm, implement, debug, review, teach, ship, orchestrate). Use to adapt behavior based on task type.\nwhen_to_use: \"When adapting AI behavior for specific task types: brainstorm, implement, debug, review, teach, ship, or orchestrate modes.\"\nallowed-tools: Read, Glob, Grep\nversion: 1.0.0\n---\n\n# Behavioral Modes - Adaptive AI Operating Modes\n\n## Purpose\nThis skill defines distinct behavioral modes that optimize AI performance for specific tasks. Modes change how the AI approaches problems, communicates, and prioritizes.\n\n---\n\n## Available Modes\n\n### 1. 🧠 BRAINSTORM Mode\n\n**When to use:** Early project planning, feature ideation, architecture decisions\n\n**Behavior:**\n- Ask clarifying questions before assumptions\n- Offer multiple alternatives (at least 3)\n- Think divergently - explore unconventional solutions\n- No code yet - focus on ideas and options\n- Use visual diagrams (mermaid) to explain concepts\n\n**Output style:**\n```\n\"Let's explore this together. Here are some approaches:\n\nOption A: [description]\n  ✅ Pros: ...\n  ❌ Cons: ...\n\nOption B: [description]\n  ✅ Pros: ...\n  ❌ Cons: ...\n\nWhat resonates with you? Or should we explore a different direction?\"\n```\n\n---\n\n### 2. ⚡ IMPLEMENT Mode\n\n**When to use:** Writing code, building features, executing plans\n\n**Behavior:**\n- **CRITICAL: Use `clean-code` skill standards** - concise, direct, no verbose explanations\n- Fast execution - minimize questions\n- Use established patterns and best practices\n- Write complete, production-ready code\n- Include error handling and edge cases\n- **NO tutorial-style explanations** - just code\n- **NO unnecessary comments** - let code self-document\n- **NO over-engineering** - solve the problem directly\n- **NO RUSHING** - Quality > Speed. Read ALL references before coding.\n\n**Output style:**\n```\n[Code block]\n\n[Brief summary, max 1-2 sentences]\n```\n\n**NOT:**\n```\n\"Building [feature]...\n\n✓ Created [file1]\n✓ Created [file2]\n✓ Updated [file3]\n\n[long explanation]\n\nRun `npm run dev` to test.\"\n```\n\n---\n\n### 3. 🔍 DEBUG Mode\n\n**When to use:** Fixing bugs, troubleshooting errors, investigating issues\n\n**Behavior:**\n- Ask for error messages and reproduction steps\n- Think systematically - check logs, trace data flow\n- Form hypothesis → test → verify\n- Explain the root cause, not just the fix\n- Prevent future occurrences\n\n**Output style:**\n```\n\"Investigating...\n\n🔍 Symptom: [what's happening]\n🎯 Root cause: [why it's happening]\n✅ Fix: [the solution]\n🛡️ Prevention: [how to avoid in future]\n```\n\n---\n\n### 4. 📋 REVIEW Mode\n\n**When to use:** Code review, architecture review, security audit\n\n**Behavior:**\n- Be thorough but constructive\n- Categorize by severity (Critical/High/Medium/Low)\n- Explain the \"why\" behind suggestions\n- Offer improved code examples\n- Acknowledge what's done well\n\n**Output style:**\n```\n## Code Review: [file/feature]\n\n### 🔴 Critical\n- [issue with explanation]\n\n### 🟠 Improvements\n- [suggestion with example]\n\n### 🟢 Good\n- [positive observation]\n```\n\n---\n\n### 5. 📚 TEACH Mode\n\n**When to use:** Explaining concepts, documentation, onboarding\n\n**Behavior:**\n- Explain from fundamentals\n- Use analogies and examples\n- Progress from simple to complex\n- Include practical exercises\n- Check understanding\n\n**Output style:**\n```\n## Understanding [Concept]\n\n### What is it?\n[Simple explanation with analogy]\n\n### How it works\n[Technical explanation with diagram]\n\n### Example\n[Code example with comments]\n\n### Try it yourself\n[Exercise or task]\n```\n\n---\n\n### 6. 🚀 SHIP Mode\n\n**When to use:** Production deployment, final polish, release preparation\n\n**Behavior:**\n- Focus on stability over features\n- Check for missing error handling\n- Verify environment configs\n- Run all tests\n- Create deployment checklist\n\n**Output style:**\n```\n## Pre-Ship Checklist\n\n### ✅ Code Quality\n- [ ] No TypeScript errors\n- [ ] ESLint passing\n- [ ] All tests passing\n\n### ✅ Security\n- [ ] No exposed secrets\n- [ ] Input validation complete\n\n### ✅ Performance\n- [ ] Bundle size acceptable\n- [ ] No console.logs\n\n### 🚀 Ready to deploy\n```\n\n---\n\n## Mode Detection\n\nThe AI should automatically detect the appropriate mode based on:\n\n| Trigger | Mode |\n|---------|------|\n| \"what if\", \"ideas\", \"options\" | BRAINSTORM |\n| \"build\", \"create\", \"add\" | IMPLEMENT |\n| \"not working\", \"error\", \"bug\" | DEBUG |\n| \"review\", \"check\", \"audit\" | REVIEW |\n| \"explain\", \"how does\", \"learn\" | TEACH |\n| \"deploy\", \"release\", \"production\" | SHIP |\n\n---\n\n## Multi-Agent Collaboration Patterns\n\nModern architectures optimized for agent-to-agent collaboration:\n\n### 1. 🔭 EXPLORE Mode\n**Role:** Discovery and Analysis (Explorer Agent)\n**Behavior:** Socratic questioning, deep-dive code reading, dependency mapping.\n**Output:** `discovery-report.json`, architectural visualization.\n\n### 2. 🗺️ PLAN-EXECUTE-CRITIC (PEC)\nCyclic mode transitions for high-complexity tasks:\n1. **Planner:** Decomposes the task into atomic steps (`task.md`).\n2. **Executor:** Performs the actual coding (`IMPLEMENT`).\n3. **Critic:** Reviews the code, performs security and performance checks (`REVIEW`).\n\n### 3. 🧠 MENTAL MODEL SYNC\nBehavior for creating and loading \"Mental Model\" summaries to preserve context between sessions.\n\n---\n\n## Combining Modes\n\nModes are not exclusive — most real tasks chain several in sequence:\n\n| Flow | Mode Chain |\n|------|------------|\n| New feature | BRAINSTORM → PLAN-EXECUTE-CRITIC → IMPLEMENT → REVIEW → SHIP |\n| Bug fix | EXPLORE → DEBUG → IMPLEMENT → REVIEW |\n| Unfamiliar codebase | EXPLORE → TEACH → BRAINSTORM |\n| Risky refactor | EXPLORE → PLAN-EXECUTE-CRITIC → IMPLEMENT → REVIEW |\n\nSwitch modes when the work changes shape (e.g. drop from IMPLEMENT to DEBUG the moment a test fails), and carry context forward with MENTAL MODEL SYNC across long sessions.\n\n## Manual Mode Switching\n\nUsers can explicitly request a mode:\n\n```\n/brainstorm new feature ideas\n/implement the user profile page\n/debug why login fails\n/review this pull request\n```\n",".agents/skills/brainstorming/SKILL.md":"---\nname: brainstorming\ndescription: Socratic questioning protocol + user communication. MANDATORY for complex requests, new features, or unclear requirements. Includes progress reporting and error handling.\nwhen_to_use: \"When exploring options before implementation, clarifying requirements, or when the user needs creative problem-solving. Use with /brainstorm workflow.\"\nallowed-tools: Read, Glob, Grep\nversion: 1.0.0\n---\n\n# Brainstorming & Communication Protocol\n\n> **MANDATORY:** Use for complex/vague requests, new features, updates.\n\n---\n\n## 🛑 SOCRATIC GATE (ENFORCEMENT)\n\n### When to Trigger\n\n| Pattern | Action |\n|---------|--------|\n| \"Build/Create/Make [thing]\" without details | 🛑 ASK 3 questions |\n| Complex feature or architecture | 🛑 Clarify before implementing |\n| Update/change request | 🛑 Confirm scope |\n| Vague requirements | 🛑 Ask purpose, users, constraints |\n\n### 🧠 Memory Check (2026.5.13 — Before Questioning)\n\n> Before asking questions, check if past context exists:\n\n```\n0. CHECK MEMORY — Does .agents/memory/MEMORY.md exist?\n   → YES: Read index. Apply relevant past decisions silently.\n          Skip questions already answered in memory.\n   → NO: Proceed with standard Socratic Gate.\n```\n\n### 🚫 MANDATORY: 3 Questions Before Implementation\n\n1. **STOP** - Do NOT start coding\n2. **CHECK** - Read `.agents/memory/` for past context on this topic\n3. **ASK** - Minimum 3 questions (skip any already answered via memory):\n   - 🎯 Purpose: What problem are you solving?\n   - 👥 Users: Who will use this?\n   - 📦 Scope: Must-have vs nice-to-have?\n4. **WAIT** - Get response before proceeding\n5. **SAVE** - After brainstorming, save key decisions: `/remember [decision]`\n\n---\n\n## 🧠 Dynamic Question Generation\n\n**⛔ NEVER use static templates.** Read `dynamic-questioning.md` for principles.\n\n### Core Principles\n\n| Principle | Meaning |\n|-----------|---------|\n| **Questions Reveal Consequences** | Each question connects to an architectural decision |\n| **Context Before Content** | Understand greenfield/feature/refactor/debug context first |\n| **Minimum Viable Questions** | Each question must eliminate implementation paths |\n| **Generate Data, Not Assumptions** | Don't guess—ask with trade-offs |\n\n### Question Generation Process\n\n```\n1. Parse request → Extract domain, features, scale indicators\n2. Identify decision points → Blocking vs. deferable\n3. Generate questions → Priority: P0 (blocking) > P1 (high-leverage) > P2 (nice-to-have)\n4. Format with trade-offs → What, Why, Options, Default\n```\n\n### Question Format (MANDATORY)\n\n```markdown\n### [PRIORITY] **[DECISION POINT]**\n\n**Question:** [Clear question]\n\n**Why This Matters:**\n- [Architectural consequence]\n- [Affects: cost/complexity/timeline/scale]\n\n**Options:**\n| Option | Pros | Cons | Best For |\n|--------|------|------|----------|\n| A | [+] | [-] | [Use case] |\n\n**If Not Specified:** [Default + rationale]\n```\n\n**For detailed domain-specific question banks and algorithms**, see: `dynamic-questioning.md`\n\n---\n\n## Progress Reporting (PRINCIPLE-BASED)\n\n**PRINCIPLE:** Transparency builds trust. Status must be visible and actionable.\n\n### Status Board Format\n\n| Agent | Status | Current Task | Progress |\n|-------|--------|--------------|----------|\n| [Agent Name] | ✅🔄⏳❌⚠️ | [Task description] | [% or count] |\n\n### Status Icons\n\n| Icon | Meaning | Usage |\n|------|---------|-------|\n| ✅ | Completed | Task finished successfully |\n| 🔄 | Running | Currently executing |\n| ⏳ | Waiting | Blocked, waiting for dependency |\n| ❌ | Error | Failed, needs attention |\n| ⚠️ | Warning | Potential issue, not blocking |\n\n---\n\n## Error Handling (PRINCIPLE-BASED)\n\n**PRINCIPLE:** Errors are opportunities for clear communication.\n\n### Error Response Pattern\n\n```\n1. Acknowledge the error\n2. Explain what happened (user-friendly)\n3. Offer specific solutions with trade-offs\n4. Ask user to choose or provide alternative\n```\n\n### Error Categories\n\n| Category | Response Strategy |\n|----------|-------------------|\n| **Port Conflict** | Offer alternative port or close existing |\n| **Dependency Missing** | Auto-install or ask permission |\n| **Build Failure** | Show specific error + suggested fix |\n| **Unclear Error** | Ask for specifics: screenshot, console output |\n\n---\n\n## Completion Message (PRINCIPLE-BASED)\n\n**PRINCIPLE:** Celebrate success, guide next steps.\n\n### Completion Structure\n\n```\n1. Success confirmation (celebrate briefly)\n2. Summary of what was done (concrete)\n3. How to verify/test (actionable)\n4. Next steps suggestion (proactive)\n```\n\n---\n\n## Communication Principles\n\n| Principle | Implementation |\n|-----------|----------------|\n| **Concise** | No unnecessary details, get to point |\n| **Visual** | Use emojis (✅🔄⏳❌) for quick scanning |\n| **Specific** | \"~2 minutes\" not \"wait a bit\" |\n| **Alternatives** | Offer multiple paths when stuck |\n| **Proactive** | Suggest next step after completion |\n\n---\n\n## Anti-Patterns (AVOID)\n\n| Anti-Pattern | Why |\n|--------------|-----|\n| Jumping to solutions before understanding | Wastes time on wrong problem |\n| Assuming requirements without asking | Creates wrong output |\n| Over-engineering first version | Delays value delivery |\n| Ignoring constraints | Creates unusable solutions |\n| \"I think\" phrases | Uncertainty → Ask instead |\n\n---\n",".agents/skills/brainstorming/dynamic-questioning.md":"# Dynamic Question Generation\n\n> **PRINCIPLE:** Questions are not about gathering data—they are about **revealing architectural consequences**.\n>\n> Every question must connect to a concrete implementation decision that affects cost, complexity, or timeline.\n\n---\n\n## 🧠 Core Principles\n\n### 1. Questions Reveal Consequences\n\nA good question is not \"What color do you want?\" but:\n\n```markdown\n❌ BAD: \"What authentication method?\"\n✅ GOOD: \"Should users sign up with email/password or social login?\n\n   Impact:\n   - Email/Pass → Need password reset, hashing, 2FA infrastructure\n   - Social → OAuth providers, user profile mapping, less control\n\n   Trade-off: Security vs. Development time vs. User friction\"\n```\n\n### 2. Context Before Content\n\nFirst understand **where** this request fits:\n\n| Context | Question Focus |\n|---------|----------------|\n| **Greenfield** (new project) | Foundation decisions: stack, hosting, scale |\n| **Feature Addition** | Integration points, existing patterns, breaking changes |\n| **Refactor** | Why refactor? Performance? Maintainability? What's broken? |\n| **Debug** | Symptoms → Root cause → Reproduction path |\n\n### 3. Minimum Viable Questions\n\n**PRINCIPLE:** Each question must eliminate a fork in the implementation road.\n\n```\nBefore Question:\n├── Path A: Do X (5 min)\n├── Path B: Do Y (15 min)\n└── Path C: Do Z (1 hour)\n\nAfter Question:\n└── Path Confirmed: Do X (5 min)\n```\n\nIf a question doesn't reduce implementation paths → **DELETE IT**.\n\n### 4. Questions Generate Data, Not Assumptions\n\n```markdown\n❌ ASSUMPTION: \"User probably wants Stripe for payments\"\n✅ QUESTION: \"Which payment provider fits your needs?\n\n   Stripe → Best documentation, low per-transaction fee, US-centric\n   LemonSqueezy → Merchant of Record, higher fee, handles global taxes\n   Paddle → Merchant of Record, handles EU VAT, enterprise focus\"\n```\n\n---\n\n## 📋 Question Generation Algorithm\n\n```\nINPUT: User request + Context (greenfield/feature/refactor/debug)\n│\n├── STEP 1: Parse Request\n│   ├── Extract domain (ecommerce, auth, realtime, cms, etc.)\n│   ├── Extract features (explicit and implied)\n│   └── Extract scale indicators (users, data volume, frequency)\n│\n├── STEP 2: Identify Decision Points\n│   ├── What MUST be decided before coding? (blocking)\n│   ├── What COULD be decided later? (deferable)\n│   └── What has ARCHITECTURAL impact? (high-leverage)\n│\n├── STEP 3: Generate Questions (Priority Order)\n│   ├── P0: Blocking decisions (cannot proceed without answer)\n│   ├── P1: High-leverage (affects >30% of implementation)\n│   ├── P2: Medium-leverage (affects specific features)\n│   └── P3: Nice-to-have (edge cases, optimization)\n│\n└── STEP 4: Format Each Question\n    ├── What: Clear question\n    ├── Why: Impact on implementation\n    ├── Options: Trade-offs (not just A vs B)\n    └── Default: What happens if user doesn't answer\n```\n\n---\n\n## 🎯 Domain-Specific Question Banks\n\n### E-Commerce\n\n| Question | Why It Matters | Trade-offs |\n|----------|----------------|------------|\n| **Single or Multi-vendor?** | Multi-vendor → Commission logic, vendor dashboards, split payments | +Revenue, -Complexity |\n| **Inventory Tracking?** | Needs stock tables, reservation logic, low-stock alerts | +Accuracy, -Development time |\n| **Digital or Physical Products?** | Digital → Download links, no shipping | Physical → Shipping APIs, tracking |\n| **Subscription or One-time?** | Subscription → Recurring billing, dunning, proration | +Revenue, -Complexity |\n\n### Authentication\n\n| Question | Why It Matters | Trade-offs |\n|----------|----------------|------------|\n| **Social Login Needed?** | OAuth providers vs. password reset infrastructure | +UX, -Control |\n| **Role-Based Permissions?** | RBAC tables, policy enforcement, admin UI | +Security, -Development time |\n| **2FA Required?** | TOTP/SMS infrastructure, backup codes, recovery flow | +Security, -UX friction |\n| **Email Verification?** | Verification tokens, email service, resend logic | +Security, -Sign-up friction |\n\n### Real-time\n\n| Question | Why It Matters | Trade-offs |\n|----------|----------------|------------|\n| **WebSocket or Polling?** | WS → Server scaling, connection management | Polling → Simpler, higher latency |\n| **Expected Concurrent Users?** | <100 → Single server, >1000 → Redis pub/sub, >10k → specialized infra | +Scale, -Complexity |\n| **Message Persistence?** | History tables, storage costs, pagination | +UX, -Storage |\n| **Ephemeral or Durable?** | Ephemeral → In-memory, Durable → Database write before emit | +Reliability, -Latency |\n\n### Content/CMS\n\n| Question | Why It Matters | Trade-offs |\n|----------|----------------|------------|\n| **Rich Text or Markdown?** | Rich Text → Sanitization, XSS risks | Markdown → Simple, no WYSIWYG |\n| **Draft/Publish Workflow?** | Status field, scheduled jobs, versioning | +Control, -Complexity |\n| **Media Handling?** | Upload endpoints, storage, optimization | +Features, -Development time |\n| **Multi-language?** | i18n tables, translation UI, fallback logic | +Reach, -Complexity |\n\n---\n\n## 📐 Dynamic Question Template\n\n```markdown\nBased on your request for [DOMAIN] [FEATURE]:\n\n## 🔴 CRITICAL (Blocking Decisions)\n\n### 1. **[DECISION POINT]**\n\n**Question:** [Clear, specific question]\n\n**Why This Matters:**\n- [Explain architectural consequence]\n- [Affects: cost / complexity / timeline / scale]\n\n**Options:**\n| Option | Pros | Cons | Best For |\n|--------|------|------|----------|\n| A | [Advantage] | [Disadvantage] | [Use case] |\n| B | [Advantage] | [Disadvantage] | [Use case] |\n\n**If Not Specified:** [Default choice + rationale]\n\n---\n\n## 🟡 HIGH-LEVERAGE (Affects Implementation)\n\n### 2. **[DECISION POINT]**\n[Same format]\n\n---\n\n## 🟢 NICE-TO-HAVE (Edge Cases)\n\n### 3. **[DECISION POINT]**\n[Same format]\n```\n\n---\n\n## 🔄 Iterative Questioning\n\n### First Pass (3-5 Questions)\nFocus on **blocking decisions**. Don't proceed without answers.\n\n### Second Pass (After Initial Implementation)\nAs patterns emerge, ask:\n- \"This feature implies [X]. Should we handle [edge case] now or defer?\"\n- \"We're using [Pattern A]. Should [Feature B] follow the same pattern?\"\n\n### Third Pass (Optimization)\nWhen functionality works:\n- \"Performance bottleneck at [X]. Optimize now or acceptable for now?\"\n- \"Refactor [Y] for maintainability or ship as-is?\"\n\n---\n\n## 🎭 Example: Full Question Generation\n\n```\nUSER REQUEST: \"Build an Instagram clone\"\n\nSTEP 1: Parse\n├── Domain: Social Media\n├── Features: Photo sharing, engagement (likes/comments), user profiles\n├── Implied: Feed, following, authentication\n└── Scale: Potentially high (social apps go viral)\n\nSTEP 2: Decision Points\n├── Blocking: Storage strategy, authentication method, feed type\n├── High-leverage: Real-time notifications, data model complexity\n└── Deferable: Analytics, advanced search, reels/video\n\nSTEP 3: Generate Questions (Priority)\n\nP0 (Blocking):\n1. Storage Strategy → Affects architecture, cost, speed\n2. Feed Algorithm → Affects database queries, complexity\n3. Auth Method → Affects dev time, UX, security\n\nP1 (High-leverage):\n4. Real-time Notifications → WebSocket vs polling\n5. Media Processing → Client-side vs server-side optimization\n\nP2 (Deferable):\n6. Story/Reels → Major feature creep, defer to v2\n7. DM/Chat → Separate subsystem, defer to v2\n\nSTEP 4: Format Output\n```\n\n---\n\n## 📊 Generated Output (Example)\n\n```\nBased on your Instagram clone request:\n\n## 🔴 CRITICAL DECISIONS (Cannot Proceed Without Answers)\n\n### 1. **Photo Storage Strategy**\n\n**Question:** Where will user photos be stored and served?\n\n**Why This Matters:**\n- Affects: Monthly hosting costs, page load speed, CDN complexity\n- High-volume social apps: 1000 users × 10 photos × 2MB = 20GB storage\n\n**Options:**\n| Option | Cost model | Speed | Complexity | Best For |\n|--------|-----------|-------|------------|----------|\n| **Cloudinary** | Per-tier subscription | Fast (CDN) | Low | MVP, rapid launch |\n| **AWS S3 + CloudFront** | Pay per GB stored/served | Fast (CDN) | Medium | Production, cost-optimized |\n| **Supabase Storage** | Free tier + usage | Medium | Low | Small scale, simple |\n| **Local Storage** | Server cost | Slow | Low | Development only |\n\n**If Not Specified:** Cloudinary (balanced for MVP)\n\n---\n\n### 2. **Feed Algorithm Choice**\n\n**Question:** How should the main feed work?\n\n**Why This Matters:**\n- Affects: Database query complexity, caching strategy, development time\n- Algorithmic feeds require ML infrastructure, ranking signals\n\n**Options:**\n| Option | Complexity | Database Impact | Best For |\n|--------|------------|-----------------|----------|\n| **Chronological** | Low | Simple query | Early stage, transparency |\n| **Follow-Only** | Medium | JOIN with pagination | Most social apps |\n| **Algorithmic** | High | Pre-computed feed tables | Instagram competitor |\n\n**If Not Specified:** Follow-Only (balanced for social app)\n\n---\n\n### 3. **Authentication Approach**\n\n**Question:** How do users sign up and login?\n\n**Why This Matters:**\n- Affects: Development effort, security posture, UX friction\n\n**Options:**\n| Option | Effort | Security | UX | Best For |\n|--------|--------|----------|-----|----------|\n| **Email/Password** | Higher | High (if 2FA) | Medium | Full control needed |\n| **Social Only** | Low | Provider-dependent | Smooth | B2C, rapid launch |\n| **Magic Link** | Medium | Medium | Very smooth | Security-focused |\n| **Clerk/Auth0** | Lowest | High | Smooth | Fastest to market |\n\n**If Not Specified:** Clerk (fastest for MVP)\n\n---\n\n## 🟡 HIGH-LEVERAGE (Affects Architecture)\n\n### 4. **Real-time Notifications**\n\n**Question:** Do users need instant notifications for likes/comments?\n\n**Why This Matters:**\n- WebSocket adds infrastructure complexity (Redis pub/sub for scaling)\n- Polling is simpler but higher latency\n\n**Options:**\n| Option | Complexity | Scale Cost | Best For |\n|--------|------------|------------|----------|\n| **WebSocket + Redis** | High | $10+/mo | >1000 concurrent users |\n| **Polling (30s)** | Low | DB queries | <1000 users |\n| **No Real-time** | None | None | MVP, validate first |\n\n**If Not Specified:** Polling for MVP (defer WebSocket until validated)\n\n---\n\n## 🟢 NICE-TO-HAVE (Defer to v2)\n\n### 5. **Video/Reels Support**\n- Major complexity (video processing, streaming infrastructure)\n- Recommendation: Launch with photos only, add video after validation\n\n### 6. **Direct Messaging**\n- Separate subsystem (chat infrastructure different from feed)\n- Recommendation: Use Pusher/Stream for real-time or defer entirely\n\n---\n\n## 📋 Summary\n\n| Decision | Recommendation | If Changed |\n|----------|----------------|------------|\n| Storage | Cloudinary | +3 hrs setup |\n| Feed | Follow-only | +2 hrs query optimization |\n| Auth | Clerk | -3 hrs dev time |\n| Real-time | Polling | +5 hrs WebSocket setup |\n| Video | Defer to v2 | N/A |\n| DM | Defer to v2 | N/A |\n\n**Scope:** MVP covers the must-haves above; Video and DM deferred to v2.\n```\n\n---\n\n## 🎯 Principles Recap\n\n1. **Every question = Architectural decision** → Not data gathering\n2. **Show trade-offs** → User understands consequences\n3. **Prioritize blocking decisions** → Cannot proceed without\n4. **Provide defaults** → If user doesn't answer, we proceed anyway\n5. **Domain-aware** → Ecommerce questions ≠ Auth questions ≠ Real-time questions\n6. **Iterative** → More questions as patterns emerge during implementation\n",".agents/skills/clean-code/SKILL.md":"---\nname: clean-code\ndescription: Pragmatic coding standards - concise, direct, no over-engineering, no unnecessary comments\nwhen_to_use: \"Always active for ALL code writing. Enforces concise, direct coding standards, testing pyramid, and performance best practices.\"\nallowed-tools: Read, Write, Edit\nversion: 2.0.0\npriority: CRITICAL\n---\n\n# Clean Code - Pragmatic AI Coding Standards\n\n> **CRITICAL SKILL** - Be **concise, direct, and solution-focused**.\n\n---\n\n## Core Principles\n\n| Principle | Rule |\n|-----------|------|\n| **SRP** | Single Responsibility - each function/class does ONE thing |\n| **DRY** | Don't Repeat Yourself - extract duplicates, reuse |\n| **KISS** | Keep It Simple - simplest solution that works |\n| **YAGNI** | You Aren't Gonna Need It - don't build unused features |\n| **Boy Scout** | Leave code cleaner than you found it |\n\n---\n\n## Naming Rules\n\n| Element | Convention |\n|---------|------------|\n| **Variables** | Reveal intent: `userCount` not `n` |\n| **Functions** | Verb + noun: `getUserById()` not `user()` |\n| **Booleans** | Question form: `isActive`, `hasPermission`, `canEdit` |\n| **Constants** | SCREAMING_SNAKE: `MAX_RETRY_COUNT` |\n\n> **Rule:** If you need a comment to explain a name, rename it.\n\n---\n\n## Function Rules\n\n| Rule | Description |\n|------|-------------|\n| **Small** | Max 20 lines, ideally 5-10 |\n| **One Thing** | Does one thing, does it well |\n| **One Level** | One level of abstraction per function |\n| **Few Args** | Max 3 arguments, prefer 0-2 |\n| **No Side Effects** | Don't mutate inputs unexpectedly |\n\n---\n\n## Code Structure\n\n| Pattern | Apply |\n|---------|-------|\n| **Guard Clauses** | Early returns for edge cases |\n| **Flat > Nested** | Avoid deep nesting (max 2 levels) |\n| **Composition** | Small functions composed together |\n| **Colocation** | Keep related code close |\n\n---\n\n## AI Coding Style\n\n| Situation | Action |\n|-----------|--------|\n| User asks for feature | Write it directly |\n| User reports bug | Fix it, don't explain |\n| No clear requirement | Ask, don't assume |\n\n---\n\n## Anti-Patterns (DON'T)\n\n| ❌ Pattern | ✅ Fix |\n|-----------|-------|\n| Comment every line | Delete obvious comments |\n| Helper for one-liner | Inline the code |\n| Factory for 2 objects | Direct instantiation |\n| utils.ts with 1 function | Put code where used |\n| \"First we import...\" | Just write code |\n| Deep nesting | Guard clauses |\n| Magic numbers | Named constants |\n| God functions | Split by responsibility |\n\n---\n\n## 🔴 Before Editing ANY File (THINK FIRST!)\n\n**Before changing a file, ask yourself:**\n\n| Question | Why |\n|----------|-----|\n| **What imports this file?** | They might break |\n| **What does this file import?** | Interface changes |\n| **What tests cover this?** | Tests might fail |\n| **Is this a shared component?** | Multiple places affected |\n\n**Quick Check:**\n```\nFile to edit: UserService.ts\n└── Who imports this? → UserController.ts, AuthController.ts\n└── Do they need changes too? → Check function signatures\n```\n\n> 🔴 **Rule:** Edit the file + all dependent files in the SAME task.\n> 🔴 **Never leave broken imports or missing updates.**\n\n---\n\n## Summary\n\n| Do | Don't |\n|----|-------|\n| Write code directly | Write tutorials |\n| Let code self-document | Add obvious comments |\n| Fix bugs immediately | Explain the fix first |\n| Inline small things | Create unnecessary files |\n| Name things clearly | Use abbreviations |\n| Keep functions small | Write 100+ line functions |\n\n> **Remember: The user wants working code, not a programming lesson.**\n\n---\n\n## 🔴 Self-Check Before Completing (MANDATORY)\n\n**Before saying \"task complete\", verify:**\n\n| Check | Question |\n|-------|----------|\n| ✅ **Goal met?** | Did I do exactly what user asked? |\n| ✅ **Files edited?** | Did I modify all necessary files? |\n| ✅ **Code works?** | Did I test/verify the change? |\n| ✅ **No errors?** | Lint and TypeScript pass? |\n| ✅ **Nothing forgotten?** | Any edge cases missed? |\n\n> 🔴 **Rule:** If ANY check fails, fix it before completing.\n\n---\n\n## Verification Scripts (MANDATORY)\n\n> 🔴 **CRITICAL:** Each agent runs ONLY their own skill's scripts after completing work.\n\n### Agent → Script Mapping\n\n| Agent | Script | Command |\n|-------|--------|---------|\n| **frontend-specialist** | UX Audit | `python .agents/skills/frontend-design/scripts/ux_audit.py .` |\n| **frontend-specialist** | A11y Check | `python .agents/skills/frontend-design/scripts/accessibility_checker.py .` |\n| **backend-specialist** | API Validator | `python .agents/skills/api-patterns/scripts/api_validator.py .` |\n| **mobile-developer** | Mobile Audit | `python .agents/skills/mobile-design/scripts/mobile_audit.py .` |\n| **database-architect** | Schema Validate | `python .agents/skills/database-design/scripts/schema_validator.py .` |\n| **security-auditor** | Security Scan | `python .agents/skills/vulnerability-scanner/scripts/security_scan.py .` |\n| **seo-specialist** | SEO Check | `python .agents/skills/seo-fundamentals/scripts/seo_checker.py .` |\n| **seo-specialist** | GEO Check | `python .agents/skills/geo-fundamentals/scripts/geo_checker.py .` |\n| **performance-optimizer** | Lighthouse | `python .agents/skills/performance-profiling/scripts/lighthouse_audit.py <url>` |\n| **test-engineer** | Test Runner | `python .agents/skills/testing-patterns/scripts/test_runner.py .` |\n| **test-engineer** | Playwright | `python .agents/skills/webapp-testing/scripts/playwright_runner.py <url>` |\n| **Any agent** | Lint Check | `python .agents/skills/lint-and-validate/scripts/lint_runner.py .` |\n| **Any agent** | Type Coverage | `python .agents/skills/lint-and-validate/scripts/type_coverage.py .` |\n| **Any agent** | i18n Check | `python .agents/skills/i18n-localization/scripts/i18n_checker.py .` |\n\n> ❌ **WRONG:** `test-engineer` running `ux_audit.py`\n> ✅ **CORRECT:** `frontend-specialist` running `ux_audit.py`\n\n---\n\n### 🔴 Script Output Handling (READ → SUMMARIZE → ASK)\n\n**When running a validation script, you MUST:**\n\n1. **Run the script** and capture ALL output\n2. **Parse the output** - identify errors, warnings, and passes\n3. **Summarize to user** in this format:\n\n```markdown\n## Script Results: [script_name.py]\n\n### ❌ Errors Found (X items)\n- [File:Line] Error description 1\n- [File:Line] Error description 2\n\n### ⚠️ Warnings (Y items)\n- [File:Line] Warning description\n\n### ✅ Passed (Z items)\n- Check 1 passed\n- Check 2 passed\n\n**Should I fix the X errors?**\n```\n\n4. **Wait for user confirmation** before fixing\n5. **After fixing** → Re-run script to confirm\n\n> 🔴 **VIOLATION:** Running script and ignoring output = FAILED task.\n> 🔴 **VIOLATION:** Auto-fixing without asking = Not allowed.\n> 🔴 **Rule:** Always READ output → SUMMARIZE → ASK → then fix.\n\n",".agents/skills/code-review-checklist/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fcode-review-checklist%2FSKILL.md -->",".agents/skills/code-review-graph/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fcode-review-graph%2FSKILL.md -->",".agents/skills/context-compression/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fcontext-compression%2FSKILL.md -->",".agents/skills/coordinator-mode/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fcoordinator-mode%2FSKILL.md -->",".agents/skills/database-design/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdatabase-design%2FSKILL.md -->",".agents/skills/database-design/database-selection.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdatabase-design%2Fdatabase-selection.md -->",".agents/skills/database-design/indexing.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdatabase-design%2Findexing.md -->",".agents/skills/database-design/migrations.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdatabase-design%2Fmigrations.md -->",".agents/skills/database-design/optimization.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdatabase-design%2Foptimization.md -->",".agents/skills/database-design/orm-selection.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdatabase-design%2Form-selection.md -->",".agents/skills/database-design/schema-design.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdatabase-design%2Fschema-design.md -->",".agents/skills/deployment-procedures/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdeployment-procedures%2FSKILL.md -->",".agents/skills/design-spec/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdesign-spec%2FSKILL.md -->",".agents/skills/design-spec/collection.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdesign-spec%2Fcollection.md -->",".agents/skills/documentation-templates/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdocumentation-templates%2FSKILL.md -->",".agents/skills/frontend-architecture/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Ffrontend-architecture%2FSKILL.md -->",".agents/skills/frontend-design/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Ffrontend-design%2FSKILL.md -->",".agents/skills/frontend-design/redesign.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Ffrontend-design%2Fredesign.md -->",".agents/skills/frontend-design/style-brutalist.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Ffrontend-design%2Fstyle-brutalist.md -->",".agents/skills/frontend-design/style-minimalist.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Ffrontend-design%2Fstyle-minimalist.md -->",".agents/skills/game-development/2d-games/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2F2d-games%2FSKILL.md -->",".agents/skills/game-development/3d-games/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2F3d-games%2FSKILL.md -->",".agents/skills/game-development/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2FSKILL.md -->",".agents/skills/game-development/game-art/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2Fgame-art%2FSKILL.md -->",".agents/skills/game-development/game-audio/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2Fgame-audio%2FSKILL.md -->",".agents/skills/game-development/game-design/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2Fgame-design%2FSKILL.md -->",".agents/skills/game-development/mobile-games/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2Fmobile-games%2FSKILL.md -->",".agents/skills/game-development/multiplayer/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2Fmultiplayer%2FSKILL.md -->",".agents/skills/game-development/pc-games/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2Fpc-games%2FSKILL.md -->",".agents/skills/game-development/vr-ar/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2Fvr-ar%2FSKILL.md -->",".agents/skills/game-development/web-games/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2Fweb-games%2FSKILL.md -->",".agents/skills/geo-fundamentals/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgeo-fundamentals%2FSKILL.md -->",".agents/skills/i18n-localization/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fi18n-localization%2FSKILL.md -->",".agents/skills/intelligent-routing/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fintelligent-routing%2FSKILL.md -->",".agents/skills/lint-and-validate/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Flint-and-validate%2FSKILL.md -->",".agents/skills/mcp-builder/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmcp-builder%2FSKILL.md -->",".agents/skills/memory-system/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmemory-system%2FSKILL.md -->",".agents/skills/mobile-design/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2FSKILL.md -->",".agents/skills/mobile-design/decision-trees.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fdecision-trees.md -->",".agents/skills/mobile-design/mobile-backend.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fmobile-backend.md -->",".agents/skills/mobile-design/mobile-color-system.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fmobile-color-system.md -->",".agents/skills/mobile-design/mobile-debugging.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fmobile-debugging.md -->",".agents/skills/mobile-design/mobile-design-thinking.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fmobile-design-thinking.md -->",".agents/skills/mobile-design/mobile-navigation.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fmobile-navigation.md -->",".agents/skills/mobile-design/mobile-performance.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fmobile-performance.md -->",".agents/skills/mobile-design/mobile-testing.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fmobile-testing.md -->",".agents/skills/mobile-design/mobile-typography.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fmobile-typography.md -->",".agents/skills/mobile-design/platform-android.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fplatform-android.md -->",".agents/skills/mobile-design/platform-ios.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fplatform-ios.md -->",".agents/skills/mobile-design/touch-psychology.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Ftouch-psychology.md -->",".agents/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F1-async-eliminating-waterfalls.md -->",".agents/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F2-bundle-bundle-size-optimization.md -->",".agents/skills/nextjs-react-expert/3-server-server-side-performance.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F3-server-server-side-performance.md -->",".agents/skills/nextjs-react-expert/4-client-client-side-data-fetching.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F4-client-client-side-data-fetching.md -->",".agents/skills/nextjs-react-expert/5-rerender-re-render-optimization.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F5-rerender-re-render-optimization.md -->",".agents/skills/nextjs-react-expert/6-rendering-rendering-performance.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F6-rendering-rendering-performance.md -->",".agents/skills/nextjs-react-expert/7-js-javascript-performance.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F7-js-javascript-performance.md -->",".agents/skills/nextjs-react-expert/8-advanced-advanced-patterns.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F8-advanced-advanced-patterns.md -->",".agents/skills/nextjs-react-expert/9-cache-components.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F9-cache-components.md -->",".agents/skills/nextjs-react-expert/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2FSKILL.md -->",".agents/skills/nodejs-best-practices/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnodejs-best-practices%2FSKILL.md -->",".agents/skills/parallel-agents/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fparallel-agents%2FSKILL.md -->",".agents/skills/performance-profiling/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fperformance-profiling%2FSKILL.md -->",".agents/skills/plan-writing/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fplan-writing%2FSKILL.md -->",".agents/skills/powershell-windows/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fpowershell-windows%2FSKILL.md -->",".agents/skills/python-patterns/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fpython-patterns%2FSKILL.md -->",".agents/skills/red-team-tactics/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fred-team-tactics%2FSKILL.md -->",".agents/skills/rust-pro/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Frust-pro%2FSKILL.md -->",".agents/skills/seo-fundamentals/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fseo-fundamentals%2FSKILL.md -->",".agents/skills/server-management/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fserver-management%2FSKILL.md -->",".agents/skills/simplify-code/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fsimplify-code%2FSKILL.md -->",".agents/skills/skillify/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fskillify%2FSKILL.md -->",".agents/skills/systematic-debugging/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fsystematic-debugging%2FSKILL.md -->",".agents/skills/tailwind-patterns/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Ftailwind-patterns%2FSKILL.md -->",".agents/skills/tdd-workflow/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Ftdd-workflow%2FSKILL.md -->",".agents/skills/testing-patterns/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Ftesting-patterns%2FSKILL.md -->",".agents/skills/verify-changes/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fverify-changes%2FSKILL.md -->",".agents/skills/vulnerability-scanner/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fvulnerability-scanner%2FSKILL.md -->",".agents/skills/vulnerability-scanner/checklists.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fvulnerability-scanner%2Fchecklists.md -->",".agents/skills/web-design-guidelines/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fweb-design-guidelines%2FSKILL.md -->",".agents/skills/webapp-testing/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fwebapp-testing%2FSKILL.md -->","CLAUDE.md":"# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\n## What this is\n\nAG Kit is an Antigravity-first AI agent engineering kit. The product is the `.agents/` workspace contract itself (rules, skills, agents, workflows, memory, hooks) — Markdown + JSON consumed by the Google Antigravity runtime, not compiled code. Three deliverables live in one repo:\n\n- `.agents/` — the toolkit: 20 specialist agents (`agent/`), ~50 skills (`skills/`), 13 slash-command workflows (`workflows/`), 6 rules (`rules/`), persistent memory templates (`memory/`), plus the Antigravity runtime layer (`antigravity.json` contract, `hooks.json` PreToolUse safety gate, `hooks/*.mjs` tooling, JSON schemas).\n- `cli/` — published npm package `@vudovn/ag-kit` (Node ≥18, ESM). Installs the kit into user projects via `giget`. Entry: `cli/bin/index.js`, managed-tree logic in `cli/lib/managed-tree.js`.\n- `web/` — docs site (Next.js 16 + MDX + Tailwind 4, React 19). Content data lives in JSON catalogs under `web/src`.\n\nPython ≥3.10 (with PyYAML) runs the toolkit validators; Node ≥22 runs the Antigravity tooling.\n\n## Commands\n\nAll from repo root unless noted.\n\n```bash\n# Toolkit (.agents/) — run after ANY change to managed components\nnpm run generate:agents      # regenerate manifest.json, manifest.lock.json, DEPENDENCY_GRAPH.md\nnpm run check:agents         # manifest --check + graph --check + validate_kit.py (what CI runs)\nnpm run test:toolkit         # python -m unittest discover -s .agents/scripts/tests -v\n\n# Antigravity runtime layer\nnpm run check:antigravity    # doctor: validates contract, hooks, schemas\nnpm run test:antigravity     # node --test .agents/hooks/tests/antigravity.test.mjs\nnpm run build:antigravity-plugin\n\n# CLI\nnpm run test:cli             # or: cd cli && node --test test/*.test.js\nnode --test cli/test/managed-tree.test.js   # single test file\n\n# Web (deps installed per-package: npm ci in cli/ and web/)\nnpm run lint:web\nnpm run typecheck:web\nnpm run build:web            # next build --webpack (not turbopack)\n```\n\nSingle Python test: `python -m unittest .agents.scripts.tests.test_toolkit -v` won't work due to path; use `python -m unittest discover -s .agents/scripts/tests -k <pattern> -v`.\n\n## The managed component registry (critical)\n\nAny edit to a managed component (files in `.agents/agent|skills|workflows|rules`, hooks, schemas) **must** be followed by `npm run generate:agents`, or `check:agents` and CI fail on hash mismatch. Never hand-edit `manifest.json`, `manifest.lock.json`, or `DEPENDENCY_GRAPH.md` — all generated.\n\nDual-track versioning:\n- Toolkit releases: **CalVer** `YYYY.M.D` in `.agents/VERSION`.\n- Individual components: **SemVer** in their Markdown frontmatter. Bump the component's frontmatter version when changing it.\n\n## Component conventions\n\n- Agents, skills, workflows, and rules are Markdown with YAML frontmatter (`name`, `description`, `version`, plus `tools`/`dependencies` where applicable). Frontmatter shape is validated by `validate_kit.py` — match existing files in the same directory.\n- Skills use progressive/conditional loading (\"Selective Reading\"): a short always-loaded core with deeper sections loaded on demand. Keep new skill content in that shape.\n- Cross-component dependencies are declared in frontmatter and materialize in the generated dependency graph; a dangling dependency fails `check:agents`.\n- The native PreToolUse hook (`hooks.json` + `validate-tool-call.mjs`) is deliberately narrow: blocks root-filesystem deletion, drive formatting, raw-disk writes only. Don't broaden it into a general linter.\n\n## Release\n\n- Version is CalVer and must be synced across **three** `package.json` files (root, `cli/`, `web/`) plus `.agents/VERSION`. `cli/test/release-safety.test.js` guards this.\n- npm publish runs via `.github/workflows/publish.yml`; CI (`ci.yml`) runs toolkit validation, CLI tests + `npm pack --dry-run` + prod audit, and web lint/typecheck/build/audit. `antigravity.yml` runs doctor, hook tests, and plugin build.\n\n## Web notes\n\n- `next build --webpack` is intentional: the MDX plugin config breaks under Turbopack unless plugins are referenced by string name (see `web/next.config.ts`).\n- Docs content is driven by JSON catalog data under `web/src`, not by scanning `.agents/` at build time — update the catalogs when components change.\n"},"files":{".agents/ARCHITECTURE.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2FARCHITECTURE.md -->",".agents/rules/code-rules.md":"---\nname: code-rules\nversion: 1.0.0\npriority: P0\ntrigger: model_decision\ndescription: Apply when writing, building, refactoring, or fixing code — project-type agent routing, the Socratic Gate, Plan Mode phases, and the final checklist/scripts. Skip for pure questions or text-only responses.\n---\n\n# Code Rules (TIER 1) - AG Kit\n\n> Loaded when the request involves writing or modifying code.\n\n---\n\n## 📱 Project Type Routing\n\n| Project Type                           | Primary Agent         | Skills                        |\n| -------------------------------------- | --------------------- | ----------------------------- |\n| **MOBILE** (iOS, Android, RN, Flutter) | `mobile-developer`    | mobile-design                 |\n| **WEB** (Next.js, React web)           | `frontend-specialist` | frontend-design               |\n| **BACKEND** (API, server, DB)          | `backend-specialist`  | api-patterns, database-design |\n\n> 🔴 **Mobile + frontend-specialist = WRONG.** Mobile = mobile-developer ONLY.\n\n---\n\n## 🛑 GLOBAL SOCRATIC GATE\n\n**MANDATORY: Every user request must pass through the Socratic Gate before ANY tool use or implementation.**\n\n| Request Type            | Strategy       | Required Action                                                   |\n| ----------------------- | -------------- | ----------------------------------------------------------------- |\n| **New Feature / Build** | Deep Discovery | ASK minimum 3 strategic questions                                 |\n| **Code Edit / Bug Fix** | Context Check  | Confirm understanding + ask impact questions                      |\n| **Vague / Simple**      | Clarification  | Ask Purpose, Users, and Scope                                     |\n| **Full Orchestration**  | Gatekeeper     | **STOP** subagents until user confirms plan details               |\n| **Direct \"Proceed\"**    | Validation     | **STOP** → Even if answers are given, ask 2 \"Edge Case\" questions |\n\n**Protocol:**\n\n1. **Never Assume:** If even 1% is unclear, ASK.\n2. **Handle Spec-heavy Requests:** When user gives a list (Answers 1, 2, 3...), do NOT skip the gate. Instead, ask about **Trade-offs** or **Edge Cases** (e.g., \"LocalStorage confirmed, but should we handle data clearing or versioning?\") before starting.\n3. **Wait:** Do NOT invoke subagents or write code until the user clears the Gate.\n4. **Reference:** Full protocol in `@[skills/brainstorming]`.\n\n---\n\n## 🏁 Plan Mode (4-Phase)\n\n1. ANALYSIS → Research, questions\n2. PLANNING → `{task-slug}.md`, task breakdown\n3. SOLUTIONING → Architecture, design (NO CODE!)\n4. IMPLEMENTATION → Code + tests\n\n---\n\n## 🏁 Final Checklist Protocol\n\n**Trigger:** When the user says \"run the final checks\", \"final checks\", \"run all the tests\", or similar phrases.\n\n| Task Stage       | Command                                            | Purpose                        |\n| ---------------- | -------------------------------------------------- | ------------------------------ |\n| **Manual Audit** | `python .agents/scripts/checklist.py .`             | Priority-based project audit   |\n| **Pre-Deploy**   | `python .agents/scripts/checklist.py . --url <URL>` | Full Suite + Performance + E2E |\n\n**Priority Execution Order:**\n\n1. **Security** → 2. **Lint** → 3. **Schema** → 4. **Tests** → 5. **UX** → 6. **Seo** → 7. **Lighthouse/E2E**\n\n**Rules:**\n\n- **Completion:** A task is NOT finished until `checklist.py` returns success.\n- **Reporting:** If it fails, fix the **Critical** blockers first (Security/Lint).\n\n**Available Scripts (10 total):**\n\n| Script                     | Skill                 | When to Use         |\n| -------------------------- | --------------------- | ------------------- |\n| `security_scan.py`         | vulnerability-scanner | Always on deploy    |\n| `lint_runner.py`           | lint-and-validate     | Every code change   |\n| `test_runner.py`           | testing-patterns      | After logic change  |\n| `schema_validator.py`      | database-design       | After DB change     |\n| `ux_audit.py`              | frontend-design       | After UI change     |\n| `accessibility_checker.py` | frontend-design       | After UI change     |\n| `seo_checker.py`           | seo-fundamentals      | After page change   |\n| `mobile_audit.py`          | mobile-design         | After mobile change |\n| `lighthouse_audit.py`      | performance-profiling | Before deploy       |\n| `playwright_runner.py`     | webapp-testing        | Before deploy       |\n\n> 🔴 **Agents & Skills can invoke ANY script** via `python .agents/skills/<skill>/scripts/<script>.py`\n\n---\n",".agents/rules/core-protocol.md":"---\nname: core-protocol\nversion: 1.0.0\npriority: P0\ntrigger: always_on\n---\n\n# Core Protocol - AG Kit\n\n> The highest-priority workspace rules. How the AI loads agents/skills and what it must do before any implementation.\n\n---\n\n## CRITICAL: AGENT & SKILL PROTOCOL (START HERE)\n\n> **MANDATORY:** You MUST read the appropriate agent file and its skills BEFORE performing any implementation. This is the highest priority rule.\n\n### 1. Modular Skill Loading Protocol\n\nAgent activated → Check frontmatter \"skills:\" → Read SKILL.md (INDEX) → Read specific sections.\n\n- **Selective Reading:** DO NOT read ALL files in a skill folder. Read `SKILL.md` first, then only read sections matching the user's request.\n- **Rule Priority:** P0 (Workspace Rules in `.agents/rules/`) > P1 (Agent `.md`) > P2 (SKILL.md). All rules are binding.\n\n### 1.1 Skill Announcement (MANDATORY)\n\n**Every time you load and apply a skill, announce it BEFORE using it** — so the user can verify which knowledge is active.\n\n```markdown\n📚 **Using skill: `@[skill-name]`...**\n```\n\n- List multiple skills together: `📚 Using skills: @frontend-design + @design-spec...`\n- Announce on-demand skills too (e.g. a companion skill pulled from a hub, or `app-builder` for a new app), not just frontmatter ones.\n- ❌ Applying a skill without announcing it = **USER CANNOT VERIFY THE SKILL WAS USED**.\n\n### 2. Enforcement Protocol\n\n1. **When agent is activated:**\n    - ✅ Activate: Read Rules → Check Frontmatter → Load SKILL.md → Apply All.\n2. **Forbidden:** Never skip reading agent rules or skill instructions. \"Read → Understand → Apply\" is mandatory.\n\n---\n\n## 📁 File Dependency Awareness\n\n**Before modifying ANY file:**\n\n1. If `CODEBASE.md` exists, check its File Dependencies section.\n2. Otherwise, discover dependencies with targeted search/import analysis; do not block waiting for a missing file.\n3. Identify dependent files and update all affected files together.\n\n---\n\n## 🗺️ System Map & Memory Read\n\n> 🔴 **MANDATORY:** At session start, you MUST read `.agents/memory/MEMORY.md` to load persistent project conventions, user preferences, and decisions.\n\n> 📚 **Catalog lookup (on-demand, NOT every session):** Need the full list of Agents / Skills / Scripts? The `quick-reference` rule has the essentials. For the complete catalog, read `.agents/ARCHITECTURE.md` only when you actually need it (e.g. orchestration, or discovering a skill you're unsure exists) — do NOT load it on every request.\n\n**Path Awareness (Note: the project directory name is `.agents` plural):**\n\n- Agents: `.agents/agent/` (Project)\n- Skills: `.agents/skills/` (Project)\n- Memory: `.agents/memory/` (Project)\n- Runtime Scripts: `.agents/skills/<skill>/scripts/`\n\n---\n\n## 🧠 Read → Understand → Apply\n\n```\n❌ WRONG: Read agent file → Start coding\n✅ CORRECT: Read → Understand WHY → Apply PRINCIPLES → Code\n```\n\n**Before coding, answer:**\n\n1. What is the GOAL of this agent/skill?\n2. What PRINCIPLES must I apply?\n3. How does this DIFFER from generic output?\n\n---\n",".agents/rules/design-rules.md":"---\nname: design-rules\nversion: 1.0.0\npriority: P0\ntrigger: glob\nglobs: \"**/*.{tsx,jsx,vue,svelte,css,scss},**/components/**,**/app/**/page.tsx\"\n---\n\n# Design Rules (TIER 2) - AG Kit\n\n> Loaded when touching UI files. Design rules live in the specialist agents, NOT here.\n\n## 🛑 GATE: DESIGN.md before any UI code (MANDATORY)\n\nBefore writing or editing UI (components, pages, styles — web or mobile), a **`DESIGN.md` must exist at the project root**.\n\n1. **Check** for `DESIGN.md` at the project root.\n2. **If missing:** infer the design direction from the brief, then **create `DESIGN.md` first** (tokens + rationale) following the `design-spec` skill. Do not write UI code until it exists.\n3. **If present:** READ it and build strictly against its tokens. Descriptive names in prose map to token names.\n4. **Keep it in sync** when the visual language changes — it is the single source of truth.\n\n> Exception: none for new UI. A genuinely trivial tweak to existing UI (one button color, a spacing nudge) may proceed if a `DESIGN.md` already governs the project. Net-new UI always requires the gate.\n\n| Need | Read |\n| ---- | ---- |\n| DESIGN.md format / tokens | `.agents/skills/design-spec/SKILL.md` |\n\n---\n\n| Task         | Read                            |\n| ------------ | ------------------------------- |\n| Web UI/UX    | `.agents/agent/frontend-specialist.md` |\n| Mobile UI/UX | `.agents/agent/mobile-developer.md`    |\n\n**These agents contain:**\n\n- Purple Ban (no purple by default — brand/brief override allowed)\n- Template Ban (no standard layouts)\n- Anti-cliché rules\n- Deep Design Thinking protocol\n\n> 🔴 **For design work:** Open and READ the agent file. Rules are there.\n\n---\n",".agents/rules/quick-reference.md":"---\nname: quick-reference\nversion: 1.0.0\npriority: P2\ntrigger: model_decision\ndescription: Apply when you need a fast lookup of which agents, skills, or validation scripts exist — for routing decisions or recalling the master/key components of the kit.\n---\n\n# Quick Reference - AG Kit\n\n> A fast index of the most-used agents, skills, and scripts.\n\n## Agents & Skills\n\n- **Masters**: `orchestrator`, `project-planner`, `security-auditor` (Cyber/Audit), `backend-specialist` (API/DB), `frontend-specialist` (UI/UX), `mobile-developer`, `debugger`, `game-developer`\n- **Key Skills**: `clean-code`, `brainstorming`, `app-builder`, `frontend-design`, `mobile-design`, `plan-writing`, `behavioral-modes`\n\n## Key Scripts\n\n- **Verify**: `.agents/scripts/verify_all.py`, `.agents/scripts/checklist.py`\n- **Scanners**: `security_scan.py`\n- **Audits**: `ux_audit.py`, `mobile_audit.py`, `lighthouse_audit.py`, `seo_checker.py`\n- **Test**: `playwright_runner.py`, `test_runner.py`\n\n---\n",".agents/rules/request-routing.md":"---\nname: request-routing\nversion: 1.0.0\npriority: P0\ntrigger: always_on\n---\n\n# Request Routing - AG Kit\n\n> Always-active. Classify every request, then auto-route to the best specialist agent(s) before responding.\n\n---\n\n## 📥 REQUEST CLASSIFIER (STEP 1)\n\n**Before ANY action, classify the request:**\n\n| Request Type     | Trigger Keywords                           | Active Tiers                   | Result                      |\n| ---------------- | ------------------------------------------ | ------------------------------ | --------------------------- |\n| **QUESTION**     | \"what is\", \"how does\", \"explain\"           | TIER 0 only                    | Text Response               |\n| **SURVEY/INTEL** | \"analyze\", \"list files\", \"overview\"        | TIER 0 + Explorer              | Session Intel (No File)     |\n| **SIMPLE CODE**  | \"fix\", \"add\", \"change\" (single file)       | TIER 0 + TIER 1 (lite)         | Inline Edit                 |\n| **COMPLEX CODE** | \"build\", \"create\", \"implement\", \"refactor\" | TIER 0 + TIER 1 (full) + Agent | **{task-slug}.md Required** |\n| **NEW APP**      | \"new app\", \"from scratch\", \"build me a/an\", multi-page | `project-planner` (loads `app-builder`) → `orchestrator` | **{task-slug}.md + app-builder** |\n| **DESIGN/UI**    | \"design\", \"UI\", \"page\", \"dashboard\"        | TIER 0 + TIER 1 + Agent        | **{task-slug}.md Required** |\n| **SLASH CMD**    | /create, /orchestrate, /debug              | Command-specific flow          | Variable                    |\n\n> 🔴 **NEW APP / scaffold from scratch:** route through `project-planner` or `orchestrator` (both load `app-builder`), NOT a lone specialist like `frontend-specialist`. A specialist alone has no project-detection, tech-stack selection, or template knowledge — `app-builder` does. Or run `/create`.\n\n---\n\n## 🤖 INTELLIGENT AGENT ROUTING (STEP 2 - AUTO)\n\n**ALWAYS ACTIVE: Before responding to ANY request, automatically analyze and select the best agent(s).**\n\n> 🔴 **MANDATORY:** You MUST follow the protocol defined in `@[skills/intelligent-routing]`.\n\n### Auto-Selection Protocol\n\n1. **Analyze (Silent)**: Detect domains (Frontend, Backend, Security, etc.) from user request.\n2. **Select Agent(s)**: Choose the most appropriate specialist(s).\n3. **Inform User**: Concisely state which expertise is being applied.\n4. **Apply**: Generate response using the selected agent's persona and rules.\n\n### Response Format (MANDATORY)\n\nWhen auto-applying an agent, inform the user:\n\n```markdown\n🤖 **Applying knowledge of `@[agent-name]`...**\n\n[Continue with specialized response]\n```\n\n**Rules:**\n\n1. **Silent Analysis**: No verbose meta-commentary (\"I am analyzing...\").\n2. **Respect Overrides**: If user mentions `@agent`, use it.\n3. **Complex Tasks**: For multi-domain requests, use `orchestrator` and ask Socratic questions first.\n\n### ⚠️ AGENT ROUTING CHECKLIST (MANDATORY BEFORE EVERY CODE/DESIGN RESPONSE)\n\n**Before ANY code or design work, you MUST complete this mental checklist:**\n\n| Step | Check | If Unchecked |\n|------|-------|--------------|\n| 1 | Did I identify the correct agent for this domain? | → STOP. Analyze request domain first. |\n| 2 | Did I READ the agent's `.md` file (or recall its rules)? | → STOP. Open `.agents/agent/{agent}.md` |\n| 3 | Did I announce `🤖 Applying knowledge of @[agent]...`? | → STOP. Add announcement before response. |\n| 4 | Did I load required skills from agent's frontmatter? | → STOP. Check `skills:` field and read them. |\n\n**Failure Conditions:**\n\n- ❌ Writing code without identifying an agent = **PROTOCOL VIOLATION**\n- ❌ Skipping the announcement = **USER CANNOT VERIFY AGENT WAS USED**\n- ❌ Ignoring agent-specific rules (e.g., Purple Ban) = **QUALITY FAILURE**\n\n> 🔴 **Self-Check Trigger:** Every time you are about to write code or create UI, ask yourself:\n> \"Have I completed the Agent Routing Checklist?\" If NO → Complete it first.\n\n---\n\n## 🎭 Gemini Mode Mapping\n\n| Mode     | Agent             | Behavior                                     |\n| -------- | ----------------- | -------------------------------------------- |\n| **plan** | `project-planner` | 4-phase methodology. NO CODE before Phase 4. |\n| **ask**  | -                 | Focus on understanding. Ask questions.       |\n| **edit** | `orchestrator`    | Execute. Check `{task-slug}.md` first.       |\n\n> 🔴 **Edit mode:** If multi-file or structural change → Offer to create `{task-slug}.md`. For single-file fixes → Proceed directly.\n> Full Plan Mode (4-Phase) protocol lives in `code-rules.md`.\n\n---\n",".agents/rules/universal-rules.md":"---\nname: universal-rules\nversion: 1.0.0\npriority: P0\ntrigger: always_on\n---\n\n# Universal Rules (TIER 0) - AG Kit\n\n> Always-active rules that apply to every request, regardless of domain.\n\n---\n\n## 🌐 Language Handling\n\nWhen user's prompt is NOT in English:\n\n1. **Internally translate** for better comprehension\n2. **Respond in user's language** - match their communication\n3. **Code comments/variables** remain in English\n\n---\n\n## 🧹 Clean Code (Global Mandatory)\n\n**ALL code MUST follow `@[skills/clean-code]` rules. No exceptions.**\n\n- **Code**: Concise, direct, no over-engineering. Self-documenting.\n- **Testing**: Mandatory. Pyramid (Unit > Int > E2E) + AAA Pattern.\n- **Performance**: Measure first. Adhere to current Core Web Vitals standards.\n- **Infra/Safety**: 5-Phase Deployment. Verify secrets security.\n\n---\n",".agents/skills/api-patterns/SKILL.md":"---\nname: api-patterns\ndescription: API design principles and decision-making. REST vs GraphQL vs tRPC selection, response formats, versioning, pagination.\nwhen_to_use: \"When designing REST/GraphQL/tRPC APIs, defining response formats, versioning, pagination, or API authentication. NOT for UI/frontend work.\"\nallowed-tools: Read, Write, Edit, Glob, Grep\nversion: 1.0.0\n---\n\n# API Patterns\n\n> API design principles and decision-making.\n> **Learn to THINK, not copy fixed patterns.**\n\n## 🎯 Selective Reading Rule\n\n**Read ONLY files relevant to the request!** Check the content map, find what you need.\n\n---\n\n## 📑 Content Map\n\n| File | Description | When to Read |\n|------|-------------|--------------|\n| `api-style.md` | REST vs GraphQL vs tRPC decision tree | Choosing API type |\n| `rest.md` | Resource naming, HTTP methods, status codes | Designing REST API |\n| `response.md` | Envelope pattern, error format, pagination | Response structure |\n| `graphql.md` | Schema design, when to use, security | Considering GraphQL |\n| `trpc.md` | TypeScript monorepo, type safety | TS fullstack projects |\n| `versioning.md` | URI/Header/Query versioning | API evolution planning |\n| `auth.md` | JWT, OAuth, Passkey, API Keys | Auth pattern selection |\n| `rate-limiting.md` | Token bucket, sliding window | API protection |\n| `documentation.md` | OpenAPI/Swagger best practices | Documentation |\n| `security-testing.md` | OWASP API Top 10, auth/authz testing | Security audits |\n\n---\n\n## 🔗 Related Skills\n\n| Need | Skill |\n|------|-------|\n| API implementation | `@[skills/nodejs-best-practices]` |\n| Data structure | `@[skills/database-design]` |\n| Security details | `@[skills/vulnerability-scanner]` |\n\n---\n\n## ✅ Decision Checklist\n\nBefore designing an API:\n\n- [ ] **Asked user about API consumers?**\n- [ ] **Chosen API style for THIS context?** (REST/GraphQL/tRPC)\n- [ ] **Defined consistent response format?**\n- [ ] **Planned versioning strategy?**\n- [ ] **Considered authentication needs?**\n- [ ] **Planned rate limiting?**\n- [ ] **Documentation approach defined?**\n\n---\n\n## ❌ Anti-Patterns\n\n**DON'T:**\n- Default to REST for everything\n- Use verbs in REST endpoints (/getUsers)\n- Return inconsistent response formats\n- Expose internal errors to clients\n- Skip rate limiting\n\n**DO:**\n- Choose API style based on context\n- Ask about client requirements\n- Document thoroughly\n- Use appropriate status codes\n\n---\n\n## Script\n\n| Script | Purpose | Command |\n|--------|---------|---------|\n| `scripts/api_validator.py` | API endpoint validation | `python scripts/api_validator.py <project_path>` |\n\n",".agents/skills/api-patterns/api-style.md":"# API Style Selection\n\n> REST vs GraphQL vs tRPC - which one, when?\n\n## Decision Tree\n\n```\nWho are the API consumers?\n│\n├── Public API / Multiple platforms\n│   └── REST + OpenAPI (widest compatibility)\n│\n├── Complex data needs / Multiple frontends\n│   └── GraphQL (flexible queries)\n│\n├── TypeScript frontend + backend (monorepo)\n│   └── tRPC (end-to-end type safety)\n│\n├── Real-time / Event-driven\n│   └── WebSocket + AsyncAPI\n│\n└── Internal microservices\n    └── gRPC (performance) or REST (simplicity)\n```\n\n## Comparison\n\n| Factor | REST | GraphQL | tRPC |\n|--------|------|---------|------|\n| **Best for** | Public APIs | Complex apps | TS monorepos |\n| **Learning curve** | Low | Medium | Low (if TS) |\n| **Over/under fetching** | Common | Solved | Solved |\n| **Type safety** | Manual (OpenAPI) | Schema-based | Automatic |\n| **Caching** | HTTP native | Complex | Client-based |\n\n## Selection Questions\n\n1. Who are the API consumers?\n2. Is the frontend TypeScript?\n3. How complex are the data relationships?\n4. Is caching critical?\n5. Public or internal API?\n",".agents/skills/api-patterns/auth.md":"# Authentication Patterns\n\n> Choose auth pattern based on use case.\n\n## Selection Guide\n\n| Pattern | Best For |\n|---------|----------|\n| **JWT** | Stateless, microservices |\n| **Session** | Traditional web, simple |\n| **OAuth 2.0** | Third-party integration |\n| **API Keys** | Server-to-server, public APIs |\n| **Passkey** | Modern passwordless (2025+) |\n\n## JWT Principles\n\n```\nImportant:\n├── Always verify signature\n├── Check expiration\n├── Include minimal claims\n├── Use short expiry + refresh tokens\n└── Never store sensitive data in JWT\n```\n",".agents/skills/api-patterns/documentation.md":"# API Documentation Principles\n\n> Good docs = happy developers = API adoption.\n\n## OpenAPI/Swagger Essentials\n\n```\nInclude:\n├── All endpoints with examples\n├── Request/response schemas\n├── Authentication requirements\n├── Error response formats\n└── Rate limiting info\n```\n\n## Good Documentation Has\n\n```\nEssentials:\n├── Quick start / Getting started\n├── Authentication guide\n├── Complete API reference\n├── Error handling guide\n├── Code examples (multiple languages)\n└── Changelog\n```\n",".agents/skills/api-patterns/graphql.md":"# GraphQL Principles\n\n> Flexible queries for complex, interconnected data.\n\n## When to Use\n\n```\n✅ Good fit:\n├── Complex, interconnected data\n├── Multiple frontend platforms\n├── Clients need flexible queries\n├── Evolving data requirements\n└── Reducing over-fetching matters\n\n❌ Poor fit:\n├── Simple CRUD operations\n├── File upload heavy\n├── HTTP caching important\n└── Team unfamiliar with GraphQL\n```\n\n## Schema Design Principles\n\n```\nPrinciples:\n├── Think in graphs, not endpoints\n├── Design for evolvability (no versions)\n├── Use connections for pagination\n├── Be specific with types (not generic \"data\")\n└── Handle nullability thoughtfully\n```\n\n## Security Considerations\n\n```\nProtect against:\n├── Query depth attacks → Set max depth\n├── Query complexity → Calculate cost\n├── Batching abuse → Limit batch size\n├── Introspection → Disable in production\n```\n",".agents/skills/api-patterns/rate-limiting.md":"# Rate Limiting Principles\n\n> Protect your API from abuse and overload.\n\n## Why Rate Limit\n\n```\nProtect against:\n├── Brute force attacks\n├── Resource exhaustion\n├── Cost overruns (if pay-per-use)\n└── Unfair usage\n```\n\n## Strategy Selection\n\n| Type | How | When |\n|------|-----|------|\n| **Token bucket** | Burst allowed, refills over time | Most APIs |\n| **Sliding window** | Smooth distribution | Strict limits |\n| **Fixed window** | Simple counters per window | Basic needs |\n\n## Response Headers\n\n```\nInclude in headers:\n├── X-RateLimit-Limit (max requests)\n├── X-RateLimit-Remaining (requests left)\n├── X-RateLimit-Reset (when limit resets)\n└── Return 429 when exceeded\n```\n",".agents/skills/api-patterns/response.md":"# Response Format Principles\n\n> Consistency is key - choose a format and stick to it.\n\n## Common Patterns\n\n```\nChoose one:\n├── Envelope pattern ({ success, data, error })\n├── Direct data (just return the resource)\n└── HAL/JSON:API (hypermedia)\n```\n\n## Error Response\n\n```\nInclude:\n├── Error code (for programmatic handling)\n├── User message (for display)\n├── Details (for debugging, field-level errors)\n├── Request ID (for support)\n└── NOT internal details (security!)\n```\n\n## Pagination Types\n\n| Type | Best For | Trade-offs |\n|------|----------|------------|\n| **Offset** | Simple, jumpable | Performance on large datasets |\n| **Cursor** | Large datasets | Can't jump to page |\n| **Keyset** | Performance critical | Requires sortable key |\n\n### Selection Questions\n\n1. How large is the dataset?\n2. Do users need to jump to specific pages?\n3. Is data frequently changing?\n",".agents/skills/api-patterns/rest.md":"# REST Principles\n\n> Resource-based API design - nouns not verbs.\n\n## Resource Naming Rules\n\n```\nPrinciples:\n├── Use NOUNS, not verbs (resources, not actions)\n├── Use PLURAL forms (/users not /user)\n├── Use lowercase with hyphens (/user-profiles)\n├── Nest for relationships (/users/123/posts)\n└── Keep shallow (max 3 levels deep)\n```\n\n## HTTP Method Selection\n\n| Method | Purpose | Idempotent? | Body? |\n|--------|---------|-------------|-------|\n| **GET** | Read resource(s) | Yes | No |\n| **POST** | Create new resource | No | Yes |\n| **PUT** | Replace entire resource | Yes | Yes |\n| **PATCH** | Partial update | No | Yes |\n| **DELETE** | Remove resource | Yes | No |\n\n## Status Code Selection\n\n| Situation | Code | Why |\n|-----------|------|-----|\n| Success (read) | 200 | Standard success |\n| Created | 201 | New resource created |\n| No content | 204 | Success, nothing to return |\n| Bad request | 400 | Malformed request |\n| Unauthorized | 401 | Missing/invalid auth |\n| Forbidden | 403 | Valid auth, no permission |\n| Not found | 404 | Resource doesn't exist |\n| Conflict | 409 | State conflict (duplicate) |\n| Validation error | 422 | Valid syntax, invalid data |\n| Rate limited | 429 | Too many requests |\n| Server error | 500 | Our fault |\n",".agents/skills/api-patterns/security-testing.md":"# API Security Testing\n\n> Principles for testing API security. OWASP API Top 10, authentication, authorization testing.\n\n---\n\n## OWASP API Security Top 10\n\n| Vulnerability | Test Focus |\n|---------------|------------|\n| **API1: BOLA** | Access other users' resources |\n| **API2: Broken Auth** | JWT, session, credentials |\n| **API3: Property Auth** | Mass assignment, data exposure |\n| **API4: Resource Consumption** | Rate limiting, DoS |\n| **API5: Function Auth** | Admin endpoints, role bypass |\n| **API6: Business Flow** | Logic abuse, automation |\n| **API7: SSRF** | Internal network access |\n| **API8: Misconfiguration** | Debug endpoints, CORS |\n| **API9: Inventory** | Shadow APIs, old versions |\n| **API10: Unsafe Consumption** | Third-party API trust |\n\n---\n\n## Authentication Testing\n\n### JWT Testing\n\n| Check | What to Test |\n|-------|--------------|\n| Algorithm | None, algorithm confusion |\n| Secret | Weak secrets, brute force |\n| Claims | Expiration, issuer, audience |\n| Signature | Manipulation, key injection |\n\n### Session Testing\n\n| Check | What to Test |\n|-------|--------------|\n| Generation | Predictability |\n| Storage | Client-side security |\n| Expiration | Timeout enforcement |\n| Invalidation | Logout effectiveness |\n\n---\n\n## Authorization Testing\n\n| Test Type | Approach |\n|-----------|----------|\n| **Horizontal** | Access peer users' data |\n| **Vertical** | Access higher privilege functions |\n| **Context** | Access outside allowed scope |\n\n### BOLA/IDOR Testing\n\n1. Identify resource IDs in requests\n2. Capture request with user A's session\n3. Replay with user B's session\n4. Check for unauthorized access\n\n---\n\n## Input Validation Testing\n\n| Injection Type | Test Focus |\n|----------------|------------|\n| SQL | Query manipulation |\n| NoSQL | Document queries |\n| Command | System commands |\n| LDAP | Directory queries |\n\n**Approach:** Test all parameters, try type coercion, test boundaries, check error messages.\n\n---\n\n## Rate Limiting Testing\n\n| Aspect | Check |\n|--------|-------|\n| Existence | Is there any limit? |\n| Bypass | Headers, IP rotation |\n| Scope | Per-user, per-IP, global |\n\n**Bypass techniques:** X-Forwarded-For, different HTTP methods, case variations, API versioning.\n\n---\n\n## GraphQL Security\n\n| Test | Focus |\n|------|-------|\n| Introspection | Schema disclosure |\n| Batching | Query DoS |\n| Nesting | Depth-based DoS |\n| Authorization | Field-level access |\n\n---\n\n## Security Testing Checklist\n\n**Authentication:**\n- [ ] Test for bypass\n- [ ] Check credential strength\n- [ ] Verify token security\n\n**Authorization:**\n- [ ] Test BOLA/IDOR\n- [ ] Check privilege escalation\n- [ ] Verify function access\n\n**Input:**\n- [ ] Test all parameters\n- [ ] Check for injection\n\n**Config:**\n- [ ] Check CORS\n- [ ] Verify headers\n- [ ] Test error handling\n\n---\n\n> **Remember:** APIs are the backbone of modern apps. Test them like attackers will.\n",".agents/skills/api-patterns/trpc.md":"# tRPC Principles\n\n> End-to-end type safety for TypeScript monorepos.\n\n## When to Use\n\n```\n✅ Perfect fit:\n├── TypeScript on both ends\n├── Monorepo structure\n├── Internal tools\n├── Rapid development\n└── Type safety critical\n\n❌ Poor fit:\n├── Non-TypeScript clients\n├── Public API\n├── Need REST conventions\n└── Multiple language backends\n```\n\n## Key Benefits\n\n```\nWhy tRPC:\n├── Zero schema maintenance\n├── End-to-end type inference\n├── IDE autocomplete across stack\n├── Instant API changes reflected\n└── No code generation step\n```\n\n## Integration Patterns\n\n```\nCommon setups:\n├── Next.js + tRPC (most common)\n├── Monorepo with shared types\n├── Remix + tRPC\n└── Any TS frontend + backend\n```\n",".agents/skills/api-patterns/versioning.md":"# Versioning Strategies\n\n> Plan for API evolution from day one.\n\n## Decision Factors\n\n| Strategy | Implementation | Trade-offs |\n|----------|---------------|------------|\n| **URI** | /v1/users | Clear, easy caching |\n| **Header** | Accept-Version: 1 | Cleaner URLs, harder discovery |\n| **Query** | ?version=1 | Easy to add, messy |\n| **None** | Evolve carefully | Best for internal, risky for public |\n\n## Versioning Philosophy\n\n```\nConsider:\n├── Public API? → Version in URI\n├── Internal only? → May not need versioning\n├── GraphQL? → Typically no versions (evolve schema)\n├── tRPC? → Types enforce compatibility\n```\n",".agents/skills/app-builder/SKILL.md":"---\nname: app-builder\ndescription: Main application building orchestrator. Creates full-stack applications from natural language requests. Determines project type, selects tech stack, coordinates agents.\nwhen_to_use: \"When creating a new full-stack application from scratch, selecting tech stack, or scaffolding project structure. Use with /create workflow.\"\nallowed-tools: Read, Write, Edit, Glob, Grep, Bash, Agent\nversion: 1.1.0\n---\n\n# App Builder - Application Building Orchestrator\n\n> Analyzes user's requests, determines tech stack, plans structure, and coordinates agents.\n\n## 🎯 Selective Reading Rule\n\n**Read ONLY files relevant to the request!** Check the content map, find what you need.\n\n| File | Description | When to Read |\n|------|-------------|--------------|\n| `project-detection.md` | Keyword matrix, project type detection | Starting new project |\n| `tech-stack.md` | 2026 default stack, alternatives | Choosing technologies |\n| `agent-coordination.md` | Agent pipeline, execution order | Coordinating multi-agent work |\n| `scaffolding.md` | Directory structure, core files | Creating project structure |\n| `feature-building.md` | Feature analysis, error handling | Adding features to existing project |\n| `templates/SKILL.md` | **Project templates** | Scaffolding new project |\n\n---\n\n## 📦 Templates (13)\n\nQuick-start scaffolding for new projects. **Read the matching template only!**\n\n| Template | Tech Stack | When to Use |\n|----------|------------|-------------|\n| [nextjs-fullstack](templates/nextjs-fullstack/TEMPLATE.md) | Next.js + Prisma | Full-stack web app |\n| [nextjs-saas](templates/nextjs-saas/TEMPLATE.md) | Next.js + Stripe | SaaS product |\n| [nextjs-static](templates/nextjs-static/TEMPLATE.md) | Next.js + Framer | Landing page |\n| [nuxt-app](templates/nuxt-app/TEMPLATE.md) | Nuxt 4 + Pinia | Vue full-stack app |\n| [express-api](templates/express-api/TEMPLATE.md) | Express + JWT | REST API |\n| [python-fastapi](templates/python-fastapi/TEMPLATE.md) | FastAPI | Python API |\n| [react-native-app](templates/react-native-app/TEMPLATE.md) | Expo + Zustand | Mobile app |\n| [flutter-app](templates/flutter-app/TEMPLATE.md) | Flutter + Riverpod | Cross-platform mobile |\n| [electron-desktop](templates/electron-desktop/TEMPLATE.md) | Electron + React | Desktop app |\n| [chrome-extension](templates/chrome-extension/TEMPLATE.md) | Chrome MV3 | Browser extension |\n| [cli-tool](templates/cli-tool/TEMPLATE.md) | Node.js + Commander | CLI app |\n| [monorepo-turborepo](templates/monorepo-turborepo/TEMPLATE.md) | Turborepo + pnpm | Monorepo |\n| [astro-static](templates/astro-static/TEMPLATE.md) | Astro + MDX | Blog / Documentation |\n\n---\n\n## 🔗 Related Agents\n\n| Agent | Role |\n|-------|------|\n| `project-planner` | Task breakdown, dependency graph |\n| `frontend-specialist` | UI components, pages |\n| `backend-specialist` | API, business logic |\n| `database-architect` | Schema, migrations |\n| `devops-engineer` | Deployment, preview |\n\n---\n\n## Usage Example\n\n```\nUser: \"Make an Instagram clone with photo sharing and likes\"\n\nApp Builder Process:\n1. Project type: Social Media App\n2. Tech stack: Next.js + Prisma + Cloudinary + Clerk\n3. Create plan:\n   ├─ Database schema (users, posts, likes, follows)\n   ├─ API routes (auth, posts, likes, follows)\n   ├─ Pages (feed, profile, upload)\n   └─ Components (PostCard, Feed, LikeButton)\n4. Coordinate agents\n5. Report progress\n6. Start preview\n```\n",".agents/skills/app-builder/agent-coordination.md":"# Agent Coordination\n\n> How App Builder orchestrates specialist agents.\n\n## Agent Pipeline\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                   APP BUILDER (Orchestrator)                 │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│                     PROJECT PLANNER                          │\n│  • Task breakdown                                            │\n│  • Dependency graph                                          │\n│  • File structure planning                                   │\n│  • Create {task-slug}.md in project root (MANDATORY)             │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│              CHECKPOINT: PLAN VERIFICATION                   │\n│  🔴 VERIFY: Does {task-slug}.md exist in project root?       │\n│  🔴 If NO → STOP → Create plan file first                    │\n│  🔴 If YES → Proceed to specialist agents                    │\n└─────────────────────────────────────────────────────────────┘\n                              │\n          ┌───────────────────┼───────────────────┐\n          ▼                   ▼                   ▼\n┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐\n│ DATABASE        │ │ BACKEND         │ │ DESIGN SOURCE   │\n│ ARCHITECT       │ │ SPECIALIST      │ │ OF TRUTH        │\n│                 │ │                 │ │                 │\n│ • Schema design │ │ • API routes    │ │ • Read design-  │\n│ • Migrations    │ │ • Controllers   │ │   spec & refs   │\n│ • Seed data     │ │ • Middleware    │ │ • Create        │\n│                 │ │                 │ │   DESIGN.md     │\n└─────────────────┘ └─────────────────┘ └─────────────────┘\n          │                   │                   │\n          │                   │                   ▼\n          │                   │         ┌─────────────────┐\n          │                   │         │ FRONTEND        │\n          │                   │         │ SPECIALIST      │\n          │                   │         │                 │\n          │                   │         │ • UI Components │\n          │                   │         │ • Pages         │\n          │                   │         │ • Strict tokens │\n          │                   │         └─────────────────┘\n          │                   │                   │\n          └───────────────────┼───────────────────┘\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│                 PARALLEL PHASE (Optional)                    │\n│  • Security Auditor → Vulnerability check                   │\n│  • Test Engineer → Unit tests                               │\n│  • Performance Optimizer → Bundle analysis                  │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│                     DEVOPS ENGINEER                          │\n│  • Environment setup                                         │\n│  • Preview deployment (`python .agents/scripts/auto_preview.py`) │\n│  • Health check & report URL                                 │\n└─────────────────────────────────────────────────────────────┘\n```\n\n## Execution Order\n\n| Phase | Agent(s) / Step | Parallel? | Prerequisite | CHECKPOINT |\n|-------|-----------------|-----------|--------------|------------|\n| 0 | Socratic Gate | ❌ | - | ✅ Ask 3 questions |\n| 1 | Project Planner | ❌ | Questions answered | ✅ **{task-slug}.md created** |\n| 1.5 | **PLAN VERIFICATION** | ❌ | {task-slug}.md exists | ✅ **File exists in root** |\n| 1.8 | **DESIGN SOURCE-OF-TRUTH** | ❌ | Plan verified (UI projects) | ✅ **DESIGN.md created at root** |\n| 2 | Database Architect | ❌ | Plan ready | Schema defined |\n| 3 | Backend Specialist | ❌ | Schema ready | API routes created |\n| 4 | Frontend Specialist | ✅ | DESIGN.md + API ready (partial) | UI components match tokens |\n| 5 | Security Auditor, Test Engineer | ✅ | Code ready | Tests & audit pass |\n| 6 | DevOps Engineer | ❌ | All code ready | Deployment & preview ready |\n\n> 🔴 **CRITICAL:** Phase 1.5 and Phase 1.8 are MANDATORY gates.\n> - Phase 1.5: No specialist agents proceed without `{task-slug}.md` verification.\n> - Phase 1.8: For any project with a UI (web, mobile, desktop), **`DESIGN.md` MUST exist at the project root** before writing UI components or pages (per `@[rules/design-rules]` and `@[skills/design-spec]`). Skip only for headless APIs or CLI tools.\n\n",".agents/skills/app-builder/feature-building.md":"# Feature Building\n\n> How to analyze and implement new features.\n\n## Feature Analysis\n\n```\nRequest: \"add payment system\"\n\nAnalysis:\n├── Required Changes:\n│   ├── Database: orders, payments tables\n│   ├── Backend: /api/checkout, /api/webhooks/stripe\n│   ├── Frontend: CheckoutForm, PaymentSuccess\n│   └── Config: Stripe API keys\n│\n├── Dependencies:\n│   ├── stripe package\n│   └── Existing user authentication\n│\n└── Scope: DB + 2 API routes + 2 components + config\n```\n\n## Iterative Enhancement Process\n\n```\n1. Analyze existing project & architecture\n2. Create change plan ({task-slug}.md)\n3. If UI modified/added: check & align with DESIGN.md\n4. Present plan to user & get approval\n5. Apply changes with specialist agents\n6. Test & validate (lint, typecheck, unit tests)\n7. Start preview (python .agents/scripts/auto_preview.py)\n```\n\n\n## Error Handling\n\n| Error Type | Solution Strategy |\n|------------|-------------------|\n| TypeScript Error | Fix type, add missing import |\n| Missing Dependency | Run npm install |\n| Port Conflict | Suggest alternative port |\n| Database Error | Check migration, validate connection |\n\n## Recovery Strategy\n\n```\n1. Detect error\n2. Try automatic fix\n3. If failed, report to user\n4. Suggest alternative\n5. Rollback if necessary\n```\n",".agents/skills/app-builder/project-detection.md":"# Project Type Detection\n\n> Analyze user requests to determine project type and template.\n\n## Keyword Matrix\n\n| Keywords | Project Type | Template |\n|----------|--------------|----------|\n| blog, post, article | Blog | astro-static |\n| e-commerce, product, cart, payment | E-commerce | nextjs-saas |\n| dashboard, panel, management | Admin Dashboard | nextjs-fullstack |\n| ai, chat, bot, llm, rag, agent app | AI / Chatbot App | nextjs-fullstack (AI SDK / Streaming) |\n| game, 2d, 3d, canvas, phaser, godot | Game Application | game-development skill (via `game-developer`) |\n| api, backend, service, rest | API Service | express-api |\n| python, fastapi, django | Python API | python-fastapi |\n| mobile, android, ios, react native | Mobile App (RN) | react-native-app |\n| flutter, dart | Mobile App (Flutter) | flutter-app |\n| portfolio, personal, cv | Portfolio | nextjs-static |\n| crm, customer, sales | CRM | nextjs-fullstack |\n| saas, subscription, stripe | SaaS | nextjs-saas |\n| landing, promotional, marketing | Landing Page | nextjs-static |\n| docs, documentation | Documentation | astro-static |\n| extension, plugin, chrome | Browser Extension | chrome-extension |\n| desktop, electron | Desktop App | electron-desktop |\n| cli, command line, terminal | CLI Tool | cli-tool |\n| monorepo, workspace | Monorepo | monorepo-turborepo |\n\n\n## Detection Process\n\n```\n1. Tokenize user request\n2. Extract keywords\n3. Determine project type\n4. Detect missing information → forward to project-planner / orchestrator\n5. Suggest tech stack\n```\n\n## Conflict Resolution\n\nWhen a request matches multiple keywords (e.g. \"a CLI to manage my e-commerce products\" matches both `cli` and `e-commerce`), resolve in this order:\n\n| Priority | Rule | Example |\n|----------|------|---------|\n| 1 | **Platform wins over domain.** A concrete platform (mobile / desktop / cli / extension) outranks a web/business domain (e-commerce, crm, blog). | \"CLI to manage e-commerce\" → **cli-tool** (e-commerce is the data domain, not the deliverable) |\n| 2 | **Head noun wins.** The keyword describing what is being built (grammatical subject) outranks modifiers. | \"a **dashboard** for my Shopify store\" → **nextjs-fullstack** (dashboard is the thing; Shopify is context) |\n| 3 | **Still ambiguous → ask.** If no rule breaks the tie, do NOT guess. Surface the options through the Socratic Gate (Phase 0) and let the user choose. | \"an app for my shop\" → ask: web, mobile, or desktop? |\n\n",".agents/skills/app-builder/scaffolding.md":"# Project Scaffolding\n\n> Directory structure and core files for new projects.\n\n---\n\n## Next.js Full-Stack Structure (Next.js 16 Optimized)\n\n```\nproject-name/\n├── src/\n│   ├── app/                        # Routes only (thin layer)\n│   │   ├── layout.tsx\n│   │   ├── page.tsx\n│   │   ├── globals.css             # Tailwind v4 config (@theme) lives here\n│   │   ├── (auth)/                 # Route group - auth pages\n│   │   │   ├── login/page.tsx\n│   │   │   └── register/page.tsx\n│   │   ├── (dashboard)/            # Route group - dashboard layout\n│   │   │   ├── layout.tsx\n│   │   │   └── page.tsx\n│   │   └── api/                    # Route Handlers (webhooks/external only)\n│   │       └── [resource]/route.ts\n│   │\n│   ├── components/                 # UI components\n│   │   ├── ui/                     # Reusable primitives (Button, Input)\n│   │   └── forms/                  # Client forms (useActionState)\n│   │\n│   ├── lib/                        # Shared utilities & server-only logic\n│   │   ├── db.ts                   # Prisma singleton client\n│   │   ├── dal.ts                  # Data Access Layer (server-only, DTOs)\n│   │   └── utils.ts                # Helper functions\n│   │\n│   ├── actions/                    # Server Actions (mutations)\n│   │\n│   └── types/                      # Global TypeScript types\n│\n├── prisma/\n│   ├── schema.prisma\n│   ├── migrations/\n│   └── seed.ts\n│\n├── public/\n├── proxy.ts                        # Network boundary (auth, redirects)\n├── DESIGN.md                       # Design source-of-truth tokens & rationale (MANDATORY for UI)\n├── .env.example\n├── .env.local\n├── package.json\n├── next.config.ts\n├── tsconfig.json\n└── README.md\n```\n\n---\n\n## Structure Principles\n\n| Principle | Implementation |\n|-----------|----------------|\n| **Thin routes** | `app/` only for routing + layouts, logic lives in `actions/` and `lib/` |\n| **Server/Client separation** | Server-only logic in `lib/dal.ts`, prevents accidental client imports |\n| **Data Access Layer** | `lib/dal.ts` centralizes DB access and returns DTOs for safe reuse |\n| **Mutations via Server Actions** | `actions/` holds Server Actions, called from forms with `useActionState` |\n| **Route groups** | `(groupName)/` for layout sharing without URL impact |\n| **Reusable UI** | `components/ui/` for primitives, `components/forms/` for client forms |\n\n---\n\n| File | Purpose |\n|------|---------|\n| `proxy.ts` | Next.js 16 network boundary logic (auth, redirects). Renamed from `middleware.ts`, runs on Node.js runtime |\n| `DESIGN.md` | Single source of truth for visual tokens (YAML frontmatter) & rationale (MANDATORY before UI) |\n| `package.json` | Dependencies |\n| `next.config.ts` | Next.js config (TypeScript) |\n| `tsconfig.json` | TypeScript + path aliases (`@/*`) |\n| `.env.example` | Environment template |\n| `README.md` | Project documentation |\n| `.gitignore` | Git ignore rules |\n| `prisma/schema.prisma` | Database schema |\n| `src/app/globals.css` | Tailwind v4 config via `@theme` (no `tailwind.config.js`) |\n\n\n---\n\n## Path Aliases (tsconfig.json)\n\n```json\n{\n  \"compilerOptions\": {\n    \"paths\": {\n      \"@/*\": [\"./src/*\"],\n      \"@/components/*\": [\"./src/components/*\"],\n      \"@/lib/*\": [\"./src/lib/*\"],\n      \"@/actions/*\": [\"./src/actions/*\"]\n    }\n  }\n}\n```\n\n---\n\n## When to Use What\n\n| Need | Location |\n|------|----------|\n| New page/route | `app/(group)/page.tsx` |\n| Reusable button/input | `components/ui/` |\n| Client form | `components/forms/` |\n| Server action (mutation) | `actions/` |\n| Data fetching / DB query | `lib/dal.ts` |\n| Prisma client | `lib/db.ts` |\n| Helper function | `lib/utils.ts` |\n| Auth / redirect logic | `proxy.ts` |\n",".agents/skills/app-builder/tech-stack.md":"# Tech Stack Selection (2026)\n\n> Default and alternative technology choices for web applications.\n\n## Default Stack (Web App - 2026)\n\n```yaml\nFrontend:\n  framework: Next.js 16 (Stable)\n  language: TypeScript 5.7+\n  styling: Tailwind CSS v4\n  state: React 19 Actions / Server Components\n  caching: Next.js 16 Cache Components (Stable)\n  bundler: Turbopack (Stable for Dev & Build)\n\nBackend:\n  runtime: Node.js 24 (Krypton LTS)\n  framework: Next.js API Routes / Hono (for Edge)\n  validation: Zod / TypeBox\n\nDatabase:\n  primary: PostgreSQL\n  orm: Prisma / Drizzle\n  hosting: Supabase / Neon\n\nAuth:\n  provider: Auth.js (v5) / Clerk\n\nMonorepo:\n  tool: Turborepo 2.0\n```\n\n## Alternative Options\n\n| Need | Default | Alternative |\n|------|---------|-------------|\n| Real-time | Supabase Realtime | Socket.io, Ably |\n| File storage | Supabase Storage | Cloudinary, AWS S3 |\n| Payment | Stripe | LemonSqueezy, Paddle |\n| Email | Resend | SendGrid, Postmark |\n| Search | Algolia | Typesense, Orama |\n| AI / LLM SDK | Vercel AI SDK (`ai` + `@ai-sdk/*`) | LangChain.js, direct REST API |\n| Vector Database | PostgreSQL (pgvector via Supabase / Neon) | Pinecone, Qdrant |\n| ORM (SQL-first) | Prisma ORM | Drizzle ORM (`drizzle-orm` + `drizzle-kit`) |\n\n---\n\n## AI Application Pattern (2026 Standard)\n\nWhen building an AI or LLM-powered application:\n- **Streaming**: Use Vercel AI SDK `streamText` / `streamUI` in Route Handlers or Server Actions.\n- **UI State**: Leverage `useChat` / `useCompletion` with React 19 optimistic updates.\n- **Embeddings & Vector**: Store vectors in PostgreSQL using `pgvector` extension; query via cosine similarity.\n- **Safety & Rate Limits**: Protect AI endpoints with rate limiting (`@[skills/api-patterns/rate-limiting]`) and Zod schema parsing.\n\n",".agents/skills/app-builder/templates/SKILL.md":"---\nname: templates\ndescription: Project scaffolding templates for new applications. Use when creating new projects from scratch. Contains 13 templates for various tech stacks.\nallowed-tools: Read, Glob, Grep\n---\n\n# Project Templates\n\n> Quick-start templates for scaffolding new projects.\n\n---\n\n## 🎯 Selective Reading Rule\n\n**Read ONLY the template matching user's project type!**\n\n| Template | Tech Stack | When to Use |\n|----------|------------|-------------|\n| [nextjs-fullstack](nextjs-fullstack/TEMPLATE.md) | Next.js + Prisma | Full-stack web app |\n| [nextjs-saas](nextjs-saas/TEMPLATE.md) | Next.js + Stripe | SaaS product |\n| [nextjs-static](nextjs-static/TEMPLATE.md) | Next.js + Framer | Landing page |\n| [nuxt-app](nuxt-app/TEMPLATE.md) | Nuxt 4 + Pinia | Vue full-stack app |\n| [express-api](express-api/TEMPLATE.md) | Express + JWT | REST API |\n| [python-fastapi](python-fastapi/TEMPLATE.md) | FastAPI | Python API |\n| [react-native-app](react-native-app/TEMPLATE.md) | Expo + Zustand | Mobile app |\n| [flutter-app](flutter-app/TEMPLATE.md) | Flutter + Riverpod | Cross-platform |\n| [electron-desktop](electron-desktop/TEMPLATE.md) | Electron + React | Desktop app |\n| [chrome-extension](chrome-extension/TEMPLATE.md) | Chrome MV3 | Browser extension |\n| [cli-tool](cli-tool/TEMPLATE.md) | Node.js + Commander | CLI app |\n| [monorepo-turborepo](monorepo-turborepo/TEMPLATE.md) | Turborepo + pnpm | Monorepo |\n| [astro-static](astro-static/TEMPLATE.md) | Astro + MDX | Blog / Docs |\n\n---\n\n## Usage\n\n1. User says \"create [type] app\"\n2. Match to appropriate template\n3. Read ONLY that template's TEMPLATE.md\n4. Follow its tech stack and structure\n",".agents/skills/app-builder/templates/astro-static/TEMPLATE.md":"---\nname: astro-static\ndescription: Astro static site template principles. Content-focused websites, blogs, documentation.\n---\n\n# Astro Static Site Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Framework | Astro 6.x |\n| Content | MDX + Content Collections (Content Layer API) |\n| Styling | Tailwind CSS v4 (@tailwindcss/vite) |\n| Integrations | Sitemap, RSS, SEO |\n| Output | Static/SSG |\n\n---\n\n## Directory Structure\n\n```\nproject-name/\n├── src/\n│   ├── components/      # .astro components\n│   ├── content/         # Collection entries (blog/, docs/ .md/.mdx)\n│   ├── layouts/         # Page layouts\n│   ├── pages/           # File-based routing (only reserved dir)\n│   ├── styles/\n│   │   └── global.css   # @import \"tailwindcss\";\n│   └── content.config.ts # Collection definitions (Content Layer, in src/ root)\n├── public/              # Static assets\n├── astro.config.mjs\n└── package.json\n```\n\n---\n\n## Key Concepts\n\n| Concept | Description |\n|---------|-------------|\n| Content Layer API | Collections defined in `src/content.config.ts` with `loader`s (glob/file) + Zod schemas |\n| Islands Architecture | Partial hydration for interactivity |\n| Zero JS by default | Static HTML unless needed |\n| MDX Support | Markdown with components |\n\n---\n\n## Setup Steps\n\n1. `npm create astro@latest {{name}}`\n2. Add integrations: `npx astro add mdx sitemap`\n3. Add Tailwind v4: `npx astro add tailwind` (installs @tailwindcss/vite, not the legacy @astrojs/tailwind)\n4. Define collections in `src/content.config.ts` using `loader`s + Zod schemas\n5. `npm run dev`\n\n---\n\n## Deployment\n\n| Platform | Method |\n|----------|--------|\n| Vercel | Auto-detected |\n| Netlify | Auto-detected |\n| Cloudflare Pages | Auto-detected |\n| GitHub Pages | Build + deploy action |\n\n---\n\n## Best Practices\n\n- Use Content Collections for type safety\n- Leverage static generation\n- Add islands only where needed\n- Optimize images with Astro Image\n",".agents/skills/app-builder/templates/chrome-extension/TEMPLATE.md":"---\nname: chrome-extension\ndescription: Chrome Extension template principles. Manifest V3, React, TypeScript.\n---\n\n# Chrome Extension Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Manifest | V3 |\n| UI | React 19 |\n| Language | TypeScript |\n| Styling | Tailwind CSS v4 |\n| Bundler | Vite + CRXJS (@crxjs/vite-plugin v2) |\n| Storage | Chrome Storage API |\n\n---\n\n## Directory Structure\n\n> CRXJS + Vite: `manifest.config.ts` is the source of truth, Vite resolves entries.\n\n```\nproject-name/\n├── src/\n│   ├── popup/           # { index.html, main.tsx, Popup.tsx }\n│   ├── options/         # { index.html, main.tsx, Options.tsx }\n│   ├── background/      # service-worker.ts (MV3 service worker)\n│   ├── content/         # { content-script.ts, content.css }\n│   ├── components/      # Shared React\n│   └── lib/\n│       ├── storage.ts   # Chrome storage helpers\n│       └── messaging.ts # Message passing\n├── public/              # Static assets (icons)\n├── manifest.config.ts   # defineManifest() — typed manifest\n├── vite.config.ts       # crx({ manifest }) + react + tailwind\n└── package.json\n```\n\n---\n\n## Manifest V3 Concepts\n\n| Component | Purpose |\n|-----------|---------|\n| Service Worker | Background processing |\n| Content Scripts | Page injection |\n| Popup | User interface |\n| Options Page | Settings |\n\n---\n\n## Permissions\n\n| Permission | Use |\n|------------|-----|\n| storage | Save user data |\n| activeTab | Current tab access |\n| scripting | Inject scripts |\n| host_permissions | Site access |\n\n---\n\n## Setup Steps\n\n1. `npm create vite@latest {{name}} -- --template react-ts`\n2. Install CRXJS: `npm install -D @crxjs/vite-plugin@latest`\n3. Add Chrome types: `npm install -D @types/chrome`\n4. Create `manifest.config.ts` with `defineManifest`, wire `crx({ manifest })` in `vite.config.ts`\n5. `npm run dev` (HMR for popup/options/content)\n6. Load in Chrome: `chrome://extensions` → Load unpacked → select `dist/`\n\n---\n\n## Development Tips\n\n| Task | Method |\n|------|--------|\n| Debug Popup | Right-click icon → Inspect |\n| Debug Background | Extensions page → Service worker |\n| Debug Content | DevTools console on page |\n| Hot Reload | `npm run dev` (CRXJS HMR) |\n\n---\n\n## Best Practices\n\n- Use type-safe messaging\n- Wrap Chrome APIs in promises\n- MV3 background is an ephemeral service worker — persist state in `chrome.storage`, not module globals; use event listeners + alarms, not long-lived timers\n- Minimize permissions\n- Scope content-script styles to avoid host-page bleed\n",".agents/skills/app-builder/templates/cli-tool/TEMPLATE.md":"---\nname: cli-tool\ndescription: Node.js CLI tool template principles. Commander.js, interactive prompts.\n---\n\n# CLI Tool Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Runtime | Node.js 24 (Krypton LTS) |\n| Language | TypeScript (ESM) |\n| CLI Framework | Commander.js (v15, needs Node ≥22.12) |\n| Prompts | @inquirer/prompts (modular) |\n| Output | chalk + ora |\n| Config | cosmiconfig |\n\n---\n\n## Directory Structure\n\n```\nproject-name/\n├── src/\n│   ├── index.ts         # Entry: #!/usr/bin/env node shebang, wires Commander\n│   ├── commands/        # One file per command (factory functions)\n│   ├── lib/             # Core logic (framework-agnostic, testable)\n│   ├── utils/           # logger (chalk/ora), prompt wrappers\n│   └── config.ts        # cosmiconfig loader\n├── dist/                # Build output (tsup/tsc)\n└── package.json         # \"type\":\"module\", \"bin\":{...}\n```\n\n---\n\n## CLI Design Principles\n\n| Principle | Description |\n|-----------|-------------|\n| Subcommands | Group related actions |\n| Options | Flags with defaults |\n| Interactive | Prompts when needed |\n| Non-interactive | Support --yes flags |\n\n---\n\n## Key Components\n\n| Component | Purpose |\n|-----------|---------|\n| Commander | Command parsing (use a local `new Command()` for testability) |\n| @inquirer/prompts | Modular interactive prompts (`input`, `select`, `confirm`) |\n| Chalk | Colored output |\n| Ora | Spinners/loading |\n| Cosmiconfig | Config file discovery |\n\n---\n\n## Setup Steps\n\n1. Create project directory\n2. `npm init -y` then set `\"type\": \"module\"`\n3. Install deps: `npm install commander @inquirer/prompts chalk ora cosmiconfig`\n4. Point `bin` at compiled `./dist/index.js`, keep `#!/usr/bin/env node` shebang\n5. `npm link` for local testing\n\n---\n\n## Publishing\n\n```bash\nnpm login\nnpm publish\n```\n\n---\n\n## Best Practices\n\n- Keep `src/index.ts` thin; attach commands via `.addCommand()` factories in `src/commands/`\n- Put business logic in `lib/`/`utils/` so commands stay testable wrappers\n- ESM by default; build with tsup/esbuild\n- Support both interactive and non-interactive (`--yes`) modes\n- Validate inputs with Zod; exit with proper codes (0 success, 1 error)\n- Alternatives worth knowing: @clack/prompts (polished prompts), citty (lightweight ESM command framework)\n",".agents/skills/app-builder/templates/electron-desktop/TEMPLATE.md":"---\nname: electron-desktop\ndescription: Electron desktop app template principles. Cross-platform, React, TypeScript.\n---\n\n# Electron Desktop App Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Framework | Electron 42+ |\n| UI | React 19 |\n| Language | TypeScript |\n| Styling | Tailwind CSS v4 |\n| Bundler | electron-vite + electron-builder |\n| IPC | Type-safe communication (contextBridge) |\n\n---\n\n## Directory Structure\n\n> electron-vite layout: main / preload / renderer separation is the 2026 standard.\n\n```\nproject-name/\n├── src/\n│   ├── main/            # Main process (lifecycle, windows, IPC handlers)\n│   │   └── index.ts\n│   ├── preload/         # contextBridge — type-safe IPC surface\n│   │   ├── index.ts\n│   │   └── index.d.ts   # Ambient types shared with renderer\n│   └── renderer/        # React app\n│       ├── index.html\n│       └── src/\n│           ├── main.tsx\n│           ├── App.tsx\n│           └── components/\n├── resources/           # App icons / static (build-time)\n├── build/               # Builder assets (entitlements, icons)\n├── electron.vite.config.ts\n├── electron-builder.yml\n└── package.json         # scripts: electron-vite dev | build | preview\n```\n\n---\n\n## Process Model\n\n| Process | Role |\n|---------|------|\n| Main | Node.js, system access |\n| Renderer | Chromium, React UI |\n| Preload | Bridge, context isolation |\n\n---\n\n## Key Concepts\n\n| Concept | Purpose |\n|---------|---------|\n| contextBridge | Safe API exposure |\n| ipcMain/ipcRenderer | Process communication |\n| nodeIntegration: false | Security |\n| contextIsolation: true | Security |\n\n---\n\n## Setup Steps\n\n1. `npm create @quick-start/electron@latest {{name}} -- --template react-ts`\n2. `cd {{name}} && npm install`\n3. Add Tailwind v4: `npm install tailwindcss @tailwindcss/vite`\n4. Define IPC types in `src/preload/index.d.ts`\n5. `npm run dev`\n\n---\n\n## Build Targets\n\n| Platform | Output |\n|----------|--------|\n| Windows | NSIS, Portable |\n| macOS | DMG, ZIP |\n| Linux | AppImage, DEB |\n\n---\n\n## Best Practices\n\n- `contextIsolation: true` (default v12+), `sandbox: true` (default v20+), `nodeIntegration: false` (default v5+) — never enable Node for remote content\n- Expose a narrow API via `contextBridge.exposeInMainWorld`, never raw `ipcRenderer`\n- Validate IPC `sender` against an allowlist; set a restrictive CSP (`script-src 'self'`)\n- Type-safe IPC: share types from `preload/index.d.ts` into the renderer\n- Auto-updates with electron-updater\n",".agents/skills/app-builder/templates/express-api/TEMPLATE.md":"---\nname: express-api\ndescription: Express.js REST API template principles. TypeScript, Prisma, JWT.\n---\n\n# Express.js API Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Runtime | Node.js 24 (Krypton LTS) |\n| Framework | Express 5 (stable, default on npm) |\n| Language | TypeScript |\n| Database | PostgreSQL + Prisma |\n| Validation | Zod |\n| Auth | JWT + bcrypt |\n\n---\n\n## Directory Structure\n\n```\nproject-name/\n├── prisma/\n│   └── schema.prisma\n├── src/\n│   ├── app.ts           # Express app + middleware wiring (no listen)\n│   ├── server.ts        # Bootstrap: listen() — split for testability\n│   ├── config/          # Environment\n│   ├── routes/          # Route definitions only\n│   ├── controllers/     # HTTP layer (req/res, calls services)\n│   ├── services/        # Business logic\n│   ├── middlewares/\n│   │   ├── auth.ts      # JWT verify\n│   │   ├── error.ts     # Error handler\n│   │   └── validate.ts  # Zod validation\n│   ├── schemas/         # Zod schemas\n│   └── utils/\n├── tests/\n└── package.json\n```\n\n---\n\n## Middleware Stack\n\n| Order | Middleware |\n|-------|------------|\n| 1 | helmet (security) |\n| 2 | cors |\n| 3 | compression |\n| 4 | body parsing |\n| 5 | morgan (logging) |\n| 6 | routes |\n| 7 | error handler (last, 4-arg signature) |\n\n---\n\n## API Response Format\n\n| Type | Structure |\n|------|-----------|\n| Success | `{ success: true, data: {...} }` |\n| Error | `{ error: \"message\", details: [...] }` |\n\n---\n\n## Setup Steps\n\n1. Create project directory\n2. `npm init -y`\n3. Install deps: `npm install express @prisma/client zod bcrypt jsonwebtoken`\n4. Install devDeps: `npm install -D prisma typescript @types/node @types/express @types/bcrypt @types/jsonwebtoken`\n5. Configure Prisma (`npx prisma init`)\n6. `npm run db:push`\n7. `npm run dev`\n\n\n---\n\n## Best Practices\n\n- Split `app.ts` (wiring) from `server.ts` (`listen`) so the app imports cleanly into tests\n- Layer architecture (routes → controllers → services)\n- Validate all inputs with Zod at the route boundary\n- Centralized error handler last (Express 5 auto-forwards rejected promises — no manual catch wrapper needed)\n- Environment-based config\n- Use Prisma for type-safe DB access\n",".agents/skills/app-builder/templates/flutter-app/TEMPLATE.md":"---\nname: flutter-app\ndescription: Flutter mobile app template principles. Riverpod, Go Router, clean architecture.\n---\n\n# Flutter App Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Framework | Flutter 3.x |\n| Language | Dart 3.x |\n| State | Riverpod 3 (codegen) |\n| Navigation | Go Router |\n| HTTP | Dio |\n| Storage | Hive |\n\n---\n\n## Directory Structure\n\n```\nproject_name/\n├── lib/\n│   ├── main.dart\n│   ├── app.dart\n│   ├── core/\n│   │   ├── constants/\n│   │   ├── theme/\n│   │   ├── router/\n│   │   └── utils/\n│   ├── features/\n│   │   ├── auth/\n│   │   │   ├── data/\n│   │   │   ├── domain/\n│   │   │   └── presentation/\n│   │   └── home/\n│   ├── shared/\n│   │   ├── widgets/\n│   │   └── providers/\n│   └── services/\n│       ├── api/\n│       └── storage/\n├── test/\n└── pubspec.yaml\n```\n\n---\n\n## Architecture Layers\n\n| Layer | Contents |\n|-------|----------|\n| Presentation | Screens, Widgets, Providers |\n| Domain | Entities, Use Cases |\n| Data | Repositories, Models |\n\n---\n\n## Key Packages\n\n| Package | Purpose |\n|---------|---------|\n| flutter_riverpod | State management |\n| riverpod_annotation | Code generation |\n| go_router | Navigation |\n| dio | HTTP client |\n| freezed | Immutable models |\n| hive | Local storage |\n\n---\n\n## Setup Steps\n\n1. `flutter create {{name}} --org com.{{bundle}}`\n2. Update `pubspec.yaml`\n3. `flutter pub get`\n4. Run code generation: `dart run build_runner build`\n5. `flutter run`\n\n---\n\n## Best Practices\n\n- Feature-first folder structure (data / domain / presentation per feature)\n- Riverpod 3 with `riverpod_annotation` codegen (generated ref is just `Ref`; plain `Notifier`, no `AutoDisposeNotifier`)\n- Legacy `StateProvider`/`StateNotifierProvider` moved to `package:riverpod/legacy.dart`\n- Freezed for immutable data classes\n- Go Router for declarative navigation\n- Material 3 theming\n",".agents/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md":"---\nname: monorepo-turborepo\ndescription: Turborepo monorepo template principles. pnpm workspaces, shared packages.\n---\n\n# Turborepo Monorepo Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Build System | Turborepo 2.x |\n| Package Manager | pnpm |\n| Apps | Next.js, Express |\n| Packages | Shared UI, Config, Types, Utils |\n| Language | TypeScript |\n\n---\n\n## Directory Structure\n\n```\nproject-name/\n├── apps/\n│   ├── web/             # Next.js app\n│   ├── api/             # Express API\n│   └── docs/            # Documentation\n├── packages/\n│   ├── ui/              # Shared components (@repo/ui)\n│   ├── config/          # ESLint, TS, Tailwind presets (@repo/config)\n│   ├── types/           # Shared types (@repo/types)\n│   └── utils/           # Shared utilities (@repo/utils)\n├── turbo.json           # \"tasks\" key (renamed from \"pipeline\" in v2)\n├── pnpm-workspace.yaml\n└── package.json         # requires \"packageManager\" field\n```\n\n---\n\n## Key Concepts\n\n| Concept | Description |\n|---------|-------------|\n| Workspaces | Globs declared in `pnpm-workspace.yaml` |\n| Pipeline | `turbo.json` `tasks` graph (NOT `pipeline` — renamed in v2) |\n| Caching | Remote/local task caching |\n| Dependencies | `workspace:*` protocol, `@repo/*` namespace |\n| Env mode | v2 is strict — declare task `env`/`globalEnv` or caching breaks |\n\n---\n\n## Turbo Tasks (turbo.json)\n\n> `tasks` is the v2 key. The `pipeline` key was renamed — migrate with `npx @turbo/codemod rename-pipeline`.\n\n| Task | Depends On |\n|------|------------|\n| build | ^build (dependencies first) |\n| dev | cache: false, persistent |\n| lint | ^build |\n| test | ^build |\n\n---\n\n## Setup Steps\n\n1. Create root directory\n2. `pnpm init`\n3. Create pnpm-workspace.yaml\n4. Create turbo.json\n5. Add apps and packages\n6. `pnpm install`\n7. `pnpm dev`\n\n---\n\n## Common Commands\n\n| Command | Description |\n|---------|-------------|\n| `pnpm dev` | Run all apps |\n| `pnpm build` | Build all |\n| `pnpm --filter @name/web dev` | Run specific app |\n| `pnpm --filter @name/web add axios` | Add dep to app |\n\n---\n\n## Best Practices\n\n- Split `apps/` (deployable) from `packages/` (libraries, shared config)\n- Namespace internal packages with `@repo/*`; reference via `workspace:*`\n- Define entrypoints with the `exports` field (better tree-shaking than barrel files)\n- Share tsconfig/eslint from `packages/config`\n- Declare task `env`/`globalEnv` explicitly (v2 strict env mode)\n- Use Turbo remote caching for CI\n",".agents/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md":"---\nname: nextjs-fullstack\ndescription: Next.js full-stack template principles. App Router, Prisma, Tailwind v4.\n---\n\n# Next.js Full-Stack Template (2026 Edition)\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology | Version / Notes |\n|-----------|------------|-----------------|\n| Framework | Next.js | v16+ (App Router, Turbopack) |\n| Runtime | Node.js | v24 (Krypton LTS) |\n| Language | TypeScript | v5+ (Strict Mode) |\n| Database | PostgreSQL | Prisma ORM (Serverless friendly) |\n| Styling | Tailwind CSS | v4.0 (Zero-config, CSS-first) |\n| Auth | Auth.js v5 (`next-auth@beta`) / Clerk | Protected routes via `proxy.ts` |\n| UI Logic | React 19 | Server Actions, useActionState |\n| Validation | Zod | Schema validation (API & Forms) |\n\n---\n\n## Directory Structure\n\n```\nproject-name/\n├── prisma/\n│   └── schema.prisma       # Database schema\n├── src/\n│   ├── app/\n│   │   ├── (auth)/         # Route groups for Login/Register\n│   │   ├── (dashboard)/    # Protected routes\n│   │   ├── api/            # Route Handlers (only for Webhooks/External integration)\n│   │   ├── layout.tsx      # Root Layout (Metadata, Providers)\n│   │   ├── page.tsx        # Landing Page\n│   │   └── globals.css     # Tailwind v4 config (@theme) lives here\n│   ├── components/\n│   │   ├── ui/             # Reusable UI (Button, Input)\n│   │   └── forms/          # Client forms using useActionState\n│   ├── lib/\n│   │   ├── db.ts           # Prisma singleton client\n│   │   ├── utils.ts        # Helper functions\n│   │   └── dal.ts          # Data Access Layer (Server-only)\n│   ├── actions/            # Server Actions (Mutations)\n│   └── types/              # Global TS Types\n├── public/\n├── DESIGN.md               # Visual source-of-truth tokens & rationale (MANDATORY before UI)\n├── next.config.ts          # TypeScript Config\n└── package.json\n```\n\n---\n\n## Key Concepts (Updated)\n\n| Concept | Description |\n|---------|-------------|\n| Server Components | Render on server (default). Direct DB access (Prisma) without APIs. |\n| Server Actions | Handle Form mutations. Replaces traditional API Routes. Use in action={}. |\n| React 19 Hooks | Form state management: useActionState, useFormStatus, useOptimistic. |\n| Data Access Layer | Data security. Separation of DB logic (DTOs) for safe reuse. |\n| Tailwind v4 | Styling engine. No tailwind.config.js. Config directly in CSS. |\n\n---\n\n## Environment Variables\n\n| Variable | Purpose |\n|----------|---------|\n| DATABASE_URL | PostgreSQL connection string (Prisma) |\n| NEXT_PUBLIC_APP_URL | Public application URL |\n| AUTH_SECRET | Auth.js v5 session secret (default auth) |\n| NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY | Auth (if using Clerk instead) |\n| CLERK_SECRET_KEY | Clerk secret (server only, if using Clerk) |\n\n---\n\n## Setup Steps\n\n1. Initialize Project:\n   ```bash\n   npx create-next-app@latest my-app --typescript --tailwind --eslint\n   # Select Yes for App Router\n   # Select No for src directory (optional, this template uses src)\n   ```\n\n2. Install DB & Validation:\n   ```bash\n   npm install prisma @prisma/client zod\n   npm install -D ts-node # For running seed scripts\n   ```\n\n3. Configure Tailwind v4 (If missing):\n   Ensure `src/app/globals.css` uses the new import syntax instead of a config file:\n   ```css\n   @import \"tailwindcss\";\n\n   @theme {\n     --color-primary: oklch(0.5 0.2 240);\n     --font-sans: \"Inter\", sans-serif;\n   }\n   ```\n\n4. Initialize Database:\n   ```bash\n   npx prisma init\n   # Update schema.prisma\n   npm run db:push\n   ```\n\n5. Run Developer Server:\n   ```bash\n   npm run dev --turbo\n   # --turbo to enable faster Turbopack\n   ```\n\n---\n\n## Best Practices (2026 Standards)\n\n- **Fetch Data**: Call Prisma directly in Server Components (async/await). Do not use useEffect for initial data fetching.\n- **Mutations**: Use Server Actions combined with React 19's `useActionState` to handle loading and error states instead of manual useState.\n- **Type Safety**: Share Zod schemas between Server Actions (input validation) and Client Forms.\n- **Security**: Always validate input data with Zod before passing it to Prisma.\n- **Styling**: Use native CSS variables in Tailwind v4 for easier dynamic theming.\n",".agents/skills/app-builder/templates/nextjs-saas/TEMPLATE.md":"---\nname: nextjs-saas\ndescription: Next.js SaaS template principles (2026 Standards). React 19, Server Actions, Auth.js v5.\n---\n\n# Next.js SaaS Template (Updated 2026)\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology | Version / Notes |\n|-----------|------------|-----------------|\n| Framework | Next.js | v16+ (App Router, React Compiler) |\n| Runtime | Node.js | v24 (Krypton LTS) |\n| Auth | Auth.js | v5 (`next-auth@beta`, formerly NextAuth). Alternative: Clerk |\n| Payments | Stripe API | Latest |\n| Database | PostgreSQL | Prisma v7+ (Serverless Driver) |\n| Email | Resend | React Email |\n| UI | Tailwind CSS | v4 (Oxide Engine, no config file) |\n\n---\n\n## Directory Structure\n\n```\nproject-name/\n├── prisma/\n│   └── schema.prisma    # Database Schema\n├── src/\n│   ├── actions/         # NEW: Server Actions (Replaces API Routes for data mutation)\n│   │   ├── auth-actions.ts\n│   │   ├── billing-actions.ts\n│   │   └── user-actions.ts\n│   ├── app/\n│   │   ├── (auth)/      # Route Group: Login, register\n│   │   ├── (dashboard)/ # Route Group: Protected routes (App Layout)\n│   │   ├── (marketing)/ # Route Group: Landing, pricing (Marketing Layout)\n│   │   └── api/         # Only used for Webhooks or Edge cases\n│   │       └── webhooks/stripe/\n│   ├── components/\n│   │   ├── emails/      # React Email templates\n│   │   ├── forms/       # Client components using useActionState (React 19)\n│   │   └── ui/          # Shadcn UI\n│   ├── lib/\n│   │   ├── auth.ts      # Auth.js v5 config\n│   │   ├── db.ts        # Prisma Singleton\n│   │   ├── data/        # Data Access Layer (server-only reads)\n│   │   └── stripe.ts    # Stripe Singleton\n│   └── app/globals.css  # Tailwind v4 imports (@theme in CSS)\n├── DESIGN.md            # Visual source-of-truth tokens & rationale (MANDATORY before UI)\n└── package.json\n```\n\n---\n\n## SaaS Features\n\n| Feature | Implementation |\n|---------|---------------|\n| Auth | Auth.js v5 + Passkeys + OAuth |\n| Data Mutation | Server Actions (No API routes) |\n| Subscriptions | Stripe Checkout & Customer Portal |\n| Webhooks | Asynchronous Stripe event handling |\n| Email | Transactional via Resend |\n| Validation | Zod (Server-side validation) |\n\n---\n\n## Database Schema\n\n| Model | Fields (Key fields) |\n|-------|---------------------|\n| User | id, email, stripeCustomerId, subscriptionId, plan |\n| Account | OAuth provider data (Google, GitHub...) |\n| Session | User sessions (Database strategy) |\n\n---\n\n## Environment Variables\n\n| Variable | Purpose |\n|----------|---------|\n| DATABASE_URL | Prisma connection string (Postgres) |\n| AUTH_SECRET | Replaces NEXTAUTH_SECRET (Auth.js v5) |\n| STRIPE_SECRET_KEY | Payments (Server-side) |\n| STRIPE_WEBHOOK_SECRET | Webhook verification |\n| RESEND_API_KEY | Email sending |\n| NEXT_PUBLIC_APP_URL | Application Canonical URL |\n\n---\n\n## Setup Steps\n\n1. Initialize project (Node 24):\n   ```bash\n   npx create-next-app@latest {{name}} --typescript --eslint\n   ```\n\n2. Install core libraries:\n   ```bash\n   npm install next-auth@beta stripe resend @prisma/client\n   ```\n\n3. Install Tailwind v4 (Add to globals.css):\n   ```css\n   @import \"tailwindcss\";\n   ```\n\n4. Configure environment (.env.local)\n\n5. Sync Database:\n   ```bash\n   npx prisma db push\n   ```\n\n6. Run local Webhook:\n   ```bash\n   npm run stripe:listen\n   ```\n\n7. Run project:\n   ```bash\n   npm run dev\n   ```\n",".agents/skills/app-builder/templates/nextjs-static/TEMPLATE.md":"---\nname: nextjs-static\ndescription: Modern template for Next.js 16, React 19 & Tailwind v4. Optimized for Landing pages and Portfolios.\n---\n\n# Next.js Static Site Template (Modern Edition)\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology | Notes |\n|-----------|------------|-------|\n| Framework | Next.js 16+ | App Router, Turbopack, Static Exports |\n| Core | React 19 | Server Components, New Hooks, Compiler |\n| Language | TypeScript | Strict Mode |\n| Styling | Tailwind CSS v4 | CSS-first configuration (No js config), Oxide Engine |\n| Animations | Framer Motion | Layout animations & gestures |\n| Icons | Lucide React | Lightweight SVG icons |\n| SEO | Metadata API | Native Next.js API (Replaces next-seo) |\n\n---\n\n## Directory Structure\n\nStreamlined structure thanks to Tailwind v4 (theme configuration lives inside CSS).\n\n```\nproject-name/\n├── src/\n│   ├── app/\n│   │   ├── layout.tsx    # Contains root SEO Metadata\n│   │   ├── page.tsx      # Landing Page\n│   │   ├── globals.css   # Import Tailwind v4 & @theme config\n│   │   ├── not-found.tsx # Custom 404 page\n│   │   ├── sitemap.ts    # Generated sitemap (Metadata convention)\n│   │   ├── robots.ts     # Generated robots.txt (Metadata convention)\n│   │   ├── opengraph-image.tsx # Dynamic OG image\n│   │   └── (routes)/     # Route groups (about, contact...)\n│   ├── components/\n│   │   ├── layout/       # Header, Footer\n│   │   ├── sections/     # Hero, Features, Pricing, CTA\n│   │   └── ui/           # Atomic components (Button, Card)\n│   └── lib/\n│       └── utils.ts      # Helper functions (cn, formatters)\n├── content/              # Markdown/MDX content\n├── public/               # Static assets (images, fonts)\n├── DESIGN.md             # Visual source-of-truth tokens & rationale (MANDATORY before UI)\n├── next.config.ts        # Next.js Config (TypeScript)\n└── package.json\n```\n\n---\n\n## Static Export Config\n\nUsing `next.config.ts` instead of `.js` for better type safety.\n\n```typescript\n// next.config.ts\nimport type { NextConfig } from \"next\";\n\nconst nextConfig: NextConfig = {\n  output: 'export',        // Required for Static Hosting (S3, GitHub Pages)\n  images: { \n    unoptimized: true      // Required if not using Node.js server image optimization\n  },\n  trailingSlash: true,     // Recommended for SEO and fixing 404s on some hosts\n  reactStrictMode: true,\n};\n\nexport default nextConfig;\n```\n\n---\n\n## SEO Implementation (Metadata API)\n\nDeprecated next-seo. Configure directly in layout.tsx or page.tsx.\n\n```typescript\n// src/app/layout.tsx\nimport type { Metadata } from 'next';\n\nexport const metadata: Metadata = {\n  title: {\n    template: '%s | Product Name',\n    default: 'Home - Product Name',\n  },\n  description: 'SEO optimized description for the landing page.',\n  openGraph: {\n    type: 'website',\n    locale: 'en_US',\n    url: 'https://mysite.com',\n    siteName: 'My Brand',\n  },\n};\n```\n\n---\n\n## Landing Page Sections\n\n| Section | Purpose | Suggested Component |\n|---------|---------|---------------------|\n| Hero | First impression, H1 & Main CTA | `<HeroSection />` |\n| Features | Product benefits (Grid/Bento layout) | `<FeaturesGrid />` |\n| Social Proof | Partner logos, User numbers | `<LogoCloud />` |\n| Testimonials | Customer reviews | `<TestimonialCarousel />` |\n| Pricing | Service plans | `<PricingCards />` |\n| FAQ | Questions & Answers (Good for SEO) | `<Accordion />` |\n| CTA | Final conversion | `<CallToAction />` |\n\n---\n\n## Animation Patterns (Framer Motion)\n\n| Pattern | Usage | Implementation |\n|---------|-------|----------------|\n| Fade Up | Headlines, paragraphs | `initial={{ opacity: 0, y: 20 }} animate={{ opacity: 1, y: 0 }}` |\n| Stagger | Lists of Features/Cards | Use variants with `staggerChildren` |\n| Parallax | Background images or floating elements | `useScroll` & `useTransform` |\n| Micro-interactions | Hover buttons, click effects | `whileHover={{ scale: 1.05 }} whileTap={{ scale: 0.95 }}` |\n\n---\n\n## Setup Steps\n\n1. Initialize Project:\n   ```bash\n   npx create-next-app@latest my-site --typescript --tailwind --eslint\n   # Select 'Yes' for App Router\n   # Select 'No' for 'Would you like to customize the default import alias?'\n   ```\n\n2. Install Auxiliary Libraries:\n   ```bash\n   npm install framer-motion lucide-react clsx tailwind-merge\n   # clsx and tailwind-merge help handle dynamic classes better\n   ```\n\n3. Configure Tailwind v4 (in `src/app/globals.css`):\n   ```css\n   @import \"tailwindcss\";\n\n   @theme {\n     --color-primary: #3b82f6;\n     --font-sans: 'Inter', sans-serif;\n   }\n   ```\n\n4. Development:\n   ```bash\n   npm run dev --turbopack\n   ```\n\n---\n\n## Deployment\n\n| Platform | Method | Important Notes |\n|----------|--------|-----------------|\n| Vercel | Git Push | Auto-detects Next.js. Best for performance. |\n| GitHub Pages | GitHub Actions | Need to set `basePath` in `next.config.ts` if not using a custom domain. |\n| AWS S3 / CloudFront | Upload out folder | Ensure Error Document is configured to `404.html`. |\n| Netlify | Git Push | Set build command to `npm run build`. |\n\n---\n\n## Best Practices (Modern)\n\n- **React Server Components (RSC)**: Default all components to Server Components. Only add `'use client'` when you need state (`useState`) or event listeners (`onClick`).\n- **Image Optimization**: Use the `<Image />` component but remember `unoptimized: true` for static export or use an external image CDN (Cloudinary/Imgix).\n- **Font Optimization**: Use `next/font` (Google Fonts) to automatically host fonts and prevent layout shift.\n- **Responsive**: Mobile-first design using Tailwind prefixes like `sm:`, `md:`, `lg:`.\n",".agents/skills/app-builder/templates/nuxt-app/TEMPLATE.md":"---\nname: nuxt-app\ndescription: Nuxt 4 full-stack template. Vue 3, Pinia, Tailwind v4, Prisma.\n---\n\n# Nuxt 4 Full-Stack Template (2026 Edition)\n\n> Modern full-stack template for Nuxt 4. Versions reflect the latest stable line verified 2026-05; pin to current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology | Version / Notes |\n|-----------|------------|-----------------|\n| Framework | Nuxt | v4+ (app/ srcDir structure) |\n| UI Engine | Vue | v3 (stable) |\n| Language | TypeScript | v5+ (Strict Mode) |\n| State | Pinia | v3+ (setup store syntax) |\n| Database | PostgreSQL | Prisma ORM |\n| Styling | Tailwind CSS | v4 (@tailwindcss/vite plugin) |\n| UI Lib | Nuxt UI | v3 (Tailwind v4 native) |\n| Validation | Zod | Schema validation |\n\n---\n\n## Directory Structure (Nuxt 4 Standard)\n\nNuxt 4 defaults `srcDir` to `app/`, keeping client code separate from `server/` and root config.\n\n```\nproject-name/\n├── app/                  # Application source (Nuxt 4 srcDir)\n│   ├── assets/css/\n│   │   └── main.css      # Tailwind v4 import\n│   ├── components/       # Auto-imported components\n│   ├── composables/      # Auto-imported logic\n│   ├── layouts/\n│   ├── middleware/\n│   ├── pages/            # File-based routing\n│   ├── plugins/\n│   ├── stores/           # Pinia stores\n│   ├── app.vue           # Root component\n│   └── app.config.ts     # Reactive runtime config\n├── server/               # Nitro server engine\n│   ├── api/              # API routes (e.g. /api/users)\n│   ├── routes/           # Server routes\n│   └── utils/            # Server-only helpers (Prisma client)\n├── shared/               # Isomorphic code (types, Zod schemas)\n├── prisma/\n│   └── schema.prisma\n├── public/\n├── nuxt.config.ts\n└── package.json\n```\n\n---\n\n## Key Concepts (2026)\n\n| Concept | Description |\n|---------|-------------|\n| **app/ srcDir** | Client code lives under `app/`, cleanly separated from `server/` and config |\n| **shared/** | Isomorphic code (types, Zod validators) usable in both Vue app and Nitro server |\n| **Server Engine** | Nitro-based; API routes in `server/api/`, Prisma client in `server/utils/` |\n| **Tailwind v4** | CSS-first config; theme lives in CSS via `@theme`, no `tailwind.config.js` |\n| **Vapor Mode** | Experimental no-VDOM renderer (not GA in 2026). Opt-in per component via `<script setup vapor>` when shipped |\n\n---\n\n## Environment Variables\n\n| Variable | Purpose |\n|----------|---------|\n| DATABASE_URL | Prisma connection string (PostgreSQL) |\n| NUXT_PUBLIC_APP_URL | Canonical URL |\n| NUXT_SESSION_PASSWORD | Session encryption key |\n\n---\n\n## Setup Steps\n\n1. Initialize project:\n   ```bash\n   npx nuxi@latest init my-app\n   ```\n\n2. Install core deps:\n   ```bash\n   npm install @pinia/nuxt @prisma/client zod\n   npm install -D prisma\n   ```\n\n3. Setup Tailwind v4 (first-party Vite plugin, NOT @nuxtjs/tailwindcss):\n   ```bash\n   npm install tailwindcss @tailwindcss/vite\n   ```\n\n   Add to `nuxt.config.ts`:\n   ```ts\n   import tailwindcss from '@tailwindcss/vite'\n   export default defineNuxtConfig({\n     vite: { plugins: [tailwindcss()] },\n     css: ['~/assets/css/main.css']\n   })\n   ```\n\n4. Configure CSS in `app/assets/css/main.css`:\n   ```css\n   @import \"tailwindcss\";\n   @theme {\n     --color-primary: oklch(0.6 0.15 150);\n   }\n   ```\n\n5. Run development:\n   ```bash\n   npm run dev\n   ```\n\n---\n\n## Best Practices\n\n- **Data Fetching**: Use `useFetch`/`useAsyncData` for SSR-friendly data; reserve `server: false` for client-only work.\n- **State**: Use Pinia (`defineStore`) for global state, Nuxt's `useState` for simple shared SSR state.\n- **Validation**: Define Zod schemas in `shared/` and reuse on client forms and Nitro API routes.\n- **Type Safety**: API route types are inferred automatically with `$fetch`.\n- **Server-only**: Instantiate the Prisma client in `server/utils/` so it never leaks to the client bundle.\n",".agents/skills/app-builder/templates/python-fastapi/TEMPLATE.md":"---\nname: python-fastapi\ndescription: FastAPI REST API template principles. SQLAlchemy, Pydantic, Alembic.\n---\n\n# FastAPI API Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Framework | FastAPI |\n| Language | Python 3.12+ (current stable 3.14) |\n| ORM | SQLAlchemy 2.0 (async) |\n| Validation | Pydantic v2 |\n| Migrations | Alembic |\n| Auth | JWT + passlib |\n\n---\n\n## Directory Structure\n\n> Domain/module layout (scales better than file-type for non-trivial apps). Each domain owns its router, schemas, models, service.\n\n```\nproject-name/\n├── alembic/             # Migrations\n├── src/\n│   ├── auth/\n│   │   ├── router.py    # APIRouter\n│   │   ├── schemas.py   # Pydantic models\n│   │   ├── models.py    # SQLAlchemy models\n│   │   ├── service.py   # Business logic\n│   │   ├── dependencies.py\n│   │   └── exceptions.py\n│   ├── posts/           # Same shape per domain\n│   ├── config.py        # Global settings (BaseSettings)\n│   ├── database.py      # Async engine / session\n│   ├── models.py        # Shared base models\n│   ├── exceptions.py    # Global exceptions\n│   └── main.py          # FastAPI() + include_router\n├── tests/\n├── requirements/        # base.txt / dev.txt / prod.txt\n├── alembic.ini\n└── .env\n```\n\n---\n\n## Key Concepts\n\n| Concept | Description |\n|---------|-------------|\n| Domain modules | Each feature folder owns router + schemas + models + service |\n| Async | async/await throughout (AsyncSession, async_sessionmaker) |\n| Dependency Injection | FastAPI Depends (validation, auth, DB session) |\n| Pydantic v2 | Validation + serialization |\n| SQLAlchemy 2.0 | Async sessions |\n\n---\n\n## API Structure\n\n| Layer | Responsibility |\n|-------|---------------|\n| Routers | HTTP handling |\n| Dependencies | Auth, validation |\n| Services | Business logic |\n| Models | Database entities |\n| Schemas | Request/response |\n\n---\n\n## Setup Steps\n\n1. `python -m venv venv`\n2. `source venv/bin/activate`\n3. `pip install fastapi uvicorn \"sqlalchemy[asyncio]\" alembic pydantic pydantic-settings`\n4. Create `.env`\n5. `alembic upgrade head`\n6. `uvicorn src.main:app --reload`\n\n---\n\n## Best Practices\n\n- Use async everywhere (AsyncSession, async dependencies; wrap sync SDKs in `run_in_threadpool`)\n- Per-module `BaseSettings` over one global config\n- Pydantic v2 for validation\n- SQLAlchemy 2.0 async sessions\n- Alembic migrations: static, reversible, descriptive slugs\n- pytest-asyncio for tests; use `dependency_overrides` to mock\n",".agents/skills/app-builder/templates/react-native-app/TEMPLATE.md":"---\nname: react-native-app\ndescription: React Native mobile app template principles. Expo, TypeScript, navigation.\n---\n\n# React Native App Template (2026 Edition)\n\n> Modern mobile app, optimized for New Architecture and React 19. Versions reflect the latest stable line verified 2026-05; NativeWind v5 is pre-release — pin deliberately when scaffolding.\n\n## Tech Stack\n\n| Component | Technology | Version / Notes |\n|-----------|------------|-----------------|\n| Core | React Native + Expo | SDK 56+ (New Architecture Enabled) |\n| Language | TypeScript | v5+ (Strict Mode) |\n| UI Logic | React | v19 (React Compiler, auto-memoization) |\n| Navigation | Expo Router | File-based, Universal Links |\n| Styling | NativeWind | v5 (pre-release, Tailwind v4 CSS-first) |\n| State | Zustand + React Query | v5+ (Async State Management) |\n| Storage | Expo SecureStore | Encrypted local storage |\n\n---\n\n## Directory Structure\n\nExpo Router keeps `app/` for routes only; everything else lives under `src/` with the `@/*` alias.\n\n```\nproject-name/\n├── src/\n│   ├── app/             # Expo Router (file-based routing ONLY)\n│   │   ├── _layout.tsx  # Root Layout (Stack/Tabs config)\n│   │   ├── index.tsx    # Main Screen\n│   │   ├── (tabs)/      # Route Group for Tab Bar\n│   │   │   ├── _layout.tsx\n│   │   │   ├── home.tsx\n│   │   │   └── profile.tsx\n│   │   ├── +not-found.tsx\n│   │   └── [id].tsx     # Dynamic Route (Typed)\n│   ├── components/\n│   │   ├── ui/          # Primitive Components (Button, Text)\n│   │   └── features/    # Complex Components\n│   ├── hooks/           # Custom Hooks\n│   ├── lib/\n│   │   ├── api.ts       # Axios/Fetch client\n│   │   └── storage.ts   # SecureStore wrapper\n│   ├── store/           # Zustand stores\n│   └── constants/       # Colors, Theme config\n├── assets/              # Fonts, Images\n├── global.css           # NativeWind v5 entry: @import \"tailwindcss\"\n├── babel.config.js      # NativeWind Babel preset\n├── metro.config.js      # withNativeWind wrapper\n└── app.json             # Expo Config\n```\n\n---\n\n## Navigation Patterns (Expo Router)\n\n| Pattern | Description | Implement |\n|---------|-------------|-----------|\n| Stack | Hierarchical navigation (Push/Pop) | `<Stack />` in `_layout.tsx` |\n| Tabs | Bottom navigation bar | `<Tabs />` in `(tabs)/_layout.tsx` |\n| Drawer | Side slide-out menu | `expo-router/drawer` |\n| Modals | Overlay screens | `presentation: 'modal'` in Stack screen |\n\n---\n\n## Key Packages & Purpose\n\n| Package | Purpose |\n|---------|---------|\n| expo-router | File-based routing (Next.js like) |\n| nativewind | Use Tailwind CSS classes in React Native |\n| react-native-reanimated | Smooth animations (runs on UI thread) |\n| @tanstack/react-query | Server state management, caching, pre-fetching |\n| zustand | Global state management (lighter than Redux) |\n| expo-image | Optimized image rendering for performance |\n\n---\n\n## Setup Steps (2026 Standard)\n\n1. Initialize Project:\n   ```bash\n   npx create-expo-app@latest my-app --template default\n   cd my-app\n   ```\n\n2. Install Core Dependencies:\n   ```bash\n   npx expo install expo-router react-native-safe-area-context react-native-screens expo-link expo-constants expo-status-bar\n   ```\n\n3. Install NativeWind v5 (pre-release, Tailwind v4 CSS-first):\n   ```bash\n   npm install nativewind@next tailwindcss react-native-reanimated\n   ```\n\n4. Configure NativeWind (Babel, Metro & CSS):\n   - Add the preset to `babel.config.js`: `presets: [[\"babel-preset-expo\", { jsxImportSource: \"nativewind\" }], \"nativewind/babel\"]`.\n   - Wrap Metro: `withNativeWind(config, { input: './global.css' })` in `metro.config.js`.\n   - Create `global.css` with `@import \"tailwindcss\";` (theme via `@theme`, no `tailwind.config.js`).\n   - Import `global.css` in `src/app/_layout.tsx`.\n\n5. Run Project:\n   ```bash\n   npx expo start -c\n   # Press 'i' for iOS simulator or 'a' for Android emulator\n   ```\n\n---\n\n## Best Practices (Updated)\n\n- **New Architecture**: Ensure `newArchEnabled: true` in `app.json` to leverage TurboModules and Fabric Renderer.\n- **Typed Routes**: Use Expo Router's \"Typed Routes\" feature for type-safe routing (e.g., `router.push('/path')`).\n- **React 19**: Reduce usage of `useMemo` or `useCallback` thanks to React Compiler (if enabled).\n- **Components**: Build UI primitives (Box, Text) with NativeWind className for reusability.\n- **Assets**: Use `expo-image` instead of default `<Image />` for better caching and performance.\n- **API**: Always wrap API calls with TanStack Query, avoid direct calls in `useEffect`.\n",".agents/skills/architecture/SKILL.md":"---\nname: architecture\ndescription: Architectural decision-making framework. Requirements analysis, trade-off evaluation, ADR documentation. Use when making architecture decisions or analyzing system design.\nwhen_to_use: \"When making architectural decisions, evaluating trade-offs, writing ADRs, or analyzing system design. NOT for direct code implementation.\"\nallowed-tools: Read, Glob, Grep\nversion: 1.0.0\n---\n\n# Architecture Decision Framework\n\n> \"Requirements drive architecture. Trade-offs inform decisions. ADRs capture rationale.\"\n\n## 🎯 Selective Reading Rule\n\n**Read ONLY files relevant to the request!** Check the content map, find what you need.\n\n| File | Description | When to Read |\n|------|-------------|--------------|\n| `context-discovery.md` | Questions to ask, project classification | Starting architecture design |\n| `trade-off-analysis.md` | ADR templates, trade-off framework | Documenting decisions |\n| `pattern-selection.md` | Decision trees, anti-patterns | Choosing patterns |\n| `examples.md` | MVP, SaaS, Enterprise examples | Reference implementations |\n| `patterns-reference.md` | Quick lookup for patterns | Pattern comparison |\n\n---\n\n## 🔗 Related Skills\n\n| Skill | Use For |\n|-------|---------|\n| `@[skills/database-design]` | Database schema design |\n| `@[skills/api-patterns]` | API design patterns |\n| `@[skills/deployment-procedures]` | Deployment architecture |\n\n---\n\n## Core Principle\n\n**\"Simplicity is the ultimate sophistication.\"**\n\n- Start simple\n- Add complexity ONLY when proven necessary\n- You can always add patterns later\n- Removing complexity is MUCH harder than adding it\n\n---\n\n## Validation Checklist\n\nBefore finalizing architecture:\n\n- [ ] Requirements clearly understood\n- [ ] Constraints identified\n- [ ] Each decision has trade-off analysis\n- [ ] Simpler alternatives considered\n- [ ] ADRs written for significant decisions\n- [ ] Team expertise matches chosen patterns\n",".agents/skills/architecture/context-discovery.md":"# Context Discovery\n\n> Before suggesting any architecture, gather context.\n\n## Question Hierarchy (Ask User FIRST)\n\n1. **Scale**\n   - How many users? (10, 1K, 100K, 1M+)\n   - Data volume? (MB, GB, TB)\n   - Transaction rate? (per second/minute)\n\n2. **Team**\n   - Solo developer or team?\n   - Team size and expertise?\n   - Distributed or co-located?\n\n3. **Timeline**\n   - MVP/Prototype or long-term product?\n   - Time to market pressure?\n\n4. **Domain**\n   - CRUD-heavy or business logic complex?\n   - Real-time requirements?\n   - Compliance/regulations?\n\n5. **Constraints**\n   - Budget limitations?\n   - Legacy systems to integrate?\n   - Technology stack preferences?\n\n## Project Classification Matrix\n\n```\n                    MVP              SaaS           Enterprise\n┌─────────────────────────────────────────────────────────────┐\n│ Scale        │ <1K           │ 1K-100K      │ 100K+        │\n│ Team         │ Solo          │ 2-10         │ 10+          │\n│ Timeline     │ Fast (weeks)  │ Medium (months)│ Long (years)│\n│ Architecture │ Simple        │ Modular      │ Distributed  │\n│ Patterns     │ Minimal       │ Selective    │ Comprehensive│\n│ Example      │ Next.js API   │ NestJS       │ Microservices│\n└─────────────────────────────────────────────────────────────┘\n```\n",".agents/skills/architecture/examples.md":"# Architecture Examples\n\n> Real-world architecture decisions by project type.\n\n---\n\n## Example 1: MVP E-commerce (Solo Developer)\n\n```yaml\nRequirements:\n  - <1000 users initially\n  - Solo developer\n  - Fast to market (8 weeks)\n  - Budget-conscious\n\nArchitecture Decisions:\n  App Structure: Monolith (simpler for solo)\n  Framework: Next.js (full-stack, fast)\n  Data Layer: Prisma direct (no over-abstraction)\n  Authentication: JWT (simpler than OAuth)\n  Payment: Stripe (hosted solution)\n  Database: PostgreSQL (ACID for orders)\n\nTrade-offs Accepted:\n  - Monolith → Can't scale independently (team doesn't justify it)\n  - No Repository → Less testable (simple CRUD doesn't need it)\n  - JWT → No social login initially (can add later)\n\nFuture Migration Path:\n  - Users > 10K → Extract payment service\n  - Team > 3 → Add Repository pattern\n  - Social login requested → Add OAuth\n```\n\n---\n\n## Example 2: SaaS Product (5-10 Developers)\n\n```yaml\nRequirements:\n  - 1K-100K users\n  - 5-10 developers\n  - Long-term (12+ months)\n  - Multiple domains (billing, users, core)\n\nArchitecture Decisions:\n  App Structure: Modular Monolith (team size optimal)\n  Framework: NestJS (modular by design)\n  Data Layer: Repository pattern (testing, flexibility)\n  Domain Model: Partial DDD (rich entities)\n  Authentication: OAuth + JWT\n  Caching: Redis\n  Database: PostgreSQL\n\nTrade-offs Accepted:\n  - Modular Monolith → Some module coupling (microservices not justified)\n  - Partial DDD → No full aggregates (no domain experts)\n  - RabbitMQ later → Initial synchronous (add when proven needed)\n\nMigration Path:\n  - Team > 10 → Consider microservices\n  - Domains conflict → Extract bounded contexts\n  - Read performance issues → Add CQRS\n```\n\n---\n\n## Example 3: Enterprise (100K+ Users)\n\n```yaml\nRequirements:\n  - 100K+ users\n  - 10+ developers\n  - Multiple business domains\n  - Different scaling needs\n  - 24/7 availability\n\nArchitecture Decisions:\n  App Structure: Microservices (independent scale)\n  API Gateway: Kong/AWS API GW\n  Domain Model: Full DDD\n  Consistency: Event-driven (eventual OK)\n  Message Bus: Kafka\n  Authentication: OAuth + SAML (enterprise SSO)\n  Database: Polyglot (right tool per job)\n  CQRS: Selected services\n\nOperational Requirements:\n  - Service mesh (Istio/Linkerd)\n  - Distributed tracing (Jaeger/Tempo)\n  - Centralized logging (ELK/Loki)\n  - Circuit breakers (Resilience4j)\n  - Kubernetes/Helm\n```\n",".agents/skills/architecture/pattern-selection.md":"# Pattern Selection Guidelines\n\n> Decision trees for choosing architectural patterns.\n\n## Main Decision Tree\n\n```\nSTART: What's your MAIN concern?\n\n┌─ Data Access Complexity?\n│  ├─ HIGH (complex queries, testing needed)\n│  │  → Repository Pattern + Unit of Work\n│  │  VALIDATE: Will data source change frequently?\n│  │     ├─ YES → Repository worth the indirection\n│  │     └─ NO  → Consider simpler ORM direct access\n│  └─ LOW (simple CRUD, single database)\n│     → ORM directly (Prisma, Drizzle)\n│     Simpler = Better, Faster\n│\n├─ Business Rules Complexity?\n│  ├─ HIGH (domain logic, rules vary by context)\n│  │  → Domain-Driven Design\n│  │  VALIDATE: Do you have domain experts on team?\n│  │     ├─ YES → Full DDD (Aggregates, Value Objects)\n│  │     └─ NO  → Partial DDD (rich entities, clear boundaries)\n│  └─ LOW (mostly CRUD, simple validation)\n│     → Transaction Script pattern\n│     Simpler = Better, Faster\n│\n├─ Independent Scaling Needed?\n│  ├─ YES (different components scale differently)\n│  │  → Microservices WORTH the complexity\n│  │  REQUIREMENTS (ALL must be true):\n│  │    - Clear domain boundaries\n│  │    - Team > 10 developers\n│  │    - Different scaling needs per service\n│  │  IF NOT ALL MET → Modular Monolith instead\n│  └─ NO (everything scales together)\n│     → Modular Monolith\n│     Can extract services later when proven needed\n│\n└─ Real-time Requirements?\n   ├─ HIGH (immediate updates, multi-user sync)\n   │  → Event-Driven Architecture\n   │  → Message Queue (RabbitMQ, Redis, Kafka)\n   │  VALIDATE: Can you handle eventual consistency?\n   │     ├─ YES → Event-driven valid\n   │     └─ NO  → Synchronous with polling\n   └─ LOW (eventual consistency acceptable)\n      → Synchronous (REST/GraphQL)\n      Simpler = Better, Faster\n```\n\n## The 3 Questions (Before ANY Pattern)\n\n1. **Problem Solved**: What SPECIFIC problem does this pattern solve?\n2. **Simpler Alternative**: Is there a simpler solution?\n3. **Deferred Complexity**: Can we add this LATER when needed?\n\n## Red Flags (Anti-patterns)\n\n| Pattern | Anti-pattern | Simpler Alternative |\n|---------|-------------|-------------------|\n| Microservices | Premature splitting | Start monolith, extract later |\n| Clean/Hexagonal | Over-abstraction | Concrete first, interfaces later |\n| Event Sourcing | Over-engineering | Append-only audit log |\n| CQRS | Unnecessary complexity | Single model |\n| Repository | YAGNI for simple CRUD | ORM direct access |\n",".agents/skills/architecture/patterns-reference.md":"# Architecture Patterns Reference\n\n> Quick reference for common patterns with usage guidance.\n\n## Data Access Patterns\n\n| Pattern | When to Use | When NOT to Use | Complexity |\n|---------|-------------|-----------------|------------|\n| **Active Record** | Simple CRUD, rapid prototyping | Complex queries, multiple sources | Low |\n| **Repository** | Testing needed, multiple sources | Simple CRUD, single database | Medium |\n| **Unit of Work** | Complex transactions | Simple operations | High |\n| **Data Mapper** | Complex domain, performance | Simple CRUD, rapid dev | High |\n\n## Domain Logic Patterns\n\n| Pattern | When to Use | When NOT to Use | Complexity |\n|---------|-------------|-----------------|------------|\n| **Transaction Script** | Simple CRUD, procedural | Complex business rules | Low |\n| **Table Module** | Record-based logic | Rich behavior needed | Low |\n| **Domain Model** | Complex business logic | Simple CRUD | Medium |\n| **DDD (Full)** | Complex domain, domain experts | Simple domain, no experts | High |\n\n## Distributed System Patterns\n\n| Pattern | When to Use | When NOT to Use | Complexity |\n|---------|-------------|-----------------|------------|\n| **Modular Monolith** | Small teams, unclear boundaries | Clear contexts, different scales | Medium |\n| **Microservices** | Different scales, large teams | Small teams, simple domain | Very High |\n| **Event-Driven** | Real-time, loose coupling | Simple workflows, strong consistency | High |\n| **CQRS** | Read/write performance diverges | Simple CRUD, same model | High |\n| **Saga** | Distributed transactions | Single database, simple ACID | High |\n\n## API Patterns\n\n| Pattern | When to Use | When NOT to Use | Complexity |\n|---------|-------------|-----------------|------------|\n| **REST** | Standard CRUD, resources | Real-time, complex queries | Low |\n| **GraphQL** | Flexible queries, multiple clients | Simple CRUD, caching needs | Medium |\n| **gRPC** | Internal services, performance | Public APIs, browser clients | Medium |\n| **WebSocket** | Real-time updates | Simple request/response | Medium |\n\n---\n\n## Simplicity Principle\n\n**\"Start simple, add complexity only when proven necessary.\"**\n\n- You can always add patterns later\n- Removing complexity is MUCH harder than adding it\n- When in doubt, choose simpler option\n",".agents/skills/architecture/trade-off-analysis.md":"# Trade-off Analysis & ADR\n\n> Document every architectural decision with trade-offs.\n\n## Decision Framework\n\nFor EACH architectural component, document:\n\n```markdown\n## Architecture Decision Record\n\n### Context\n- **Problem**: [What problem are we solving?]\n- **Constraints**: [Team size, scale, timeline, budget]\n\n### Options Considered\n\n| Option | Pros | Cons | Complexity | When Valid |\n|--------|------|------|------------|-----------|\n| Option A | Benefit 1 | Cost 1 | Low | [Conditions] |\n| Option B | Benefit 2 | Cost 2 | High | [Conditions] |\n\n### Decision\n**Chosen**: [Option B]\n\n### Rationale\n1. [Reason 1 - tied to constraints]\n2. [Reason 2 - tied to requirements]\n\n### Trade-offs Accepted\n- [What we're giving up]\n- [Why this is acceptable]\n\n### Consequences\n- **Positive**: [Benefits we gain]\n- **Negative**: [Costs/risks we accept]\n- **Mitigation**: [How we'll address negatives]\n\n### Revisit Trigger\n- [When to reconsider this decision]\n```\n\n## ADR Template\n\n```markdown\n# ADR-[XXX]: [Decision Title]\n\n## Status\nProposed | Accepted | Deprecated | Superseded by [ADR-YYY]\n\n## Context\n[What problem? What constraints?]\n\n## Decision\n[What we chose - be specific]\n\n## Rationale\n[Why - tie to requirements and constraints]\n\n## Trade-offs\n[What we're giving up - be honest]\n\n## Consequences\n- **Positive**: [Benefits]\n- **Negative**: [Costs]\n- **Mitigation**: [How to address]\n```\n\n## ADR Storage\n\n```\ndocs/\n└── architecture/\n    ├── adr-001-use-nextjs.md\n    ├── adr-002-postgresql-over-mongodb.md\n    └── adr-003-adopt-repository-pattern.md\n```\n",".agents/skills/bash-linux/SKILL.md":"---\nname: bash-linux\ndescription: Bash/Linux terminal patterns. Critical commands, piping, error handling, scripting. Use when working on macOS or Linux systems.\nwhen_to_use: \"When working on macOS or Linux systems, writing bash scripts, or using terminal commands. NOT for Windows/PowerShell environments.\"\nallowed-tools: Read, Write, Edit, Glob, Grep, Bash\nversion: 1.0.0\n---\n\n# Bash Linux Patterns\n\n> Essential patterns for Bash on Linux/macOS.\n\n---\n\n## 1. Operator Syntax\n\n### Chaining Commands\n\n| Operator | Meaning | Example |\n|----------|---------|---------|\n| `;` | Run sequentially | `cmd1; cmd2` |\n| `&&` | Run if previous succeeded | `npm install && npm run dev` |\n| `\\|\\|` | Run if previous failed | `npm test \\|\\| echo \"Tests failed\"` |\n| `\\|` | Pipe output | `ls \\| grep \".js\"` |\n\n---\n\n## 2. File Operations\n\n### Essential Commands\n\n| Task | Command |\n|------|---------|\n| List all | `ls -la` |\n| Find files | `find . -name \"*.js\" -type f` |\n| File content | `cat file.txt` |\n| First N lines | `head -n 20 file.txt` |\n| Last N lines | `tail -n 20 file.txt` |\n| Follow log | `tail -f log.txt` |\n| Search in files | `grep -r \"pattern\" --include=\"*.js\"` |\n| File size | `du -sh *` |\n| Disk usage | `df -h` |\n\n---\n\n## 3. Process Management\n\n| Task | Command |\n|------|---------|\n| List processes | `ps aux` |\n| Find by name | `ps aux \\| grep node` |\n| Kill by PID | `kill -9 <PID>` |\n| Find port user | `lsof -i :3000` |\n| Kill port | `kill -9 $(lsof -t -i :3000)` |\n| Background | `npm run dev &` |\n| Jobs | `jobs -l` |\n| Bring to front | `fg %1` |\n\n---\n\n## 4. Text Processing\n\n### Core Tools\n\n| Tool | Purpose | Example |\n|------|---------|---------|\n| `grep` | Search | `grep -rn \"TODO\" src/` |\n| `sed` | Replace | `sed -i 's/old/new/g' file.txt` |\n| `awk` | Extract columns | `awk '{print $1}' file.txt` |\n| `cut` | Cut fields | `cut -d',' -f1 data.csv` |\n| `sort` | Sort lines | `sort -u file.txt` |\n| `uniq` | Unique lines | `sort file.txt \\| uniq -c` |\n| `wc` | Count | `wc -l file.txt` |\n\n---\n\n## 5. Environment Variables\n\n| Task | Command |\n|------|---------|\n| View all | `env` or `printenv` |\n| View one | `echo $PATH` |\n| Set temporary | `export VAR=\"value\"` |\n| Set in script | `VAR=\"value\" command` |\n| Add to PATH | `export PATH=\"$PATH:/new/path\"` |\n\n---\n\n## 6. Network\n\n| Task | Command |\n|------|---------|\n| Download | `curl -O https://example.com/file` |\n| API request | `curl -X GET https://api.example.com` |\n| POST JSON | `curl -X POST -H \"Content-Type: application/json\" -d '{\"key\":\"value\"}' URL` |\n| Check port | `nc -zv localhost 3000` |\n| Network info | `ifconfig` or `ip addr` |\n\n---\n\n## 7. Script Template\n\n```bash\n#!/bin/bash\nset -euo pipefail  # Exit on error, undefined var, pipe fail\n\n# Colors (optional)\nRED='\\033[0;31m'\nGREEN='\\033[0;32m'\nNC='\\033[0m'\n\n# Script directory\nSCRIPT_DIR=\"$(cd \"$(dirname \"${BASH_SOURCE[0]}\")\" && pwd)\"\n\n# Functions\nlog_info() { echo -e \"${GREEN}[INFO]${NC} $1\"; }\nlog_error() { echo -e \"${RED}[ERROR]${NC} $1\" >&2; }\n\n# Main\nmain() {\n    log_info \"Starting...\"\n    # Your logic here\n    log_info \"Done!\"\n}\n\nmain \"$@\"\n```\n\n---\n\n## 8. Common Patterns\n\n### Check if command exists\n\n```bash\nif command -v node &> /dev/null; then\n    echo \"Node is installed\"\nfi\n```\n\n### Default variable value\n\n```bash\nNAME=${1:-\"default_value\"}\n```\n\n### Read file line by line\n\n```bash\nwhile IFS= read -r line; do\n    echo \"$line\"\ndone < file.txt\n```\n\n### Loop over files\n\n```bash\nfor file in *.js; do\n    echo \"Processing $file\"\ndone\n```\n\n---\n\n## 9. Differences from PowerShell\n\n| Task | PowerShell | Bash |\n|------|------------|------|\n| List files | `Get-ChildItem` | `ls -la` |\n| Find files | `Get-ChildItem -Recurse` | `find . -type f` |\n| Environment | `$env:VAR` | `$VAR` |\n| String concat | `\"$a$b\"` | `\"$a$b\"` (same) |\n| Null check | `if ($x)` | `if [ -n \"$x\" ]` |\n| Pipeline | Object-based | Text-based |\n\n---\n\n## 10. Error Handling\n\n### Set options\n\n```bash\nset -e          # Exit on error\nset -u          # Exit on undefined variable\nset -o pipefail # Exit on pipe failure\nset -x          # Debug: print commands\n```\n\n### Trap for cleanup\n\n```bash\ncleanup() {\n    echo \"Cleaning up...\"\n    rm -f /tmp/tempfile\n}\ntrap cleanup EXIT\n```\n\n---\n\n> **Remember:** Bash is text-based. Use `&&` for success chains, `set -e` for safety, and quote your variables!\n",".agents/skills/batch-operations/SKILL.md":"---\nname: batch-operations\ndescription: Apply operations across multiple files simultaneously. Pattern-based bulk modifications, search-and-replace across codebases, consistent changes to many files at once.\nwhen_to_use: \"When the user needs to change multiple files with the same pattern, rename across a codebase, add imports to many files, update versions, or apply consistent modifications. NOT for single-file edits.\"\nallowed-tools: Read, Write, Edit, Grep, Glob, Bash\nversion: 1.0.0\neffort: medium\n---\n\n# Batch Operations — Multi-File Changes\n\n> Apply consistent changes across many files at once. One pattern, many targets.\n\n## When to Use\n\n✅ **Good for:**\n- Renaming a function/component across all files that use it\n- Adding an import to every file in a directory\n- Updating version numbers across package files\n- Applying the same code pattern to multiple similar files\n- Migrating from one API to another across the codebase\n- Adding/removing a field from all similar data structures\n\n❌ **Not for:**\n- Single-file edits (use direct editing)\n- Unique changes per file (handle individually)\n- Changes that need per-file judgment (use an agent per domain)\n\n---\n\n## Batch Operation Protocol\n\n### Step 1: Define the Pattern\n```\nWhat:     [exact text/pattern to find]\nReplace:  [exact replacement text]\nScope:    [file glob pattern, e.g., \"src/**/*.tsx\"]\nExclude:  [files to skip, e.g., \"**/*.test.tsx\"]\n```\n\n### Step 2: Preview Before Executing\n```bash\n# Find all affected files FIRST\ngrep -rl \"oldPattern\" src/ --include=\"*.ts\"\n\n# Count matches\ngrep -rc \"oldPattern\" src/ --include=\"*.ts\" | grep -v \":0$\"\n\n# Show context for each match\ngrep -rn \"oldPattern\" src/ --include=\"*.ts\"\n```\n\n> 🔴 **NEVER batch-modify without previewing first.** Show the user what will change.\n\n### Step 3: Execute the Batch\n\nFor text replacements:\n```bash\n# On Linux/macOS\nfind src -name \"*.ts\" -exec sed -i 's/oldPattern/newPattern/g' {} +\n\n# On Windows (PowerShell)\nGet-ChildItem -Path src -Recurse -Filter *.ts |\n  ForEach-Object { (Get-Content $_) -replace 'oldPattern','newPattern' | Set-Content $_ }\n```\n\nFor structural changes (adding imports, wrapping code):\n- Use the Edit tool on each file\n- Process files in a consistent order (alphabetical or by dependency)\n\n### Step 4: Verify the Batch\n```bash\n# Confirm no missed instances\ngrep -rl \"oldPattern\" src/ --include=\"*.ts\"\n# Should return empty\n\n# Confirm replacements are correct\ngrep -rn \"newPattern\" src/ --include=\"*.ts\" | head -5\n\n# Run tests to catch breakage\nnpm run test\nnpm run build\n```\n\n---\n\n## Common Batch Patterns\n\n| Operation | Command Pattern |\n|---|---|\n| **Rename import** | Find all `import { X }` → replace with `import { Y }` |\n| **Update version** | Find `\"version\": \"1.0\"` → replace across all package.json |\n| **Add export** | Append `export { X }` to all index files |\n| **Remove deprecated** | Find `deprecatedFn()` → replace with `newFn()` |\n| **Add header** | Prepend license header to all source files |\n| **Type migration** | Find `interface X` → replace with `type X =` |\n\n---\n\n## Safety Rules\n\n1. **Preview first** — always show affected files before modifying\n2. **Git safety** — ensure clean working directory (`git stash` or commit first)\n3. **Exclude tests** — often tests need different treatment than source\n4. **Verify after** — run build + tests after every batch operation\n5. **Report changes** — list every file modified with change summary\n",".agents/skills/behavioral-modes/SKILL.md":"---\nname: behavioral-modes\ndescription: AI operational modes (brainstorm, implement, debug, review, teach, ship, orchestrate). Use to adapt behavior based on task type.\nwhen_to_use: \"When adapting AI behavior for specific task types: brainstorm, implement, debug, review, teach, ship, or orchestrate modes.\"\nallowed-tools: Read, Glob, Grep\nversion: 1.0.0\n---\n\n# Behavioral Modes - Adaptive AI Operating Modes\n\n## Purpose\nThis skill defines distinct behavioral modes that optimize AI performance for specific tasks. Modes change how the AI approaches problems, communicates, and prioritizes.\n\n---\n\n## Available Modes\n\n### 1. 🧠 BRAINSTORM Mode\n\n**When to use:** Early project planning, feature ideation, architecture decisions\n\n**Behavior:**\n- Ask clarifying questions before assumptions\n- Offer multiple alternatives (at least 3)\n- Think divergently - explore unconventional solutions\n- No code yet - focus on ideas and options\n- Use visual diagrams (mermaid) to explain concepts\n\n**Output style:**\n```\n\"Let's explore this together. Here are some approaches:\n\nOption A: [description]\n  ✅ Pros: ...\n  ❌ Cons: ...\n\nOption B: [description]\n  ✅ Pros: ...\n  ❌ Cons: ...\n\nWhat resonates with you? Or should we explore a different direction?\"\n```\n\n---\n\n### 2. ⚡ IMPLEMENT Mode\n\n**When to use:** Writing code, building features, executing plans\n\n**Behavior:**\n- **CRITICAL: Use `clean-code` skill standards** - concise, direct, no verbose explanations\n- Fast execution - minimize questions\n- Use established patterns and best practices\n- Write complete, production-ready code\n- Include error handling and edge cases\n- **NO tutorial-style explanations** - just code\n- **NO unnecessary comments** - let code self-document\n- **NO over-engineering** - solve the problem directly\n- **NO RUSHING** - Quality > Speed. Read ALL references before coding.\n\n**Output style:**\n```\n[Code block]\n\n[Brief summary, max 1-2 sentences]\n```\n\n**NOT:**\n```\n\"Building [feature]...\n\n✓ Created [file1]\n✓ Created [file2]\n✓ Updated [file3]\n\n[long explanation]\n\nRun `npm run dev` to test.\"\n```\n\n---\n\n### 3. 🔍 DEBUG Mode\n\n**When to use:** Fixing bugs, troubleshooting errors, investigating issues\n\n**Behavior:**\n- Ask for error messages and reproduction steps\n- Think systematically - check logs, trace data flow\n- Form hypothesis → test → verify\n- Explain the root cause, not just the fix\n- Prevent future occurrences\n\n**Output style:**\n```\n\"Investigating...\n\n🔍 Symptom: [what's happening]\n🎯 Root cause: [why it's happening]\n✅ Fix: [the solution]\n🛡️ Prevention: [how to avoid in future]\n```\n\n---\n\n### 4. 📋 REVIEW Mode\n\n**When to use:** Code review, architecture review, security audit\n\n**Behavior:**\n- Be thorough but constructive\n- Categorize by severity (Critical/High/Medium/Low)\n- Explain the \"why\" behind suggestions\n- Offer improved code examples\n- Acknowledge what's done well\n\n**Output style:**\n```\n## Code Review: [file/feature]\n\n### 🔴 Critical\n- [issue with explanation]\n\n### 🟠 Improvements\n- [suggestion with example]\n\n### 🟢 Good\n- [positive observation]\n```\n\n---\n\n### 5. 📚 TEACH Mode\n\n**When to use:** Explaining concepts, documentation, onboarding\n\n**Behavior:**\n- Explain from fundamentals\n- Use analogies and examples\n- Progress from simple to complex\n- Include practical exercises\n- Check understanding\n\n**Output style:**\n```\n## Understanding [Concept]\n\n### What is it?\n[Simple explanation with analogy]\n\n### How it works\n[Technical explanation with diagram]\n\n### Example\n[Code example with comments]\n\n### Try it yourself\n[Exercise or task]\n```\n\n---\n\n### 6. 🚀 SHIP Mode\n\n**When to use:** Production deployment, final polish, release preparation\n\n**Behavior:**\n- Focus on stability over features\n- Check for missing error handling\n- Verify environment configs\n- Run all tests\n- Create deployment checklist\n\n**Output style:**\n```\n## Pre-Ship Checklist\n\n### ✅ Code Quality\n- [ ] No TypeScript errors\n- [ ] ESLint passing\n- [ ] All tests passing\n\n### ✅ Security\n- [ ] No exposed secrets\n- [ ] Input validation complete\n\n### ✅ Performance\n- [ ] Bundle size acceptable\n- [ ] No console.logs\n\n### 🚀 Ready to deploy\n```\n\n---\n\n## Mode Detection\n\nThe AI should automatically detect the appropriate mode based on:\n\n| Trigger | Mode |\n|---------|------|\n| \"what if\", \"ideas\", \"options\" | BRAINSTORM |\n| \"build\", \"create\", \"add\" | IMPLEMENT |\n| \"not working\", \"error\", \"bug\" | DEBUG |\n| \"review\", \"check\", \"audit\" | REVIEW |\n| \"explain\", \"how does\", \"learn\" | TEACH |\n| \"deploy\", \"release\", \"production\" | SHIP |\n\n---\n\n## Multi-Agent Collaboration Patterns\n\nModern architectures optimized for agent-to-agent collaboration:\n\n### 1. 🔭 EXPLORE Mode\n**Role:** Discovery and Analysis (Explorer Agent)\n**Behavior:** Socratic questioning, deep-dive code reading, dependency mapping.\n**Output:** `discovery-report.json`, architectural visualization.\n\n### 2. 🗺️ PLAN-EXECUTE-CRITIC (PEC)\nCyclic mode transitions for high-complexity tasks:\n1. **Planner:** Decomposes the task into atomic steps (`task.md`).\n2. **Executor:** Performs the actual coding (`IMPLEMENT`).\n3. **Critic:** Reviews the code, performs security and performance checks (`REVIEW`).\n\n### 3. 🧠 MENTAL MODEL SYNC\nBehavior for creating and loading \"Mental Model\" summaries to preserve context between sessions.\n\n---\n\n## Combining Modes\n\nModes are not exclusive — most real tasks chain several in sequence:\n\n| Flow | Mode Chain |\n|------|------------|\n| New feature | BRAINSTORM → PLAN-EXECUTE-CRITIC → IMPLEMENT → REVIEW → SHIP |\n| Bug fix | EXPLORE → DEBUG → IMPLEMENT → REVIEW |\n| Unfamiliar codebase | EXPLORE → TEACH → BRAINSTORM |\n| Risky refactor | EXPLORE → PLAN-EXECUTE-CRITIC → IMPLEMENT → REVIEW |\n\nSwitch modes when the work changes shape (e.g. drop from IMPLEMENT to DEBUG the moment a test fails), and carry context forward with MENTAL MODEL SYNC across long sessions.\n\n## Manual Mode Switching\n\nUsers can explicitly request a mode:\n\n```\n/brainstorm new feature ideas\n/implement the user profile page\n/debug why login fails\n/review this pull request\n```\n",".agents/skills/brainstorming/SKILL.md":"---\nname: brainstorming\ndescription: Socratic questioning protocol + user communication. MANDATORY for complex requests, new features, or unclear requirements. Includes progress reporting and error handling.\nwhen_to_use: \"When exploring options before implementation, clarifying requirements, or when the user needs creative problem-solving. Use with /brainstorm workflow.\"\nallowed-tools: Read, Glob, Grep\nversion: 1.0.0\n---\n\n# Brainstorming & Communication Protocol\n\n> **MANDATORY:** Use for complex/vague requests, new features, updates.\n\n---\n\n## 🛑 SOCRATIC GATE (ENFORCEMENT)\n\n### When to Trigger\n\n| Pattern | Action |\n|---------|--------|\n| \"Build/Create/Make [thing]\" without details | 🛑 ASK 3 questions |\n| Complex feature or architecture | 🛑 Clarify before implementing |\n| Update/change request | 🛑 Confirm scope |\n| Vague requirements | 🛑 Ask purpose, users, constraints |\n\n### 🧠 Memory Check (2026.5.13 — Before Questioning)\n\n> Before asking questions, check if past context exists:\n\n```\n0. CHECK MEMORY — Does .agents/memory/MEMORY.md exist?\n   → YES: Read index. Apply relevant past decisions silently.\n          Skip questions already answered in memory.\n   → NO: Proceed with standard Socratic Gate.\n```\n\n### 🚫 MANDATORY: 3 Questions Before Implementation\n\n1. **STOP** - Do NOT start coding\n2. **CHECK** - Read `.agents/memory/` for past context on this topic\n3. **ASK** - Minimum 3 questions (skip any already answered via memory):\n   - 🎯 Purpose: What problem are you solving?\n   - 👥 Users: Who will use this?\n   - 📦 Scope: Must-have vs nice-to-have?\n4. **WAIT** - Get response before proceeding\n5. **SAVE** - After brainstorming, save key decisions: `/remember [decision]`\n\n---\n\n## 🧠 Dynamic Question Generation\n\n**⛔ NEVER use static templates.** Read `dynamic-questioning.md` for principles.\n\n### Core Principles\n\n| Principle | Meaning |\n|-----------|---------|\n| **Questions Reveal Consequences** | Each question connects to an architectural decision |\n| **Context Before Content** | Understand greenfield/feature/refactor/debug context first |\n| **Minimum Viable Questions** | Each question must eliminate implementation paths |\n| **Generate Data, Not Assumptions** | Don't guess—ask with trade-offs |\n\n### Question Generation Process\n\n```\n1. Parse request → Extract domain, features, scale indicators\n2. Identify decision points → Blocking vs. deferable\n3. Generate questions → Priority: P0 (blocking) > P1 (high-leverage) > P2 (nice-to-have)\n4. Format with trade-offs → What, Why, Options, Default\n```\n\n### Question Format (MANDATORY)\n\n```markdown\n### [PRIORITY] **[DECISION POINT]**\n\n**Question:** [Clear question]\n\n**Why This Matters:**\n- [Architectural consequence]\n- [Affects: cost/complexity/timeline/scale]\n\n**Options:**\n| Option | Pros | Cons | Best For |\n|--------|------|------|----------|\n| A | [+] | [-] | [Use case] |\n\n**If Not Specified:** [Default + rationale]\n```\n\n**For detailed domain-specific question banks and algorithms**, see: `dynamic-questioning.md`\n\n---\n\n## Progress Reporting (PRINCIPLE-BASED)\n\n**PRINCIPLE:** Transparency builds trust. Status must be visible and actionable.\n\n### Status Board Format\n\n| Agent | Status | Current Task | Progress |\n|-------|--------|--------------|----------|\n| [Agent Name] | ✅🔄⏳❌⚠️ | [Task description] | [% or count] |\n\n### Status Icons\n\n| Icon | Meaning | Usage |\n|------|---------|-------|\n| ✅ | Completed | Task finished successfully |\n| 🔄 | Running | Currently executing |\n| ⏳ | Waiting | Blocked, waiting for dependency |\n| ❌ | Error | Failed, needs attention |\n| ⚠️ | Warning | Potential issue, not blocking |\n\n---\n\n## Error Handling (PRINCIPLE-BASED)\n\n**PRINCIPLE:** Errors are opportunities for clear communication.\n\n### Error Response Pattern\n\n```\n1. Acknowledge the error\n2. Explain what happened (user-friendly)\n3. Offer specific solutions with trade-offs\n4. Ask user to choose or provide alternative\n```\n\n### Error Categories\n\n| Category | Response Strategy |\n|----------|-------------------|\n| **Port Conflict** | Offer alternative port or close existing |\n| **Dependency Missing** | Auto-install or ask permission |\n| **Build Failure** | Show specific error + suggested fix |\n| **Unclear Error** | Ask for specifics: screenshot, console output |\n\n---\n\n## Completion Message (PRINCIPLE-BASED)\n\n**PRINCIPLE:** Celebrate success, guide next steps.\n\n### Completion Structure\n\n```\n1. Success confirmation (celebrate briefly)\n2. Summary of what was done (concrete)\n3. How to verify/test (actionable)\n4. Next steps suggestion (proactive)\n```\n\n---\n\n## Communication Principles\n\n| Principle | Implementation |\n|-----------|----------------|\n| **Concise** | No unnecessary details, get to point |\n| **Visual** | Use emojis (✅🔄⏳❌) for quick scanning |\n| **Specific** | \"~2 minutes\" not \"wait a bit\" |\n| **Alternatives** | Offer multiple paths when stuck |\n| **Proactive** | Suggest next step after completion |\n\n---\n\n## Anti-Patterns (AVOID)\n\n| Anti-Pattern | Why |\n|--------------|-----|\n| Jumping to solutions before understanding | Wastes time on wrong problem |\n| Assuming requirements without asking | Creates wrong output |\n| Over-engineering first version | Delays value delivery |\n| Ignoring constraints | Creates unusable solutions |\n| \"I think\" phrases | Uncertainty → Ask instead |\n\n---\n",".agents/skills/brainstorming/dynamic-questioning.md":"# Dynamic Question Generation\n\n> **PRINCIPLE:** Questions are not about gathering data—they are about **revealing architectural consequences**.\n>\n> Every question must connect to a concrete implementation decision that affects cost, complexity, or timeline.\n\n---\n\n## 🧠 Core Principles\n\n### 1. Questions Reveal Consequences\n\nA good question is not \"What color do you want?\" but:\n\n```markdown\n❌ BAD: \"What authentication method?\"\n✅ GOOD: \"Should users sign up with email/password or social login?\n\n   Impact:\n   - Email/Pass → Need password reset, hashing, 2FA infrastructure\n   - Social → OAuth providers, user profile mapping, less control\n\n   Trade-off: Security vs. Development time vs. User friction\"\n```\n\n### 2. Context Before Content\n\nFirst understand **where** this request fits:\n\n| Context | Question Focus |\n|---------|----------------|\n| **Greenfield** (new project) | Foundation decisions: stack, hosting, scale |\n| **Feature Addition** | Integration points, existing patterns, breaking changes |\n| **Refactor** | Why refactor? Performance? Maintainability? What's broken? |\n| **Debug** | Symptoms → Root cause → Reproduction path |\n\n### 3. Minimum Viable Questions\n\n**PRINCIPLE:** Each question must eliminate a fork in the implementation road.\n\n```\nBefore Question:\n├── Path A: Do X (5 min)\n├── Path B: Do Y (15 min)\n└── Path C: Do Z (1 hour)\n\nAfter Question:\n└── Path Confirmed: Do X (5 min)\n```\n\nIf a question doesn't reduce implementation paths → **DELETE IT**.\n\n### 4. Questions Generate Data, Not Assumptions\n\n```markdown\n❌ ASSUMPTION: \"User probably wants Stripe for payments\"\n✅ QUESTION: \"Which payment provider fits your needs?\n\n   Stripe → Best documentation, low per-transaction fee, US-centric\n   LemonSqueezy → Merchant of Record, higher fee, handles global taxes\n   Paddle → Merchant of Record, handles EU VAT, enterprise focus\"\n```\n\n---\n\n## 📋 Question Generation Algorithm\n\n```\nINPUT: User request + Context (greenfield/feature/refactor/debug)\n│\n├── STEP 1: Parse Request\n│   ├── Extract domain (ecommerce, auth, realtime, cms, etc.)\n│   ├── Extract features (explicit and implied)\n│   └── Extract scale indicators (users, data volume, frequency)\n│\n├── STEP 2: Identify Decision Points\n│   ├── What MUST be decided before coding? (blocking)\n│   ├── What COULD be decided later? (deferable)\n│   └── What has ARCHITECTURAL impact? (high-leverage)\n│\n├── STEP 3: Generate Questions (Priority Order)\n│   ├── P0: Blocking decisions (cannot proceed without answer)\n│   ├── P1: High-leverage (affects >30% of implementation)\n│   ├── P2: Medium-leverage (affects specific features)\n│   └── P3: Nice-to-have (edge cases, optimization)\n│\n└── STEP 4: Format Each Question\n    ├── What: Clear question\n    ├── Why: Impact on implementation\n    ├── Options: Trade-offs (not just A vs B)\n    └── Default: What happens if user doesn't answer\n```\n\n---\n\n## 🎯 Domain-Specific Question Banks\n\n### E-Commerce\n\n| Question | Why It Matters | Trade-offs |\n|----------|----------------|------------|\n| **Single or Multi-vendor?** | Multi-vendor → Commission logic, vendor dashboards, split payments | +Revenue, -Complexity |\n| **Inventory Tracking?** | Needs stock tables, reservation logic, low-stock alerts | +Accuracy, -Development time |\n| **Digital or Physical Products?** | Digital → Download links, no shipping | Physical → Shipping APIs, tracking |\n| **Subscription or One-time?** | Subscription → Recurring billing, dunning, proration | +Revenue, -Complexity |\n\n### Authentication\n\n| Question | Why It Matters | Trade-offs |\n|----------|----------------|------------|\n| **Social Login Needed?** | OAuth providers vs. password reset infrastructure | +UX, -Control |\n| **Role-Based Permissions?** | RBAC tables, policy enforcement, admin UI | +Security, -Development time |\n| **2FA Required?** | TOTP/SMS infrastructure, backup codes, recovery flow | +Security, -UX friction |\n| **Email Verification?** | Verification tokens, email service, resend logic | +Security, -Sign-up friction |\n\n### Real-time\n\n| Question | Why It Matters | Trade-offs |\n|----------|----------------|------------|\n| **WebSocket or Polling?** | WS → Server scaling, connection management | Polling → Simpler, higher latency |\n| **Expected Concurrent Users?** | <100 → Single server, >1000 → Redis pub/sub, >10k → specialized infra | +Scale, -Complexity |\n| **Message Persistence?** | History tables, storage costs, pagination | +UX, -Storage |\n| **Ephemeral or Durable?** | Ephemeral → In-memory, Durable → Database write before emit | +Reliability, -Latency |\n\n### Content/CMS\n\n| Question | Why It Matters | Trade-offs |\n|----------|----------------|------------|\n| **Rich Text or Markdown?** | Rich Text → Sanitization, XSS risks | Markdown → Simple, no WYSIWYG |\n| **Draft/Publish Workflow?** | Status field, scheduled jobs, versioning | +Control, -Complexity |\n| **Media Handling?** | Upload endpoints, storage, optimization | +Features, -Development time |\n| **Multi-language?** | i18n tables, translation UI, fallback logic | +Reach, -Complexity |\n\n---\n\n## 📐 Dynamic Question Template\n\n```markdown\nBased on your request for [DOMAIN] [FEATURE]:\n\n## 🔴 CRITICAL (Blocking Decisions)\n\n### 1. **[DECISION POINT]**\n\n**Question:** [Clear, specific question]\n\n**Why This Matters:**\n- [Explain architectural consequence]\n- [Affects: cost / complexity / timeline / scale]\n\n**Options:**\n| Option | Pros | Cons | Best For |\n|--------|------|------|----------|\n| A | [Advantage] | [Disadvantage] | [Use case] |\n| B | [Advantage] | [Disadvantage] | [Use case] |\n\n**If Not Specified:** [Default choice + rationale]\n\n---\n\n## 🟡 HIGH-LEVERAGE (Affects Implementation)\n\n### 2. **[DECISION POINT]**\n[Same format]\n\n---\n\n## 🟢 NICE-TO-HAVE (Edge Cases)\n\n### 3. **[DECISION POINT]**\n[Same format]\n```\n\n---\n\n## 🔄 Iterative Questioning\n\n### First Pass (3-5 Questions)\nFocus on **blocking decisions**. Don't proceed without answers.\n\n### Second Pass (After Initial Implementation)\nAs patterns emerge, ask:\n- \"This feature implies [X]. Should we handle [edge case] now or defer?\"\n- \"We're using [Pattern A]. Should [Feature B] follow the same pattern?\"\n\n### Third Pass (Optimization)\nWhen functionality works:\n- \"Performance bottleneck at [X]. Optimize now or acceptable for now?\"\n- \"Refactor [Y] for maintainability or ship as-is?\"\n\n---\n\n## 🎭 Example: Full Question Generation\n\n```\nUSER REQUEST: \"Build an Instagram clone\"\n\nSTEP 1: Parse\n├── Domain: Social Media\n├── Features: Photo sharing, engagement (likes/comments), user profiles\n├── Implied: Feed, following, authentication\n└── Scale: Potentially high (social apps go viral)\n\nSTEP 2: Decision Points\n├── Blocking: Storage strategy, authentication method, feed type\n├── High-leverage: Real-time notifications, data model complexity\n└── Deferable: Analytics, advanced search, reels/video\n\nSTEP 3: Generate Questions (Priority)\n\nP0 (Blocking):\n1. Storage Strategy → Affects architecture, cost, speed\n2. Feed Algorithm → Affects database queries, complexity\n3. Auth Method → Affects dev time, UX, security\n\nP1 (High-leverage):\n4. Real-time Notifications → WebSocket vs polling\n5. Media Processing → Client-side vs server-side optimization\n\nP2 (Deferable):\n6. Story/Reels → Major feature creep, defer to v2\n7. DM/Chat → Separate subsystem, defer to v2\n\nSTEP 4: Format Output\n```\n\n---\n\n## 📊 Generated Output (Example)\n\n```\nBased on your Instagram clone request:\n\n## 🔴 CRITICAL DECISIONS (Cannot Proceed Without Answers)\n\n### 1. **Photo Storage Strategy**\n\n**Question:** Where will user photos be stored and served?\n\n**Why This Matters:**\n- Affects: Monthly hosting costs, page load speed, CDN complexity\n- High-volume social apps: 1000 users × 10 photos × 2MB = 20GB storage\n\n**Options:**\n| Option | Cost model | Speed | Complexity | Best For |\n|--------|-----------|-------|------------|----------|\n| **Cloudinary** | Per-tier subscription | Fast (CDN) | Low | MVP, rapid launch |\n| **AWS S3 + CloudFront** | Pay per GB stored/served | Fast (CDN) | Medium | Production, cost-optimized |\n| **Supabase Storage** | Free tier + usage | Medium | Low | Small scale, simple |\n| **Local Storage** | Server cost | Slow | Low | Development only |\n\n**If Not Specified:** Cloudinary (balanced for MVP)\n\n---\n\n### 2. **Feed Algorithm Choice**\n\n**Question:** How should the main feed work?\n\n**Why This Matters:**\n- Affects: Database query complexity, caching strategy, development time\n- Algorithmic feeds require ML infrastructure, ranking signals\n\n**Options:**\n| Option | Complexity | Database Impact | Best For |\n|--------|------------|-----------------|----------|\n| **Chronological** | Low | Simple query | Early stage, transparency |\n| **Follow-Only** | Medium | JOIN with pagination | Most social apps |\n| **Algorithmic** | High | Pre-computed feed tables | Instagram competitor |\n\n**If Not Specified:** Follow-Only (balanced for social app)\n\n---\n\n### 3. **Authentication Approach**\n\n**Question:** How do users sign up and login?\n\n**Why This Matters:**\n- Affects: Development effort, security posture, UX friction\n\n**Options:**\n| Option | Effort | Security | UX | Best For |\n|--------|--------|----------|-----|----------|\n| **Email/Password** | Higher | High (if 2FA) | Medium | Full control needed |\n| **Social Only** | Low | Provider-dependent | Smooth | B2C, rapid launch |\n| **Magic Link** | Medium | Medium | Very smooth | Security-focused |\n| **Clerk/Auth0** | Lowest | High | Smooth | Fastest to market |\n\n**If Not Specified:** Clerk (fastest for MVP)\n\n---\n\n## 🟡 HIGH-LEVERAGE (Affects Architecture)\n\n### 4. **Real-time Notifications**\n\n**Question:** Do users need instant notifications for likes/comments?\n\n**Why This Matters:**\n- WebSocket adds infrastructure complexity (Redis pub/sub for scaling)\n- Polling is simpler but higher latency\n\n**Options:**\n| Option | Complexity | Scale Cost | Best For |\n|--------|------------|------------|----------|\n| **WebSocket + Redis** | High | $10+/mo | >1000 concurrent users |\n| **Polling (30s)** | Low | DB queries | <1000 users |\n| **No Real-time** | None | None | MVP, validate first |\n\n**If Not Specified:** Polling for MVP (defer WebSocket until validated)\n\n---\n\n## 🟢 NICE-TO-HAVE (Defer to v2)\n\n### 5. **Video/Reels Support**\n- Major complexity (video processing, streaming infrastructure)\n- Recommendation: Launch with photos only, add video after validation\n\n### 6. **Direct Messaging**\n- Separate subsystem (chat infrastructure different from feed)\n- Recommendation: Use Pusher/Stream for real-time or defer entirely\n\n---\n\n## 📋 Summary\n\n| Decision | Recommendation | If Changed |\n|----------|----------------|------------|\n| Storage | Cloudinary | +3 hrs setup |\n| Feed | Follow-only | +2 hrs query optimization |\n| Auth | Clerk | -3 hrs dev time |\n| Real-time | Polling | +5 hrs WebSocket setup |\n| Video | Defer to v2 | N/A |\n| DM | Defer to v2 | N/A |\n\n**Scope:** MVP covers the must-haves above; Video and DM deferred to v2.\n```\n\n---\n\n## 🎯 Principles Recap\n\n1. **Every question = Architectural decision** → Not data gathering\n2. **Show trade-offs** → User understands consequences\n3. **Prioritize blocking decisions** → Cannot proceed without\n4. **Provide defaults** → If user doesn't answer, we proceed anyway\n5. **Domain-aware** → Ecommerce questions ≠ Auth questions ≠ Real-time questions\n6. **Iterative** → More questions as patterns emerge during implementation\n",".agents/skills/clean-code/SKILL.md":"---\nname: clean-code\ndescription: Pragmatic coding standards - concise, direct, no over-engineering, no unnecessary comments\nwhen_to_use: \"Always active for ALL code writing. Enforces concise, direct coding standards, testing pyramid, and performance best practices.\"\nallowed-tools: Read, Write, Edit\nversion: 2.0.0\npriority: CRITICAL\n---\n\n# Clean Code - Pragmatic AI Coding Standards\n\n> **CRITICAL SKILL** - Be **concise, direct, and solution-focused**.\n\n---\n\n## Core Principles\n\n| Principle | Rule |\n|-----------|------|\n| **SRP** | Single Responsibility - each function/class does ONE thing |\n| **DRY** | Don't Repeat Yourself - extract duplicates, reuse |\n| **KISS** | Keep It Simple - simplest solution that works |\n| **YAGNI** | You Aren't Gonna Need It - don't build unused features |\n| **Boy Scout** | Leave code cleaner than you found it |\n\n---\n\n## Naming Rules\n\n| Element | Convention |\n|---------|------------|\n| **Variables** | Reveal intent: `userCount` not `n` |\n| **Functions** | Verb + noun: `getUserById()` not `user()` |\n| **Booleans** | Question form: `isActive`, `hasPermission`, `canEdit` |\n| **Constants** | SCREAMING_SNAKE: `MAX_RETRY_COUNT` |\n\n> **Rule:** If you need a comment to explain a name, rename it.\n\n---\n\n## Function Rules\n\n| Rule | Description |\n|------|-------------|\n| **Small** | Max 20 lines, ideally 5-10 |\n| **One Thing** | Does one thing, does it well |\n| **One Level** | One level of abstraction per function |\n| **Few Args** | Max 3 arguments, prefer 0-2 |\n| **No Side Effects** | Don't mutate inputs unexpectedly |\n\n---\n\n## Code Structure\n\n| Pattern | Apply |\n|---------|-------|\n| **Guard Clauses** | Early returns for edge cases |\n| **Flat > Nested** | Avoid deep nesting (max 2 levels) |\n| **Composition** | Small functions composed together |\n| **Colocation** | Keep related code close |\n\n---\n\n## AI Coding Style\n\n| Situation | Action |\n|-----------|--------|\n| User asks for feature | Write it directly |\n| User reports bug | Fix it, don't explain |\n| No clear requirement | Ask, don't assume |\n\n---\n\n## Anti-Patterns (DON'T)\n\n| ❌ Pattern | ✅ Fix |\n|-----------|-------|\n| Comment every line | Delete obvious comments |\n| Helper for one-liner | Inline the code |\n| Factory for 2 objects | Direct instantiation |\n| utils.ts with 1 function | Put code where used |\n| \"First we import...\" | Just write code |\n| Deep nesting | Guard clauses |\n| Magic numbers | Named constants |\n| God functions | Split by responsibility |\n\n---\n\n## 🔴 Before Editing ANY File (THINK FIRST!)\n\n**Before changing a file, ask yourself:**\n\n| Question | Why |\n|----------|-----|\n| **What imports this file?** | They might break |\n| **What does this file import?** | Interface changes |\n| **What tests cover this?** | Tests might fail |\n| **Is this a shared component?** | Multiple places affected |\n\n**Quick Check:**\n```\nFile to edit: UserService.ts\n└── Who imports this? → UserController.ts, AuthController.ts\n└── Do they need changes too? → Check function signatures\n```\n\n> 🔴 **Rule:** Edit the file + all dependent files in the SAME task.\n> 🔴 **Never leave broken imports or missing updates.**\n\n---\n\n## Summary\n\n| Do | Don't |\n|----|-------|\n| Write code directly | Write tutorials |\n| Let code self-document | Add obvious comments |\n| Fix bugs immediately | Explain the fix first |\n| Inline small things | Create unnecessary files |\n| Name things clearly | Use abbreviations |\n| Keep functions small | Write 100+ line functions |\n\n> **Remember: The user wants working code, not a programming lesson.**\n\n---\n\n## 🔴 Self-Check Before Completing (MANDATORY)\n\n**Before saying \"task complete\", verify:**\n\n| Check | Question |\n|-------|----------|\n| ✅ **Goal met?** | Did I do exactly what user asked? |\n| ✅ **Files edited?** | Did I modify all necessary files? |\n| ✅ **Code works?** | Did I test/verify the change? |\n| ✅ **No errors?** | Lint and TypeScript pass? |\n| ✅ **Nothing forgotten?** | Any edge cases missed? |\n\n> 🔴 **Rule:** If ANY check fails, fix it before completing.\n\n---\n\n## Verification Scripts (MANDATORY)\n\n> 🔴 **CRITICAL:** Each agent runs ONLY their own skill's scripts after completing work.\n\n### Agent → Script Mapping\n\n| Agent | Script | Command |\n|-------|--------|---------|\n| **frontend-specialist** | UX Audit | `python .agents/skills/frontend-design/scripts/ux_audit.py .` |\n| **frontend-specialist** | A11y Check | `python .agents/skills/frontend-design/scripts/accessibility_checker.py .` |\n| **backend-specialist** | API Validator | `python .agents/skills/api-patterns/scripts/api_validator.py .` |\n| **mobile-developer** | Mobile Audit | `python .agents/skills/mobile-design/scripts/mobile_audit.py .` |\n| **database-architect** | Schema Validate | `python .agents/skills/database-design/scripts/schema_validator.py .` |\n| **security-auditor** | Security Scan | `python .agents/skills/vulnerability-scanner/scripts/security_scan.py .` |\n| **seo-specialist** | SEO Check | `python .agents/skills/seo-fundamentals/scripts/seo_checker.py .` |\n| **seo-specialist** | GEO Check | `python .agents/skills/geo-fundamentals/scripts/geo_checker.py .` |\n| **performance-optimizer** | Lighthouse | `python .agents/skills/performance-profiling/scripts/lighthouse_audit.py <url>` |\n| **test-engineer** | Test Runner | `python .agents/skills/testing-patterns/scripts/test_runner.py .` |\n| **test-engineer** | Playwright | `python .agents/skills/webapp-testing/scripts/playwright_runner.py <url>` |\n| **Any agent** | Lint Check | `python .agents/skills/lint-and-validate/scripts/lint_runner.py .` |\n| **Any agent** | Type Coverage | `python .agents/skills/lint-and-validate/scripts/type_coverage.py .` |\n| **Any agent** | i18n Check | `python .agents/skills/i18n-localization/scripts/i18n_checker.py .` |\n\n> ❌ **WRONG:** `test-engineer` running `ux_audit.py`\n> ✅ **CORRECT:** `frontend-specialist` running `ux_audit.py`\n\n---\n\n### 🔴 Script Output Handling (READ → SUMMARIZE → ASK)\n\n**When running a validation script, you MUST:**\n\n1. **Run the script** and capture ALL output\n2. **Parse the output** - identify errors, warnings, and passes\n3. **Summarize to user** in this format:\n\n```markdown\n## Script Results: [script_name.py]\n\n### ❌ Errors Found (X items)\n- [File:Line] Error description 1\n- [File:Line] Error description 2\n\n### ⚠️ Warnings (Y items)\n- [File:Line] Warning description\n\n### ✅ Passed (Z items)\n- Check 1 passed\n- Check 2 passed\n\n**Should I fix the X errors?**\n```\n\n4. **Wait for user confirmation** before fixing\n5. **After fixing** → Re-run script to confirm\n\n> 🔴 **VIOLATION:** Running script and ignoring output = FAILED task.\n> 🔴 **VIOLATION:** Auto-fixing without asking = Not allowed.\n> 🔴 **Rule:** Always READ output → SUMMARIZE → ASK → then fix.\n\n",".agents/skills/code-review-checklist/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fcode-review-checklist%2FSKILL.md -->",".agents/skills/code-review-graph/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fcode-review-graph%2FSKILL.md -->",".agents/skills/context-compression/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fcontext-compression%2FSKILL.md -->",".agents/skills/coordinator-mode/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fcoordinator-mode%2FSKILL.md -->",".agents/skills/database-design/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdatabase-design%2FSKILL.md -->",".agents/skills/database-design/database-selection.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdatabase-design%2Fdatabase-selection.md -->",".agents/skills/database-design/indexing.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdatabase-design%2Findexing.md -->",".agents/skills/database-design/migrations.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdatabase-design%2Fmigrations.md -->",".agents/skills/database-design/optimization.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdatabase-design%2Foptimization.md -->",".agents/skills/database-design/orm-selection.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdatabase-design%2Form-selection.md -->",".agents/skills/database-design/schema-design.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdatabase-design%2Fschema-design.md -->",".agents/skills/deployment-procedures/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdeployment-procedures%2FSKILL.md -->",".agents/skills/design-spec/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdesign-spec%2FSKILL.md -->",".agents/skills/design-spec/collection.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdesign-spec%2Fcollection.md -->",".agents/skills/documentation-templates/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdocumentation-templates%2FSKILL.md -->",".agents/skills/frontend-architecture/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Ffrontend-architecture%2FSKILL.md -->",".agents/skills/frontend-design/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Ffrontend-design%2FSKILL.md -->",".agents/skills/frontend-design/redesign.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Ffrontend-design%2Fredesign.md -->",".agents/skills/frontend-design/style-brutalist.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Ffrontend-design%2Fstyle-brutalist.md -->",".agents/skills/frontend-design/style-minimalist.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Ffrontend-design%2Fstyle-minimalist.md -->",".agents/skills/game-development/2d-games/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2F2d-games%2FSKILL.md -->",".agents/skills/game-development/3d-games/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2F3d-games%2FSKILL.md -->",".agents/skills/game-development/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2FSKILL.md -->",".agents/skills/game-development/game-art/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2Fgame-art%2FSKILL.md -->",".agents/skills/game-development/game-audio/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2Fgame-audio%2FSKILL.md -->",".agents/skills/game-development/game-design/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2Fgame-design%2FSKILL.md -->",".agents/skills/game-development/mobile-games/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2Fmobile-games%2FSKILL.md -->",".agents/skills/game-development/multiplayer/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2Fmultiplayer%2FSKILL.md -->",".agents/skills/game-development/pc-games/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2Fpc-games%2FSKILL.md -->",".agents/skills/game-development/vr-ar/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2Fvr-ar%2FSKILL.md -->",".agents/skills/game-development/web-games/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2Fweb-games%2FSKILL.md -->",".agents/skills/geo-fundamentals/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgeo-fundamentals%2FSKILL.md -->",".agents/skills/i18n-localization/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fi18n-localization%2FSKILL.md -->",".agents/skills/intelligent-routing/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fintelligent-routing%2FSKILL.md -->",".agents/skills/lint-and-validate/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Flint-and-validate%2FSKILL.md -->",".agents/skills/mcp-builder/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmcp-builder%2FSKILL.md -->",".agents/skills/memory-system/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmemory-system%2FSKILL.md -->",".agents/skills/mobile-design/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2FSKILL.md -->",".agents/skills/mobile-design/decision-trees.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fdecision-trees.md -->",".agents/skills/mobile-design/mobile-backend.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fmobile-backend.md -->",".agents/skills/mobile-design/mobile-color-system.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fmobile-color-system.md -->",".agents/skills/mobile-design/mobile-debugging.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fmobile-debugging.md -->",".agents/skills/mobile-design/mobile-design-thinking.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fmobile-design-thinking.md -->",".agents/skills/mobile-design/mobile-navigation.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fmobile-navigation.md -->",".agents/skills/mobile-design/mobile-performance.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fmobile-performance.md -->",".agents/skills/mobile-design/mobile-testing.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fmobile-testing.md -->",".agents/skills/mobile-design/mobile-typography.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fmobile-typography.md -->",".agents/skills/mobile-design/platform-android.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fplatform-android.md -->",".agents/skills/mobile-design/platform-ios.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fplatform-ios.md -->",".agents/skills/mobile-design/touch-psychology.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Ftouch-psychology.md -->",".agents/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F1-async-eliminating-waterfalls.md -->",".agents/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F2-bundle-bundle-size-optimization.md -->",".agents/skills/nextjs-react-expert/3-server-server-side-performance.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F3-server-server-side-performance.md -->",".agents/skills/nextjs-react-expert/4-client-client-side-data-fetching.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F4-client-client-side-data-fetching.md -->",".agents/skills/nextjs-react-expert/5-rerender-re-render-optimization.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F5-rerender-re-render-optimization.md -->",".agents/skills/nextjs-react-expert/6-rendering-rendering-performance.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F6-rendering-rendering-performance.md -->",".agents/skills/nextjs-react-expert/7-js-javascript-performance.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F7-js-javascript-performance.md -->",".agents/skills/nextjs-react-expert/8-advanced-advanced-patterns.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F8-advanced-advanced-patterns.md -->",".agents/skills/nextjs-react-expert/9-cache-components.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F9-cache-components.md -->",".agents/skills/nextjs-react-expert/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2FSKILL.md -->",".agents/skills/nodejs-best-practices/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnodejs-best-practices%2FSKILL.md -->",".agents/skills/parallel-agents/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fparallel-agents%2FSKILL.md -->",".agents/skills/performance-profiling/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fperformance-profiling%2FSKILL.md -->",".agents/skills/plan-writing/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fplan-writing%2FSKILL.md -->",".agents/skills/powershell-windows/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fpowershell-windows%2FSKILL.md -->",".agents/skills/python-patterns/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fpython-patterns%2FSKILL.md -->",".agents/skills/red-team-tactics/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fred-team-tactics%2FSKILL.md -->",".agents/skills/rust-pro/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Frust-pro%2FSKILL.md -->",".agents/skills/seo-fundamentals/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fseo-fundamentals%2FSKILL.md -->",".agents/skills/server-management/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fserver-management%2FSKILL.md -->",".agents/skills/simplify-code/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fsimplify-code%2FSKILL.md -->",".agents/skills/skillify/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fskillify%2FSKILL.md -->",".agents/skills/systematic-debugging/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fsystematic-debugging%2FSKILL.md -->",".agents/skills/tailwind-patterns/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Ftailwind-patterns%2FSKILL.md -->",".agents/skills/tdd-workflow/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Ftdd-workflow%2FSKILL.md -->",".agents/skills/testing-patterns/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Ftesting-patterns%2FSKILL.md -->",".agents/skills/verify-changes/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fverify-changes%2FSKILL.md -->",".agents/skills/vulnerability-scanner/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fvulnerability-scanner%2FSKILL.md -->",".agents/skills/vulnerability-scanner/checklists.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fvulnerability-scanner%2Fchecklists.md -->",".agents/skills/web-design-guidelines/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fweb-design-guidelines%2FSKILL.md -->",".agents/skills/webapp-testing/SKILL.md":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fwebapp-testing%2FSKILL.md -->","CLAUDE.md":"# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\n## What this is\n\nAG Kit is an Antigravity-first AI agent engineering kit. The product is the `.agents/` workspace contract itself (rules, skills, agents, workflows, memory, hooks) — Markdown + JSON consumed by the Google Antigravity runtime, not compiled code. Three deliverables live in one repo:\n\n- `.agents/` — the toolkit: 20 specialist agents (`agent/`), ~50 skills (`skills/`), 13 slash-command workflows (`workflows/`), 6 rules (`rules/`), persistent memory templates (`memory/`), plus the Antigravity runtime layer (`antigravity.json` contract, `hooks.json` PreToolUse safety gate, `hooks/*.mjs` tooling, JSON schemas).\n- `cli/` — published npm package `@vudovn/ag-kit` (Node ≥18, ESM). Installs the kit into user projects via `giget`. Entry: `cli/bin/index.js`, managed-tree logic in `cli/lib/managed-tree.js`.\n- `web/` — docs site (Next.js 16 + MDX + Tailwind 4, React 19). Content data lives in JSON catalogs under `web/src`.\n\nPython ≥3.10 (with PyYAML) runs the toolkit validators; Node ≥22 runs the Antigravity tooling.\n\n## Commands\n\nAll from repo root unless noted.\n\n```bash\n# Toolkit (.agents/) — run after ANY change to managed components\nnpm run generate:agents      # regenerate manifest.json, manifest.lock.json, DEPENDENCY_GRAPH.md\nnpm run check:agents         # manifest --check + graph --check + validate_kit.py (what CI runs)\nnpm run test:toolkit         # python -m unittest discover -s .agents/scripts/tests -v\n\n# Antigravity runtime layer\nnpm run check:antigravity    # doctor: validates contract, hooks, schemas\nnpm run test:antigravity     # node --test .agents/hooks/tests/antigravity.test.mjs\nnpm run build:antigravity-plugin\n\n# CLI\nnpm run test:cli             # or: cd cli && node --test test/*.test.js\nnode --test cli/test/managed-tree.test.js   # single test file\n\n# Web (deps installed per-package: npm ci in cli/ and web/)\nnpm run lint:web\nnpm run typecheck:web\nnpm run build:web            # next build --webpack (not turbopack)\n```\n\nSingle Python test: `python -m unittest .agents.scripts.tests.test_toolkit -v` won't work due to path; use `python -m unittest discover -s .agents/scripts/tests -k <pattern> -v`.\n\n## The managed component registry (critical)\n\nAny edit to a managed component (files in `.agents/agent|skills|workflows|rules`, hooks, schemas) **must** be followed by `npm run generate:agents`, or `check:agents` and CI fail on hash mismatch. Never hand-edit `manifest.json`, `manifest.lock.json`, or `DEPENDENCY_GRAPH.md` — all generated.\n\nDual-track versioning:\n- Toolkit releases: **CalVer** `YYYY.M.D` in `.agents/VERSION`.\n- Individual components: **SemVer** in their Markdown frontmatter. Bump the component's frontmatter version when changing it.\n\n## Component conventions\n\n- Agents, skills, workflows, and rules are Markdown with YAML frontmatter (`name`, `description`, `version`, plus `tools`/`dependencies` where applicable). Frontmatter shape is validated by `validate_kit.py` — match existing files in the same directory.\n- Skills use progressive/conditional loading (\"Selective Reading\"): a short always-loaded core with deeper sections loaded on demand. Keep new skill content in that shape.\n- Cross-component dependencies are declared in frontmatter and materialize in the generated dependency graph; a dangling dependency fails `check:agents`.\n- The native PreToolUse hook (`hooks.json` + `validate-tool-call.mjs`) is deliberately narrow: blocks root-filesystem deletion, drive formatting, raw-disk writes only. Don't broaden it into a general linter.\n\n## Release\n\n- Version is CalVer and must be synced across **three** `package.json` files (root, `cli/`, `web/`) plus `.agents/VERSION`. `cli/test/release-safety.test.js` guards this.\n- npm publish runs via `.github/workflows/publish.yml`; CI (`ci.yml`) runs toolkit validation, CLI tests + `npm pack --dry-run` + prod audit, and web lint/typecheck/build/audit. `antigravity.yml` runs doctor, hook tests, and plugin build.\n\n## Web notes\n\n- `next build --webpack` is intentional: the MDX plugin config breaks under Turbopack unless plugins are referenced by string name (see `web/next.config.ts`).\n- Docs content is driven by JSON catalog data under `web/src`, not by scanning `.agents/` at build time — update the catalogs when components change.\n"},"items":[{"name":"CLAUDE.md","path":"CLAUDE.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/CLAUDE.md","title":"Claude Agent Guidelines & System Prompt","category":"claude-rule","format":"markdown","content":"# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\n## What this is\n\nAG Kit is an Antigravity-first AI agent engineering kit. The product is the `.agents/` workspace contract itself (rules, skills, agents, workflows, memory, hooks) — Markdown + JSON consumed by the Google Antigravity runtime, not compiled code. Three deliverables live in one repo:\n\n- `.agents/` — the toolkit: 20 specialist agents (`agent/`), ~50 skills (`skills/`), 13 slash-command workflows (`workflows/`), 6 rules (`rules/`), persistent memory templates (`memory/`), plus the Antigravity runtime layer (`antigravity.json` contract, `hooks.json` PreToolUse safety gate, `hooks/*.mjs` tooling, JSON schemas).\n- `cli/` — published npm package `@vudovn/ag-kit` (Node ≥18, ESM). Installs the kit into user projects via `giget`. Entry: `cli/bin/index.js`, managed-tree logic in `cli/lib/managed-tree.js`.\n- `web/` — docs site (Next.js 16 + MDX + Tailwind 4, React 19). Content data lives in JSON catalogs under `web/src`.\n\nPython ≥3.10 (with PyYAML) runs the toolkit validators; Node ≥22 runs the Antigravity tooling.\n\n## Commands\n\nAll from repo root unless noted.\n\n```bash\n# Toolkit (.agents/) — run after ANY change to managed components\nnpm run generate:agents      # regenerate manifest.json, manifest.lock.json, DEPENDENCY_GRAPH.md\nnpm run check:agents         # manifest --check + graph --check + validate_kit.py (what CI runs)\nnpm run test:toolkit         # python -m unittest discover -s .agents/scripts/tests -v\n\n# Antigravity runtime layer\nnpm run check:antigravity    # doctor: validates contract, hooks, schemas\nnpm run test:antigravity     # node --test .agents/hooks/tests/antigravity.test.mjs\nnpm run build:antigravity-plugin\n\n# CLI\nnpm run test:cli             # or: cd cli && node --test test/*.test.js\nnode --test cli/test/managed-tree.test.js   # single test file\n\n# Web (deps installed per-package: npm ci in cli/ and web/)\nnpm run lint:web\nnpm run typecheck:web\nnpm run build:web            # next build --webpack (not turbopack)\n```\n\nSingle Python test: `python -m unittest .agents.scripts.tests.test_toolkit -v` won't work due to path; use `python -m unittest discover -s .agents/scripts/tests -k <pattern> -v`.\n\n## The managed component registry (critical)\n\nAny edit to a managed component (files in `.agents/agent|skills|workflows|rules`, hooks, schemas) **must** be followed by `npm run generate:agents`, or `check:agents` and CI fail on hash mismatch. Never hand-edit `manifest.json`, `manifest.lock.json`, or `DEPENDENCY_GRAPH.md` — all generated.\n\nDual-track versioning:\n- Toolkit releases: **CalVer** `YYYY.M.D` in `.agents/VERSION`.\n- Individual components: **SemVer** in their Markdown frontmatter. Bump the component's frontmatter version when changing it.\n\n## Component conventions\n\n- Agents, skills, workflows, and rules are Markdown with YAML frontmatter (`name`, `description`, `version`, plus `tools`/`dependencies` where applicable). Frontmatter shape is validated by `validate_kit.py` — match existing files in the same directory.\n- Skills use progressive/conditional loading (\"Selective Reading\"): a short always-loaded core with deeper sections loaded on demand. Keep new skill content in that shape.\n- Cross-component dependencies are declared in frontmatter and materialize in the generated dependency graph; a dangling dependency fails `check:agents`.\n- The native PreToolUse hook (`hooks.json` + `validate-tool-call.mjs`) is deliberately narrow: blocks root-filesystem deletion, drive formatting, raw-disk writes only. Don't broaden it into a general linter.\n\n## Release\n\n- Version is CalVer and must be synced across **three** `package.json` files (root, `cli/`, `web/`) plus `.agents/VERSION`. `cli/test/release-safety.test.js` guards this.\n- npm publish runs via `.github/workflows/publish.yml`; CI (`ci.yml`) runs toolkit validation, CLI tests + `npm pack --dry-run` + prod audit, and web lint/typecheck/build/audit. `antigravity.yml` runs doctor, hook tests, and plugin build.\n\n## Web notes\n\n- `next build --webpack` is intentional: the MDX plugin config breaks under Turbopack unless plugins are referenced by string name (see `web/next.config.ts`).\n- Docs content is driven by JSON catalog data under `web/src`, not by scanning `.agents/` at build time — update the catalogs when components change.\n","isInternal":false,"tokens":1077,"sizeBytes":4406},{"name":"code-rules.md","path":".agents/rules/code-rules.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/rules/code-rules.md","title":"code-rules","category":"anthropic-skill","format":"markdown","content":"---\nname: code-rules\nversion: 1.0.0\npriority: P0\ntrigger: model_decision\ndescription: Apply when writing, building, refactoring, or fixing code — project-type agent routing, the Socratic Gate, Plan Mode phases, and the final checklist/scripts. Skip for pure questions or text-only responses.\n---\n\n# Code Rules (TIER 1) - AG Kit\n\n> Loaded when the request involves writing or modifying code.\n\n---\n\n## 📱 Project Type Routing\n\n| Project Type                           | Primary Agent         | Skills                        |\n| -------------------------------------- | --------------------- | ----------------------------- |\n| **MOBILE** (iOS, Android, RN, Flutter) | `mobile-developer`    | mobile-design                 |\n| **WEB** (Next.js, React web)           | `frontend-specialist` | frontend-design               |\n| **BACKEND** (API, server, DB)          | `backend-specialist`  | api-patterns, database-design |\n\n> 🔴 **Mobile + frontend-specialist = WRONG.** Mobile = mobile-developer ONLY.\n\n---\n\n## 🛑 GLOBAL SOCRATIC GATE\n\n**MANDATORY: Every user request must pass through the Socratic Gate before ANY tool use or implementation.**\n\n| Request Type            | Strategy       | Required Action                                                   |\n| ----------------------- | -------------- | ----------------------------------------------------------------- |\n| **New Feature / Build** | Deep Discovery | ASK minimum 3 strategic questions                                 |\n| **Code Edit / Bug Fix** | Context Check  | Confirm understanding + ask impact questions                      |\n| **Vague / Simple**      | Clarification  | Ask Purpose, Users, and Scope                                     |\n| **Full Orchestration**  | Gatekeeper     | **STOP** subagents until user confirms plan details               |\n| **Direct \"Proceed\"**    | Validation     | **STOP** → Even if answers are given, ask 2 \"Edge Case\" questions |\n\n**Protocol:**\n\n1. **Never Assume:** If even 1% is unclear, ASK.\n2. **Handle Spec-heavy Requests:** When user gives a list (Answers 1, 2, 3...), do NOT skip the gate. Instead, ask about **Trade-offs** or **Edge Cases** (e.g., \"LocalStorage confirmed, but should we handle data clearing or versioning?\") before starting.\n3. **Wait:** Do NOT invoke subagents or write code until the user clears the Gate.\n4. **Reference:** Full protocol in `@[skills/brainstorming]`.\n\n---\n\n## 🏁 Plan Mode (4-Phase)\n\n1. ANALYSIS → Research, questions\n2. PLANNING → `{task-slug}.md`, task breakdown\n3. SOLUTIONING → Architecture, design (NO CODE!)\n4. IMPLEMENTATION → Code + tests\n\n---\n\n## 🏁 Final Checklist Protocol\n\n**Trigger:** When the user says \"run the final checks\", \"final checks\", \"run all the tests\", or similar phrases.\n\n| Task Stage       | Command                                            | Purpose                        |\n| ---------------- | -------------------------------------------------- | ------------------------------ |\n| **Manual Audit** | `python .agents/scripts/checklist.py .`             | Priority-based project audit   |\n| **Pre-Deploy**   | `python .agents/scripts/checklist.py . --url <URL>` | Full Suite + Performance + E2E |\n\n**Priority Execution Order:**\n\n1. **Security** → 2. **Lint** → 3. **Schema** → 4. **Tests** → 5. **UX** → 6. **Seo** → 7. **Lighthouse/E2E**\n\n**Rules:**\n\n- **Completion:** A task is NOT finished until `checklist.py` returns success.\n- **Reporting:** If it fails, fix the **Critical** blockers first (Security/Lint).\n\n**Available Scripts (10 total):**\n\n| Script                     | Skill                 | When to Use         |\n| -------------------------- | --------------------- | ------------------- |\n| `security_scan.py`         | vulnerability-scanner | Always on deploy    |\n| `lint_runner.py`           | lint-and-validate     | Every code change   |\n| `test_runner.py`           | testing-patterns      | After logic change  |\n| `schema_validator.py`      | database-design       | After DB change     |\n| `ux_audit.py`              | frontend-design       | After UI change     |\n| `accessibility_checker.py` | frontend-design       | After UI change     |\n| `seo_checker.py`           | seo-fundamentals      | After page change   |\n| `mobile_audit.py`          | mobile-design         | After mobile change |\n| `lighthouse_audit.py`      | performance-profiling | Before deploy       |\n| `playwright_runner.py`     | webapp-testing        | Before deploy       |\n\n> 🔴 **Agents & Skills can invoke ANY script** via `python .agents/skills/<skill>/scripts/<script>.py`\n\n---\n","frontmatter":{"name":"code-rules","version":"1.0.0","priority":"P0","trigger":"model_decision","description":"Apply when writing, building, refactoring, or fixing code — project-type agent routing, the Socratic Gate, Plan Mode phases, and the final checklist/scripts. Skip for pure questions or text-only responses."},"isInternal":false,"tokens":1025,"sizeBytes":4600},{"name":"core-protocol.md","path":".agents/rules/core-protocol.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/rules/core-protocol.md","title":"core-protocol","category":"anthropic-skill","format":"markdown","content":"---\nname: core-protocol\nversion: 1.0.0\npriority: P0\ntrigger: always_on\n---\n\n# Core Protocol - AG Kit\n\n> The highest-priority workspace rules. How the AI loads agents/skills and what it must do before any implementation.\n\n---\n\n## CRITICAL: AGENT & SKILL PROTOCOL (START HERE)\n\n> **MANDATORY:** You MUST read the appropriate agent file and its skills BEFORE performing any implementation. This is the highest priority rule.\n\n### 1. Modular Skill Loading Protocol\n\nAgent activated → Check frontmatter \"skills:\" → Read SKILL.md (INDEX) → Read specific sections.\n\n- **Selective Reading:** DO NOT read ALL files in a skill folder. Read `SKILL.md` first, then only read sections matching the user's request.\n- **Rule Priority:** P0 (Workspace Rules in `.agents/rules/`) > P1 (Agent `.md`) > P2 (SKILL.md). All rules are binding.\n\n### 1.1 Skill Announcement (MANDATORY)\n\n**Every time you load and apply a skill, announce it BEFORE using it** — so the user can verify which knowledge is active.\n\n```markdown\n📚 **Using skill: `@[skill-name]`...**\n```\n\n- List multiple skills together: `📚 Using skills: @frontend-design + @design-spec...`\n- Announce on-demand skills too (e.g. a companion skill pulled from a hub, or `app-builder` for a new app), not just frontmatter ones.\n- ❌ Applying a skill without announcing it = **USER CANNOT VERIFY THE SKILL WAS USED**.\n\n### 2. Enforcement Protocol\n\n1. **When agent is activated:**\n    - ✅ Activate: Read Rules → Check Frontmatter → Load SKILL.md → Apply All.\n2. **Forbidden:** Never skip reading agent rules or skill instructions. \"Read → Understand → Apply\" is mandatory.\n\n---\n\n## 📁 File Dependency Awareness\n\n**Before modifying ANY file:**\n\n1. If `CODEBASE.md` exists, check its File Dependencies section.\n2. Otherwise, discover dependencies with targeted search/import analysis; do not block waiting for a missing file.\n3. Identify dependent files and update all affected files together.\n\n---\n\n## 🗺️ System Map & Memory Read\n\n> 🔴 **MANDATORY:** At session start, you MUST read `.agents/memory/MEMORY.md` to load persistent project conventions, user preferences, and decisions.\n\n> 📚 **Catalog lookup (on-demand, NOT every session):** Need the full list of Agents / Skills / Scripts? The `quick-reference` rule has the essentials. For the complete catalog, read `.agents/ARCHITECTURE.md` only when you actually need it (e.g. orchestration, or discovering a skill you're unsure exists) — do NOT load it on every request.\n\n**Path Awareness (Note: the project directory name is `.agents` plural):**\n\n- Agents: `.agents/agent/` (Project)\n- Skills: `.agents/skills/` (Project)\n- Memory: `.agents/memory/` (Project)\n- Runtime Scripts: `.agents/skills/<skill>/scripts/`\n\n---\n\n## 🧠 Read → Understand → Apply\n\n```\n❌ WRONG: Read agent file → Start coding\n✅ CORRECT: Read → Understand WHY → Apply PRINCIPLES → Code\n```\n\n**Before coding, answer:**\n\n1. What is the GOAL of this agent/skill?\n2. What PRINCIPLES must I apply?\n3. How does this DIFFER from generic output?\n\n---\n","frontmatter":{"name":"core-protocol","version":"1.0.0","priority":"P0","trigger":"always_on"},"isInternal":false,"tokens":747,"sizeBytes":3057},{"name":"design-rules.md","path":".agents/rules/design-rules.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/rules/design-rules.md","title":"design-rules","category":"anthropic-skill","format":"markdown","content":"---\nname: design-rules\nversion: 1.0.0\npriority: P0\ntrigger: glob\nglobs: \"**/*.{tsx,jsx,vue,svelte,css,scss},**/components/**,**/app/**/page.tsx\"\n---\n\n# Design Rules (TIER 2) - AG Kit\n\n> Loaded when touching UI files. Design rules live in the specialist agents, NOT here.\n\n## 🛑 GATE: DESIGN.md before any UI code (MANDATORY)\n\nBefore writing or editing UI (components, pages, styles — web or mobile), a **`DESIGN.md` must exist at the project root**.\n\n1. **Check** for `DESIGN.md` at the project root.\n2. **If missing:** infer the design direction from the brief, then **create `DESIGN.md` first** (tokens + rationale) following the `design-spec` skill. Do not write UI code until it exists.\n3. **If present:** READ it and build strictly against its tokens. Descriptive names in prose map to token names.\n4. **Keep it in sync** when the visual language changes — it is the single source of truth.\n\n> Exception: none for new UI. A genuinely trivial tweak to existing UI (one button color, a spacing nudge) may proceed if a `DESIGN.md` already governs the project. Net-new UI always requires the gate.\n\n| Need | Read |\n| ---- | ---- |\n| DESIGN.md format / tokens | `.agents/skills/design-spec/SKILL.md` |\n\n---\n\n| Task         | Read                            |\n| ------------ | ------------------------------- |\n| Web UI/UX    | `.agents/agent/frontend-specialist.md` |\n| Mobile UI/UX | `.agents/agent/mobile-developer.md`    |\n\n**These agents contain:**\n\n- Purple Ban (no purple by default — brand/brief override allowed)\n- Template Ban (no standard layouts)\n- Anti-cliché rules\n- Deep Design Thinking protocol\n\n> 🔴 **For design work:** Open and READ the agent file. Rules are there.\n\n---\n","frontmatter":{"name":"design-rules","version":"1.0.0","priority":"P0","trigger":"glob","globs":"**/*.{tsx,jsx,vue,svelte,css,scss},**/components/**,**/app/**/page.tsx"},"isInternal":false,"tokens":432,"sizeBytes":1700},{"name":"quick-reference.md","path":".agents/rules/quick-reference.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/rules/quick-reference.md","title":"quick-reference","category":"anthropic-skill","format":"markdown","content":"---\nname: quick-reference\nversion: 1.0.0\npriority: P2\ntrigger: model_decision\ndescription: Apply when you need a fast lookup of which agents, skills, or validation scripts exist — for routing decisions or recalling the master/key components of the kit.\n---\n\n# Quick Reference - AG Kit\n\n> A fast index of the most-used agents, skills, and scripts.\n\n## Agents & Skills\n\n- **Masters**: `orchestrator`, `project-planner`, `security-auditor` (Cyber/Audit), `backend-specialist` (API/DB), `frontend-specialist` (UI/UX), `mobile-developer`, `debugger`, `game-developer`\n- **Key Skills**: `clean-code`, `brainstorming`, `app-builder`, `frontend-design`, `mobile-design`, `plan-writing`, `behavioral-modes`\n\n## Key Scripts\n\n- **Verify**: `.agents/scripts/verify_all.py`, `.agents/scripts/checklist.py`\n- **Scanners**: `security_scan.py`\n- **Audits**: `ux_audit.py`, `mobile_audit.py`, `lighthouse_audit.py`, `seo_checker.py`\n- **Test**: `playwright_runner.py`, `test_runner.py`\n\n---\n","frontmatter":{"name":"quick-reference","version":"1.0.0","priority":"P2","trigger":"model_decision","description":"Apply when you need a fast lookup of which agents, skills, or validation scripts exist — for routing decisions or recalling the master/key components of the kit."},"isInternal":false,"tokens":258,"sizeBytes":976},{"name":"request-routing.md","path":".agents/rules/request-routing.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/rules/request-routing.md","title":"request-routing","category":"anthropic-skill","format":"markdown","content":"---\nname: request-routing\nversion: 1.0.0\npriority: P0\ntrigger: always_on\n---\n\n# Request Routing - AG Kit\n\n> Always-active. Classify every request, then auto-route to the best specialist agent(s) before responding.\n\n---\n\n## 📥 REQUEST CLASSIFIER (STEP 1)\n\n**Before ANY action, classify the request:**\n\n| Request Type     | Trigger Keywords                           | Active Tiers                   | Result                      |\n| ---------------- | ------------------------------------------ | ------------------------------ | --------------------------- |\n| **QUESTION**     | \"what is\", \"how does\", \"explain\"           | TIER 0 only                    | Text Response               |\n| **SURVEY/INTEL** | \"analyze\", \"list files\", \"overview\"        | TIER 0 + Explorer              | Session Intel (No File)     |\n| **SIMPLE CODE**  | \"fix\", \"add\", \"change\" (single file)       | TIER 0 + TIER 1 (lite)         | Inline Edit                 |\n| **COMPLEX CODE** | \"build\", \"create\", \"implement\", \"refactor\" | TIER 0 + TIER 1 (full) + Agent | **{task-slug}.md Required** |\n| **NEW APP**      | \"new app\", \"from scratch\", \"build me a/an\", multi-page | `project-planner` (loads `app-builder`) → `orchestrator` | **{task-slug}.md + app-builder** |\n| **DESIGN/UI**    | \"design\", \"UI\", \"page\", \"dashboard\"        | TIER 0 + TIER 1 + Agent        | **{task-slug}.md Required** |\n| **SLASH CMD**    | /create, /orchestrate, /debug              | Command-specific flow          | Variable                    |\n\n> 🔴 **NEW APP / scaffold from scratch:** route through `project-planner` or `orchestrator` (both load `app-builder`), NOT a lone specialist like `frontend-specialist`. A specialist alone has no project-detection, tech-stack selection, or template knowledge — `app-builder` does. Or run `/create`.\n\n---\n\n## 🤖 INTELLIGENT AGENT ROUTING (STEP 2 - AUTO)\n\n**ALWAYS ACTIVE: Before responding to ANY request, automatically analyze and select the best agent(s).**\n\n> 🔴 **MANDATORY:** You MUST follow the protocol defined in `@[skills/intelligent-routing]`.\n\n### Auto-Selection Protocol\n\n1. **Analyze (Silent)**: Detect domains (Frontend, Backend, Security, etc.) from user request.\n2. **Select Agent(s)**: Choose the most appropriate specialist(s).\n3. **Inform User**: Concisely state which expertise is being applied.\n4. **Apply**: Generate response using the selected agent's persona and rules.\n\n### Response Format (MANDATORY)\n\nWhen auto-applying an agent, inform the user:\n\n```markdown\n🤖 **Applying knowledge of `@[agent-name]`...**\n\n[Continue with specialized response]\n```\n\n**Rules:**\n\n1. **Silent Analysis**: No verbose meta-commentary (\"I am analyzing...\").\n2. **Respect Overrides**: If user mentions `@agent`, use it.\n3. **Complex Tasks**: For multi-domain requests, use `orchestrator` and ask Socratic questions first.\n\n### ⚠️ AGENT ROUTING CHECKLIST (MANDATORY BEFORE EVERY CODE/DESIGN RESPONSE)\n\n**Before ANY code or design work, you MUST complete this mental checklist:**\n\n| Step | Check | If Unchecked |\n|------|-------|--------------|\n| 1 | Did I identify the correct agent for this domain? | → STOP. Analyze request domain first. |\n| 2 | Did I READ the agent's `.md` file (or recall its rules)? | → STOP. Open `.agents/agent/{agent}.md` |\n| 3 | Did I announce `🤖 Applying knowledge of @[agent]...`? | → STOP. Add announcement before response. |\n| 4 | Did I load required skills from agent's frontmatter? | → STOP. Check `skills:` field and read them. |\n\n**Failure Conditions:**\n\n- ❌ Writing code without identifying an agent = **PROTOCOL VIOLATION**\n- ❌ Skipping the announcement = **USER CANNOT VERIFY AGENT WAS USED**\n- ❌ Ignoring agent-specific rules (e.g., Purple Ban) = **QUALITY FAILURE**\n\n> 🔴 **Self-Check Trigger:** Every time you are about to write code or create UI, ask yourself:\n> \"Have I completed the Agent Routing Checklist?\" If NO → Complete it first.\n\n---\n\n## 🎭 Gemini Mode Mapping\n\n| Mode     | Agent             | Behavior                                     |\n| -------- | ----------------- | -------------------------------------------- |\n| **plan** | `project-planner` | 4-phase methodology. NO CODE before Phase 4. |\n| **ask**  | -                 | Focus on understanding. Ask questions.       |\n| **edit** | `orchestrator`    | Execute. Check `{task-slug}.md` first.       |\n\n> 🔴 **Edit mode:** If multi-file or structural change → Offer to create `{task-slug}.md`. For single-file fixes → Proceed directly.\n> Full Plan Mode (4-Phase) protocol lives in `code-rules.md`.\n\n---\n","frontmatter":{"name":"request-routing","version":"1.0.0","priority":"P0","trigger":"always_on"},"isInternal":false,"tokens":1131,"sizeBytes":4568},{"name":"universal-rules.md","path":".agents/rules/universal-rules.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/rules/universal-rules.md","title":"universal-rules","category":"anthropic-skill","format":"markdown","content":"---\nname: universal-rules\nversion: 1.0.0\npriority: P0\ntrigger: always_on\n---\n\n# Universal Rules (TIER 0) - AG Kit\n\n> Always-active rules that apply to every request, regardless of domain.\n\n---\n\n## 🌐 Language Handling\n\nWhen user's prompt is NOT in English:\n\n1. **Internally translate** for better comprehension\n2. **Respond in user's language** - match their communication\n3. **Code comments/variables** remain in English\n\n---\n\n## 🧹 Clean Code (Global Mandatory)\n\n**ALL code MUST follow `@[skills/clean-code]` rules. No exceptions.**\n\n- **Code**: Concise, direct, no over-engineering. Self-documenting.\n- **Testing**: Mandatory. Pyramid (Unit > Int > E2E) + AAA Pattern.\n- **Performance**: Measure first. Adhere to current Core Web Vitals standards.\n- **Infra/Safety**: 5-Phase Deployment. Verify secrets security.\n\n---\n","frontmatter":{"name":"universal-rules","version":"1.0.0","priority":"P0","trigger":"always_on"},"isInternal":false,"tokens":211,"sizeBytes":825},{"name":"api-style.md","path":".agents/skills/api-patterns/api-style.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/api-patterns/api-style.md","title":"Api-patterns Skill","category":"anthropic-skill","format":"markdown","content":"# API Style Selection\n\n> REST vs GraphQL vs tRPC - which one, when?\n\n## Decision Tree\n\n```\nWho are the API consumers?\n│\n├── Public API / Multiple platforms\n│   └── REST + OpenAPI (widest compatibility)\n│\n├── Complex data needs / Multiple frontends\n│   └── GraphQL (flexible queries)\n│\n├── TypeScript frontend + backend (monorepo)\n│   └── tRPC (end-to-end type safety)\n│\n├── Real-time / Event-driven\n│   └── WebSocket + AsyncAPI\n│\n└── Internal microservices\n    └── gRPC (performance) or REST (simplicity)\n```\n\n## Comparison\n\n| Factor | REST | GraphQL | tRPC |\n|--------|------|---------|------|\n| **Best for** | Public APIs | Complex apps | TS monorepos |\n| **Learning curve** | Low | Medium | Low (if TS) |\n| **Over/under fetching** | Common | Solved | Solved |\n| **Type safety** | Manual (OpenAPI) | Schema-based | Automatic |\n| **Caching** | HTTP native | Complex | Client-based |\n\n## Selection Questions\n\n1. Who are the API consumers?\n2. Is the frontend TypeScript?\n3. How complex are the data relationships?\n4. Is caching critical?\n5. Public or internal API?\n","isInternal":false,"tokens":297,"sizeBytes":1142},{"name":"auth.md","path":".agents/skills/api-patterns/auth.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/api-patterns/auth.md","title":"Api-patterns Skill","category":"anthropic-skill","format":"markdown","content":"# Authentication Patterns\n\n> Choose auth pattern based on use case.\n\n## Selection Guide\n\n| Pattern | Best For |\n|---------|----------|\n| **JWT** | Stateless, microservices |\n| **Session** | Traditional web, simple |\n| **OAuth 2.0** | Third-party integration |\n| **API Keys** | Server-to-server, public APIs |\n| **Passkey** | Modern passwordless (2025+) |\n\n## JWT Principles\n\n```\nImportant:\n├── Always verify signature\n├── Check expiration\n├── Include minimal claims\n├── Use short expiry + refresh tokens\n└── Never store sensitive data in JWT\n```\n","isInternal":false,"tokens":138,"sizeBytes":576},{"name":"documentation.md","path":".agents/skills/api-patterns/documentation.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/api-patterns/documentation.md","title":"Api-patterns Skill","category":"anthropic-skill","format":"markdown","content":"# API Documentation Principles\n\n> Good docs = happy developers = API adoption.\n\n## OpenAPI/Swagger Essentials\n\n```\nInclude:\n├── All endpoints with examples\n├── Request/response schemas\n├── Authentication requirements\n├── Error response formats\n└── Rate limiting info\n```\n\n## Good Documentation Has\n\n```\nEssentials:\n├── Quick start / Getting started\n├── Authentication guide\n├── Complete API reference\n├── Error handling guide\n├── Code examples (multiple languages)\n└── Changelog\n```\n","isInternal":false,"tokens":120,"sizeBytes":549},{"name":"graphql.md","path":".agents/skills/api-patterns/graphql.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/api-patterns/graphql.md","title":"Api-patterns Skill","category":"anthropic-skill","format":"markdown","content":"# GraphQL Principles\n\n> Flexible queries for complex, interconnected data.\n\n## When to Use\n\n```\n✅ Good fit:\n├── Complex, interconnected data\n├── Multiple frontend platforms\n├── Clients need flexible queries\n├── Evolving data requirements\n└── Reducing over-fetching matters\n\n❌ Poor fit:\n├── Simple CRUD operations\n├── File upload heavy\n├── HTTP caching important\n└── Team unfamiliar with GraphQL\n```\n\n## Schema Design Principles\n\n```\nPrinciples:\n├── Think in graphs, not endpoints\n├── Design for evolvability (no versions)\n├── Use connections for pagination\n├── Be specific with types (not generic \"data\")\n└── Handle nullability thoughtfully\n```\n\n## Security Considerations\n\n```\nProtect against:\n├── Query depth attacks → Set max depth\n├── Query complexity → Calculate cost\n├── Batching abuse → Limit batch size\n├── Introspection → Disable in production\n```\n","isInternal":false,"tokens":221,"sizeBytes":977},{"name":"rate-limiting.md","path":".agents/skills/api-patterns/rate-limiting.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/api-patterns/rate-limiting.md","title":"Api-patterns Skill","category":"anthropic-skill","format":"markdown","content":"# Rate Limiting Principles\n\n> Protect your API from abuse and overload.\n\n## Why Rate Limit\n\n```\nProtect against:\n├── Brute force attacks\n├── Resource exhaustion\n├── Cost overruns (if pay-per-use)\n└── Unfair usage\n```\n\n## Strategy Selection\n\n| Type | How | When |\n|------|-----|------|\n| **Token bucket** | Burst allowed, refills over time | Most APIs |\n| **Sliding window** | Smooth distribution | Strict limits |\n| **Fixed window** | Simple counters per window | Basic needs |\n\n## Response Headers\n\n```\nInclude in headers:\n├── X-RateLimit-Limit (max requests)\n├── X-RateLimit-Remaining (requests left)\n├── X-RateLimit-Reset (when limit resets)\n└── Return 429 when exceeded\n```\n","isInternal":false,"tokens":183,"sizeBytes":726},{"name":"response.md","path":".agents/skills/api-patterns/response.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/api-patterns/response.md","title":"Api-patterns Skill","category":"anthropic-skill","format":"markdown","content":"# Response Format Principles\n\n> Consistency is key - choose a format and stick to it.\n\n## Common Patterns\n\n```\nChoose one:\n├── Envelope pattern ({ success, data, error })\n├── Direct data (just return the resource)\n└── HAL/JSON:API (hypermedia)\n```\n\n## Error Response\n\n```\nInclude:\n├── Error code (for programmatic handling)\n├── User message (for display)\n├── Details (for debugging, field-level errors)\n├── Request ID (for support)\n└── NOT internal details (security!)\n```\n\n## Pagination Types\n\n| Type | Best For | Trade-offs |\n|------|----------|------------|\n| **Offset** | Simple, jumpable | Performance on large datasets |\n| **Cursor** | Large datasets | Can't jump to page |\n| **Keyset** | Performance critical | Requires sortable key |\n\n### Selection Questions\n\n1. How large is the dataset?\n2. Do users need to jump to specific pages?\n3. Is data frequently changing?\n","isInternal":false,"tokens":218,"sizeBytes":921},{"name":"rest.md","path":".agents/skills/api-patterns/rest.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/api-patterns/rest.md","title":"Api-patterns Skill","category":"anthropic-skill","format":"markdown","content":"# REST Principles\n\n> Resource-based API design - nouns not verbs.\n\n## Resource Naming Rules\n\n```\nPrinciples:\n├── Use NOUNS, not verbs (resources, not actions)\n├── Use PLURAL forms (/users not /user)\n├── Use lowercase with hyphens (/user-profiles)\n├── Nest for relationships (/users/123/posts)\n└── Keep shallow (max 3 levels deep)\n```\n\n## HTTP Method Selection\n\n| Method | Purpose | Idempotent? | Body? |\n|--------|---------|-------------|-------|\n| **GET** | Read resource(s) | Yes | No |\n| **POST** | Create new resource | No | Yes |\n| **PUT** | Replace entire resource | Yes | Yes |\n| **PATCH** | Partial update | No | Yes |\n| **DELETE** | Remove resource | Yes | No |\n\n## Status Code Selection\n\n| Situation | Code | Why |\n|-----------|------|-----|\n| Success (read) | 200 | Standard success |\n| Created | 201 | New resource created |\n| No content | 204 | Success, nothing to return |\n| Bad request | 400 | Malformed request |\n| Unauthorized | 401 | Missing/invalid auth |\n| Forbidden | 403 | Valid auth, no permission |\n| Not found | 404 | Resource doesn't exist |\n| Conflict | 409 | State conflict (duplicate) |\n| Validation error | 422 | Valid syntax, invalid data |\n| Rate limited | 429 | Too many requests |\n| Server error | 500 | Our fault |\n","isInternal":false,"tokens":331,"sizeBytes":1280},{"name":"security-testing.md","path":".agents/skills/api-patterns/security-testing.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/api-patterns/security-testing.md","title":"Api-patterns Skill","category":"anthropic-skill","format":"markdown","content":"# API Security Testing\n\n> Principles for testing API security. OWASP API Top 10, authentication, authorization testing.\n\n---\n\n## OWASP API Security Top 10\n\n| Vulnerability | Test Focus |\n|---------------|------------|\n| **API1: BOLA** | Access other users' resources |\n| **API2: Broken Auth** | JWT, session, credentials |\n| **API3: Property Auth** | Mass assignment, data exposure |\n| **API4: Resource Consumption** | Rate limiting, DoS |\n| **API5: Function Auth** | Admin endpoints, role bypass |\n| **API6: Business Flow** | Logic abuse, automation |\n| **API7: SSRF** | Internal network access |\n| **API8: Misconfiguration** | Debug endpoints, CORS |\n| **API9: Inventory** | Shadow APIs, old versions |\n| **API10: Unsafe Consumption** | Third-party API trust |\n\n---\n\n## Authentication Testing\n\n### JWT Testing\n\n| Check | What to Test |\n|-------|--------------|\n| Algorithm | None, algorithm confusion |\n| Secret | Weak secrets, brute force |\n| Claims | Expiration, issuer, audience |\n| Signature | Manipulation, key injection |\n\n### Session Testing\n\n| Check | What to Test |\n|-------|--------------|\n| Generation | Predictability |\n| Storage | Client-side security |\n| Expiration | Timeout enforcement |\n| Invalidation | Logout effectiveness |\n\n---\n\n## Authorization Testing\n\n| Test Type | Approach |\n|-----------|----------|\n| **Horizontal** | Access peer users' data |\n| **Vertical** | Access higher privilege functions |\n| **Context** | Access outside allowed scope |\n\n### BOLA/IDOR Testing\n\n1. Identify resource IDs in requests\n2. Capture request with user A's session\n3. Replay with user B's session\n4. Check for unauthorized access\n\n---\n\n## Input Validation Testing\n\n| Injection Type | Test Focus |\n|----------------|------------|\n| SQL | Query manipulation |\n| NoSQL | Document queries |\n| Command | System commands |\n| LDAP | Directory queries |\n\n**Approach:** Test all parameters, try type coercion, test boundaries, check error messages.\n\n---\n\n## Rate Limiting Testing\n\n| Aspect | Check |\n|--------|-------|\n| Existence | Is there any limit? |\n| Bypass | Headers, IP rotation |\n| Scope | Per-user, per-IP, global |\n\n**Bypass techniques:** X-Forwarded-For, different HTTP methods, case variations, API versioning.\n\n---\n\n## GraphQL Security\n\n| Test | Focus |\n|------|-------|\n| Introspection | Schema disclosure |\n| Batching | Query DoS |\n| Nesting | Depth-based DoS |\n| Authorization | Field-level access |\n\n---\n\n## Security Testing Checklist\n\n**Authentication:**\n- [ ] Test for bypass\n- [ ] Check credential strength\n- [ ] Verify token security\n\n**Authorization:**\n- [ ] Test BOLA/IDOR\n- [ ] Check privilege escalation\n- [ ] Verify function access\n\n**Input:**\n- [ ] Test all parameters\n- [ ] Check for injection\n\n**Config:**\n- [ ] Check CORS\n- [ ] Verify headers\n- [ ] Test error handling\n\n---\n\n> **Remember:** APIs are the backbone of modern apps. Test them like attackers will.\n","isInternal":false,"tokens":678,"sizeBytes":2892},{"name":"SKILL.md","path":".agents/skills/api-patterns/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/api-patterns/SKILL.md","title":"api-patterns","category":"anthropic-skill","format":"markdown","content":"---\nname: api-patterns\ndescription: API design principles and decision-making. REST vs GraphQL vs tRPC selection, response formats, versioning, pagination.\nwhen_to_use: \"When designing REST/GraphQL/tRPC APIs, defining response formats, versioning, pagination, or API authentication. NOT for UI/frontend work.\"\nallowed-tools: Read, Write, Edit, Glob, Grep\nversion: 1.0.0\n---\n\n# API Patterns\n\n> API design principles and decision-making.\n> **Learn to THINK, not copy fixed patterns.**\n\n## 🎯 Selective Reading Rule\n\n**Read ONLY files relevant to the request!** Check the content map, find what you need.\n\n---\n\n## 📑 Content Map\n\n| File | Description | When to Read |\n|------|-------------|--------------|\n| `api-style.md` | REST vs GraphQL vs tRPC decision tree | Choosing API type |\n| `rest.md` | Resource naming, HTTP methods, status codes | Designing REST API |\n| `response.md` | Envelope pattern, error format, pagination | Response structure |\n| `graphql.md` | Schema design, when to use, security | Considering GraphQL |\n| `trpc.md` | TypeScript monorepo, type safety | TS fullstack projects |\n| `versioning.md` | URI/Header/Query versioning | API evolution planning |\n| `auth.md` | JWT, OAuth, Passkey, API Keys | Auth pattern selection |\n| `rate-limiting.md` | Token bucket, sliding window | API protection |\n| `documentation.md` | OpenAPI/Swagger best practices | Documentation |\n| `security-testing.md` | OWASP API Top 10, auth/authz testing | Security audits |\n\n---\n\n## 🔗 Related Skills\n\n| Need | Skill |\n|------|-------|\n| API implementation | `@[skills/nodejs-best-practices]` |\n| Data structure | `@[skills/database-design]` |\n| Security details | `@[skills/vulnerability-scanner]` |\n\n---\n\n## ✅ Decision Checklist\n\nBefore designing an API:\n\n- [ ] **Asked user about API consumers?**\n- [ ] **Chosen API style for THIS context?** (REST/GraphQL/tRPC)\n- [ ] **Defined consistent response format?**\n- [ ] **Planned versioning strategy?**\n- [ ] **Considered authentication needs?**\n- [ ] **Planned rate limiting?**\n- [ ] **Documentation approach defined?**\n\n---\n\n## ❌ Anti-Patterns\n\n**DON'T:**\n- Default to REST for everything\n- Use verbs in REST endpoints (/getUsers)\n- Return inconsistent response formats\n- Expose internal errors to clients\n- Skip rate limiting\n\n**DO:**\n- Choose API style based on context\n- Ask about client requirements\n- Document thoroughly\n- Use appropriate status codes\n\n---\n\n## Script\n\n| Script | Purpose | Command |\n|--------|---------|---------|\n| `scripts/api_validator.py` | API endpoint validation | `python scripts/api_validator.py <project_path>` |\n\n","frontmatter":{"name":"api-patterns","description":"API design principles and decision-making. REST vs GraphQL vs tRPC selection, response formats, versioning, pagination.","when_to_use":"When designing REST/GraphQL/tRPC APIs, defining response formats, versioning, pagination, or API authentication. NOT for UI/frontend work.","allowed-tools":"Read, Write, Edit, Glob, Grep","version":"1.0.0","allowedTools":["Read,","Write,","Edit,","Glob,","Grep"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep"],"isInternal":false,"tokens":626,"sizeBytes":2600},{"name":"trpc.md","path":".agents/skills/api-patterns/trpc.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/api-patterns/trpc.md","title":"Api-patterns Skill","category":"anthropic-skill","format":"markdown","content":"# tRPC Principles\n\n> End-to-end type safety for TypeScript monorepos.\n\n## When to Use\n\n```\n✅ Perfect fit:\n├── TypeScript on both ends\n├── Monorepo structure\n├── Internal tools\n├── Rapid development\n└── Type safety critical\n\n❌ Poor fit:\n├── Non-TypeScript clients\n├── Public API\n├── Need REST conventions\n└── Multiple language backends\n```\n\n## Key Benefits\n\n```\nWhy tRPC:\n├── Zero schema maintenance\n├── End-to-end type inference\n├── IDE autocomplete across stack\n├── Instant API changes reflected\n└── No code generation step\n```\n\n## Integration Patterns\n\n```\nCommon setups:\n├── Next.js + tRPC (most common)\n├── Monorepo with shared types\n├── Remix + tRPC\n└── Any TS frontend + backend\n```\n","isInternal":false,"tokens":202,"sizeBytes":801},{"name":"versioning.md","path":".agents/skills/api-patterns/versioning.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/api-patterns/versioning.md","title":"Api-patterns Skill","category":"anthropic-skill","format":"markdown","content":"# Versioning Strategies\n\n> Plan for API evolution from day one.\n\n## Decision Factors\n\n| Strategy | Implementation | Trade-offs |\n|----------|---------------|------------|\n| **URI** | /v1/users | Clear, easy caching |\n| **Header** | Accept-Version: 1 | Cleaner URLs, harder discovery |\n| **Query** | ?version=1 | Easy to add, messy |\n| **None** | Evolve carefully | Best for internal, risky for public |\n\n## Versioning Philosophy\n\n```\nConsider:\n├── Public API? → Version in URI\n├── Internal only? → May not need versioning\n├── GraphQL? → Typically no versions (evolve schema)\n├── tRPC? → Types enforce compatibility\n```\n","isInternal":false,"tokens":158,"sizeBytes":651},{"name":"agent-coordination.md","path":".agents/skills/app-builder/agent-coordination.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/app-builder/agent-coordination.md","title":"App-builder Skill","category":"anthropic-skill","format":"markdown","content":"# Agent Coordination\n\n> How App Builder orchestrates specialist agents.\n\n## Agent Pipeline\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                   APP BUILDER (Orchestrator)                 │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│                     PROJECT PLANNER                          │\n│  • Task breakdown                                            │\n│  • Dependency graph                                          │\n│  • File structure planning                                   │\n│  • Create {task-slug}.md in project root (MANDATORY)             │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│              CHECKPOINT: PLAN VERIFICATION                   │\n│  🔴 VERIFY: Does {task-slug}.md exist in project root?       │\n│  🔴 If NO → STOP → Create plan file first                    │\n│  🔴 If YES → Proceed to specialist agents                    │\n└─────────────────────────────────────────────────────────────┘\n                              │\n          ┌───────────────────┼───────────────────┐\n          ▼                   ▼                   ▼\n┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐\n│ DATABASE        │ │ BACKEND         │ │ DESIGN SOURCE   │\n│ ARCHITECT       │ │ SPECIALIST      │ │ OF TRUTH        │\n│                 │ │                 │ │                 │\n│ • Schema design │ │ • API routes    │ │ • Read design-  │\n│ • Migrations    │ │ • Controllers   │ │   spec & refs   │\n│ • Seed data     │ │ • Middleware    │ │ • Create        │\n│                 │ │                 │ │   DESIGN.md     │\n└─────────────────┘ └─────────────────┘ └─────────────────┘\n          │                   │                   │\n          │                   │                   ▼\n          │                   │         ┌─────────────────┐\n          │                   │         │ FRONTEND        │\n          │                   │         │ SPECIALIST      │\n          │                   │         │                 │\n          │                   │         │ • UI Components │\n          │                   │         │ • Pages         │\n          │                   │         │ • Strict tokens │\n          │                   │         └─────────────────┘\n          │                   │                   │\n          └───────────────────┼───────────────────┘\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│                 PARALLEL PHASE (Optional)                    │\n│  • Security Auditor → Vulnerability check                   │\n│  • Test Engineer → Unit tests                               │\n│  • Performance Optimizer → Bundle analysis                  │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│                     DEVOPS ENGINEER                          │\n│  • Environment setup                                         │\n│  • Preview deployment (`python .agents/scripts/auto_preview.py`) │\n│  • Health check & report URL                                 │\n└─────────────────────────────────────────────────────────────┘\n```\n\n## Execution Order\n\n| Phase | Agent(s) / Step | Parallel? | Prerequisite | CHECKPOINT |\n|-------|-----------------|-----------|--------------|------------|\n| 0 | Socratic Gate | ❌ | - | ✅ Ask 3 questions |\n| 1 | Project Planner | ❌ | Questions answered | ✅ **{task-slug}.md created** |\n| 1.5 | **PLAN VERIFICATION** | ❌ | {task-slug}.md exists | ✅ **File exists in root** |\n| 1.8 | **DESIGN SOURCE-OF-TRUTH** | ❌ | Plan verified (UI projects) | ✅ **DESIGN.md created at root** |\n| 2 | Database Architect | ❌ | Plan ready | Schema defined |\n| 3 | Backend Specialist | ❌ | Schema ready | API routes created |\n| 4 | Frontend Specialist | ✅ | DESIGN.md + API ready (partial) | UI components match tokens |\n| 5 | Security Auditor, Test Engineer | ✅ | Code ready | Tests & audit pass |\n| 6 | DevOps Engineer | ❌ | All code ready | Deployment & preview ready |\n\n> 🔴 **CRITICAL:** Phase 1.5 and Phase 1.8 are MANDATORY gates.\n> - Phase 1.5: No specialist agents proceed without `{task-slug}.md` verification.\n> - Phase 1.8: For any project with a UI (web, mobile, desktop), **`DESIGN.md` MUST exist at the project root** before writing UI components or pages (per `@[rules/design-rules]` and `@[skills/design-spec]`). Skip only for headless APIs or CLI tools.\n\n","isInternal":false,"tokens":1081,"sizeBytes":6826},{"name":"feature-building.md","path":".agents/skills/app-builder/feature-building.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/app-builder/feature-building.md","title":"App-builder Skill","category":"anthropic-skill","format":"markdown","content":"# Feature Building\n\n> How to analyze and implement new features.\n\n## Feature Analysis\n\n```\nRequest: \"add payment system\"\n\nAnalysis:\n├── Required Changes:\n│   ├── Database: orders, payments tables\n│   ├── Backend: /api/checkout, /api/webhooks/stripe\n│   ├── Frontend: CheckoutForm, PaymentSuccess\n│   └── Config: Stripe API keys\n│\n├── Dependencies:\n│   ├── stripe package\n│   └── Existing user authentication\n│\n└── Scope: DB + 2 API routes + 2 components + config\n```\n\n## Iterative Enhancement Process\n\n```\n1. Analyze existing project & architecture\n2. Create change plan ({task-slug}.md)\n3. If UI modified/added: check & align with DESIGN.md\n4. Present plan to user & get approval\n5. Apply changes with specialist agents\n6. Test & validate (lint, typecheck, unit tests)\n7. Start preview (python .agents/scripts/auto_preview.py)\n```\n\n\n## Error Handling\n\n| Error Type | Solution Strategy |\n|------------|-------------------|\n| TypeScript Error | Fix type, add missing import |\n| Missing Dependency | Run npm install |\n| Port Conflict | Suggest alternative port |\n| Database Error | Check migration, validate connection |\n\n## Recovery Strategy\n\n```\n1. Detect error\n2. Try automatic fix\n3. If failed, report to user\n4. Suggest alternative\n5. Rollback if necessary\n```\n","isInternal":false,"tokens":315,"sizeBytes":1334},{"name":"project-detection.md","path":".agents/skills/app-builder/project-detection.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/app-builder/project-detection.md","title":"App-builder Skill","category":"anthropic-skill","format":"markdown","content":"# Project Type Detection\n\n> Analyze user requests to determine project type and template.\n\n## Keyword Matrix\n\n| Keywords | Project Type | Template |\n|----------|--------------|----------|\n| blog, post, article | Blog | astro-static |\n| e-commerce, product, cart, payment | E-commerce | nextjs-saas |\n| dashboard, panel, management | Admin Dashboard | nextjs-fullstack |\n| ai, chat, bot, llm, rag, agent app | AI / Chatbot App | nextjs-fullstack (AI SDK / Streaming) |\n| game, 2d, 3d, canvas, phaser, godot | Game Application | game-development skill (via `game-developer`) |\n| api, backend, service, rest | API Service | express-api |\n| python, fastapi, django | Python API | python-fastapi |\n| mobile, android, ios, react native | Mobile App (RN) | react-native-app |\n| flutter, dart | Mobile App (Flutter) | flutter-app |\n| portfolio, personal, cv | Portfolio | nextjs-static |\n| crm, customer, sales | CRM | nextjs-fullstack |\n| saas, subscription, stripe | SaaS | nextjs-saas |\n| landing, promotional, marketing | Landing Page | nextjs-static |\n| docs, documentation | Documentation | astro-static |\n| extension, plugin, chrome | Browser Extension | chrome-extension |\n| desktop, electron | Desktop App | electron-desktop |\n| cli, command line, terminal | CLI Tool | cli-tool |\n| monorepo, workspace | Monorepo | monorepo-turborepo |\n\n\n## Detection Process\n\n```\n1. Tokenize user request\n2. Extract keywords\n3. Determine project type\n4. Detect missing information → forward to project-planner / orchestrator\n5. Suggest tech stack\n```\n\n## Conflict Resolution\n\nWhen a request matches multiple keywords (e.g. \"a CLI to manage my e-commerce products\" matches both `cli` and `e-commerce`), resolve in this order:\n\n| Priority | Rule | Example |\n|----------|------|---------|\n| 1 | **Platform wins over domain.** A concrete platform (mobile / desktop / cli / extension) outranks a web/business domain (e-commerce, crm, blog). | \"CLI to manage e-commerce\" → **cli-tool** (e-commerce is the data domain, not the deliverable) |\n| 2 | **Head noun wins.** The keyword describing what is being built (grammatical subject) outranks modifiers. | \"a **dashboard** for my Shopify store\" → **nextjs-fullstack** (dashboard is the thing; Shopify is context) |\n| 3 | **Still ambiguous → ask.** If no rule breaks the tie, do NOT guess. Surface the options through the Socratic Gate (Phase 0) and let the user choose. | \"an app for my shop\" → ask: web, mobile, or desktop? |\n\n","isInternal":false,"tokens":621,"sizeBytes":2466},{"name":"scaffolding.md","path":".agents/skills/app-builder/scaffolding.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/app-builder/scaffolding.md","title":"App-builder Skill","category":"anthropic-skill","format":"markdown","content":"# Project Scaffolding\n\n> Directory structure and core files for new projects.\n\n---\n\n## Next.js Full-Stack Structure (Next.js 16 Optimized)\n\n```\nproject-name/\n├── src/\n│   ├── app/                        # Routes only (thin layer)\n│   │   ├── layout.tsx\n│   │   ├── page.tsx\n│   │   ├── globals.css             # Tailwind v4 config (@theme) lives here\n│   │   ├── (auth)/                 # Route group - auth pages\n│   │   │   ├── login/page.tsx\n│   │   │   └── register/page.tsx\n│   │   ├── (dashboard)/            # Route group - dashboard layout\n│   │   │   ├── layout.tsx\n│   │   │   └── page.tsx\n│   │   └── api/                    # Route Handlers (webhooks/external only)\n│   │       └── [resource]/route.ts\n│   │\n│   ├── components/                 # UI components\n│   │   ├── ui/                     # Reusable primitives (Button, Input)\n│   │   └── forms/                  # Client forms (useActionState)\n│   │\n│   ├── lib/                        # Shared utilities & server-only logic\n│   │   ├── db.ts                   # Prisma singleton client\n│   │   ├── dal.ts                  # Data Access Layer (server-only, DTOs)\n│   │   └── utils.ts                # Helper functions\n│   │\n│   ├── actions/                    # Server Actions (mutations)\n│   │\n│   └── types/                      # Global TypeScript types\n│\n├── prisma/\n│   ├── schema.prisma\n│   ├── migrations/\n│   └── seed.ts\n│\n├── public/\n├── proxy.ts                        # Network boundary (auth, redirects)\n├── DESIGN.md                       # Design source-of-truth tokens & rationale (MANDATORY for UI)\n├── .env.example\n├── .env.local\n├── package.json\n├── next.config.ts\n├── tsconfig.json\n└── README.md\n```\n\n---\n\n## Structure Principles\n\n| Principle | Implementation |\n|-----------|----------------|\n| **Thin routes** | `app/` only for routing + layouts, logic lives in `actions/` and `lib/` |\n| **Server/Client separation** | Server-only logic in `lib/dal.ts`, prevents accidental client imports |\n| **Data Access Layer** | `lib/dal.ts` centralizes DB access and returns DTOs for safe reuse |\n| **Mutations via Server Actions** | `actions/` holds Server Actions, called from forms with `useActionState` |\n| **Route groups** | `(groupName)/` for layout sharing without URL impact |\n| **Reusable UI** | `components/ui/` for primitives, `components/forms/` for client forms |\n\n---\n\n| File | Purpose |\n|------|---------|\n| `proxy.ts` | Next.js 16 network boundary logic (auth, redirects). Renamed from `middleware.ts`, runs on Node.js runtime |\n| `DESIGN.md` | Single source of truth for visual tokens (YAML frontmatter) & rationale (MANDATORY before UI) |\n| `package.json` | Dependencies |\n| `next.config.ts` | Next.js config (TypeScript) |\n| `tsconfig.json` | TypeScript + path aliases (`@/*`) |\n| `.env.example` | Environment template |\n| `README.md` | Project documentation |\n| `.gitignore` | Git ignore rules |\n| `prisma/schema.prisma` | Database schema |\n| `src/app/globals.css` | Tailwind v4 config via `@theme` (no `tailwind.config.js`) |\n\n\n---\n\n## Path Aliases (tsconfig.json)\n\n```json\n{\n  \"compilerOptions\": {\n    \"paths\": {\n      \"@/*\": [\"./src/*\"],\n      \"@/components/*\": [\"./src/components/*\"],\n      \"@/lib/*\": [\"./src/lib/*\"],\n      \"@/actions/*\": [\"./src/actions/*\"]\n    }\n  }\n}\n```\n\n---\n\n## When to Use What\n\n| Need | Location |\n|------|----------|\n| New page/route | `app/(group)/page.tsx` |\n| Reusable button/input | `components/ui/` |\n| Client form | `components/forms/` |\n| Server action (mutation) | `actions/` |\n| Data fetching / DB query | `lib/dal.ts` |\n| Prisma client | `lib/db.ts` |\n| Helper function | `lib/utils.ts` |\n| Auth / redirect logic | `proxy.ts` |\n","isInternal":false,"tokens":994,"sizeBytes":3985},{"name":"SKILL.md","path":".agents/skills/app-builder/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/app-builder/SKILL.md","title":"app-builder","category":"anthropic-skill","format":"markdown","content":"---\nname: app-builder\ndescription: Main application building orchestrator. Creates full-stack applications from natural language requests. Determines project type, selects tech stack, coordinates agents.\nwhen_to_use: \"When creating a new full-stack application from scratch, selecting tech stack, or scaffolding project structure. Use with /create workflow.\"\nallowed-tools: Read, Write, Edit, Glob, Grep, Bash, Agent\nversion: 1.1.0\n---\n\n# App Builder - Application Building Orchestrator\n\n> Analyzes user's requests, determines tech stack, plans structure, and coordinates agents.\n\n## 🎯 Selective Reading Rule\n\n**Read ONLY files relevant to the request!** Check the content map, find what you need.\n\n| File | Description | When to Read |\n|------|-------------|--------------|\n| `project-detection.md` | Keyword matrix, project type detection | Starting new project |\n| `tech-stack.md` | 2026 default stack, alternatives | Choosing technologies |\n| `agent-coordination.md` | Agent pipeline, execution order | Coordinating multi-agent work |\n| `scaffolding.md` | Directory structure, core files | Creating project structure |\n| `feature-building.md` | Feature analysis, error handling | Adding features to existing project |\n| `templates/SKILL.md` | **Project templates** | Scaffolding new project |\n\n---\n\n## 📦 Templates (13)\n\nQuick-start scaffolding for new projects. **Read the matching template only!**\n\n| Template | Tech Stack | When to Use |\n|----------|------------|-------------|\n| [nextjs-fullstack](templates/nextjs-fullstack/TEMPLATE.md) | Next.js + Prisma | Full-stack web app |\n| [nextjs-saas](templates/nextjs-saas/TEMPLATE.md) | Next.js + Stripe | SaaS product |\n| [nextjs-static](templates/nextjs-static/TEMPLATE.md) | Next.js + Framer | Landing page |\n| [nuxt-app](templates/nuxt-app/TEMPLATE.md) | Nuxt 4 + Pinia | Vue full-stack app |\n| [express-api](templates/express-api/TEMPLATE.md) | Express + JWT | REST API |\n| [python-fastapi](templates/python-fastapi/TEMPLATE.md) | FastAPI | Python API |\n| [react-native-app](templates/react-native-app/TEMPLATE.md) | Expo + Zustand | Mobile app |\n| [flutter-app](templates/flutter-app/TEMPLATE.md) | Flutter + Riverpod | Cross-platform mobile |\n| [electron-desktop](templates/electron-desktop/TEMPLATE.md) | Electron + React | Desktop app |\n| [chrome-extension](templates/chrome-extension/TEMPLATE.md) | Chrome MV3 | Browser extension |\n| [cli-tool](templates/cli-tool/TEMPLATE.md) | Node.js + Commander | CLI app |\n| [monorepo-turborepo](templates/monorepo-turborepo/TEMPLATE.md) | Turborepo + pnpm | Monorepo |\n| [astro-static](templates/astro-static/TEMPLATE.md) | Astro + MDX | Blog / Documentation |\n\n---\n\n## 🔗 Related Agents\n\n| Agent | Role |\n|-------|------|\n| `project-planner` | Task breakdown, dependency graph |\n| `frontend-specialist` | UI components, pages |\n| `backend-specialist` | API, business logic |\n| `database-architect` | Schema, migrations |\n| `devops-engineer` | Deployment, preview |\n\n---\n\n## Usage Example\n\n```\nUser: \"Make an Instagram clone with photo sharing and likes\"\n\nApp Builder Process:\n1. Project type: Social Media App\n2. Tech stack: Next.js + Prisma + Cloudinary + Clerk\n3. Create plan:\n   ├─ Database schema (users, posts, likes, follows)\n   ├─ API routes (auth, posts, likes, follows)\n   ├─ Pages (feed, profile, upload)\n   └─ Components (PostCard, Feed, LikeButton)\n4. Coordinate agents\n5. Report progress\n6. Start preview\n```\n","frontmatter":{"name":"app-builder","description":"Main application building orchestrator. Creates full-stack applications from natural language requests. Determines project type, selects tech stack, coordinates agents.","when_to_use":"When creating a new full-stack application from scratch, selecting tech stack, or scaffolding project structure. Use with /create workflow.","allowed-tools":"Read, Write, Edit, Glob, Grep, Bash, Agent","version":"1.1.0","allowedTools":["Read,","Write,","Edit,","Glob,","Grep,","Bash,","Agent"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep,","Bash,","Agent"],"isInternal":false,"tokens":845,"sizeBytes":3449},{"name":"tech-stack.md","path":".agents/skills/app-builder/tech-stack.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/app-builder/tech-stack.md","title":"App-builder Skill","category":"anthropic-skill","format":"markdown","content":"# Tech Stack Selection (2026)\n\n> Default and alternative technology choices for web applications.\n\n## Default Stack (Web App - 2026)\n\n```yaml\nFrontend:\n  framework: Next.js 16 (Stable)\n  language: TypeScript 5.7+\n  styling: Tailwind CSS v4\n  state: React 19 Actions / Server Components\n  caching: Next.js 16 Cache Components (Stable)\n  bundler: Turbopack (Stable for Dev & Build)\n\nBackend:\n  runtime: Node.js 24 (Krypton LTS)\n  framework: Next.js API Routes / Hono (for Edge)\n  validation: Zod / TypeBox\n\nDatabase:\n  primary: PostgreSQL\n  orm: Prisma / Drizzle\n  hosting: Supabase / Neon\n\nAuth:\n  provider: Auth.js (v5) / Clerk\n\nMonorepo:\n  tool: Turborepo 2.0\n```\n\n## Alternative Options\n\n| Need | Default | Alternative |\n|------|---------|-------------|\n| Real-time | Supabase Realtime | Socket.io, Ably |\n| File storage | Supabase Storage | Cloudinary, AWS S3 |\n| Payment | Stripe | LemonSqueezy, Paddle |\n| Email | Resend | SendGrid, Postmark |\n| Search | Algolia | Typesense, Orama |\n| AI / LLM SDK | Vercel AI SDK (`ai` + `@ai-sdk/*`) | LangChain.js, direct REST API |\n| Vector Database | PostgreSQL (pgvector via Supabase / Neon) | Pinecone, Qdrant |\n| ORM (SQL-first) | Prisma ORM | Drizzle ORM (`drizzle-orm` + `drizzle-kit`) |\n\n---\n\n## AI Application Pattern (2026 Standard)\n\nWhen building an AI or LLM-powered application:\n- **Streaming**: Use Vercel AI SDK `streamText` / `streamUI` in Route Handlers or Server Actions.\n- **UI State**: Leverage `useChat` / `useCompletion` with React 19 optimistic updates.\n- **Embeddings & Vector**: Store vectors in PostgreSQL using `pgvector` extension; query via cosine similarity.\n- **Safety & Rate Limits**: Protect AI endpoints with rate limiting (`@[skills/api-patterns/rate-limiting]`) and Zod schema parsing.\n\n","isInternal":false,"tokens":489,"sizeBytes":1765},{"name":"TEMPLATE.md","path":".agents/skills/app-builder/templates/astro-static/TEMPLATE.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/app-builder/templates/astro-static/TEMPLATE.md","title":"astro-static","category":"anthropic-skill","format":"markdown","content":"---\nname: astro-static\ndescription: Astro static site template principles. Content-focused websites, blogs, documentation.\n---\n\n# Astro Static Site Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Framework | Astro 6.x |\n| Content | MDX + Content Collections (Content Layer API) |\n| Styling | Tailwind CSS v4 (@tailwindcss/vite) |\n| Integrations | Sitemap, RSS, SEO |\n| Output | Static/SSG |\n\n---\n\n## Directory Structure\n\n```\nproject-name/\n├── src/\n│   ├── components/      # .astro components\n│   ├── content/         # Collection entries (blog/, docs/ .md/.mdx)\n│   ├── layouts/         # Page layouts\n│   ├── pages/           # File-based routing (only reserved dir)\n│   ├── styles/\n│   │   └── global.css   # @import \"tailwindcss\";\n│   └── content.config.ts # Collection definitions (Content Layer, in src/ root)\n├── public/              # Static assets\n├── astro.config.mjs\n└── package.json\n```\n\n---\n\n## Key Concepts\n\n| Concept | Description |\n|---------|-------------|\n| Content Layer API | Collections defined in `src/content.config.ts` with `loader`s (glob/file) + Zod schemas |\n| Islands Architecture | Partial hydration for interactivity |\n| Zero JS by default | Static HTML unless needed |\n| MDX Support | Markdown with components |\n\n---\n\n## Setup Steps\n\n1. `npm create astro@latest {{name}}`\n2. Add integrations: `npx astro add mdx sitemap`\n3. Add Tailwind v4: `npx astro add tailwind` (installs @tailwindcss/vite, not the legacy @astrojs/tailwind)\n4. Define collections in `src/content.config.ts` using `loader`s + Zod schemas\n5. `npm run dev`\n\n---\n\n## Deployment\n\n| Platform | Method |\n|----------|--------|\n| Vercel | Auto-detected |\n| Netlify | Auto-detected |\n| Cloudflare Pages | Auto-detected |\n| GitHub Pages | Build + deploy action |\n\n---\n\n## Best Practices\n\n- Use Content Collections for type safety\n- Leverage static generation\n- Add islands only where needed\n- Optimize images with Astro Image\n","frontmatter":{"name":"astro-static","description":"Astro static site template principles. Content-focused websites, blogs, documentation."},"isInternal":false,"tokens":515,"sizeBytes":2137},{"name":"TEMPLATE.md","path":".agents/skills/app-builder/templates/chrome-extension/TEMPLATE.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/app-builder/templates/chrome-extension/TEMPLATE.md","title":"chrome-extension","category":"anthropic-skill","format":"markdown","content":"---\nname: chrome-extension\ndescription: Chrome Extension template principles. Manifest V3, React, TypeScript.\n---\n\n# Chrome Extension Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Manifest | V3 |\n| UI | React 19 |\n| Language | TypeScript |\n| Styling | Tailwind CSS v4 |\n| Bundler | Vite + CRXJS (@crxjs/vite-plugin v2) |\n| Storage | Chrome Storage API |\n\n---\n\n## Directory Structure\n\n> CRXJS + Vite: `manifest.config.ts` is the source of truth, Vite resolves entries.\n\n```\nproject-name/\n├── src/\n│   ├── popup/           # { index.html, main.tsx, Popup.tsx }\n│   ├── options/         # { index.html, main.tsx, Options.tsx }\n│   ├── background/      # service-worker.ts (MV3 service worker)\n│   ├── content/         # { content-script.ts, content.css }\n│   ├── components/      # Shared React\n│   └── lib/\n│       ├── storage.ts   # Chrome storage helpers\n│       └── messaging.ts # Message passing\n├── public/              # Static assets (icons)\n├── manifest.config.ts   # defineManifest() — typed manifest\n├── vite.config.ts       # crx({ manifest }) + react + tailwind\n└── package.json\n```\n\n---\n\n## Manifest V3 Concepts\n\n| Component | Purpose |\n|-----------|---------|\n| Service Worker | Background processing |\n| Content Scripts | Page injection |\n| Popup | User interface |\n| Options Page | Settings |\n\n---\n\n## Permissions\n\n| Permission | Use |\n|------------|-----|\n| storage | Save user data |\n| activeTab | Current tab access |\n| scripting | Inject scripts |\n| host_permissions | Site access |\n\n---\n\n## Setup Steps\n\n1. `npm create vite@latest {{name}} -- --template react-ts`\n2. Install CRXJS: `npm install -D @crxjs/vite-plugin@latest`\n3. Add Chrome types: `npm install -D @types/chrome`\n4. Create `manifest.config.ts` with `defineManifest`, wire `crx({ manifest })` in `vite.config.ts`\n5. `npm run dev` (HMR for popup/options/content)\n6. Load in Chrome: `chrome://extensions` → Load unpacked → select `dist/`\n\n---\n\n## Development Tips\n\n| Task | Method |\n|------|--------|\n| Debug Popup | Right-click icon → Inspect |\n| Debug Background | Extensions page → Service worker |\n| Debug Content | DevTools console on page |\n| Hot Reload | `npm run dev` (CRXJS HMR) |\n\n---\n\n## Best Practices\n\n- Use type-safe messaging\n- Wrap Chrome APIs in promises\n- MV3 background is an ephemeral service worker — persist state in `chrome.storage`, not module globals; use event listeners + alarms, not long-lived timers\n- Minimize permissions\n- Scope content-script styles to avoid host-page bleed\n","frontmatter":{"name":"chrome-extension","description":"Chrome Extension template principles. Manifest V3, React, TypeScript."},"isInternal":false,"tokens":660,"sizeBytes":2733},{"name":"TEMPLATE.md","path":".agents/skills/app-builder/templates/cli-tool/TEMPLATE.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/app-builder/templates/cli-tool/TEMPLATE.md","title":"cli-tool","category":"anthropic-skill","format":"markdown","content":"---\nname: cli-tool\ndescription: Node.js CLI tool template principles. Commander.js, interactive prompts.\n---\n\n# CLI Tool Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Runtime | Node.js 24 (Krypton LTS) |\n| Language | TypeScript (ESM) |\n| CLI Framework | Commander.js (v15, needs Node ≥22.12) |\n| Prompts | @inquirer/prompts (modular) |\n| Output | chalk + ora |\n| Config | cosmiconfig |\n\n---\n\n## Directory Structure\n\n```\nproject-name/\n├── src/\n│   ├── index.ts         # Entry: #!/usr/bin/env node shebang, wires Commander\n│   ├── commands/        # One file per command (factory functions)\n│   ├── lib/             # Core logic (framework-agnostic, testable)\n│   ├── utils/           # logger (chalk/ora), prompt wrappers\n│   └── config.ts        # cosmiconfig loader\n├── dist/                # Build output (tsup/tsc)\n└── package.json         # \"type\":\"module\", \"bin\":{...}\n```\n\n---\n\n## CLI Design Principles\n\n| Principle | Description |\n|-----------|-------------|\n| Subcommands | Group related actions |\n| Options | Flags with defaults |\n| Interactive | Prompts when needed |\n| Non-interactive | Support --yes flags |\n\n---\n\n## Key Components\n\n| Component | Purpose |\n|-----------|---------|\n| Commander | Command parsing (use a local `new Command()` for testability) |\n| @inquirer/prompts | Modular interactive prompts (`input`, `select`, `confirm`) |\n| Chalk | Colored output |\n| Ora | Spinners/loading |\n| Cosmiconfig | Config file discovery |\n\n---\n\n## Setup Steps\n\n1. Create project directory\n2. `npm init -y` then set `\"type\": \"module\"`\n3. Install deps: `npm install commander @inquirer/prompts chalk ora cosmiconfig`\n4. Point `bin` at compiled `./dist/index.js`, keep `#!/usr/bin/env node` shebang\n5. `npm link` for local testing\n\n---\n\n## Publishing\n\n```bash\nnpm login\nnpm publish\n```\n\n---\n\n## Best Practices\n\n- Keep `src/index.ts` thin; attach commands via `.addCommand()` factories in `src/commands/`\n- Put business logic in `lib/`/`utils/` so commands stay testable wrappers\n- ESM by default; build with tsup/esbuild\n- Support both interactive and non-interactive (`--yes`) modes\n- Validate inputs with Zod; exit with proper codes (0 success, 1 error)\n- Alternatives worth knowing: @clack/prompts (polished prompts), citty (lightweight ESM command framework)\n","frontmatter":{"name":"cli-tool","description":"Node.js CLI tool template principles. Commander.js, interactive prompts."},"isInternal":false,"tokens":612,"sizeBytes":2470},{"name":"TEMPLATE.md","path":".agents/skills/app-builder/templates/electron-desktop/TEMPLATE.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/app-builder/templates/electron-desktop/TEMPLATE.md","title":"electron-desktop","category":"anthropic-skill","format":"markdown","content":"---\nname: electron-desktop\ndescription: Electron desktop app template principles. Cross-platform, React, TypeScript.\n---\n\n# Electron Desktop App Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Framework | Electron 42+ |\n| UI | React 19 |\n| Language | TypeScript |\n| Styling | Tailwind CSS v4 |\n| Bundler | electron-vite + electron-builder |\n| IPC | Type-safe communication (contextBridge) |\n\n---\n\n## Directory Structure\n\n> electron-vite layout: main / preload / renderer separation is the 2026 standard.\n\n```\nproject-name/\n├── src/\n│   ├── main/            # Main process (lifecycle, windows, IPC handlers)\n│   │   └── index.ts\n│   ├── preload/         # contextBridge — type-safe IPC surface\n│   │   ├── index.ts\n│   │   └── index.d.ts   # Ambient types shared with renderer\n│   └── renderer/        # React app\n│       ├── index.html\n│       └── src/\n│           ├── main.tsx\n│           ├── App.tsx\n│           └── components/\n├── resources/           # App icons / static (build-time)\n├── build/               # Builder assets (entitlements, icons)\n├── electron.vite.config.ts\n├── electron-builder.yml\n└── package.json         # scripts: electron-vite dev | build | preview\n```\n\n---\n\n## Process Model\n\n| Process | Role |\n|---------|------|\n| Main | Node.js, system access |\n| Renderer | Chromium, React UI |\n| Preload | Bridge, context isolation |\n\n---\n\n## Key Concepts\n\n| Concept | Purpose |\n|---------|---------|\n| contextBridge | Safe API exposure |\n| ipcMain/ipcRenderer | Process communication |\n| nodeIntegration: false | Security |\n| contextIsolation: true | Security |\n\n---\n\n## Setup Steps\n\n1. `npm create @quick-start/electron@latest {{name}} -- --template react-ts`\n2. `cd {{name}} && npm install`\n3. Add Tailwind v4: `npm install tailwindcss @tailwindcss/vite`\n4. Define IPC types in `src/preload/index.d.ts`\n5. `npm run dev`\n\n---\n\n## Build Targets\n\n| Platform | Output |\n|----------|--------|\n| Windows | NSIS, Portable |\n| macOS | DMG, ZIP |\n| Linux | AppImage, DEB |\n\n---\n\n## Best Practices\n\n- `contextIsolation: true` (default v12+), `sandbox: true` (default v20+), `nodeIntegration: false` (default v5+) — never enable Node for remote content\n- Expose a narrow API via `contextBridge.exposeInMainWorld`, never raw `ipcRenderer`\n- Validate IPC `sender` against an allowlist; set a restrictive CSP (`script-src 'self'`)\n- Type-safe IPC: share types from `preload/index.d.ts` into the renderer\n- Auto-updates with electron-updater\n","frontmatter":{"name":"electron-desktop","description":"Electron desktop app template principles. Cross-platform, React, TypeScript."},"isInternal":false,"tokens":663,"sizeBytes":2720},{"name":"TEMPLATE.md","path":".agents/skills/app-builder/templates/express-api/TEMPLATE.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/app-builder/templates/express-api/TEMPLATE.md","title":"express-api","category":"anthropic-skill","format":"markdown","content":"---\nname: express-api\ndescription: Express.js REST API template principles. TypeScript, Prisma, JWT.\n---\n\n# Express.js API Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Runtime | Node.js 24 (Krypton LTS) |\n| Framework | Express 5 (stable, default on npm) |\n| Language | TypeScript |\n| Database | PostgreSQL + Prisma |\n| Validation | Zod |\n| Auth | JWT + bcrypt |\n\n---\n\n## Directory Structure\n\n```\nproject-name/\n├── prisma/\n│   └── schema.prisma\n├── src/\n│   ├── app.ts           # Express app + middleware wiring (no listen)\n│   ├── server.ts        # Bootstrap: listen() — split for testability\n│   ├── config/          # Environment\n│   ├── routes/          # Route definitions only\n│   ├── controllers/     # HTTP layer (req/res, calls services)\n│   ├── services/        # Business logic\n│   ├── middlewares/\n│   │   ├── auth.ts      # JWT verify\n│   │   ├── error.ts     # Error handler\n│   │   └── validate.ts  # Zod validation\n│   ├── schemas/         # Zod schemas\n│   └── utils/\n├── tests/\n└── package.json\n```\n\n---\n\n## Middleware Stack\n\n| Order | Middleware |\n|-------|------------|\n| 1 | helmet (security) |\n| 2 | cors |\n| 3 | compression |\n| 4 | body parsing |\n| 5 | morgan (logging) |\n| 6 | routes |\n| 7 | error handler (last, 4-arg signature) |\n\n---\n\n## API Response Format\n\n| Type | Structure |\n|------|-----------|\n| Success | `{ success: true, data: {...} }` |\n| Error | `{ error: \"message\", details: [...] }` |\n\n---\n\n## Setup Steps\n\n1. Create project directory\n2. `npm init -y`\n3. Install deps: `npm install express @prisma/client zod bcrypt jsonwebtoken`\n4. Install devDeps: `npm install -D prisma typescript @types/node @types/express @types/bcrypt @types/jsonwebtoken`\n5. Configure Prisma (`npx prisma init`)\n6. `npm run db:push`\n7. `npm run dev`\n\n\n---\n\n## Best Practices\n\n- Split `app.ts` (wiring) from `server.ts` (`listen`) so the app imports cleanly into tests\n- Layer architecture (routes → controllers → services)\n- Validate all inputs with Zod at the route boundary\n- Centralized error handler last (Express 5 auto-forwards rejected promises — no manual catch wrapper needed)\n- Environment-based config\n- Use Prisma for type-safe DB access\n","frontmatter":{"name":"express-api","description":"Express.js REST API template principles. TypeScript, Prisma, JWT."},"isInternal":false,"tokens":615,"sizeBytes":2449},{"name":"TEMPLATE.md","path":".agents/skills/app-builder/templates/flutter-app/TEMPLATE.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/app-builder/templates/flutter-app/TEMPLATE.md","title":"flutter-app","category":"anthropic-skill","format":"markdown","content":"---\nname: flutter-app\ndescription: Flutter mobile app template principles. Riverpod, Go Router, clean architecture.\n---\n\n# Flutter App Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Framework | Flutter 3.x |\n| Language | Dart 3.x |\n| State | Riverpod 3 (codegen) |\n| Navigation | Go Router |\n| HTTP | Dio |\n| Storage | Hive |\n\n---\n\n## Directory Structure\n\n```\nproject_name/\n├── lib/\n│   ├── main.dart\n│   ├── app.dart\n│   ├── core/\n│   │   ├── constants/\n│   │   ├── theme/\n│   │   ├── router/\n│   │   └── utils/\n│   ├── features/\n│   │   ├── auth/\n│   │   │   ├── data/\n│   │   │   ├── domain/\n│   │   │   └── presentation/\n│   │   └── home/\n│   ├── shared/\n│   │   ├── widgets/\n│   │   └── providers/\n│   └── services/\n│       ├── api/\n│       └── storage/\n├── test/\n└── pubspec.yaml\n```\n\n---\n\n## Architecture Layers\n\n| Layer | Contents |\n|-------|----------|\n| Presentation | Screens, Widgets, Providers |\n| Domain | Entities, Use Cases |\n| Data | Repositories, Models |\n\n---\n\n## Key Packages\n\n| Package | Purpose |\n|---------|---------|\n| flutter_riverpod | State management |\n| riverpod_annotation | Code generation |\n| go_router | Navigation |\n| dio | HTTP client |\n| freezed | Immutable models |\n| hive | Local storage |\n\n---\n\n## Setup Steps\n\n1. `flutter create {{name}} --org com.{{bundle}}`\n2. Update `pubspec.yaml`\n3. `flutter pub get`\n4. Run code generation: `dart run build_runner build`\n5. `flutter run`\n\n---\n\n## Best Practices\n\n- Feature-first folder structure (data / domain / presentation per feature)\n- Riverpod 3 with `riverpod_annotation` codegen (generated ref is just `Ref`; plain `Notifier`, no `AutoDisposeNotifier`)\n- Legacy `StateProvider`/`StateNotifierProvider` moved to `package:riverpod/legacy.dart`\n- Freezed for immutable data classes\n- Go Router for declarative navigation\n- Material 3 theming\n","frontmatter":{"name":"flutter-app","description":"Flutter mobile app template principles. Riverpod, Go Router, clean architecture."},"isInternal":false,"tokens":523,"sizeBytes":2163},{"name":"TEMPLATE.md","path":".agents/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md","title":"monorepo-turborepo","category":"anthropic-skill","format":"markdown","content":"---\nname: monorepo-turborepo\ndescription: Turborepo monorepo template principles. pnpm workspaces, shared packages.\n---\n\n# Turborepo Monorepo Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Build System | Turborepo 2.x |\n| Package Manager | pnpm |\n| Apps | Next.js, Express |\n| Packages | Shared UI, Config, Types, Utils |\n| Language | TypeScript |\n\n---\n\n## Directory Structure\n\n```\nproject-name/\n├── apps/\n│   ├── web/             # Next.js app\n│   ├── api/             # Express API\n│   └── docs/            # Documentation\n├── packages/\n│   ├── ui/              # Shared components (@repo/ui)\n│   ├── config/          # ESLint, TS, Tailwind presets (@repo/config)\n│   ├── types/           # Shared types (@repo/types)\n│   └── utils/           # Shared utilities (@repo/utils)\n├── turbo.json           # \"tasks\" key (renamed from \"pipeline\" in v2)\n├── pnpm-workspace.yaml\n└── package.json         # requires \"packageManager\" field\n```\n\n---\n\n## Key Concepts\n\n| Concept | Description |\n|---------|-------------|\n| Workspaces | Globs declared in `pnpm-workspace.yaml` |\n| Pipeline | `turbo.json` `tasks` graph (NOT `pipeline` — renamed in v2) |\n| Caching | Remote/local task caching |\n| Dependencies | `workspace:*` protocol, `@repo/*` namespace |\n| Env mode | v2 is strict — declare task `env`/`globalEnv` or caching breaks |\n\n---\n\n## Turbo Tasks (turbo.json)\n\n> `tasks` is the v2 key. The `pipeline` key was renamed — migrate with `npx @turbo/codemod rename-pipeline`.\n\n| Task | Depends On |\n|------|------------|\n| build | ^build (dependencies first) |\n| dev | cache: false, persistent |\n| lint | ^build |\n| test | ^build |\n\n---\n\n## Setup Steps\n\n1. Create root directory\n2. `pnpm init`\n3. Create pnpm-workspace.yaml\n4. Create turbo.json\n5. Add apps and packages\n6. `pnpm install`\n7. `pnpm dev`\n\n---\n\n## Common Commands\n\n| Command | Description |\n|---------|-------------|\n| `pnpm dev` | Run all apps |\n| `pnpm build` | Build all |\n| `pnpm --filter @name/web dev` | Run specific app |\n| `pnpm --filter @name/web add axios` | Add dep to app |\n\n---\n\n## Best Practices\n\n- Split `apps/` (deployable) from `packages/` (libraries, shared config)\n- Namespace internal packages with `@repo/*`; reference via `workspace:*`\n- Define entrypoints with the `exports` field (better tree-shaking than barrel files)\n- Share tsconfig/eslint from `packages/config`\n- Declare task `env`/`globalEnv` explicitly (v2 strict env mode)\n- Use Turbo remote caching for CI\n","frontmatter":{"name":"monorepo-turborepo","description":"Turborepo monorepo template principles. pnpm workspaces, shared packages."},"isInternal":false,"tokens":692,"sizeBytes":2677},{"name":"TEMPLATE.md","path":".agents/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md","title":"nextjs-fullstack","category":"anthropic-skill","format":"markdown","content":"---\nname: nextjs-fullstack\ndescription: Next.js full-stack template principles. App Router, Prisma, Tailwind v4.\n---\n\n# Next.js Full-Stack Template (2026 Edition)\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology | Version / Notes |\n|-----------|------------|-----------------|\n| Framework | Next.js | v16+ (App Router, Turbopack) |\n| Runtime | Node.js | v24 (Krypton LTS) |\n| Language | TypeScript | v5+ (Strict Mode) |\n| Database | PostgreSQL | Prisma ORM (Serverless friendly) |\n| Styling | Tailwind CSS | v4.0 (Zero-config, CSS-first) |\n| Auth | Auth.js v5 (`next-auth@beta`) / Clerk | Protected routes via `proxy.ts` |\n| UI Logic | React 19 | Server Actions, useActionState |\n| Validation | Zod | Schema validation (API & Forms) |\n\n---\n\n## Directory Structure\n\n```\nproject-name/\n├── prisma/\n│   └── schema.prisma       # Database schema\n├── src/\n│   ├── app/\n│   │   ├── (auth)/         # Route groups for Login/Register\n│   │   ├── (dashboard)/    # Protected routes\n│   │   ├── api/            # Route Handlers (only for Webhooks/External integration)\n│   │   ├── layout.tsx      # Root Layout (Metadata, Providers)\n│   │   ├── page.tsx        # Landing Page\n│   │   └── globals.css     # Tailwind v4 config (@theme) lives here\n│   ├── components/\n│   │   ├── ui/             # Reusable UI (Button, Input)\n│   │   └── forms/          # Client forms using useActionState\n│   ├── lib/\n│   │   ├── db.ts           # Prisma singleton client\n│   │   ├── utils.ts        # Helper functions\n│   │   └── dal.ts          # Data Access Layer (Server-only)\n│   ├── actions/            # Server Actions (Mutations)\n│   └── types/              # Global TS Types\n├── public/\n├── DESIGN.md               # Visual source-of-truth tokens & rationale (MANDATORY before UI)\n├── next.config.ts          # TypeScript Config\n└── package.json\n```\n\n---\n\n## Key Concepts (Updated)\n\n| Concept | Description |\n|---------|-------------|\n| Server Components | Render on server (default). Direct DB access (Prisma) without APIs. |\n| Server Actions | Handle Form mutations. Replaces traditional API Routes. Use in action={}. |\n| React 19 Hooks | Form state management: useActionState, useFormStatus, useOptimistic. |\n| Data Access Layer | Data security. Separation of DB logic (DTOs) for safe reuse. |\n| Tailwind v4 | Styling engine. No tailwind.config.js. Config directly in CSS. |\n\n---\n\n## Environment Variables\n\n| Variable | Purpose |\n|----------|---------|\n| DATABASE_URL | PostgreSQL connection string (Prisma) |\n| NEXT_PUBLIC_APP_URL | Public application URL |\n| AUTH_SECRET | Auth.js v5 session secret (default auth) |\n| NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY | Auth (if using Clerk instead) |\n| CLERK_SECRET_KEY | Clerk secret (server only, if using Clerk) |\n\n---\n\n## Setup Steps\n\n1. Initialize Project:\n   ```bash\n   npx create-next-app@latest my-app --typescript --tailwind --eslint\n   # Select Yes for App Router\n   # Select No for src directory (optional, this template uses src)\n   ```\n\n2. Install DB & Validation:\n   ```bash\n   npm install prisma @prisma/client zod\n   npm install -D ts-node # For running seed scripts\n   ```\n\n3. Configure Tailwind v4 (If missing):\n   Ensure `src/app/globals.css` uses the new import syntax instead of a config file:\n   ```css\n   @import \"tailwindcss\";\n\n   @theme {\n     --color-primary: oklch(0.5 0.2 240);\n     --font-sans: \"Inter\", sans-serif;\n   }\n   ```\n\n4. Initialize Database:\n   ```bash\n   npx prisma init\n   # Update schema.prisma\n   npm run db:push\n   ```\n\n5. Run Developer Server:\n   ```bash\n   npm run dev --turbo\n   # --turbo to enable faster Turbopack\n   ```\n\n---\n\n## Best Practices (2026 Standards)\n\n- **Fetch Data**: Call Prisma directly in Server Components (async/await). Do not use useEffect for initial data fetching.\n- **Mutations**: Use Server Actions combined with React 19's `useActionState` to handle loading and error states instead of manual useState.\n- **Type Safety**: Share Zod schemas between Server Actions (input validation) and Client Forms.\n- **Security**: Always validate input data with Zod before passing it to Prisma.\n- **Styling**: Use native CSS variables in Tailwind v4 for easier dynamic theming.\n","frontmatter":{"name":"nextjs-fullstack","description":"Next.js full-stack template principles. App Router, Prisma, Tailwind v4."},"isInternal":false,"tokens":1104,"sizeBytes":4449},{"name":"TEMPLATE.md","path":".agents/skills/app-builder/templates/nextjs-saas/TEMPLATE.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/app-builder/templates/nextjs-saas/TEMPLATE.md","title":"nextjs-saas","category":"anthropic-skill","format":"markdown","content":"---\nname: nextjs-saas\ndescription: Next.js SaaS template principles (2026 Standards). React 19, Server Actions, Auth.js v5.\n---\n\n# Next.js SaaS Template (Updated 2026)\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology | Version / Notes |\n|-----------|------------|-----------------|\n| Framework | Next.js | v16+ (App Router, React Compiler) |\n| Runtime | Node.js | v24 (Krypton LTS) |\n| Auth | Auth.js | v5 (`next-auth@beta`, formerly NextAuth). Alternative: Clerk |\n| Payments | Stripe API | Latest |\n| Database | PostgreSQL | Prisma v7+ (Serverless Driver) |\n| Email | Resend | React Email |\n| UI | Tailwind CSS | v4 (Oxide Engine, no config file) |\n\n---\n\n## Directory Structure\n\n```\nproject-name/\n├── prisma/\n│   └── schema.prisma    # Database Schema\n├── src/\n│   ├── actions/         # NEW: Server Actions (Replaces API Routes for data mutation)\n│   │   ├── auth-actions.ts\n│   │   ├── billing-actions.ts\n│   │   └── user-actions.ts\n│   ├── app/\n│   │   ├── (auth)/      # Route Group: Login, register\n│   │   ├── (dashboard)/ # Route Group: Protected routes (App Layout)\n│   │   ├── (marketing)/ # Route Group: Landing, pricing (Marketing Layout)\n│   │   └── api/         # Only used for Webhooks or Edge cases\n│   │       └── webhooks/stripe/\n│   ├── components/\n│   │   ├── emails/      # React Email templates\n│   │   ├── forms/       # Client components using useActionState (React 19)\n│   │   └── ui/          # Shadcn UI\n│   ├── lib/\n│   │   ├── auth.ts      # Auth.js v5 config\n│   │   ├── db.ts        # Prisma Singleton\n│   │   ├── data/        # Data Access Layer (server-only reads)\n│   │   └── stripe.ts    # Stripe Singleton\n│   └── app/globals.css  # Tailwind v4 imports (@theme in CSS)\n├── DESIGN.md            # Visual source-of-truth tokens & rationale (MANDATORY before UI)\n└── package.json\n```\n\n---\n\n## SaaS Features\n\n| Feature | Implementation |\n|---------|---------------|\n| Auth | Auth.js v5 + Passkeys + OAuth |\n| Data Mutation | Server Actions (No API routes) |\n| Subscriptions | Stripe Checkout & Customer Portal |\n| Webhooks | Asynchronous Stripe event handling |\n| Email | Transactional via Resend |\n| Validation | Zod (Server-side validation) |\n\n---\n\n## Database Schema\n\n| Model | Fields (Key fields) |\n|-------|---------------------|\n| User | id, email, stripeCustomerId, subscriptionId, plan |\n| Account | OAuth provider data (Google, GitHub...) |\n| Session | User sessions (Database strategy) |\n\n---\n\n## Environment Variables\n\n| Variable | Purpose |\n|----------|---------|\n| DATABASE_URL | Prisma connection string (Postgres) |\n| AUTH_SECRET | Replaces NEXTAUTH_SECRET (Auth.js v5) |\n| STRIPE_SECRET_KEY | Payments (Server-side) |\n| STRIPE_WEBHOOK_SECRET | Webhook verification |\n| RESEND_API_KEY | Email sending |\n| NEXT_PUBLIC_APP_URL | Application Canonical URL |\n\n---\n\n## Setup Steps\n\n1. Initialize project (Node 24):\n   ```bash\n   npx create-next-app@latest {{name}} --typescript --eslint\n   ```\n\n2. Install core libraries:\n   ```bash\n   npm install next-auth@beta stripe resend @prisma/client\n   ```\n\n3. Install Tailwind v4 (Add to globals.css):\n   ```css\n   @import \"tailwindcss\";\n   ```\n\n4. Configure environment (.env.local)\n\n5. Sync Database:\n   ```bash\n   npx prisma db push\n   ```\n\n6. Run local Webhook:\n   ```bash\n   npm run stripe:listen\n   ```\n\n7. Run project:\n   ```bash\n   npm run dev\n   ```\n","frontmatter":{"name":"nextjs-saas","description":"Next.js SaaS template principles (2026 Standards). React 19, Server Actions, Auth.js v5."},"isInternal":false,"tokens":923,"sizeBytes":3664},{"name":"TEMPLATE.md","path":".agents/skills/app-builder/templates/nextjs-static/TEMPLATE.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/app-builder/templates/nextjs-static/TEMPLATE.md","title":"nextjs-static","category":"anthropic-skill","format":"markdown","content":"---\nname: nextjs-static\ndescription: Modern template for Next.js 16, React 19 & Tailwind v4. Optimized for Landing pages and Portfolios.\n---\n\n# Next.js Static Site Template (Modern Edition)\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology | Notes |\n|-----------|------------|-------|\n| Framework | Next.js 16+ | App Router, Turbopack, Static Exports |\n| Core | React 19 | Server Components, New Hooks, Compiler |\n| Language | TypeScript | Strict Mode |\n| Styling | Tailwind CSS v4 | CSS-first configuration (No js config), Oxide Engine |\n| Animations | Framer Motion | Layout animations & gestures |\n| Icons | Lucide React | Lightweight SVG icons |\n| SEO | Metadata API | Native Next.js API (Replaces next-seo) |\n\n---\n\n## Directory Structure\n\nStreamlined structure thanks to Tailwind v4 (theme configuration lives inside CSS).\n\n```\nproject-name/\n├── src/\n│   ├── app/\n│   │   ├── layout.tsx    # Contains root SEO Metadata\n│   │   ├── page.tsx      # Landing Page\n│   │   ├── globals.css   # Import Tailwind v4 & @theme config\n│   │   ├── not-found.tsx # Custom 404 page\n│   │   ├── sitemap.ts    # Generated sitemap (Metadata convention)\n│   │   ├── robots.ts     # Generated robots.txt (Metadata convention)\n│   │   ├── opengraph-image.tsx # Dynamic OG image\n│   │   └── (routes)/     # Route groups (about, contact...)\n│   ├── components/\n│   │   ├── layout/       # Header, Footer\n│   │   ├── sections/     # Hero, Features, Pricing, CTA\n│   │   └── ui/           # Atomic components (Button, Card)\n│   └── lib/\n│       └── utils.ts      # Helper functions (cn, formatters)\n├── content/              # Markdown/MDX content\n├── public/               # Static assets (images, fonts)\n├── DESIGN.md             # Visual source-of-truth tokens & rationale (MANDATORY before UI)\n├── next.config.ts        # Next.js Config (TypeScript)\n└── package.json\n```\n\n---\n\n## Static Export Config\n\nUsing `next.config.ts` instead of `.js` for better type safety.\n\n```typescript\n// next.config.ts\nimport type { NextConfig } from \"next\";\n\nconst nextConfig: NextConfig = {\n  output: 'export',        // Required for Static Hosting (S3, GitHub Pages)\n  images: { \n    unoptimized: true      // Required if not using Node.js server image optimization\n  },\n  trailingSlash: true,     // Recommended for SEO and fixing 404s on some hosts\n  reactStrictMode: true,\n};\n\nexport default nextConfig;\n```\n\n---\n\n## SEO Implementation (Metadata API)\n\nDeprecated next-seo. Configure directly in layout.tsx or page.tsx.\n\n```typescript\n// src/app/layout.tsx\nimport type { Metadata } from 'next';\n\nexport const metadata: Metadata = {\n  title: {\n    template: '%s | Product Name',\n    default: 'Home - Product Name',\n  },\n  description: 'SEO optimized description for the landing page.',\n  openGraph: {\n    type: 'website',\n    locale: 'en_US',\n    url: 'https://mysite.com',\n    siteName: 'My Brand',\n  },\n};\n```\n\n---\n\n## Landing Page Sections\n\n| Section | Purpose | Suggested Component |\n|---------|---------|---------------------|\n| Hero | First impression, H1 & Main CTA | `<HeroSection />` |\n| Features | Product benefits (Grid/Bento layout) | `<FeaturesGrid />` |\n| Social Proof | Partner logos, User numbers | `<LogoCloud />` |\n| Testimonials | Customer reviews | `<TestimonialCarousel />` |\n| Pricing | Service plans | `<PricingCards />` |\n| FAQ | Questions & Answers (Good for SEO) | `<Accordion />` |\n| CTA | Final conversion | `<CallToAction />` |\n\n---\n\n## Animation Patterns (Framer Motion)\n\n| Pattern | Usage | Implementation |\n|---------|-------|----------------|\n| Fade Up | Headlines, paragraphs | `initial={{ opacity: 0, y: 20 }} animate={{ opacity: 1, y: 0 }}` |\n| Stagger | Lists of Features/Cards | Use variants with `staggerChildren` |\n| Parallax | Background images or floating elements | `useScroll` & `useTransform` |\n| Micro-interactions | Hover buttons, click effects | `whileHover={{ scale: 1.05 }} whileTap={{ scale: 0.95 }}` |\n\n---\n\n## Setup Steps\n\n1. Initialize Project:\n   ```bash\n   npx create-next-app@latest my-site --typescript --tailwind --eslint\n   # Select 'Yes' for App Router\n   # Select 'No' for 'Would you like to customize the default import alias?'\n   ```\n\n2. Install Auxiliary Libraries:\n   ```bash\n   npm install framer-motion lucide-react clsx tailwind-merge\n   # clsx and tailwind-merge help handle dynamic classes better\n   ```\n\n3. Configure Tailwind v4 (in `src/app/globals.css`):\n   ```css\n   @import \"tailwindcss\";\n\n   @theme {\n     --color-primary: #3b82f6;\n     --font-sans: 'Inter', sans-serif;\n   }\n   ```\n\n4. Development:\n   ```bash\n   npm run dev --turbopack\n   ```\n\n---\n\n## Deployment\n\n| Platform | Method | Important Notes |\n|----------|--------|-----------------|\n| Vercel | Git Push | Auto-detects Next.js. Best for performance. |\n| GitHub Pages | GitHub Actions | Need to set `basePath` in `next.config.ts` if not using a custom domain. |\n| AWS S3 / CloudFront | Upload out folder | Ensure Error Document is configured to `404.html`. |\n| Netlify | Git Push | Set build command to `npm run build`. |\n\n---\n\n## Best Practices (Modern)\n\n- **React Server Components (RSC)**: Default all components to Server Components. Only add `'use client'` when you need state (`useState`) or event listeners (`onClick`).\n- **Image Optimization**: Use the `<Image />` component but remember `unoptimized: true` for static export or use an external image CDN (Cloudinary/Imgix).\n- **Font Optimization**: Use `next/font` (Google Fonts) to automatically host fonts and prevent layout shift.\n- **Responsive**: Mobile-first design using Tailwind prefixes like `sm:`, `md:`, `lg:`.\n","frontmatter":{"name":"nextjs-static","description":"Modern template for Next.js 16, React 19 & Tailwind v4. Optimized for Landing pages and Portfolios."},"isInternal":false,"tokens":1455,"sizeBytes":5861},{"name":"TEMPLATE.md","path":".agents/skills/app-builder/templates/nuxt-app/TEMPLATE.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/app-builder/templates/nuxt-app/TEMPLATE.md","title":"nuxt-app","category":"anthropic-skill","format":"markdown","content":"---\nname: nuxt-app\ndescription: Nuxt 4 full-stack template. Vue 3, Pinia, Tailwind v4, Prisma.\n---\n\n# Nuxt 4 Full-Stack Template (2026 Edition)\n\n> Modern full-stack template for Nuxt 4. Versions reflect the latest stable line verified 2026-05; pin to current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology | Version / Notes |\n|-----------|------------|-----------------|\n| Framework | Nuxt | v4+ (app/ srcDir structure) |\n| UI Engine | Vue | v3 (stable) |\n| Language | TypeScript | v5+ (Strict Mode) |\n| State | Pinia | v3+ (setup store syntax) |\n| Database | PostgreSQL | Prisma ORM |\n| Styling | Tailwind CSS | v4 (@tailwindcss/vite plugin) |\n| UI Lib | Nuxt UI | v3 (Tailwind v4 native) |\n| Validation | Zod | Schema validation |\n\n---\n\n## Directory Structure (Nuxt 4 Standard)\n\nNuxt 4 defaults `srcDir` to `app/`, keeping client code separate from `server/` and root config.\n\n```\nproject-name/\n├── app/                  # Application source (Nuxt 4 srcDir)\n│   ├── assets/css/\n│   │   └── main.css      # Tailwind v4 import\n│   ├── components/       # Auto-imported components\n│   ├── composables/      # Auto-imported logic\n│   ├── layouts/\n│   ├── middleware/\n│   ├── pages/            # File-based routing\n│   ├── plugins/\n│   ├── stores/           # Pinia stores\n│   ├── app.vue           # Root component\n│   └── app.config.ts     # Reactive runtime config\n├── server/               # Nitro server engine\n│   ├── api/              # API routes (e.g. /api/users)\n│   ├── routes/           # Server routes\n│   └── utils/            # Server-only helpers (Prisma client)\n├── shared/               # Isomorphic code (types, Zod schemas)\n├── prisma/\n│   └── schema.prisma\n├── public/\n├── nuxt.config.ts\n└── package.json\n```\n\n---\n\n## Key Concepts (2026)\n\n| Concept | Description |\n|---------|-------------|\n| **app/ srcDir** | Client code lives under `app/`, cleanly separated from `server/` and config |\n| **shared/** | Isomorphic code (types, Zod validators) usable in both Vue app and Nitro server |\n| **Server Engine** | Nitro-based; API routes in `server/api/`, Prisma client in `server/utils/` |\n| **Tailwind v4** | CSS-first config; theme lives in CSS via `@theme`, no `tailwind.config.js` |\n| **Vapor Mode** | Experimental no-VDOM renderer (not GA in 2026). Opt-in per component via `<script setup vapor>` when shipped |\n\n---\n\n## Environment Variables\n\n| Variable | Purpose |\n|----------|---------|\n| DATABASE_URL | Prisma connection string (PostgreSQL) |\n| NUXT_PUBLIC_APP_URL | Canonical URL |\n| NUXT_SESSION_PASSWORD | Session encryption key |\n\n---\n\n## Setup Steps\n\n1. Initialize project:\n   ```bash\n   npx nuxi@latest init my-app\n   ```\n\n2. Install core deps:\n   ```bash\n   npm install @pinia/nuxt @prisma/client zod\n   npm install -D prisma\n   ```\n\n3. Setup Tailwind v4 (first-party Vite plugin, NOT @nuxtjs/tailwindcss):\n   ```bash\n   npm install tailwindcss @tailwindcss/vite\n   ```\n\n   Add to `nuxt.config.ts`:\n   ```ts\n   import tailwindcss from '@tailwindcss/vite'\n   export default defineNuxtConfig({\n     vite: { plugins: [tailwindcss()] },\n     css: ['~/assets/css/main.css']\n   })\n   ```\n\n4. Configure CSS in `app/assets/css/main.css`:\n   ```css\n   @import \"tailwindcss\";\n   @theme {\n     --color-primary: oklch(0.6 0.15 150);\n   }\n   ```\n\n5. Run development:\n   ```bash\n   npm run dev\n   ```\n\n---\n\n## Best Practices\n\n- **Data Fetching**: Use `useFetch`/`useAsyncData` for SSR-friendly data; reserve `server: false` for client-only work.\n- **State**: Use Pinia (`defineStore`) for global state, Nuxt's `useState` for simple shared SSR state.\n- **Validation**: Define Zod schemas in `shared/` and reuse on client forms and Nitro API routes.\n- **Type Safety**: API route types are inferred automatically with `$fetch`.\n- **Server-only**: Instantiate the Prisma client in `server/utils/` so it never leaks to the client bundle.\n","frontmatter":{"name":"nuxt-app","description":"Nuxt 4 full-stack template. Vue 3, Pinia, Tailwind v4, Prisma."},"isInternal":false,"tokens":1069,"sizeBytes":4032},{"name":"TEMPLATE.md","path":".agents/skills/app-builder/templates/python-fastapi/TEMPLATE.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/app-builder/templates/python-fastapi/TEMPLATE.md","title":"python-fastapi","category":"anthropic-skill","format":"markdown","content":"---\nname: python-fastapi\ndescription: FastAPI REST API template principles. SQLAlchemy, Pydantic, Alembic.\n---\n\n# FastAPI API Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Framework | FastAPI |\n| Language | Python 3.12+ (current stable 3.14) |\n| ORM | SQLAlchemy 2.0 (async) |\n| Validation | Pydantic v2 |\n| Migrations | Alembic |\n| Auth | JWT + passlib |\n\n---\n\n## Directory Structure\n\n> Domain/module layout (scales better than file-type for non-trivial apps). Each domain owns its router, schemas, models, service.\n\n```\nproject-name/\n├── alembic/             # Migrations\n├── src/\n│   ├── auth/\n│   │   ├── router.py    # APIRouter\n│   │   ├── schemas.py   # Pydantic models\n│   │   ├── models.py    # SQLAlchemy models\n│   │   ├── service.py   # Business logic\n│   │   ├── dependencies.py\n│   │   └── exceptions.py\n│   ├── posts/           # Same shape per domain\n│   ├── config.py        # Global settings (BaseSettings)\n│   ├── database.py      # Async engine / session\n│   ├── models.py        # Shared base models\n│   ├── exceptions.py    # Global exceptions\n│   └── main.py          # FastAPI() + include_router\n├── tests/\n├── requirements/        # base.txt / dev.txt / prod.txt\n├── alembic.ini\n└── .env\n```\n\n---\n\n## Key Concepts\n\n| Concept | Description |\n|---------|-------------|\n| Domain modules | Each feature folder owns router + schemas + models + service |\n| Async | async/await throughout (AsyncSession, async_sessionmaker) |\n| Dependency Injection | FastAPI Depends (validation, auth, DB session) |\n| Pydantic v2 | Validation + serialization |\n| SQLAlchemy 2.0 | Async sessions |\n\n---\n\n## API Structure\n\n| Layer | Responsibility |\n|-------|---------------|\n| Routers | HTTP handling |\n| Dependencies | Auth, validation |\n| Services | Business logic |\n| Models | Database entities |\n| Schemas | Request/response |\n\n---\n\n## Setup Steps\n\n1. `python -m venv venv`\n2. `source venv/bin/activate`\n3. `pip install fastapi uvicorn \"sqlalchemy[asyncio]\" alembic pydantic pydantic-settings`\n4. Create `.env`\n5. `alembic upgrade head`\n6. `uvicorn src.main:app --reload`\n\n---\n\n## Best Practices\n\n- Use async everywhere (AsyncSession, async dependencies; wrap sync SDKs in `run_in_threadpool`)\n- Per-module `BaseSettings` over one global config\n- Pydantic v2 for validation\n- SQLAlchemy 2.0 async sessions\n- Alembic migrations: static, reversible, descriptive slugs\n- pytest-asyncio for tests; use `dependency_overrides` to mock\n","frontmatter":{"name":"python-fastapi","description":"FastAPI REST API template principles. SQLAlchemy, Pydantic, Alembic."},"isInternal":false,"tokens":671,"sizeBytes":2726},{"name":"TEMPLATE.md","path":".agents/skills/app-builder/templates/react-native-app/TEMPLATE.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/app-builder/templates/react-native-app/TEMPLATE.md","title":"react-native-app","category":"anthropic-skill","format":"markdown","content":"---\nname: react-native-app\ndescription: React Native mobile app template principles. Expo, TypeScript, navigation.\n---\n\n# React Native App Template (2026 Edition)\n\n> Modern mobile app, optimized for New Architecture and React 19. Versions reflect the latest stable line verified 2026-05; NativeWind v5 is pre-release — pin deliberately when scaffolding.\n\n## Tech Stack\n\n| Component | Technology | Version / Notes |\n|-----------|------------|-----------------|\n| Core | React Native + Expo | SDK 56+ (New Architecture Enabled) |\n| Language | TypeScript | v5+ (Strict Mode) |\n| UI Logic | React | v19 (React Compiler, auto-memoization) |\n| Navigation | Expo Router | File-based, Universal Links |\n| Styling | NativeWind | v5 (pre-release, Tailwind v4 CSS-first) |\n| State | Zustand + React Query | v5+ (Async State Management) |\n| Storage | Expo SecureStore | Encrypted local storage |\n\n---\n\n## Directory Structure\n\nExpo Router keeps `app/` for routes only; everything else lives under `src/` with the `@/*` alias.\n\n```\nproject-name/\n├── src/\n│   ├── app/             # Expo Router (file-based routing ONLY)\n│   │   ├── _layout.tsx  # Root Layout (Stack/Tabs config)\n│   │   ├── index.tsx    # Main Screen\n│   │   ├── (tabs)/      # Route Group for Tab Bar\n│   │   │   ├── _layout.tsx\n│   │   │   ├── home.tsx\n│   │   │   └── profile.tsx\n│   │   ├── +not-found.tsx\n│   │   └── [id].tsx     # Dynamic Route (Typed)\n│   ├── components/\n│   │   ├── ui/          # Primitive Components (Button, Text)\n│   │   └── features/    # Complex Components\n│   ├── hooks/           # Custom Hooks\n│   ├── lib/\n│   │   ├── api.ts       # Axios/Fetch client\n│   │   └── storage.ts   # SecureStore wrapper\n│   ├── store/           # Zustand stores\n│   └── constants/       # Colors, Theme config\n├── assets/              # Fonts, Images\n├── global.css           # NativeWind v5 entry: @import \"tailwindcss\"\n├── babel.config.js      # NativeWind Babel preset\n├── metro.config.js      # withNativeWind wrapper\n└── app.json             # Expo Config\n```\n\n---\n\n## Navigation Patterns (Expo Router)\n\n| Pattern | Description | Implement |\n|---------|-------------|-----------|\n| Stack | Hierarchical navigation (Push/Pop) | `<Stack />` in `_layout.tsx` |\n| Tabs | Bottom navigation bar | `<Tabs />` in `(tabs)/_layout.tsx` |\n| Drawer | Side slide-out menu | `expo-router/drawer` |\n| Modals | Overlay screens | `presentation: 'modal'` in Stack screen |\n\n---\n\n## Key Packages & Purpose\n\n| Package | Purpose |\n|---------|---------|\n| expo-router | File-based routing (Next.js like) |\n| nativewind | Use Tailwind CSS classes in React Native |\n| react-native-reanimated | Smooth animations (runs on UI thread) |\n| @tanstack/react-query | Server state management, caching, pre-fetching |\n| zustand | Global state management (lighter than Redux) |\n| expo-image | Optimized image rendering for performance |\n\n---\n\n## Setup Steps (2026 Standard)\n\n1. Initialize Project:\n   ```bash\n   npx create-expo-app@latest my-app --template default\n   cd my-app\n   ```\n\n2. Install Core Dependencies:\n   ```bash\n   npx expo install expo-router react-native-safe-area-context react-native-screens expo-link expo-constants expo-status-bar\n   ```\n\n3. Install NativeWind v5 (pre-release, Tailwind v4 CSS-first):\n   ```bash\n   npm install nativewind@next tailwindcss react-native-reanimated\n   ```\n\n4. Configure NativeWind (Babel, Metro & CSS):\n   - Add the preset to `babel.config.js`: `presets: [[\"babel-preset-expo\", { jsxImportSource: \"nativewind\" }], \"nativewind/babel\"]`.\n   - Wrap Metro: `withNativeWind(config, { input: './global.css' })` in `metro.config.js`.\n   - Create `global.css` with `@import \"tailwindcss\";` (theme via `@theme`, no `tailwind.config.js`).\n   - Import `global.css` in `src/app/_layout.tsx`.\n\n5. Run Project:\n   ```bash\n   npx expo start -c\n   # Press 'i' for iOS simulator or 'a' for Android emulator\n   ```\n\n---\n\n## Best Practices (Updated)\n\n- **New Architecture**: Ensure `newArchEnabled: true` in `app.json` to leverage TurboModules and Fabric Renderer.\n- **Typed Routes**: Use Expo Router's \"Typed Routes\" feature for type-safe routing (e.g., `router.push('/path')`).\n- **React 19**: Reduce usage of `useMemo` or `useCallback` thanks to React Compiler (if enabled).\n- **Components**: Build UI primitives (Box, Text) with NativeWind className for reusability.\n- **Assets**: Use `expo-image` instead of default `<Image />` for better caching and performance.\n- **API**: Always wrap API calls with TanStack Query, avoid direct calls in `useEffect`.\n","frontmatter":{"name":"react-native-app","description":"React Native mobile app template principles. Expo, TypeScript, navigation."},"isInternal":false,"tokens":1197,"sizeBytes":4741},{"name":"SKILL.md","path":".agents/skills/app-builder/templates/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/app-builder/templates/SKILL.md","title":"templates","category":"anthropic-skill","format":"markdown","content":"---\nname: templates\ndescription: Project scaffolding templates for new applications. Use when creating new projects from scratch. Contains 13 templates for various tech stacks.\nallowed-tools: Read, Glob, Grep\n---\n\n# Project Templates\n\n> Quick-start templates for scaffolding new projects.\n\n---\n\n## 🎯 Selective Reading Rule\n\n**Read ONLY the template matching user's project type!**\n\n| Template | Tech Stack | When to Use |\n|----------|------------|-------------|\n| [nextjs-fullstack](nextjs-fullstack/TEMPLATE.md) | Next.js + Prisma | Full-stack web app |\n| [nextjs-saas](nextjs-saas/TEMPLATE.md) | Next.js + Stripe | SaaS product |\n| [nextjs-static](nextjs-static/TEMPLATE.md) | Next.js + Framer | Landing page |\n| [nuxt-app](nuxt-app/TEMPLATE.md) | Nuxt 4 + Pinia | Vue full-stack app |\n| [express-api](express-api/TEMPLATE.md) | Express + JWT | REST API |\n| [python-fastapi](python-fastapi/TEMPLATE.md) | FastAPI | Python API |\n| [react-native-app](react-native-app/TEMPLATE.md) | Expo + Zustand | Mobile app |\n| [flutter-app](flutter-app/TEMPLATE.md) | Flutter + Riverpod | Cross-platform |\n| [electron-desktop](electron-desktop/TEMPLATE.md) | Electron + React | Desktop app |\n| [chrome-extension](chrome-extension/TEMPLATE.md) | Chrome MV3 | Browser extension |\n| [cli-tool](cli-tool/TEMPLATE.md) | Node.js + Commander | CLI app |\n| [monorepo-turborepo](monorepo-turborepo/TEMPLATE.md) | Turborepo + pnpm | Monorepo |\n| [astro-static](astro-static/TEMPLATE.md) | Astro + MDX | Blog / Docs |\n\n---\n\n## Usage\n\n1. User says \"create [type] app\"\n2. Match to appropriate template\n3. Read ONLY that template's TEMPLATE.md\n4. Follow its tech stack and structure\n","frontmatter":{"name":"templates","description":"Project scaffolding templates for new applications. Use when creating new projects from scratch. Contains 13 templates for various tech stacks.","allowed-tools":"Read, Glob, Grep","allowedTools":["Read,","Glob,","Grep"]},"allowedTools":["Read,","Glob,","Grep"],"isInternal":false,"tokens":435,"sizeBytes":1660},{"name":"context-discovery.md","path":".agents/skills/architecture/context-discovery.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/architecture/context-discovery.md","title":"Architecture Skill","category":"anthropic-skill","format":"markdown","content":"# Context Discovery\n\n> Before suggesting any architecture, gather context.\n\n## Question Hierarchy (Ask User FIRST)\n\n1. **Scale**\n   - How many users? (10, 1K, 100K, 1M+)\n   - Data volume? (MB, GB, TB)\n   - Transaction rate? (per second/minute)\n\n2. **Team**\n   - Solo developer or team?\n   - Team size and expertise?\n   - Distributed or co-located?\n\n3. **Timeline**\n   - MVP/Prototype or long-term product?\n   - Time to market pressure?\n\n4. **Domain**\n   - CRUD-heavy or business logic complex?\n   - Real-time requirements?\n   - Compliance/regulations?\n\n5. **Constraints**\n   - Budget limitations?\n   - Legacy systems to integrate?\n   - Technology stack preferences?\n\n## Project Classification Matrix\n\n```\n                    MVP              SaaS           Enterprise\n┌─────────────────────────────────────────────────────────────┐\n│ Scale        │ <1K           │ 1K-100K      │ 100K+        │\n│ Team         │ Solo          │ 2-10         │ 10+          │\n│ Timeline     │ Fast (weeks)  │ Medium (months)│ Long (years)│\n│ Architecture │ Simple        │ Modular      │ Distributed  │\n│ Patterns     │ Minimal       │ Selective    │ Comprehensive│\n│ Example      │ Next.js API   │ NestJS       │ Microservices│\n└─────────────────────────────────────────────────────────────┘\n```\n","isInternal":false,"tokens":323,"sizeBytes":1591},{"name":"examples.md","path":".agents/skills/architecture/examples.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/architecture/examples.md","title":"Architecture Skill","category":"anthropic-skill","format":"markdown","content":"# Architecture Examples\n\n> Real-world architecture decisions by project type.\n\n---\n\n## Example 1: MVP E-commerce (Solo Developer)\n\n```yaml\nRequirements:\n  - <1000 users initially\n  - Solo developer\n  - Fast to market (8 weeks)\n  - Budget-conscious\n\nArchitecture Decisions:\n  App Structure: Monolith (simpler for solo)\n  Framework: Next.js (full-stack, fast)\n  Data Layer: Prisma direct (no over-abstraction)\n  Authentication: JWT (simpler than OAuth)\n  Payment: Stripe (hosted solution)\n  Database: PostgreSQL (ACID for orders)\n\nTrade-offs Accepted:\n  - Monolith → Can't scale independently (team doesn't justify it)\n  - No Repository → Less testable (simple CRUD doesn't need it)\n  - JWT → No social login initially (can add later)\n\nFuture Migration Path:\n  - Users > 10K → Extract payment service\n  - Team > 3 → Add Repository pattern\n  - Social login requested → Add OAuth\n```\n\n---\n\n## Example 2: SaaS Product (5-10 Developers)\n\n```yaml\nRequirements:\n  - 1K-100K users\n  - 5-10 developers\n  - Long-term (12+ months)\n  - Multiple domains (billing, users, core)\n\nArchitecture Decisions:\n  App Structure: Modular Monolith (team size optimal)\n  Framework: NestJS (modular by design)\n  Data Layer: Repository pattern (testing, flexibility)\n  Domain Model: Partial DDD (rich entities)\n  Authentication: OAuth + JWT\n  Caching: Redis\n  Database: PostgreSQL\n\nTrade-offs Accepted:\n  - Modular Monolith → Some module coupling (microservices not justified)\n  - Partial DDD → No full aggregates (no domain experts)\n  - RabbitMQ later → Initial synchronous (add when proven needed)\n\nMigration Path:\n  - Team > 10 → Consider microservices\n  - Domains conflict → Extract bounded contexts\n  - Read performance issues → Add CQRS\n```\n\n---\n\n## Example 3: Enterprise (100K+ Users)\n\n```yaml\nRequirements:\n  - 100K+ users\n  - 10+ developers\n  - Multiple business domains\n  - Different scaling needs\n  - 24/7 availability\n\nArchitecture Decisions:\n  App Structure: Microservices (independent scale)\n  API Gateway: Kong/AWS API GW\n  Domain Model: Full DDD\n  Consistency: Event-driven (eventual OK)\n  Message Bus: Kafka\n  Authentication: OAuth + SAML (enterprise SSO)\n  Database: Polyglot (right tool per job)\n  CQRS: Selected services\n\nOperational Requirements:\n  - Service mesh (Istio/Linkerd)\n  - Distributed tracing (Jaeger/Tempo)\n  - Centralized logging (ELK/Loki)\n  - Circuit breakers (Resilience4j)\n  - Kubernetes/Helm\n```\n","isInternal":false,"tokens":616,"sizeBytes":2430},{"name":"pattern-selection.md","path":".agents/skills/architecture/pattern-selection.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/architecture/pattern-selection.md","title":"Architecture Skill","category":"anthropic-skill","format":"markdown","content":"# Pattern Selection Guidelines\n\n> Decision trees for choosing architectural patterns.\n\n## Main Decision Tree\n\n```\nSTART: What's your MAIN concern?\n\n┌─ Data Access Complexity?\n│  ├─ HIGH (complex queries, testing needed)\n│  │  → Repository Pattern + Unit of Work\n│  │  VALIDATE: Will data source change frequently?\n│  │     ├─ YES → Repository worth the indirection\n│  │     └─ NO  → Consider simpler ORM direct access\n│  └─ LOW (simple CRUD, single database)\n│     → ORM directly (Prisma, Drizzle)\n│     Simpler = Better, Faster\n│\n├─ Business Rules Complexity?\n│  ├─ HIGH (domain logic, rules vary by context)\n│  │  → Domain-Driven Design\n│  │  VALIDATE: Do you have domain experts on team?\n│  │     ├─ YES → Full DDD (Aggregates, Value Objects)\n│  │     └─ NO  → Partial DDD (rich entities, clear boundaries)\n│  └─ LOW (mostly CRUD, simple validation)\n│     → Transaction Script pattern\n│     Simpler = Better, Faster\n│\n├─ Independent Scaling Needed?\n│  ├─ YES (different components scale differently)\n│  │  → Microservices WORTH the complexity\n│  │  REQUIREMENTS (ALL must be true):\n│  │    - Clear domain boundaries\n│  │    - Team > 10 developers\n│  │    - Different scaling needs per service\n│  │  IF NOT ALL MET → Modular Monolith instead\n│  └─ NO (everything scales together)\n│     → Modular Monolith\n│     Can extract services later when proven needed\n│\n└─ Real-time Requirements?\n   ├─ HIGH (immediate updates, multi-user sync)\n   │  → Event-Driven Architecture\n   │  → Message Queue (RabbitMQ, Redis, Kafka)\n   │  VALIDATE: Can you handle eventual consistency?\n   │     ├─ YES → Event-driven valid\n   │     └─ NO  → Synchronous with polling\n   └─ LOW (eventual consistency acceptable)\n      → Synchronous (REST/GraphQL)\n      Simpler = Better, Faster\n```\n\n## The 3 Questions (Before ANY Pattern)\n\n1. **Problem Solved**: What SPECIFIC problem does this pattern solve?\n2. **Simpler Alternative**: Is there a simpler solution?\n3. **Deferred Complexity**: Can we add this LATER when needed?\n\n## Red Flags (Anti-patterns)\n\n| Pattern | Anti-pattern | Simpler Alternative |\n|---------|-------------|-------------------|\n| Microservices | Premature splitting | Start monolith, extract later |\n| Clean/Hexagonal | Over-abstraction | Concrete first, interfaces later |\n| Event Sourcing | Over-engineering | Append-only audit log |\n| CQRS | Unnecessary complexity | Single model |\n| Repository | YAGNI for simple CRUD | ORM direct access |\n","isInternal":false,"tokens":633,"sizeBytes":2638},{"name":"patterns-reference.md","path":".agents/skills/architecture/patterns-reference.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/architecture/patterns-reference.md","title":"Architecture Skill","category":"anthropic-skill","format":"markdown","content":"# Architecture Patterns Reference\n\n> Quick reference for common patterns with usage guidance.\n\n## Data Access Patterns\n\n| Pattern | When to Use | When NOT to Use | Complexity |\n|---------|-------------|-----------------|------------|\n| **Active Record** | Simple CRUD, rapid prototyping | Complex queries, multiple sources | Low |\n| **Repository** | Testing needed, multiple sources | Simple CRUD, single database | Medium |\n| **Unit of Work** | Complex transactions | Simple operations | High |\n| **Data Mapper** | Complex domain, performance | Simple CRUD, rapid dev | High |\n\n## Domain Logic Patterns\n\n| Pattern | When to Use | When NOT to Use | Complexity |\n|---------|-------------|-----------------|------------|\n| **Transaction Script** | Simple CRUD, procedural | Complex business rules | Low |\n| **Table Module** | Record-based logic | Rich behavior needed | Low |\n| **Domain Model** | Complex business logic | Simple CRUD | Medium |\n| **DDD (Full)** | Complex domain, domain experts | Simple domain, no experts | High |\n\n## Distributed System Patterns\n\n| Pattern | When to Use | When NOT to Use | Complexity |\n|---------|-------------|-----------------|------------|\n| **Modular Monolith** | Small teams, unclear boundaries | Clear contexts, different scales | Medium |\n| **Microservices** | Different scales, large teams | Small teams, simple domain | Very High |\n| **Event-Driven** | Real-time, loose coupling | Simple workflows, strong consistency | High |\n| **CQRS** | Read/write performance diverges | Simple CRUD, same model | High |\n| **Saga** | Distributed transactions | Single database, simple ACID | High |\n\n## API Patterns\n\n| Pattern | When to Use | When NOT to Use | Complexity |\n|---------|-------------|-----------------|------------|\n| **REST** | Standard CRUD, resources | Real-time, complex queries | Low |\n| **GraphQL** | Flexible queries, multiple clients | Simple CRUD, caching needs | Medium |\n| **gRPC** | Internal services, performance | Public APIs, browser clients | Medium |\n| **WebSocket** | Real-time updates | Simple request/response | Medium |\n\n---\n\n## Simplicity Principle\n\n**\"Start simple, add complexity only when proven necessary.\"**\n\n- You can always add patterns later\n- Removing complexity is MUCH harder than adding it\n- When in doubt, choose simpler option\n","isInternal":false,"tokens":492,"sizeBytes":2307},{"name":"SKILL.md","path":".agents/skills/architecture/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/architecture/SKILL.md","title":"architecture","category":"anthropic-skill","format":"markdown","content":"---\nname: architecture\ndescription: Architectural decision-making framework. Requirements analysis, trade-off evaluation, ADR documentation. Use when making architecture decisions or analyzing system design.\nwhen_to_use: \"When making architectural decisions, evaluating trade-offs, writing ADRs, or analyzing system design. NOT for direct code implementation.\"\nallowed-tools: Read, Glob, Grep\nversion: 1.0.0\n---\n\n# Architecture Decision Framework\n\n> \"Requirements drive architecture. Trade-offs inform decisions. ADRs capture rationale.\"\n\n## 🎯 Selective Reading Rule\n\n**Read ONLY files relevant to the request!** Check the content map, find what you need.\n\n| File | Description | When to Read |\n|------|-------------|--------------|\n| `context-discovery.md` | Questions to ask, project classification | Starting architecture design |\n| `trade-off-analysis.md` | ADR templates, trade-off framework | Documenting decisions |\n| `pattern-selection.md` | Decision trees, anti-patterns | Choosing patterns |\n| `examples.md` | MVP, SaaS, Enterprise examples | Reference implementations |\n| `patterns-reference.md` | Quick lookup for patterns | Pattern comparison |\n\n---\n\n## 🔗 Related Skills\n\n| Skill | Use For |\n|-------|---------|\n| `@[skills/database-design]` | Database schema design |\n| `@[skills/api-patterns]` | API design patterns |\n| `@[skills/deployment-procedures]` | Deployment architecture |\n\n---\n\n## Core Principle\n\n**\"Simplicity is the ultimate sophistication.\"**\n\n- Start simple\n- Add complexity ONLY when proven necessary\n- You can always add patterns later\n- Removing complexity is MUCH harder than adding it\n\n---\n\n## Validation Checklist\n\nBefore finalizing architecture:\n\n- [ ] Requirements clearly understood\n- [ ] Constraints identified\n- [ ] Each decision has trade-off analysis\n- [ ] Simpler alternatives considered\n- [ ] ADRs written for significant decisions\n- [ ] Team expertise matches chosen patterns\n","frontmatter":{"name":"architecture","description":"Architectural decision-making framework. Requirements analysis, trade-off evaluation, ADR documentation. Use when making architecture decisions or analyzing system design.","when_to_use":"When making architectural decisions, evaluating trade-offs, writing ADRs, or analyzing system design. NOT for direct code implementation.","allowed-tools":"Read, Glob, Grep","version":"1.0.0","allowedTools":["Read,","Glob,","Grep"]},"allowedTools":["Read,","Glob,","Grep"],"isInternal":false,"tokens":405,"sizeBytes":1927},{"name":"trade-off-analysis.md","path":".agents/skills/architecture/trade-off-analysis.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/architecture/trade-off-analysis.md","title":"Architecture Skill","category":"anthropic-skill","format":"markdown","content":"# Trade-off Analysis & ADR\n\n> Document every architectural decision with trade-offs.\n\n## Decision Framework\n\nFor EACH architectural component, document:\n\n```markdown\n## Architecture Decision Record\n\n### Context\n- **Problem**: [What problem are we solving?]\n- **Constraints**: [Team size, scale, timeline, budget]\n\n### Options Considered\n\n| Option | Pros | Cons | Complexity | When Valid |\n|--------|------|------|------------|-----------|\n| Option A | Benefit 1 | Cost 1 | Low | [Conditions] |\n| Option B | Benefit 2 | Cost 2 | High | [Conditions] |\n\n### Decision\n**Chosen**: [Option B]\n\n### Rationale\n1. [Reason 1 - tied to constraints]\n2. [Reason 2 - tied to requirements]\n\n### Trade-offs Accepted\n- [What we're giving up]\n- [Why this is acceptable]\n\n### Consequences\n- **Positive**: [Benefits we gain]\n- **Negative**: [Costs/risks we accept]\n- **Mitigation**: [How we'll address negatives]\n\n### Revisit Trigger\n- [When to reconsider this decision]\n```\n\n## ADR Template\n\n```markdown\n# ADR-[XXX]: [Decision Title]\n\n## Status\nProposed | Accepted | Deprecated | Superseded by [ADR-YYY]\n\n## Context\n[What problem? What constraints?]\n\n## Decision\n[What we chose - be specific]\n\n## Rationale\n[Why - tie to requirements and constraints]\n\n## Trade-offs\n[What we're giving up - be honest]\n\n## Consequences\n- **Positive**: [Benefits]\n- **Negative**: [Costs]\n- **Mitigation**: [How to address]\n```\n\n## ADR Storage\n\n```\ndocs/\n└── architecture/\n    ├── adr-001-use-nextjs.md\n    ├── adr-002-postgresql-over-mongodb.md\n    └── adr-003-adopt-repository-pattern.md\n```\n","isInternal":false,"tokens":408,"sizeBytes":1579},{"name":"SKILL.md","path":".agents/skills/bash-linux/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/bash-linux/SKILL.md","title":"bash-linux","category":"anthropic-skill","format":"markdown","content":"---\nname: bash-linux\ndescription: Bash/Linux terminal patterns. Critical commands, piping, error handling, scripting. Use when working on macOS or Linux systems.\nwhen_to_use: \"When working on macOS or Linux systems, writing bash scripts, or using terminal commands. NOT for Windows/PowerShell environments.\"\nallowed-tools: Read, Write, Edit, Glob, Grep, Bash\nversion: 1.0.0\n---\n\n# Bash Linux Patterns\n\n> Essential patterns for Bash on Linux/macOS.\n\n---\n\n## 1. Operator Syntax\n\n### Chaining Commands\n\n| Operator | Meaning | Example |\n|----------|---------|---------|\n| `;` | Run sequentially | `cmd1; cmd2` |\n| `&&` | Run if previous succeeded | `npm install && npm run dev` |\n| `\\|\\|` | Run if previous failed | `npm test \\|\\| echo \"Tests failed\"` |\n| `\\|` | Pipe output | `ls \\| grep \".js\"` |\n\n---\n\n## 2. File Operations\n\n### Essential Commands\n\n| Task | Command |\n|------|---------|\n| List all | `ls -la` |\n| Find files | `find . -name \"*.js\" -type f` |\n| File content | `cat file.txt` |\n| First N lines | `head -n 20 file.txt` |\n| Last N lines | `tail -n 20 file.txt` |\n| Follow log | `tail -f log.txt` |\n| Search in files | `grep -r \"pattern\" --include=\"*.js\"` |\n| File size | `du -sh *` |\n| Disk usage | `df -h` |\n\n---\n\n## 3. Process Management\n\n| Task | Command |\n|------|---------|\n| List processes | `ps aux` |\n| Find by name | `ps aux \\| grep node` |\n| Kill by PID | `kill -9 <PID>` |\n| Find port user | `lsof -i :3000` |\n| Kill port | `kill -9 $(lsof -t -i :3000)` |\n| Background | `npm run dev &` |\n| Jobs | `jobs -l` |\n| Bring to front | `fg %1` |\n\n---\n\n## 4. Text Processing\n\n### Core Tools\n\n| Tool | Purpose | Example |\n|------|---------|---------|\n| `grep` | Search | `grep -rn \"TODO\" src/` |\n| `sed` | Replace | `sed -i 's/old/new/g' file.txt` |\n| `awk` | Extract columns | `awk '{print $1}' file.txt` |\n| `cut` | Cut fields | `cut -d',' -f1 data.csv` |\n| `sort` | Sort lines | `sort -u file.txt` |\n| `uniq` | Unique lines | `sort file.txt \\| uniq -c` |\n| `wc` | Count | `wc -l file.txt` |\n\n---\n\n## 5. Environment Variables\n\n| Task | Command |\n|------|---------|\n| View all | `env` or `printenv` |\n| View one | `echo $PATH` |\n| Set temporary | `export VAR=\"value\"` |\n| Set in script | `VAR=\"value\" command` |\n| Add to PATH | `export PATH=\"$PATH:/new/path\"` |\n\n---\n\n## 6. Network\n\n| Task | Command |\n|------|---------|\n| Download | `curl -O https://example.com/file` |\n| API request | `curl -X GET https://api.example.com` |\n| POST JSON | `curl -X POST -H \"Content-Type: application/json\" -d '{\"key\":\"value\"}' URL` |\n| Check port | `nc -zv localhost 3000` |\n| Network info | `ifconfig` or `ip addr` |\n\n---\n\n## 7. Script Template\n\n```bash\n#!/bin/bash\nset -euo pipefail  # Exit on error, undefined var, pipe fail\n\n# Colors (optional)\nRED='\\033[0;31m'\nGREEN='\\033[0;32m'\nNC='\\033[0m'\n\n# Script directory\nSCRIPT_DIR=\"$(cd \"$(dirname \"${BASH_SOURCE[0]}\")\" && pwd)\"\n\n# Functions\nlog_info() { echo -e \"${GREEN}[INFO]${NC} $1\"; }\nlog_error() { echo -e \"${RED}[ERROR]${NC} $1\" >&2; }\n\n# Main\nmain() {\n    log_info \"Starting...\"\n    # Your logic here\n    log_info \"Done!\"\n}\n\nmain \"$@\"\n```\n\n---\n\n## 8. Common Patterns\n\n### Check if command exists\n\n```bash\nif command -v node &> /dev/null; then\n    echo \"Node is installed\"\nfi\n```\n\n### Default variable value\n\n```bash\nNAME=${1:-\"default_value\"}\n```\n\n### Read file line by line\n\n```bash\nwhile IFS= read -r line; do\n    echo \"$line\"\ndone < file.txt\n```\n\n### Loop over files\n\n```bash\nfor file in *.js; do\n    echo \"Processing $file\"\ndone\n```\n\n---\n\n## 9. Differences from PowerShell\n\n| Task | PowerShell | Bash |\n|------|------------|------|\n| List files | `Get-ChildItem` | `ls -la` |\n| Find files | `Get-ChildItem -Recurse` | `find . -type f` |\n| Environment | `$env:VAR` | `$VAR` |\n| String concat | `\"$a$b\"` | `\"$a$b\"` (same) |\n| Null check | `if ($x)` | `if [ -n \"$x\" ]` |\n| Pipeline | Object-based | Text-based |\n\n---\n\n## 10. Error Handling\n\n### Set options\n\n```bash\nset -e          # Exit on error\nset -u          # Exit on undefined variable\nset -o pipefail # Exit on pipe failure\nset -x          # Debug: print commands\n```\n\n### Trap for cleanup\n\n```bash\ncleanup() {\n    echo \"Cleaning up...\"\n    rm -f /tmp/tempfile\n}\ntrap cleanup EXIT\n```\n\n---\n\n> **Remember:** Bash is text-based. Use `&&` for success chains, `set -e` for safety, and quote your variables!\n","frontmatter":{"name":"bash-linux","description":"Bash/Linux terminal patterns. Critical commands, piping, error handling, scripting. Use when working on macOS or Linux systems.","when_to_use":"When working on macOS or Linux systems, writing bash scripts, or using terminal commands. NOT for Windows/PowerShell environments.","allowed-tools":"Read, Write, Edit, Glob, Grep, Bash","version":"1.0.0","allowedTools":["Read,","Write,","Edit,","Glob,","Grep,","Bash"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep,","Bash"],"isInternal":false,"tokens":1327,"sizeBytes":4317},{"name":"SKILL.md","path":".agents/skills/batch-operations/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/batch-operations/SKILL.md","title":"batch-operations","category":"anthropic-skill","format":"markdown","content":"---\nname: batch-operations\ndescription: Apply operations across multiple files simultaneously. Pattern-based bulk modifications, search-and-replace across codebases, consistent changes to many files at once.\nwhen_to_use: \"When the user needs to change multiple files with the same pattern, rename across a codebase, add imports to many files, update versions, or apply consistent modifications. NOT for single-file edits.\"\nallowed-tools: Read, Write, Edit, Grep, Glob, Bash\nversion: 1.0.0\neffort: medium\n---\n\n# Batch Operations — Multi-File Changes\n\n> Apply consistent changes across many files at once. One pattern, many targets.\n\n## When to Use\n\n✅ **Good for:**\n- Renaming a function/component across all files that use it\n- Adding an import to every file in a directory\n- Updating version numbers across package files\n- Applying the same code pattern to multiple similar files\n- Migrating from one API to another across the codebase\n- Adding/removing a field from all similar data structures\n\n❌ **Not for:**\n- Single-file edits (use direct editing)\n- Unique changes per file (handle individually)\n- Changes that need per-file judgment (use an agent per domain)\n\n---\n\n## Batch Operation Protocol\n\n### Step 1: Define the Pattern\n```\nWhat:     [exact text/pattern to find]\nReplace:  [exact replacement text]\nScope:    [file glob pattern, e.g., \"src/**/*.tsx\"]\nExclude:  [files to skip, e.g., \"**/*.test.tsx\"]\n```\n\n### Step 2: Preview Before Executing\n```bash\n# Find all affected files FIRST\ngrep -rl \"oldPattern\" src/ --include=\"*.ts\"\n\n# Count matches\ngrep -rc \"oldPattern\" src/ --include=\"*.ts\" | grep -v \":0$\"\n\n# Show context for each match\ngrep -rn \"oldPattern\" src/ --include=\"*.ts\"\n```\n\n> 🔴 **NEVER batch-modify without previewing first.** Show the user what will change.\n\n### Step 3: Execute the Batch\n\nFor text replacements:\n```bash\n# On Linux/macOS\nfind src -name \"*.ts\" -exec sed -i 's/oldPattern/newPattern/g' {} +\n\n# On Windows (PowerShell)\nGet-ChildItem -Path src -Recurse -Filter *.ts |\n  ForEach-Object { (Get-Content $_) -replace 'oldPattern','newPattern' | Set-Content $_ }\n```\n\nFor structural changes (adding imports, wrapping code):\n- Use the Edit tool on each file\n- Process files in a consistent order (alphabetical or by dependency)\n\n### Step 4: Verify the Batch\n```bash\n# Confirm no missed instances\ngrep -rl \"oldPattern\" src/ --include=\"*.ts\"\n# Should return empty\n\n# Confirm replacements are correct\ngrep -rn \"newPattern\" src/ --include=\"*.ts\" | head -5\n\n# Run tests to catch breakage\nnpm run test\nnpm run build\n```\n\n---\n\n## Common Batch Patterns\n\n| Operation | Command Pattern |\n|---|---|\n| **Rename import** | Find all `import { X }` → replace with `import { Y }` |\n| **Update version** | Find `\"version\": \"1.0\"` → replace across all package.json |\n| **Add export** | Append `export { X }` to all index files |\n| **Remove deprecated** | Find `deprecatedFn()` → replace with `newFn()` |\n| **Add header** | Prepend license header to all source files |\n| **Type migration** | Find `interface X` → replace with `type X =` |\n\n---\n\n## Safety Rules\n\n1. **Preview first** — always show affected files before modifying\n2. **Git safety** — ensure clean working directory (`git stash` or commit first)\n3. **Exclude tests** — often tests need different treatment than source\n4. **Verify after** — run build + tests after every batch operation\n5. **Report changes** — list every file modified with change summary\n","frontmatter":{"name":"batch-operations","description":"Apply operations across multiple files simultaneously. Pattern-based bulk modifications, search-and-replace across codebases, consistent changes to many files at once.","when_to_use":"When the user needs to change multiple files with the same pattern, rename across a codebase, add imports to many files, update versions, or apply consistent modifications. NOT for single-file edits.","allowed-tools":"Read, Write, Edit, Grep, Glob, Bash","version":"1.0.0","effort":"medium","allowedTools":["Read,","Write,","Edit,","Grep,","Glob,","Bash"]},"allowedTools":["Read,","Write,","Edit,","Grep,","Glob,","Bash"],"isInternal":false,"tokens":867,"sizeBytes":3453},{"name":"SKILL.md","path":".agents/skills/behavioral-modes/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/behavioral-modes/SKILL.md","title":"behavioral-modes","category":"anthropic-skill","format":"markdown","content":"---\nname: behavioral-modes\ndescription: AI operational modes (brainstorm, implement, debug, review, teach, ship, orchestrate). Use to adapt behavior based on task type.\nwhen_to_use: \"When adapting AI behavior for specific task types: brainstorm, implement, debug, review, teach, ship, or orchestrate modes.\"\nallowed-tools: Read, Glob, Grep\nversion: 1.0.0\n---\n\n# Behavioral Modes - Adaptive AI Operating Modes\n\n## Purpose\nThis skill defines distinct behavioral modes that optimize AI performance for specific tasks. Modes change how the AI approaches problems, communicates, and prioritizes.\n\n---\n\n## Available Modes\n\n### 1. 🧠 BRAINSTORM Mode\n\n**When to use:** Early project planning, feature ideation, architecture decisions\n\n**Behavior:**\n- Ask clarifying questions before assumptions\n- Offer multiple alternatives (at least 3)\n- Think divergently - explore unconventional solutions\n- No code yet - focus on ideas and options\n- Use visual diagrams (mermaid) to explain concepts\n\n**Output style:**\n```\n\"Let's explore this together. Here are some approaches:\n\nOption A: [description]\n  ✅ Pros: ...\n  ❌ Cons: ...\n\nOption B: [description]\n  ✅ Pros: ...\n  ❌ Cons: ...\n\nWhat resonates with you? Or should we explore a different direction?\"\n```\n\n---\n\n### 2. ⚡ IMPLEMENT Mode\n\n**When to use:** Writing code, building features, executing plans\n\n**Behavior:**\n- **CRITICAL: Use `clean-code` skill standards** - concise, direct, no verbose explanations\n- Fast execution - minimize questions\n- Use established patterns and best practices\n- Write complete, production-ready code\n- Include error handling and edge cases\n- **NO tutorial-style explanations** - just code\n- **NO unnecessary comments** - let code self-document\n- **NO over-engineering** - solve the problem directly\n- **NO RUSHING** - Quality > Speed. Read ALL references before coding.\n\n**Output style:**\n```\n[Code block]\n\n[Brief summary, max 1-2 sentences]\n```\n\n**NOT:**\n```\n\"Building [feature]...\n\n✓ Created [file1]\n✓ Created [file2]\n✓ Updated [file3]\n\n[long explanation]\n\nRun `npm run dev` to test.\"\n```\n\n---\n\n### 3. 🔍 DEBUG Mode\n\n**When to use:** Fixing bugs, troubleshooting errors, investigating issues\n\n**Behavior:**\n- Ask for error messages and reproduction steps\n- Think systematically - check logs, trace data flow\n- Form hypothesis → test → verify\n- Explain the root cause, not just the fix\n- Prevent future occurrences\n\n**Output style:**\n```\n\"Investigating...\n\n🔍 Symptom: [what's happening]\n🎯 Root cause: [why it's happening]\n✅ Fix: [the solution]\n🛡️ Prevention: [how to avoid in future]\n```\n\n---\n\n### 4. 📋 REVIEW Mode\n\n**When to use:** Code review, architecture review, security audit\n\n**Behavior:**\n- Be thorough but constructive\n- Categorize by severity (Critical/High/Medium/Low)\n- Explain the \"why\" behind suggestions\n- Offer improved code examples\n- Acknowledge what's done well\n\n**Output style:**\n```\n## Code Review: [file/feature]\n\n### 🔴 Critical\n- [issue with explanation]\n\n### 🟠 Improvements\n- [suggestion with example]\n\n### 🟢 Good\n- [positive observation]\n```\n\n---\n\n### 5. 📚 TEACH Mode\n\n**When to use:** Explaining concepts, documentation, onboarding\n\n**Behavior:**\n- Explain from fundamentals\n- Use analogies and examples\n- Progress from simple to complex\n- Include practical exercises\n- Check understanding\n\n**Output style:**\n```\n## Understanding [Concept]\n\n### What is it?\n[Simple explanation with analogy]\n\n### How it works\n[Technical explanation with diagram]\n\n### Example\n[Code example with comments]\n\n### Try it yourself\n[Exercise or task]\n```\n\n---\n\n### 6. 🚀 SHIP Mode\n\n**When to use:** Production deployment, final polish, release preparation\n\n**Behavior:**\n- Focus on stability over features\n- Check for missing error handling\n- Verify environment configs\n- Run all tests\n- Create deployment checklist\n\n**Output style:**\n```\n## Pre-Ship Checklist\n\n### ✅ Code Quality\n- [ ] No TypeScript errors\n- [ ] ESLint passing\n- [ ] All tests passing\n\n### ✅ Security\n- [ ] No exposed secrets\n- [ ] Input validation complete\n\n### ✅ Performance\n- [ ] Bundle size acceptable\n- [ ] No console.logs\n\n### 🚀 Ready to deploy\n```\n\n---\n\n## Mode Detection\n\nThe AI should automatically detect the appropriate mode based on:\n\n| Trigger | Mode |\n|---------|------|\n| \"what if\", \"ideas\", \"options\" | BRAINSTORM |\n| \"build\", \"create\", \"add\" | IMPLEMENT |\n| \"not working\", \"error\", \"bug\" | DEBUG |\n| \"review\", \"check\", \"audit\" | REVIEW |\n| \"explain\", \"how does\", \"learn\" | TEACH |\n| \"deploy\", \"release\", \"production\" | SHIP |\n\n---\n\n## Multi-Agent Collaboration Patterns\n\nModern architectures optimized for agent-to-agent collaboration:\n\n### 1. 🔭 EXPLORE Mode\n**Role:** Discovery and Analysis (Explorer Agent)\n**Behavior:** Socratic questioning, deep-dive code reading, dependency mapping.\n**Output:** `discovery-report.json`, architectural visualization.\n\n### 2. 🗺️ PLAN-EXECUTE-CRITIC (PEC)\nCyclic mode transitions for high-complexity tasks:\n1. **Planner:** Decomposes the task into atomic steps (`task.md`).\n2. **Executor:** Performs the actual coding (`IMPLEMENT`).\n3. **Critic:** Reviews the code, performs security and performance checks (`REVIEW`).\n\n### 3. 🧠 MENTAL MODEL SYNC\nBehavior for creating and loading \"Mental Model\" summaries to preserve context between sessions.\n\n---\n\n## Combining Modes\n\nModes are not exclusive — most real tasks chain several in sequence:\n\n| Flow | Mode Chain |\n|------|------------|\n| New feature | BRAINSTORM → PLAN-EXECUTE-CRITIC → IMPLEMENT → REVIEW → SHIP |\n| Bug fix | EXPLORE → DEBUG → IMPLEMENT → REVIEW |\n| Unfamiliar codebase | EXPLORE → TEACH → BRAINSTORM |\n| Risky refactor | EXPLORE → PLAN-EXECUTE-CRITIC → IMPLEMENT → REVIEW |\n\nSwitch modes when the work changes shape (e.g. drop from IMPLEMENT to DEBUG the moment a test fails), and carry context forward with MENTAL MODEL SYNC across long sessions.\n\n## Manual Mode Switching\n\nUsers can explicitly request a mode:\n\n```\n/brainstorm new feature ideas\n/implement the user profile page\n/debug why login fails\n/review this pull request\n```\n","frontmatter":{"name":"behavioral-modes","description":"AI operational modes (brainstorm, implement, debug, review, teach, ship, orchestrate). Use to adapt behavior based on task type.","when_to_use":"When adapting AI behavior for specific task types: brainstorm, implement, debug, review, teach, ship, or orchestrate modes.","allowed-tools":"Read, Glob, Grep","version":"1.0.0","allowedTools":["Read,","Glob,","Grep"]},"allowedTools":["Read,","Glob,","Grep"],"isInternal":false,"tokens":1487,"sizeBytes":6093},{"name":"dynamic-questioning.md","path":".agents/skills/brainstorming/dynamic-questioning.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/brainstorming/dynamic-questioning.md","title":"Brainstorming Skill","category":"anthropic-skill","format":"markdown","content":"# Dynamic Question Generation\n\n> **PRINCIPLE:** Questions are not about gathering data—they are about **revealing architectural consequences**.\n>\n> Every question must connect to a concrete implementation decision that affects cost, complexity, or timeline.\n\n---\n\n## 🧠 Core Principles\n\n### 1. Questions Reveal Consequences\n\nA good question is not \"What color do you want?\" but:\n\n```markdown\n❌ BAD: \"What authentication method?\"\n✅ GOOD: \"Should users sign up with email/password or social login?\n\n   Impact:\n   - Email/Pass → Need password reset, hashing, 2FA infrastructure\n   - Social → OAuth providers, user profile mapping, less control\n\n   Trade-off: Security vs. Development time vs. User friction\"\n```\n\n### 2. Context Before Content\n\nFirst understand **where** this request fits:\n\n| Context | Question Focus |\n|---------|----------------|\n| **Greenfield** (new project) | Foundation decisions: stack, hosting, scale |\n| **Feature Addition** | Integration points, existing patterns, breaking changes |\n| **Refactor** | Why refactor? Performance? Maintainability? What's broken? |\n| **Debug** | Symptoms → Root cause → Reproduction path |\n\n### 3. Minimum Viable Questions\n\n**PRINCIPLE:** Each question must eliminate a fork in the implementation road.\n\n```\nBefore Question:\n├── Path A: Do X (5 min)\n├── Path B: Do Y (15 min)\n└── Path C: Do Z (1 hour)\n\nAfter Question:\n└── Path Confirmed: Do X (5 min)\n```\n\nIf a question doesn't reduce implementation paths → **DELETE IT**.\n\n### 4. Questions Generate Data, Not Assumptions\n\n```markdown\n❌ ASSUMPTION: \"User probably wants Stripe for payments\"\n✅ QUESTION: \"Which payment provider fits your needs?\n\n   Stripe → Best documentation, low per-transaction fee, US-centric\n   LemonSqueezy → Merchant of Record, higher fee, handles global taxes\n   Paddle → Merchant of Record, handles EU VAT, enterprise focus\"\n```\n\n---\n\n## 📋 Question Generation Algorithm\n\n```\nINPUT: User request + Context (greenfield/feature/refactor/debug)\n│\n├── STEP 1: Parse Request\n│   ├── Extract domain (ecommerce, auth, realtime, cms, etc.)\n│   ├── Extract features (explicit and implied)\n│   └── Extract scale indicators (users, data volume, frequency)\n│\n├── STEP 2: Identify Decision Points\n│   ├── What MUST be decided before coding? (blocking)\n│   ├── What COULD be decided later? (deferable)\n│   └── What has ARCHITECTURAL impact? (high-leverage)\n│\n├── STEP 3: Generate Questions (Priority Order)\n│   ├── P0: Blocking decisions (cannot proceed without answer)\n│   ├── P1: High-leverage (affects >30% of implementation)\n│   ├── P2: Medium-leverage (affects specific features)\n│   └── P3: Nice-to-have (edge cases, optimization)\n│\n└── STEP 4: Format Each Question\n    ├── What: Clear question\n    ├── Why: Impact on implementation\n    ├── Options: Trade-offs (not just A vs B)\n    └── Default: What happens if user doesn't answer\n```\n\n---\n\n## 🎯 Domain-Specific Question Banks\n\n### E-Commerce\n\n| Question | Why It Matters | Trade-offs |\n|----------|----------------|------------|\n| **Single or Multi-vendor?** | Multi-vendor → Commission logic, vendor dashboards, split payments | +Revenue, -Complexity |\n| **Inventory Tracking?** | Needs stock tables, reservation logic, low-stock alerts | +Accuracy, -Development time |\n| **Digital or Physical Products?** | Digital → Download links, no shipping | Physical → Shipping APIs, tracking |\n| **Subscription or One-time?** | Subscription → Recurring billing, dunning, proration | +Revenue, -Complexity |\n\n### Authentication\n\n| Question | Why It Matters | Trade-offs |\n|----------|----------------|------------|\n| **Social Login Needed?** | OAuth providers vs. password reset infrastructure | +UX, -Control |\n| **Role-Based Permissions?** | RBAC tables, policy enforcement, admin UI | +Security, -Development time |\n| **2FA Required?** | TOTP/SMS infrastructure, backup codes, recovery flow | +Security, -UX friction |\n| **Email Verification?** | Verification tokens, email service, resend logic | +Security, -Sign-up friction |\n\n### Real-time\n\n| Question | Why It Matters | Trade-offs |\n|----------|----------------|------------|\n| **WebSocket or Polling?** | WS → Server scaling, connection management | Polling → Simpler, higher latency |\n| **Expected Concurrent Users?** | <100 → Single server, >1000 → Redis pub/sub, >10k → specialized infra | +Scale, -Complexity |\n| **Message Persistence?** | History tables, storage costs, pagination | +UX, -Storage |\n| **Ephemeral or Durable?** | Ephemeral → In-memory, Durable → Database write before emit | +Reliability, -Latency |\n\n### Content/CMS\n\n| Question | Why It Matters | Trade-offs |\n|----------|----------------|------------|\n| **Rich Text or Markdown?** | Rich Text → Sanitization, XSS risks | Markdown → Simple, no WYSIWYG |\n| **Draft/Publish Workflow?** | Status field, scheduled jobs, versioning | +Control, -Complexity |\n| **Media Handling?** | Upload endpoints, storage, optimization | +Features, -Development time |\n| **Multi-language?** | i18n tables, translation UI, fallback logic | +Reach, -Complexity |\n\n---\n\n## 📐 Dynamic Question Template\n\n```markdown\nBased on your request for [DOMAIN] [FEATURE]:\n\n## 🔴 CRITICAL (Blocking Decisions)\n\n### 1. **[DECISION POINT]**\n\n**Question:** [Clear, specific question]\n\n**Why This Matters:**\n- [Explain architectural consequence]\n- [Affects: cost / complexity / timeline / scale]\n\n**Options:**\n| Option | Pros | Cons | Best For |\n|--------|------|------|----------|\n| A | [Advantage] | [Disadvantage] | [Use case] |\n| B | [Advantage] | [Disadvantage] | [Use case] |\n\n**If Not Specified:** [Default choice + rationale]\n\n---\n\n## 🟡 HIGH-LEVERAGE (Affects Implementation)\n\n### 2. **[DECISION POINT]**\n[Same format]\n\n---\n\n## 🟢 NICE-TO-HAVE (Edge Cases)\n\n### 3. **[DECISION POINT]**\n[Same format]\n```\n\n---\n\n## 🔄 Iterative Questioning\n\n### First Pass (3-5 Questions)\nFocus on **blocking decisions**. Don't proceed without answers.\n\n### Second Pass (After Initial Implementation)\nAs patterns emerge, ask:\n- \"This feature implies [X]. Should we handle [edge case] now or defer?\"\n- \"We're using [Pattern A]. Should [Feature B] follow the same pattern?\"\n\n### Third Pass (Optimization)\nWhen functionality works:\n- \"Performance bottleneck at [X]. Optimize now or acceptable for now?\"\n- \"Refactor [Y] for maintainability or ship as-is?\"\n\n---\n\n## 🎭 Example: Full Question Generation\n\n```\nUSER REQUEST: \"Build an Instagram clone\"\n\nSTEP 1: Parse\n├── Domain: Social Media\n├── Features: Photo sharing, engagement (likes/comments), user profiles\n├── Implied: Feed, following, authentication\n└── Scale: Potentially high (social apps go viral)\n\nSTEP 2: Decision Points\n├── Blocking: Storage strategy, authentication method, feed type\n├── High-leverage: Real-time notifications, data model complexity\n└── Deferable: Analytics, advanced search, reels/video\n\nSTEP 3: Generate Questions (Priority)\n\nP0 (Blocking):\n1. Storage Strategy → Affects architecture, cost, speed\n2. Feed Algorithm → Affects database queries, complexity\n3. Auth Method → Affects dev time, UX, security\n\nP1 (High-leverage):\n4. Real-time Notifications → WebSocket vs polling\n5. Media Processing → Client-side vs server-side optimization\n\nP2 (Deferable):\n6. Story/Reels → Major feature creep, defer to v2\n7. DM/Chat → Separate subsystem, defer to v2\n\nSTEP 4: Format Output\n```\n\n---\n\n## 📊 Generated Output (Example)\n\n```\nBased on your Instagram clone request:\n\n## 🔴 CRITICAL DECISIONS (Cannot Proceed Without Answers)\n\n### 1. **Photo Storage Strategy**\n\n**Question:** Where will user photos be stored and served?\n\n**Why This Matters:**\n- Affects: Monthly hosting costs, page load speed, CDN complexity\n- High-volume social apps: 1000 users × 10 photos × 2MB = 20GB storage\n\n**Options:**\n| Option | Cost model | Speed | Complexity | Best For |\n|--------|-----------|-------|------------|----------|\n| **Cloudinary** | Per-tier subscription | Fast (CDN) | Low | MVP, rapid launch |\n| **AWS S3 + CloudFront** | Pay per GB stored/served | Fast (CDN) | Medium | Production, cost-optimized |\n| **Supabase Storage** | Free tier + usage | Medium | Low | Small scale, simple |\n| **Local Storage** | Server cost | Slow | Low | Development only |\n\n**If Not Specified:** Cloudinary (balanced for MVP)\n\n---\n\n### 2. **Feed Algorithm Choice**\n\n**Question:** How should the main feed work?\n\n**Why This Matters:**\n- Affects: Database query complexity, caching strategy, development time\n- Algorithmic feeds require ML infrastructure, ranking signals\n\n**Options:**\n| Option | Complexity | Database Impact | Best For |\n|--------|------------|-----------------|----------|\n| **Chronological** | Low | Simple query | Early stage, transparency |\n| **Follow-Only** | Medium | JOIN with pagination | Most social apps |\n| **Algorithmic** | High | Pre-computed feed tables | Instagram competitor |\n\n**If Not Specified:** Follow-Only (balanced for social app)\n\n---\n\n### 3. **Authentication Approach**\n\n**Question:** How do users sign up and login?\n\n**Why This Matters:**\n- Affects: Development effort, security posture, UX friction\n\n**Options:**\n| Option | Effort | Security | UX | Best For |\n|--------|--------|----------|-----|----------|\n| **Email/Password** | Higher | High (if 2FA) | Medium | Full control needed |\n| **Social Only** | Low | Provider-dependent | Smooth | B2C, rapid launch |\n| **Magic Link** | Medium | Medium | Very smooth | Security-focused |\n| **Clerk/Auth0** | Lowest | High | Smooth | Fastest to market |\n\n**If Not Specified:** Clerk (fastest for MVP)\n\n---\n\n## 🟡 HIGH-LEVERAGE (Affects Architecture)\n\n### 4. **Real-time Notifications**\n\n**Question:** Do users need instant notifications for likes/comments?\n\n**Why This Matters:**\n- WebSocket adds infrastructure complexity (Redis pub/sub for scaling)\n- Polling is simpler but higher latency\n\n**Options:**\n| Option | Complexity | Scale Cost | Best For |\n|--------|------------|------------|----------|\n| **WebSocket + Redis** | High | $10+/mo | >1000 concurrent users |\n| **Polling (30s)** | Low | DB queries | <1000 users |\n| **No Real-time** | None | None | MVP, validate first |\n\n**If Not Specified:** Polling for MVP (defer WebSocket until validated)\n\n---\n\n## 🟢 NICE-TO-HAVE (Defer to v2)\n\n### 5. **Video/Reels Support**\n- Major complexity (video processing, streaming infrastructure)\n- Recommendation: Launch with photos only, add video after validation\n\n### 6. **Direct Messaging**\n- Separate subsystem (chat infrastructure different from feed)\n- Recommendation: Use Pusher/Stream for real-time or defer entirely\n\n---\n\n## 📋 Summary\n\n| Decision | Recommendation | If Changed |\n|----------|----------------|------------|\n| Storage | Cloudinary | +3 hrs setup |\n| Feed | Follow-only | +2 hrs query optimization |\n| Auth | Clerk | -3 hrs dev time |\n| Real-time | Polling | +5 hrs WebSocket setup |\n| Video | Defer to v2 | N/A |\n| DM | Defer to v2 | N/A |\n\n**Scope:** MVP covers the must-haves above; Video and DM deferred to v2.\n```\n\n---\n\n## 🎯 Principles Recap\n\n1. **Every question = Architectural decision** → Not data gathering\n2. **Show trade-offs** → User understands consequences\n3. **Prioritize blocking decisions** → Cannot proceed without\n4. **Provide defaults** → If user doesn't answer, we proceed anyway\n5. **Domain-aware** → Ecommerce questions ≠ Auth questions ≠ Real-time questions\n6. **Iterative** → More questions as patterns emerge during implementation\n","isInternal":false,"tokens":2816,"sizeBytes":11665},{"name":"SKILL.md","path":".agents/skills/brainstorming/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/brainstorming/SKILL.md","title":"brainstorming","category":"anthropic-skill","format":"markdown","content":"---\nname: brainstorming\ndescription: Socratic questioning protocol + user communication. MANDATORY for complex requests, new features, or unclear requirements. Includes progress reporting and error handling.\nwhen_to_use: \"When exploring options before implementation, clarifying requirements, or when the user needs creative problem-solving. Use with /brainstorm workflow.\"\nallowed-tools: Read, Glob, Grep\nversion: 1.0.0\n---\n\n# Brainstorming & Communication Protocol\n\n> **MANDATORY:** Use for complex/vague requests, new features, updates.\n\n---\n\n## 🛑 SOCRATIC GATE (ENFORCEMENT)\n\n### When to Trigger\n\n| Pattern | Action |\n|---------|--------|\n| \"Build/Create/Make [thing]\" without details | 🛑 ASK 3 questions |\n| Complex feature or architecture | 🛑 Clarify before implementing |\n| Update/change request | 🛑 Confirm scope |\n| Vague requirements | 🛑 Ask purpose, users, constraints |\n\n### 🧠 Memory Check (2026.5.13 — Before Questioning)\n\n> Before asking questions, check if past context exists:\n\n```\n0. CHECK MEMORY — Does .agents/memory/MEMORY.md exist?\n   → YES: Read index. Apply relevant past decisions silently.\n          Skip questions already answered in memory.\n   → NO: Proceed with standard Socratic Gate.\n```\n\n### 🚫 MANDATORY: 3 Questions Before Implementation\n\n1. **STOP** - Do NOT start coding\n2. **CHECK** - Read `.agents/memory/` for past context on this topic\n3. **ASK** - Minimum 3 questions (skip any already answered via memory):\n   - 🎯 Purpose: What problem are you solving?\n   - 👥 Users: Who will use this?\n   - 📦 Scope: Must-have vs nice-to-have?\n4. **WAIT** - Get response before proceeding\n5. **SAVE** - After brainstorming, save key decisions: `/remember [decision]`\n\n---\n\n## 🧠 Dynamic Question Generation\n\n**⛔ NEVER use static templates.** Read `dynamic-questioning.md` for principles.\n\n### Core Principles\n\n| Principle | Meaning |\n|-----------|---------|\n| **Questions Reveal Consequences** | Each question connects to an architectural decision |\n| **Context Before Content** | Understand greenfield/feature/refactor/debug context first |\n| **Minimum Viable Questions** | Each question must eliminate implementation paths |\n| **Generate Data, Not Assumptions** | Don't guess—ask with trade-offs |\n\n### Question Generation Process\n\n```\n1. Parse request → Extract domain, features, scale indicators\n2. Identify decision points → Blocking vs. deferable\n3. Generate questions → Priority: P0 (blocking) > P1 (high-leverage) > P2 (nice-to-have)\n4. Format with trade-offs → What, Why, Options, Default\n```\n\n### Question Format (MANDATORY)\n\n```markdown\n### [PRIORITY] **[DECISION POINT]**\n\n**Question:** [Clear question]\n\n**Why This Matters:**\n- [Architectural consequence]\n- [Affects: cost/complexity/timeline/scale]\n\n**Options:**\n| Option | Pros | Cons | Best For |\n|--------|------|------|----------|\n| A | [+] | [-] | [Use case] |\n\n**If Not Specified:** [Default + rationale]\n```\n\n**For detailed domain-specific question banks and algorithms**, see: `dynamic-questioning.md`\n\n---\n\n## Progress Reporting (PRINCIPLE-BASED)\n\n**PRINCIPLE:** Transparency builds trust. Status must be visible and actionable.\n\n### Status Board Format\n\n| Agent | Status | Current Task | Progress |\n|-------|--------|--------------|----------|\n| [Agent Name] | ✅🔄⏳❌⚠️ | [Task description] | [% or count] |\n\n### Status Icons\n\n| Icon | Meaning | Usage |\n|------|---------|-------|\n| ✅ | Completed | Task finished successfully |\n| 🔄 | Running | Currently executing |\n| ⏳ | Waiting | Blocked, waiting for dependency |\n| ❌ | Error | Failed, needs attention |\n| ⚠️ | Warning | Potential issue, not blocking |\n\n---\n\n## Error Handling (PRINCIPLE-BASED)\n\n**PRINCIPLE:** Errors are opportunities for clear communication.\n\n### Error Response Pattern\n\n```\n1. Acknowledge the error\n2. Explain what happened (user-friendly)\n3. Offer specific solutions with trade-offs\n4. Ask user to choose or provide alternative\n```\n\n### Error Categories\n\n| Category | Response Strategy |\n|----------|-------------------|\n| **Port Conflict** | Offer alternative port or close existing |\n| **Dependency Missing** | Auto-install or ask permission |\n| **Build Failure** | Show specific error + suggested fix |\n| **Unclear Error** | Ask for specifics: screenshot, console output |\n\n---\n\n## Completion Message (PRINCIPLE-BASED)\n\n**PRINCIPLE:** Celebrate success, guide next steps.\n\n### Completion Structure\n\n```\n1. Success confirmation (celebrate briefly)\n2. Summary of what was done (concrete)\n3. How to verify/test (actionable)\n4. Next steps suggestion (proactive)\n```\n\n---\n\n## Communication Principles\n\n| Principle | Implementation |\n|-----------|----------------|\n| **Concise** | No unnecessary details, get to point |\n| **Visual** | Use emojis (✅🔄⏳❌) for quick scanning |\n| **Specific** | \"~2 minutes\" not \"wait a bit\" |\n| **Alternatives** | Offer multiple paths when stuck |\n| **Proactive** | Suggest next step after completion |\n\n---\n\n## Anti-Patterns (AVOID)\n\n| Anti-Pattern | Why |\n|--------------|-----|\n| Jumping to solutions before understanding | Wastes time on wrong problem |\n| Assuming requirements without asking | Creates wrong output |\n| Over-engineering first version | Delays value delivery |\n| Ignoring constraints | Creates unusable solutions |\n| \"I think\" phrases | Uncertainty → Ask instead |\n\n---\n","frontmatter":{"name":"brainstorming","description":"Socratic questioning protocol + user communication. MANDATORY for complex requests, new features, or unclear requirements. Includes progress reporting and error handling.","when_to_use":"When exploring options before implementation, clarifying requirements, or when the user needs creative problem-solving. Use with /brainstorm workflow.","allowed-tools":"Read, Glob, Grep","version":"1.0.0","allowedTools":["Read,","Glob,","Grep"]},"allowedTools":["Read,","Glob,","Grep"],"isInternal":false,"tokens":1272,"sizeBytes":5374},{"name":"SKILL.md","path":".agents/skills/clean-code/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/clean-code/SKILL.md","title":"clean-code","category":"anthropic-skill","format":"markdown","content":"---\nname: clean-code\ndescription: Pragmatic coding standards - concise, direct, no over-engineering, no unnecessary comments\nwhen_to_use: \"Always active for ALL code writing. Enforces concise, direct coding standards, testing pyramid, and performance best practices.\"\nallowed-tools: Read, Write, Edit\nversion: 2.0.0\npriority: CRITICAL\n---\n\n# Clean Code - Pragmatic AI Coding Standards\n\n> **CRITICAL SKILL** - Be **concise, direct, and solution-focused**.\n\n---\n\n## Core Principles\n\n| Principle | Rule |\n|-----------|------|\n| **SRP** | Single Responsibility - each function/class does ONE thing |\n| **DRY** | Don't Repeat Yourself - extract duplicates, reuse |\n| **KISS** | Keep It Simple - simplest solution that works |\n| **YAGNI** | You Aren't Gonna Need It - don't build unused features |\n| **Boy Scout** | Leave code cleaner than you found it |\n\n---\n\n## Naming Rules\n\n| Element | Convention |\n|---------|------------|\n| **Variables** | Reveal intent: `userCount` not `n` |\n| **Functions** | Verb + noun: `getUserById()` not `user()` |\n| **Booleans** | Question form: `isActive`, `hasPermission`, `canEdit` |\n| **Constants** | SCREAMING_SNAKE: `MAX_RETRY_COUNT` |\n\n> **Rule:** If you need a comment to explain a name, rename it.\n\n---\n\n## Function Rules\n\n| Rule | Description |\n|------|-------------|\n| **Small** | Max 20 lines, ideally 5-10 |\n| **One Thing** | Does one thing, does it well |\n| **One Level** | One level of abstraction per function |\n| **Few Args** | Max 3 arguments, prefer 0-2 |\n| **No Side Effects** | Don't mutate inputs unexpectedly |\n\n---\n\n## Code Structure\n\n| Pattern | Apply |\n|---------|-------|\n| **Guard Clauses** | Early returns for edge cases |\n| **Flat > Nested** | Avoid deep nesting (max 2 levels) |\n| **Composition** | Small functions composed together |\n| **Colocation** | Keep related code close |\n\n---\n\n## AI Coding Style\n\n| Situation | Action |\n|-----------|--------|\n| User asks for feature | Write it directly |\n| User reports bug | Fix it, don't explain |\n| No clear requirement | Ask, don't assume |\n\n---\n\n## Anti-Patterns (DON'T)\n\n| ❌ Pattern | ✅ Fix |\n|-----------|-------|\n| Comment every line | Delete obvious comments |\n| Helper for one-liner | Inline the code |\n| Factory for 2 objects | Direct instantiation |\n| utils.ts with 1 function | Put code where used |\n| \"First we import...\" | Just write code |\n| Deep nesting | Guard clauses |\n| Magic numbers | Named constants |\n| God functions | Split by responsibility |\n\n---\n\n## 🔴 Before Editing ANY File (THINK FIRST!)\n\n**Before changing a file, ask yourself:**\n\n| Question | Why |\n|----------|-----|\n| **What imports this file?** | They might break |\n| **What does this file import?** | Interface changes |\n| **What tests cover this?** | Tests might fail |\n| **Is this a shared component?** | Multiple places affected |\n\n**Quick Check:**\n```\nFile to edit: UserService.ts\n└── Who imports this? → UserController.ts, AuthController.ts\n└── Do they need changes too? → Check function signatures\n```\n\n> 🔴 **Rule:** Edit the file + all dependent files in the SAME task.\n> 🔴 **Never leave broken imports or missing updates.**\n\n---\n\n## Summary\n\n| Do | Don't |\n|----|-------|\n| Write code directly | Write tutorials |\n| Let code self-document | Add obvious comments |\n| Fix bugs immediately | Explain the fix first |\n| Inline small things | Create unnecessary files |\n| Name things clearly | Use abbreviations |\n| Keep functions small | Write 100+ line functions |\n\n> **Remember: The user wants working code, not a programming lesson.**\n\n---\n\n## 🔴 Self-Check Before Completing (MANDATORY)\n\n**Before saying \"task complete\", verify:**\n\n| Check | Question |\n|-------|----------|\n| ✅ **Goal met?** | Did I do exactly what user asked? |\n| ✅ **Files edited?** | Did I modify all necessary files? |\n| ✅ **Code works?** | Did I test/verify the change? |\n| ✅ **No errors?** | Lint and TypeScript pass? |\n| ✅ **Nothing forgotten?** | Any edge cases missed? |\n\n> 🔴 **Rule:** If ANY check fails, fix it before completing.\n\n---\n\n## Verification Scripts (MANDATORY)\n\n> 🔴 **CRITICAL:** Each agent runs ONLY their own skill's scripts after completing work.\n\n### Agent → Script Mapping\n\n| Agent | Script | Command |\n|-------|--------|---------|\n| **frontend-specialist** | UX Audit | `python .agents/skills/frontend-design/scripts/ux_audit.py .` |\n| **frontend-specialist** | A11y Check | `python .agents/skills/frontend-design/scripts/accessibility_checker.py .` |\n| **backend-specialist** | API Validator | `python .agents/skills/api-patterns/scripts/api_validator.py .` |\n| **mobile-developer** | Mobile Audit | `python .agents/skills/mobile-design/scripts/mobile_audit.py .` |\n| **database-architect** | Schema Validate | `python .agents/skills/database-design/scripts/schema_validator.py .` |\n| **security-auditor** | Security Scan | `python .agents/skills/vulnerability-scanner/scripts/security_scan.py .` |\n| **seo-specialist** | SEO Check | `python .agents/skills/seo-fundamentals/scripts/seo_checker.py .` |\n| **seo-specialist** | GEO Check | `python .agents/skills/geo-fundamentals/scripts/geo_checker.py .` |\n| **performance-optimizer** | Lighthouse | `python .agents/skills/performance-profiling/scripts/lighthouse_audit.py <url>` |\n| **test-engineer** | Test Runner | `python .agents/skills/testing-patterns/scripts/test_runner.py .` |\n| **test-engineer** | Playwright | `python .agents/skills/webapp-testing/scripts/playwright_runner.py <url>` |\n| **Any agent** | Lint Check | `python .agents/skills/lint-and-validate/scripts/lint_runner.py .` |\n| **Any agent** | Type Coverage | `python .agents/skills/lint-and-validate/scripts/type_coverage.py .` |\n| **Any agent** | i18n Check | `python .agents/skills/i18n-localization/scripts/i18n_checker.py .` |\n\n> ❌ **WRONG:** `test-engineer` running `ux_audit.py`\n> ✅ **CORRECT:** `frontend-specialist` running `ux_audit.py`\n\n---\n\n### 🔴 Script Output Handling (READ → SUMMARIZE → ASK)\n\n**When running a validation script, you MUST:**\n\n1. **Run the script** and capture ALL output\n2. **Parse the output** - identify errors, warnings, and passes\n3. **Summarize to user** in this format:\n\n```markdown\n## Script Results: [script_name.py]\n\n### ❌ Errors Found (X items)\n- [File:Line] Error description 1\n- [File:Line] Error description 2\n\n### ⚠️ Warnings (Y items)\n- [File:Line] Warning description\n\n### ✅ Passed (Z items)\n- Check 1 passed\n- Check 2 passed\n\n**Should I fix the X errors?**\n```\n\n4. **Wait for user confirmation** before fixing\n5. **After fixing** → Re-run script to confirm\n\n> 🔴 **VIOLATION:** Running script and ignoring output = FAILED task.\n> 🔴 **VIOLATION:** Auto-fixing without asking = Not allowed.\n> 🔴 **Rule:** Always READ output → SUMMARIZE → ASK → then fix.\n\n","frontmatter":{"name":"clean-code","description":"Pragmatic coding standards - concise, direct, no over-engineering, no unnecessary comments","when_to_use":"Always active for ALL code writing. Enforces concise, direct coding standards, testing pyramid, and performance best practices.","allowed-tools":"Read, Write, Edit","version":"2.0.0","priority":"CRITICAL","allowedTools":["Read,","Write,","Edit"]},"allowedTools":["Read,","Write,","Edit"],"isInternal":false,"tokens":1713,"sizeBytes":6793},{"name":"SKILL.md","path":".agents/skills/code-review-checklist/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/code-review-checklist/SKILL.md","title":"code-review-checklist","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fcode-review-checklist%2FSKILL.md -->","frontmatter":{"name":"code-review-checklist","description":"Code review guidelines covering code quality, security, and best practices.","when_to_use":"When reviewing code for quality, security, and best practices. When the user says 'review my code' or 'check this PR'.","allowed-tools":"Read, Glob, Grep","version":"1.0.0","allowedTools":["Read,","Glob,","Grep"]},"allowedTools":["Read,","Glob,","Grep"],"isInternal":false,"tokens":693,"sizeBytes":2716},{"name":"SKILL.md","path":".agents/skills/code-review-graph/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/code-review-graph/SKILL.md","title":"code-review-graph","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fcode-review-graph%2FSKILL.md -->","frontmatter":{"name":"code-review-graph","description":"Token-efficient code review using Tree-sitter AST graphs and MCP. Cuts AI token usage on large codebases by computing the blast radius of changes instead of reading entire codebases. Uses a SQLite graph database for structural analysis.","when_to_use":"When reviewing code in large codebases (500+ files), when token costs are high, when making multi-file changes with cross-module dependencies, or when working with monorepos. Also for dead code detection, architecture visualization, and refactoring previews. NOT for small projects under 200 files with isolated single-file changes.","allowed-tools":"Read, Grep, Glob, Bash","version":"1.0.0","effort":"medium","allowedTools":["Read,","Grep,","Glob,","Bash"]},"allowedTools":["Read,","Grep,","Glob,","Bash"],"isInternal":false,"tokens":2533,"sizeBytes":11122},{"name":"SKILL.md","path":".agents/skills/context-compression/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/context-compression/SKILL.md","title":"context-compression","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fcontext-compression%2FSKILL.md -->","frontmatter":{"name":"context-compression","description":"Manage and compress conversation context in long sessions. Detect when context is growing large, summarize completed work phases, archive old findings while preserving key decisions. Prevents context degradation.","when_to_use":"When a session has 20+ turns, when context feels repetitive, when the agent is losing track of earlier work, or when the user says 'summarize what we've done'. NOT for short sessions.","allowed-tools":"Read, Write, Grep","version":"1.0.0","effort":"low","allowedTools":["Read,","Write,","Grep"]},"allowedTools":["Read,","Write,","Grep"],"isInternal":false,"tokens":1208,"sizeBytes":5034},{"name":"SKILL.md","path":".agents/skills/coordinator-mode/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/coordinator-mode/SKILL.md","title":"coordinator-mode","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fcoordinator-mode%2FSKILL.md -->","frontmatter":{"name":"coordinator-mode","description":"Advanced multi-agent orchestration with parallel workers, synthesis protocols, and coordinator lifecycle. Use when complex tasks require multiple agents working in parallel with intelligent result synthesis.","when_to_use":"When the user needs multi-agent coordination, parallel task execution, complex multi-domain work, or when /coordinate or /orchestrate is invoked. NOT for single-domain tasks.","allowed-tools":"Read, Grep, Glob, Bash, Write, Edit, Agent","version":"1.0.0","effort":"high","allowedTools":["Read,","Grep,","Glob,","Bash,","Write,","Edit,","Agent"]},"allowedTools":["Read,","Grep,","Glob,","Bash,","Write,","Edit,","Agent"],"isInternal":false,"tokens":1771,"sizeBytes":7892},{"name":"database-selection.md","path":".agents/skills/database-design/database-selection.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/database-design/database-selection.md","title":"Database-design Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdatabase-design%2Fdatabase-selection.md -->","isInternal":false,"tokens":280,"sizeBytes":1146},{"name":"indexing.md","path":".agents/skills/database-design/indexing.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/database-design/indexing.md","title":"Database-design Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdatabase-design%2Findexing.md -->","isInternal":false,"tokens":221,"sizeBytes":892},{"name":"migrations.md","path":".agents/skills/database-design/migrations.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/database-design/migrations.md","title":"Database-design Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdatabase-design%2Fmigrations.md -->","isInternal":false,"tokens":252,"sizeBytes":1107},{"name":"optimization.md","path":".agents/skills/database-design/optimization.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/database-design/optimization.md","title":"Database-design Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdatabase-design%2Foptimization.md -->","isInternal":false,"tokens":227,"sizeBytes":902},{"name":"orm-selection.md","path":".agents/skills/database-design/orm-selection.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/database-design/orm-selection.md","title":"Database-design Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdatabase-design%2Form-selection.md -->","isInternal":false,"tokens":200,"sizeBytes":764},{"name":"schema-design.md","path":".agents/skills/database-design/schema-design.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/database-design/schema-design.md","title":"Database-design Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdatabase-design%2Fschema-design.md -->","isInternal":false,"tokens":343,"sizeBytes":1470},{"name":"SKILL.md","path":".agents/skills/database-design/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/database-design/SKILL.md","title":"database-design","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdatabase-design%2FSKILL.md -->","frontmatter":{"name":"database-design","description":"Database design principles and decision-making. Schema design, indexing strategy, ORM selection, serverless databases.","when_to_use":"When designing database schemas, choosing ORMs, planning migrations, or optimizing queries. When working with Prisma, Drizzle, or SQL files.","allowed-tools":"Read, Write, Edit, Glob, Grep","version":"1.0.0","allowedTools":["Read,","Write,","Edit,","Glob,","Grep"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep"],"isInternal":false,"tokens":397,"sizeBytes":1698},{"name":"SKILL.md","path":".agents/skills/deployment-procedures/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/deployment-procedures/SKILL.md","title":"deployment-procedures","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdeployment-procedures%2FSKILL.md -->","frontmatter":{"name":"deployment-procedures","description":"Production deployment principles and decision-making. Safe deployment workflows, rollback strategies, and verification. Teaches thinking, not scripts.","when_to_use":"When deploying to production, planning rollback strategies, or setting up CI/CD pipelines. Use with /deploy workflow.","allowed-tools":"Read, Glob, Grep, Bash","version":"1.0.0","allowedTools":["Read,","Glob,","Grep,","Bash"]},"allowedTools":["Read,","Glob,","Grep,","Bash"],"isInternal":false,"tokens":1438,"sizeBytes":5856},{"name":"collection.md","path":".agents/skills/design-spec/collection.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/design-spec/collection.md","title":"Design-spec Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdesign-spec%2Fcollection.md -->","isInternal":false,"tokens":3501,"sizeBytes":13816},{"name":"SKILL.md","path":".agents/skills/design-spec/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/design-spec/SKILL.md","title":"design-spec","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdesign-spec%2FSKILL.md -->","frontmatter":{"name":"design-spec","description":"How to author a DESIGN.md file — the machine-readable design-token + human-rationale format that must exist before any UI is built. YAML front-matter token schema (colors, typography, spacing, rounded, components), type system, token references, and canonical section order.","when_to_use":"BEFORE writing any UI code (web or mobile). Read when creating or updating a project's DESIGN.md, defining design tokens, or when a UI task needs a design source-of-truth. Pair with frontend-design (web aesthetics) or mobile-design (mobile).","allowed-tools":"Read, Write, Edit, Glob, Grep","version":"1.0.0","allowedTools":["Read,","Write,","Edit,","Glob,","Grep"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep"],"isInternal":false,"tokens":1882,"sizeBytes":7373},{"name":"SKILL.md","path":".agents/skills/documentation-templates/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/documentation-templates/SKILL.md","title":"documentation-templates","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fdocumentation-templates%2FSKILL.md -->","frontmatter":{"name":"documentation-templates","description":"Documentation templates and structure guidelines. README, API docs, code comments, and AI-friendly documentation.","when_to_use":"When writing README files, API documentation, code comments, or generating AI-friendly documentation.","allowed-tools":"Read, Glob, Grep","version":"1.0.0","allowedTools":["Read,","Glob,","Grep"]},"allowedTools":["Read,","Glob,","Grep"],"isInternal":false,"tokens":858,"sizeBytes":3437},{"name":"SKILL.md","path":".agents/skills/frontend-architecture/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/frontend-architecture/SKILL.md","title":"frontend-architecture","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Ffrontend-architecture%2FSKILL.md -->","frontmatter":{"name":"frontend-architecture","description":"How to organize frontend code — separation of concerns (UI / logic / data / type), file responsibility, state tiers, API services, schema validation, and framework conventions for React/Next and Vue. Structural rules, not visual design.","when_to_use":"When structuring a frontend codebase or reviewing how frontend code is organized — where logic, API calls, state, types, and validation should live; component vs hook/composable boundaries; Next.js server/client split; Vue Composition API. NOT for visual design (use frontend-design) and NOT for React/Next performance rules (use nextjs-react-expert).","allowed-tools":"Read, Write, Edit, Glob, Grep","version":"1.0.0","allowedTools":["Read,","Write,","Edit,","Glob,","Grep"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep"],"isInternal":false,"tokens":1979,"sizeBytes":8021},{"name":"redesign.md","path":".agents/skills/frontend-design/redesign.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/frontend-design/redesign.md","title":"Frontend-design Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Ffrontend-design%2Fredesign.md -->","isInternal":false,"tokens":3337,"sizeBytes":14923},{"name":"SKILL.md","path":".agents/skills/frontend-design/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/frontend-design/SKILL.md","title":"frontend-design","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Ffrontend-design%2FSKILL.md -->","frontmatter":{"name":"frontend-design","description":"Anti-slop frontend design for web UI — landing pages, portfolios, marketing/product sites, and redesigns. Reads the brief, infers the right direction, and ships interfaces that don't look templated. Real design systems when applicable, audit-first on redesigns, strict pre-flight check. NOT for mobile apps.","when_to_use":"When designing or building web UI — components, layouts, color, typography, landing pages, or redesigns. NOT for mobile apps (use mobile-design).","allowed-tools":"Read, Write, Edit, Glob, Grep, Bash","version":"1.0.0","allowedTools":["Read,","Write,","Edit,","Glob,","Grep,","Bash"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep,","Bash"],"isInternal":false,"tokens":12623,"sizeBytes":50069},{"name":"style-brutalist.md","path":".agents/skills/frontend-design/style-brutalist.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/frontend-design/style-brutalist.md","title":"Frontend-design Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Ffrontend-design%2Fstyle-brutalist.md -->","isInternal":false,"tokens":1919,"sizeBytes":8270},{"name":"style-minimalist.md","path":".agents/skills/frontend-design/style-minimalist.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/frontend-design/style-minimalist.md","title":"Frontend-design Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Ffrontend-design%2Fstyle-minimalist.md -->","isInternal":false,"tokens":2006,"sizeBytes":7860},{"name":"SKILL.md","path":".agents/skills/game-development/2d-games/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/game-development/2d-games/SKILL.md","title":"2d-games","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2F2d-games%2FSKILL.md -->","frontmatter":{"name":"2d-games","description":"2D game development principles. Sprites, tilemaps, physics, camera.","allowed-tools":"Read, Write, Edit, Glob, Grep","allowedTools":["Read,","Write,","Edit,","Glob,","Grep"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep"],"isInternal":false,"tokens":562,"sizeBytes":2190},{"name":"SKILL.md","path":".agents/skills/game-development/3d-games/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/game-development/3d-games/SKILL.md","title":"3d-games","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2F3d-games%2FSKILL.md -->","frontmatter":{"name":"3d-games","description":"3D game development principles. Rendering, shaders, physics, cameras.","allowed-tools":"Read, Write, Edit, Glob, Grep","allowedTools":["Read,","Write,","Edit,","Glob,","Grep"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep"],"isInternal":false,"tokens":662,"sizeBytes":2563},{"name":"SKILL.md","path":".agents/skills/game-development/game-art/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/game-development/game-art/SKILL.md","title":"game-art","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2Fgame-art%2FSKILL.md -->","frontmatter":{"name":"game-art","description":"Game art principles. Visual style selection, asset pipeline, animation workflow.","allowed-tools":"Read, Glob, Grep","allowedTools":["Read,","Glob,","Grep"]},"allowedTools":["Read,","Glob,","Grep"],"isInternal":false,"tokens":1307,"sizeBytes":5049},{"name":"SKILL.md","path":".agents/skills/game-development/game-audio/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/game-development/game-audio/SKILL.md","title":"game-audio","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2Fgame-audio%2FSKILL.md -->","frontmatter":{"name":"game-audio","description":"Game audio principles. Sound design, music integration, adaptive audio systems.","allowed-tools":"Read, Glob, Grep","allowedTools":["Read,","Glob,","Grep"]},"allowedTools":["Read,","Glob,","Grep"],"isInternal":false,"tokens":1325,"sizeBytes":5361},{"name":"SKILL.md","path":".agents/skills/game-development/game-design/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/game-development/game-design/SKILL.md","title":"game-design","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2Fgame-design%2FSKILL.md -->","frontmatter":{"name":"game-design","description":"Game design principles. GDD structure, balancing, player psychology, progression.","allowed-tools":"Read, Glob, Grep","allowedTools":["Read,","Glob,","Grep"]},"allowedTools":["Read,","Glob,","Grep"],"isInternal":false,"tokens":649,"sizeBytes":2645},{"name":"SKILL.md","path":".agents/skills/game-development/mobile-games/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/game-development/mobile-games/SKILL.md","title":"mobile-games","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2Fmobile-games%2FSKILL.md -->","frontmatter":{"name":"mobile-games","description":"Mobile game development principles. Touch input, battery, performance, app stores.","allowed-tools":"Read, Write, Edit, Glob, Grep","allowedTools":["Read,","Write,","Edit,","Glob,","Grep"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep"],"isInternal":false,"tokens":528,"sizeBytes":2282},{"name":"SKILL.md","path":".agents/skills/game-development/multiplayer/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/game-development/multiplayer/SKILL.md","title":"multiplayer","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2Fmultiplayer%2FSKILL.md -->","frontmatter":{"name":"multiplayer","description":"Multiplayer game development principles. Architecture, networking, synchronization.","allowed-tools":"Read, Write, Edit, Glob, Grep, Bash","allowedTools":["Read,","Write,","Edit,","Glob,","Grep,","Bash"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep,","Bash"],"isInternal":false,"tokens":672,"sizeBytes":2813},{"name":"SKILL.md","path":".agents/skills/game-development/pc-games/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/game-development/pc-games/SKILL.md","title":"pc-games","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2Fpc-games%2FSKILL.md -->","frontmatter":{"name":"pc-games","description":"PC and console game development principles. Engine selection, platform features, optimization strategies.","allowed-tools":"Read, Write, Edit, Glob, Grep","allowedTools":["Read,","Write,","Edit,","Glob,","Grep"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep"],"isInternal":false,"tokens":738,"sizeBytes":2973},{"name":"SKILL.md","path":".agents/skills/game-development/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/game-development/SKILL.md","title":"game-development","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2FSKILL.md -->","frontmatter":{"name":"game-development","description":"Game development orchestrator. Routes to platform-specific skills based on project needs.","when_to_use":"When building games with Unity, Godot, Unreal, Phaser, or any game engine. Routes to platform-specific sub-skills.","allowed-tools":"Read, Write, Edit, Glob, Grep, Bash","version":"1.0.0","allowedTools":["Read,","Write,","Edit,","Glob,","Grep,","Bash"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep,","Bash"],"isInternal":false,"tokens":1203,"sizeBytes":4827},{"name":"SKILL.md","path":".agents/skills/game-development/vr-ar/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/game-development/vr-ar/SKILL.md","title":"vr-ar","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2Fvr-ar%2FSKILL.md -->","frontmatter":{"name":"vr-ar","description":"VR/AR development principles. Comfort, interaction, performance requirements.","allowed-tools":"Read, Write, Edit, Glob, Grep","allowedTools":["Read,","Write,","Edit,","Glob,","Grep"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep"],"isInternal":false,"tokens":631,"sizeBytes":2379},{"name":"SKILL.md","path":".agents/skills/game-development/web-games/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/game-development/web-games/SKILL.md","title":"web-games","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgame-development%2Fweb-games%2FSKILL.md -->","frontmatter":{"name":"web-games","description":"Web browser game development principles. Framework selection, WebGPU, optimization, PWA.","allowed-tools":"Read, Write, Edit, Glob, Grep","allowedTools":["Read,","Write,","Edit,","Glob,","Grep"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep"],"isInternal":false,"tokens":786,"sizeBytes":3059},{"name":"SKILL.md","path":".agents/skills/geo-fundamentals/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/geo-fundamentals/SKILL.md","title":"geo-fundamentals","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fgeo-fundamentals%2FSKILL.md -->","frontmatter":{"name":"geo-fundamentals","description":"Generative Engine Optimization for AI search engines (ChatGPT, Claude, Perplexity).","when_to_use":"When optimizing content for AI search engines like ChatGPT, Claude, or Perplexity. Generative Engine Optimization.","allowed-tools":"Read, Glob, Grep","version":"1.0.0","allowedTools":["Read,","Glob,","Grep"]},"allowedTools":["Read,","Glob,","Grep"],"isInternal":false,"tokens":913,"sizeBytes":3590},{"name":"SKILL.md","path":".agents/skills/i18n-localization/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/i18n-localization/SKILL.md","title":"i18n-localization","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fi18n-localization%2FSKILL.md -->","frontmatter":{"name":"i18n-localization","description":"Internationalization and localization patterns. Detecting hardcoded strings, managing translations, locale files, RTL support.","when_to_use":"When internationalizing an app, managing translations, detecting hardcoded strings, or adding RTL support.","allowed-tools":"Read, Glob, Grep","version":"1.0.0","allowedTools":["Read,","Glob,","Grep"]},"allowedTools":["Read,","Glob,","Grep"],"isInternal":false,"tokens":822,"sizeBytes":3258},{"name":"SKILL.md","path":".agents/skills/intelligent-routing/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/intelligent-routing/SKILL.md","title":"intelligent-routing","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fintelligent-routing%2FSKILL.md -->","frontmatter":{"name":"intelligent-routing","description":"Automatic agent selection and intelligent task routing. Analyzes user requests and automatically selects the best specialist agent(s) without requiring explicit user mentions.","when_to_use":"Always active. Automatically selects the best specialist agent for each user request without explicit user mentions.","version":"1.1.0","allowed-tools":"Read, Glob, Grep","allowedTools":["Read,","Glob,","Grep"]},"allowedTools":["Read,","Glob,","Grep"],"isInternal":false,"tokens":2539,"sizeBytes":10872},{"name":"SKILL.md","path":".agents/skills/lint-and-validate/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/lint-and-validate/SKILL.md","title":"lint-and-validate","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Flint-and-validate%2FSKILL.md -->","frontmatter":{"name":"lint-and-validate","description":"Automatic quality control, linting, and static analysis procedures. Use after every code modification to ensure syntax correctness and project standards. Triggers on keywords: lint, format, check, validate, types, static analysis.","when_to_use":"When running linters, type checkers, or code formatters. After any code change that needs quality validation.","allowed-tools":"Read, Glob, Grep, Bash","version":"1.0.0","allowedTools":["Read,","Glob,","Grep,","Bash"]},"allowedTools":["Read,","Glob,","Grep,","Bash"],"isInternal":false,"tokens":488,"sizeBytes":1870},{"name":"SKILL.md","path":".agents/skills/mcp-builder/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/mcp-builder/SKILL.md","title":"mcp-builder","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmcp-builder%2FSKILL.md -->","frontmatter":{"name":"mcp-builder","description":"MCP (Model Context Protocol) server and client engineering. Protocol design, schemas, transports, extensions, security, and migration.","when_to_use":"When building or reviewing MCP servers or clients, designing MCP tools/resources/prompts, migrating protocol versions, or validating MCP security and interoperability.","allowed-tools":"Read, Write, Edit, Glob, Grep","version":"1.0.0","allowedTools":["Read,","Write,","Edit,","Glob,","Grep"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep"],"isInternal":false,"tokens":2052,"sizeBytes":10637},{"name":"SKILL.md","path":".agents/skills/memory-system/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/memory-system/SKILL.md","title":"memory-system","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmemory-system%2FSKILL.md -->","frontmatter":{"name":"memory-system","description":"Persistent cross-session memory management. Enables agents to remember user preferences, project conventions, and past decisions across different sessions using a structured MEMORY.md index and topic files.","when_to_use":"When the user says 'remember this', 'save this for later', 'don't forget', or when starting a new session and needing to recall past context. Also when /remember workflow is invoked.","allowed-tools":"Read, Write, Grep, Glob","version":"1.0.0","effort":"low","allowedTools":["Read,","Write,","Grep,","Glob"]},"allowedTools":["Read,","Write,","Grep,","Glob"],"isInternal":false,"tokens":1475,"sizeBytes":6357},{"name":"decision-trees.md","path":".agents/skills/mobile-design/decision-trees.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/mobile-design/decision-trees.md","title":"Mobile-design Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fdecision-trees.md -->","isInternal":false,"tokens":3647,"sizeBytes":16320},{"name":"mobile-backend.md","path":".agents/skills/mobile-design/mobile-backend.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/mobile-design/mobile-backend.md","title":"Mobile-design Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fmobile-backend.md -->","isInternal":false,"tokens":3425,"sizeBytes":14686},{"name":"mobile-color-system.md","path":".agents/skills/mobile-design/mobile-color-system.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/mobile-design/mobile-color-system.md","title":"Mobile-design Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fmobile-color-system.md -->","isInternal":false,"tokens":2688,"sizeBytes":10211},{"name":"mobile-debugging.md","path":".agents/skills/mobile-design/mobile-debugging.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/mobile-design/mobile-debugging.md","title":"Mobile-design Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fmobile-debugging.md -->","isInternal":false,"tokens":1106,"sizeBytes":4321},{"name":"mobile-design-thinking.md","path":".agents/skills/mobile-design/mobile-design-thinking.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/mobile-design/mobile-design-thinking.md","title":"Mobile-design Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fmobile-design-thinking.md -->","isInternal":false,"tokens":3212,"sizeBytes":17227},{"name":"mobile-navigation.md","path":".agents/skills/mobile-design/mobile-navigation.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/mobile-design/mobile-navigation.md","title":"Mobile-design Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fmobile-navigation.md -->","isInternal":false,"tokens":2782,"sizeBytes":11855},{"name":"mobile-performance.md","path":".agents/skills/mobile-design/mobile-performance.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/mobile-design/mobile-performance.md","title":"Mobile-design Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fmobile-performance.md -->","isInternal":false,"tokens":4685,"sizeBytes":19327},{"name":"mobile-testing.md","path":".agents/skills/mobile-design/mobile-testing.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/mobile-design/mobile-testing.md","title":"Mobile-design Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fmobile-testing.md -->","isInternal":false,"tokens":2687,"sizeBytes":11027},{"name":"mobile-typography.md","path":".agents/skills/mobile-design/mobile-typography.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/mobile-design/mobile-typography.md","title":"Mobile-design Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fmobile-typography.md -->","isInternal":false,"tokens":3134,"sizeBytes":10717},{"name":"platform-android.md","path":".agents/skills/mobile-design/platform-android.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/mobile-design/platform-android.md","title":"Mobile-design Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fplatform-android.md -->","isInternal":false,"tokens":4330,"sizeBytes":19541},{"name":"platform-ios.md","path":".agents/skills/mobile-design/platform-ios.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/mobile-design/platform-ios.md","title":"Mobile-design Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Fplatform-ios.md -->","isInternal":false,"tokens":3724,"sizeBytes":17127},{"name":"SKILL.md","path":".agents/skills/mobile-design/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/mobile-design/SKILL.md","title":"mobile-design","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2FSKILL.md -->","frontmatter":{"name":"mobile-design","description":"Mobile-first design thinking and decision-making for iOS and Android apps. Touch interaction, performance patterns, platform conventions. Teaches principles, not fixed values. Use when building React Native, Flutter, or native mobile apps.","when_to_use":"When designing mobile app interfaces for iOS/Android, React Native, or Flutter. Touch interaction and platform conventions. NOT for web apps.","allowed-tools":"Read, Glob, Grep, Bash","version":"1.0.0","allowedTools":["Read,","Glob,","Grep,","Bash"]},"allowedTools":["Read,","Glob,","Grep,","Bash"],"isInternal":false,"tokens":3653,"sizeBytes":15627},{"name":"touch-psychology.md","path":".agents/skills/mobile-design/touch-psychology.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/mobile-design/touch-psychology.md","title":"Mobile-design Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fmobile-design%2Ftouch-psychology.md -->","isInternal":false,"tokens":3870,"sizeBytes":16848},{"name":"1-async-eliminating-waterfalls.md","path":".agents/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md","title":"Nextjs-react-expert Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F1-async-eliminating-waterfalls.md -->","isInternal":false,"tokens":2005,"sizeBytes":8823},{"name":"2-bundle-bundle-size-optimization.md","path":".agents/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md","title":"Nextjs-react-expert Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F2-bundle-bundle-size-optimization.md -->","isInternal":false,"tokens":1527,"sizeBytes":6295},{"name":"3-server-server-side-performance.md","path":".agents/skills/nextjs-react-expert/3-server-server-side-performance.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/nextjs-react-expert/3-server-server-side-performance.md","title":"Nextjs-react-expert Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F3-server-server-side-performance.md -->","isInternal":false,"tokens":3024,"sizeBytes":12860},{"name":"4-client-client-side-data-fetching.md","path":".agents/skills/nextjs-react-expert/4-client-client-side-data-fetching.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/nextjs-react-expert/4-client-client-side-data-fetching.md","title":"Nextjs-react-expert Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F4-client-client-side-data-fetching.md -->","isInternal":false,"tokens":1613,"sizeBytes":6818},{"name":"5-rerender-re-render-optimization.md","path":".agents/skills/nextjs-react-expert/5-rerender-re-render-optimization.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/nextjs-react-expert/5-rerender-re-render-optimization.md","title":"Nextjs-react-expert Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F5-rerender-re-render-optimization.md -->","isInternal":false,"tokens":3705,"sizeBytes":15871},{"name":"6-rendering-rendering-performance.md","path":".agents/skills/nextjs-react-expert/6-rendering-rendering-performance.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/nextjs-react-expert/6-rendering-rendering-performance.md","title":"Nextjs-react-expert Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F6-rendering-rendering-performance.md -->","isInternal":false,"tokens":2474,"sizeBytes":10371},{"name":"7-js-javascript-performance.md","path":".agents/skills/nextjs-react-expert/7-js-javascript-performance.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/nextjs-react-expert/7-js-javascript-performance.md","title":"Nextjs-react-expert Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F7-js-javascript-performance.md -->","isInternal":false,"tokens":4248,"sizeBytes":17360},{"name":"8-advanced-advanced-patterns.md","path":".agents/skills/nextjs-react-expert/8-advanced-advanced-patterns.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/nextjs-react-expert/8-advanced-advanced-patterns.md","title":"Nextjs-react-expert Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F8-advanced-advanced-patterns.md -->","isInternal":false,"tokens":858,"sizeBytes":3643},{"name":"9-cache-components.md","path":".agents/skills/nextjs-react-expert/9-cache-components.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/nextjs-react-expert/9-cache-components.md","title":"Nextjs-react-expert Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2F9-cache-components.md -->","isInternal":false,"tokens":704,"sizeBytes":2830},{"name":"SKILL.md","path":".agents/skills/nextjs-react-expert/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/nextjs-react-expert/SKILL.md","title":"nextjs-react-expert","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnextjs-react-expert%2FSKILL.md -->","frontmatter":{"name":"nextjs-react-expert","description":"React and Next.js performance optimization from Vercel Engineering. Use when building React components, optimizing performance, eliminating waterfalls, reducing bundle size, reviewing code for performance issues, or implementing server/client-side optimizations.","when_to_use":"When building React components, optimizing Next.js performance, eliminating waterfalls, or reducing bundle size. For React/Next.js web projects.","allowed-tools":"Read, Write, Edit, Glob, Grep, Bash","version":"1.0.0","allowedTools":["Read,","Write,","Edit,","Glob,","Grep,","Bash"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep,","Bash"],"isInternal":false,"tokens":2478,"sizeBytes":10500},{"name":"SKILL.md","path":".agents/skills/nodejs-best-practices/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/nodejs-best-practices/SKILL.md","title":"nodejs-best-practices","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fnodejs-best-practices%2FSKILL.md -->","frontmatter":{"name":"nodejs-best-practices","description":"Node.js development principles and decision-making. Framework selection, async patterns, security, and architecture. Teaches thinking, not copying.","when_to_use":"When building Node.js backends, selecting frameworks (Express/Fastify/NestJS), or implementing async patterns.","allowed-tools":"Read, Write, Edit, Glob, Grep","version":"1.0.0","allowedTools":["Read,","Write,","Edit,","Glob,","Grep"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep"],"isInternal":false,"tokens":2043,"sizeBytes":8651},{"name":"SKILL.md","path":".agents/skills/parallel-agents/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/parallel-agents/SKILL.md","title":"parallel-agents","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fparallel-agents%2FSKILL.md -->","frontmatter":{"name":"parallel-agents","description":"Multi-agent orchestration patterns. Use when multiple independent tasks can run with different domain expertise or when comprehensive analysis requires multiple perspectives.","when_to_use":"When a task requires 2+ specialist agents, comprehensive multi-domain analysis, or coordinated parallel execution. Use with /orchestrate or /coordinate workflows. NOT for single-domain tasks where one agent suffices.","allowed-tools":"Read, Glob, Grep","version":"1.0.0","effort":"medium","allowedTools":["Read,","Glob,","Grep"]},"allowedTools":["Read,","Glob,","Grep"],"isInternal":false,"tokens":1208,"sizeBytes":6283},{"name":"SKILL.md","path":".agents/skills/performance-profiling/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/performance-profiling/SKILL.md","title":"performance-profiling","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fperformance-profiling%2FSKILL.md -->","frontmatter":{"name":"performance-profiling","description":"Performance profiling principles. Measurement, analysis, and optimization techniques.","when_to_use":"When diagnosing performance issues, running Lighthouse audits, analyzing bundle size, or optimizing Core Web Vitals.","allowed-tools":"Read, Glob, Grep, Bash","version":"1.0.0","allowedTools":["Read,","Glob,","Grep,","Bash"]},"allowedTools":["Read,","Glob,","Grep,","Bash"],"isInternal":false,"tokens":797,"sizeBytes":3248},{"name":"SKILL.md","path":".agents/skills/plan-writing/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/plan-writing/SKILL.md","title":"plan-writing","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fplan-writing%2FSKILL.md -->","frontmatter":{"name":"plan-writing","description":"Structured task planning with clear breakdowns, dependencies, and verification criteria. Use when implementing features, refactoring, or any multi-step work.","when_to_use":"When creating structured task plans, breaking down features into tasks, or defining verification criteria. Use with /plan workflow.","allowed-tools":"Read, Glob, Grep","version":"1.0.0","allowedTools":["Read,","Glob,","Grep"]},"allowedTools":["Read,","Glob,","Grep"],"isInternal":false,"tokens":1065,"sizeBytes":4158},{"name":"SKILL.md","path":".agents/skills/powershell-windows/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/powershell-windows/SKILL.md","title":"powershell-windows","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fpowershell-windows%2FSKILL.md -->","frontmatter":{"name":"powershell-windows","description":"PowerShell Windows patterns. Critical pitfalls, operator syntax, error handling.","when_to_use":"When working on Windows systems, writing PowerShell scripts, or using Windows-specific commands. NOT for macOS/Linux.","allowed-tools":"Read, Write, Edit, Glob, Grep, Bash","version":"1.0.0","allowedTools":["Read,","Write,","Edit,","Glob,","Grep,","Bash"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep,","Bash"],"isInternal":false,"tokens":1011,"sizeBytes":3652},{"name":"SKILL.md","path":".agents/skills/python-patterns/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/python-patterns/SKILL.md","title":"python-patterns","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fpython-patterns%2FSKILL.md -->","frontmatter":{"name":"python-patterns","description":"Python development principles and decision-making. Framework selection, async patterns, type hints, project structure. Teaches thinking, not copying.","when_to_use":"When writing Python code, selecting Python frameworks, implementing type hints, or structuring Python projects.","allowed-tools":"Read, Write, Edit, Glob, Grep","version":"1.0.0","allowedTools":["Read,","Write,","Edit,","Glob,","Grep"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep"],"isInternal":false,"tokens":2335,"sizeBytes":9596},{"name":"SKILL.md","path":".agents/skills/red-team-tactics/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/red-team-tactics/SKILL.md","title":"red-team-tactics","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fred-team-tactics%2FSKILL.md -->","frontmatter":{"name":"red-team-tactics","description":"Red team tactics principles based on MITRE ATT&CK. Attack phases, detection evasion, reporting.","when_to_use":"When performing penetration testing, red team exercises, or evaluating attack surfaces using MITRE ATT&CK framework.","allowed-tools":"Read, Glob, Grep","version":"1.0.0","allowedTools":["Read,","Glob,","Grep"]},"allowedTools":["Read,","Glob,","Grep"],"isInternal":false,"tokens":1043,"sizeBytes":4552},{"name":"SKILL.md","path":".agents/skills/rust-pro/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/rust-pro/SKILL.md","title":"rust-pro","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Frust-pro%2FSKILL.md -->","frontmatter":{"name":"rust-pro","description":"Master modern Rust (2024 edition) with async patterns, advanced type system features, and production-ready systems programming. Expert in the current Rust ecosystem including Tokio, axum, and modern crates. Use PROACTIVELY for Rust development, performance optimization, or systems programming.","when_to_use":"When writing Rust code, working with .rs files, Cargo.toml, Tokio, axum, or any Rust ecosystem tools.","allowed-tools":"Read, Write, Edit, Glob, Grep, Bash","version":"1.0.0","allowedTools":["Read,","Write,","Edit,","Glob,","Grep,","Bash"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep,","Bash"],"isInternal":false,"tokens":1542,"sizeBytes":7788},{"name":"SKILL.md","path":".agents/skills/seo-fundamentals/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/seo-fundamentals/SKILL.md","title":"seo-fundamentals","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fseo-fundamentals%2FSKILL.md -->","frontmatter":{"name":"seo-fundamentals","description":"SEO fundamentals, E-E-A-T, Core Web Vitals, and Google algorithm principles.","when_to_use":"When optimizing web pages for search engines, implementing meta tags, improving E-E-A-T, or fixing Core Web Vitals.","allowed-tools":"Read, Glob, Grep","version":"1.0.0","allowedTools":["Read,","Glob,","Grep"]},"allowedTools":["Read,","Glob,","Grep"],"isInternal":false,"tokens":725,"sizeBytes":2933},{"name":"SKILL.md","path":".agents/skills/server-management/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/server-management/SKILL.md","title":"server-management","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fserver-management%2FSKILL.md -->","frontmatter":{"name":"server-management","description":"Server management principles and decision-making. Process management, monitoring strategy, and scaling decisions. Teaches thinking, not commands.","when_to_use":"When managing servers, configuring process managers (PM2), setting up monitoring, or planning scaling strategies.","allowed-tools":"Read, Write, Edit, Glob, Grep, Bash","version":"1.0.0","allowedTools":["Read,","Write,","Edit,","Glob,","Grep,","Bash"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep,","Bash"],"isInternal":false,"tokens":940,"sizeBytes":3878},{"name":"SKILL.md","path":".agents/skills/simplify-code/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/simplify-code/SKILL.md","title":"simplify-code","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fsimplify-code%2FSKILL.md -->","frontmatter":{"name":"simplify-code","description":"Reduce complexity of over-engineered code. Identify unnecessary abstractions, remove dead code, flatten deep nesting, and simplify logic while preserving behavior.","when_to_use":"When code is over-engineered, overly abstract, deeply nested, or more complex than needed. When user asks to 'simplify', 'clean up', 'reduce complexity', or 'make this simpler'. NOT for adding new features.","allowed-tools":"Read, Write, Edit, Grep, Glob","version":"1.0.0","effort":"medium","allowedTools":["Read,","Write,","Edit,","Grep,","Glob"]},"allowedTools":["Read,","Write,","Edit,","Grep,","Glob"],"isInternal":false,"tokens":944,"sizeBytes":4017},{"name":"SKILL.md","path":".agents/skills/skillify/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/skillify/SKILL.md","title":"skillify","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fskillify%2FSKILL.md -->","frontmatter":{"name":"skillify","description":"Auto-create new skills from repetitive workflows. When you notice yourself doing the same multi-step process repeatedly, extract it into a reusable SKILL.md that any agent can use.","when_to_use":"When the user says 'make this a skill', 'create a skill for this', 'I keep doing this same thing', or when a repetitive multi-step pattern is observed. NOT for one-off tasks.","allowed-tools":"Read, Write, Glob, Grep","version":"1.0.0","effort":"low","allowedTools":["Read,","Write,","Glob,","Grep"]},"allowedTools":["Read,","Write,","Glob,","Grep"],"isInternal":false,"tokens":814,"sizeBytes":3178},{"name":"SKILL.md","path":".agents/skills/systematic-debugging/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/systematic-debugging/SKILL.md","title":"systematic-debugging","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fsystematic-debugging%2FSKILL.md -->","frontmatter":{"name":"systematic-debugging","description":"4-phase systematic debugging methodology with root cause analysis and evidence-based verification. Use when debugging complex issues.","when_to_use":"When debugging complex issues, performing root cause analysis, or using evidence-based problem solving. Use with /debug workflow.","allowed-tools":"Read, Glob, Grep","version":"1.0.0","allowedTools":["Read,","Glob,","Grep"]},"allowedTools":["Read,","Glob,","Grep"],"isInternal":false,"tokens":656,"sizeBytes":2565},{"name":"SKILL.md","path":".agents/skills/tailwind-patterns/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/tailwind-patterns/SKILL.md","title":"tailwind-patterns","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Ftailwind-patterns%2FSKILL.md -->","frontmatter":{"name":"tailwind-patterns","description":"Tailwind CSS v4 principles. CSS-first configuration, container queries, modern patterns, design token architecture.","when_to_use":"When using Tailwind CSS v4, implementing design tokens, container queries, or modern CSS patterns with Tailwind.","allowed-tools":"Read, Write, Edit, Glob, Grep","version":"1.0.0","allowedTools":["Read,","Write,","Edit,","Glob,","Grep"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep"],"isInternal":false,"tokens":1874,"sizeBytes":6979},{"name":"SKILL.md","path":".agents/skills/tdd-workflow/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/tdd-workflow/SKILL.md","title":"tdd-workflow","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Ftdd-workflow%2FSKILL.md -->","frontmatter":{"name":"tdd-workflow","description":"Test-Driven Development workflow principles. RED-GREEN-REFACTOR cycle.","when_to_use":"When practicing Test-Driven Development, following RED-GREEN-REFACTOR cycle, or writing tests before implementation.","allowed-tools":"Read, Write, Edit, Glob, Grep, Bash","version":"1.0.0","allowedTools":["Read,","Write,","Edit,","Glob,","Grep,","Bash"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep,","Bash"],"isInternal":false,"tokens":771,"sizeBytes":2960},{"name":"SKILL.md","path":".agents/skills/testing-patterns/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/testing-patterns/SKILL.md","title":"testing-patterns","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Ftesting-patterns%2FSKILL.md -->","frontmatter":{"name":"testing-patterns","description":"Testing patterns and principles. Unit, integration, mocking strategies.","when_to_use":"When writing unit tests, integration tests, choosing testing frameworks, or implementing mocking strategies.","allowed-tools":"Read, Write, Edit, Glob, Grep, Bash","version":"1.0.0","allowedTools":["Read,","Write,","Edit,","Glob,","Grep,","Bash"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep,","Bash"],"isInternal":false,"tokens":878,"sizeBytes":3628},{"name":"SKILL.md","path":".agents/skills/verify-changes/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/verify-changes/SKILL.md","title":"verify-changes","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fverify-changes%2FSKILL.md -->","frontmatter":{"name":"verify-changes","description":"Prove code works by running it, not just checking it exists. Verification through execution rather than inspection. Use after writing or modifying code to ensure it actually functions correctly.","when_to_use":"After writing code, completing a feature, or fixing a bug. When the user says 'does this work?', 'test this', 'verify', or when /verify workflow is invoked. NOT for writing new code — for proving existing code works.","allowed-tools":"Read, Bash, Grep, Glob","version":"1.0.0","effort":"medium","allowedTools":["Read,","Bash,","Grep,","Glob"]},"allowedTools":["Read,","Bash,","Grep,","Glob"],"isInternal":false,"tokens":925,"sizeBytes":3954},{"name":"checklists.md","path":".agents/skills/vulnerability-scanner/checklists.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/vulnerability-scanner/checklists.md","title":"Vulnerability-scanner Skill","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fvulnerability-scanner%2Fchecklists.md -->","isInternal":false,"tokens":747,"sizeBytes":3039},{"name":"SKILL.md","path":".agents/skills/vulnerability-scanner/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/vulnerability-scanner/SKILL.md","title":"vulnerability-scanner","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fvulnerability-scanner%2FSKILL.md -->","frontmatter":{"name":"vulnerability-scanner","description":"Advanced vulnerability analysis principles. OWASP 2025, Supply Chain Security, attack surface mapping, risk prioritization.","when_to_use":"When scanning for security vulnerabilities, checking OWASP 2025 compliance, or analyzing supply chain security.","allowed-tools":"Read, Glob, Grep, Bash","version":"1.0.0","allowedTools":["Read,","Glob,","Grep,","Bash"]},"allowedTools":["Read,","Glob,","Grep,","Bash"],"isInternal":false,"tokens":1885,"sizeBytes":7726},{"name":"SKILL.md","path":".agents/skills/web-design-guidelines/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/web-design-guidelines/SKILL.md","title":"web-design-guidelines","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fweb-design-guidelines%2FSKILL.md -->","frontmatter":{"name":"web-design-guidelines","description":"Review UI code for Web Interface Guidelines compliance. Use when asked to \"review my UI\", \"check accessibility\", \"audit design\", \"review UX\", or \"check my site against best practices\".","when_to_use":"When auditing web UI for best practices, checking accessibility, or reviewing design against Web Interface Guidelines.","allowed-tools":"Read, Grep, Glob, WebFetch","version":"1.0.0","metadata":{"author":"vercel","version":"1.0.0","argument-hint":"<file-or-pattern>"},"allowedTools":["Read,","Grep,","Glob,","WebFetch"]},"allowedTools":["Read,","Grep,","Glob,","WebFetch"],"isInternal":false,"tokens":439,"sizeBytes":1962},{"name":"SKILL.md","path":".agents/skills/webapp-testing/SKILL.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/skills/webapp-testing/SKILL.md","title":"webapp-testing","category":"anthropic-skill","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2Fskills%2Fwebapp-testing%2FSKILL.md -->","frontmatter":{"name":"webapp-testing","description":"Web application testing principles. E2E, Playwright, deep audit strategies.","when_to_use":"When writing E2E tests with Playwright, performing deep web app audits, or testing user flows. Use with /test workflow.","allowed-tools":"Read, Write, Edit, Glob, Grep, Bash","version":"1.0.0","allowedTools":["Read,","Write,","Edit,","Glob,","Grep,","Bash"]},"allowedTools":["Read,","Write,","Edit,","Glob,","Grep,","Bash"],"isInternal":false,"tokens":974,"sizeBytes":3965},{"name":"ARCHITECTURE.md","path":".agents/ARCHITECTURE.md","rawUrl":"https://raw.githubusercontent.com/vudovn/antigravity-kit/HEAD/.agents/ARCHITECTURE.md","title":".agents - System Architecture & Module Boundaries","category":"project-spec","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/vudovn/antigravity-kit?path=.agents%2FARCHITECTURE.md -->","isInternal":false,"tokens":3723,"sizeBytes":18407}],"systemPromptSnippet":"<yakaai_skills repo=\"vudovn/antigravity-kit\">\n<!-- File: CLAUDE.md (Tokens: ~1077 | Category: claude-rule) -->\n# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\n## What this is\n\nAG Kit is an Antigravity-first AI agent engineering kit. The product is the `.agents/` workspace contract itself (rules, skills, agents, workflows, memory, hooks) — Markdown + JSON consumed by the Google Antigravity runtime, not compiled code. Three deliverables live in one repo:\n\n- `.agents/` — the toolkit: 20 specialist agents (`agent/`), ~50 skills (`skills/`), 13 slash-command workflows (`workflows/`), 6 rules (`rules/`), persistent memory templates (`memory/`), plus the Antigravity runtime layer (`antigravity.json` contract, `hooks.json` PreToolUse safety gate, `hooks/*.mjs` tooling, JSON schemas).\n- `cli/` — published npm package `@vudovn/ag-kit` (Node ≥18, ESM). Installs the kit into user projects via `giget`. Entry: `cli/bin/index.js`, managed-tree logic in `cli/lib/managed-tree.js`.\n- `web/` — docs site (Next.js 16 + MDX + Tailwind 4, React 19). Content data lives in JSON catalogs under `web/src`.\n\nPython ≥3.10 (with PyYAML) runs the toolkit validators; Node ≥22 runs the Antigravity tooling.\n\n## Commands\n\nAll from repo root unless noted.\n\n```bash\n# Toolkit (.agents/) — run after ANY change to managed components\nnpm run generate:agents      # regenerate manifest.json, manifest.lock.json, DEPENDENCY_GRAPH.md\nnpm run check:agents         # manifest --check + graph --check + validate_kit.py (what CI runs)\nnpm run test:toolkit         # python -m unittest discover -s .agents/scripts/tests -v\n\n# Antigravity runtime layer\nnpm run check:antigravity    # doctor: validates contract, hooks, schemas\nnpm run test:antigravity     # node --test .agents/hooks/tests/antigravity.test.mjs\nnpm run build:antigravity-plugin\n\n# CLI\nnpm run test:cli             # or: cd cli && node --test test/*.test.js\nnode --test cli/test/managed-tree.test.js   # single test file\n\n# Web (deps installed per-package: npm ci in cli/ and web/)\nnpm run lint:web\nnpm run typecheck:web\nnpm run build:web            # next build --webpack (not turbopack)\n```\n\nSingle Python test: `python -m unittest .agents.scripts.tests.test_toolkit -v` won't work due to path; use `python -m unittest discover -s .agents/scripts/tests -k <pattern> -v`.\n\n## The managed component registry (critical)\n\nAny edit to a managed component (files in `.agents/agent|skills|workflows|rules`, hooks, schemas) **must** be followed by `npm run generate:agents`, or `check:agents` and CI fail on hash mismatch. Never hand-edit `manifest.json`, `manifest.lock.json`, or `DEPENDENCY_GRAPH.md` — all generated.\n\nDual-track versioning:\n- Toolkit releases: **CalVer** `YYYY.M.D` in `.agents/VERSION`.\n- Individual components: **SemVer** in their Markdown frontmatter. Bump the component's frontmatter version when changing it.\n\n## Component conventions\n\n- Agents, skills, workflows, and rules are Markdown with YAML frontmatter (`name`, `description`, `version`, plus `tools`/`dependencies` where applicable). Frontmatter shape is validated by `validate_kit.py` — match existing files in the same directory.\n- Skills use progressive/conditional loading (\"Selective Reading\"): a short always-loaded core with deeper sections loaded on demand. Keep new skill content in that shape.\n- Cross-component dependencies are declared in frontmatter and materialize in the generated dependency graph; a dangling dependency fails `check:agents`.\n- The native PreToolUse hook (`hooks.json` + `validate-tool-call.mjs`) is deliberately narrow: blocks root-filesystem deletion, drive formatting, raw-disk writes only. Don't broaden it into a general linter.\n\n## Release\n\n- Version is CalVer and must be synced across **three** `package.json` files (root, `cli/`, `web/`) plus `.agents/VERSION`. `cli/test/release-safety.test.js` guards this.\n- npm publish runs via `.github/workflows/publish.yml`; CI (`ci.yml`) runs toolkit validation, CLI tests + `npm pack --dry-run` + prod audit, and web lint/typecheck/build/audit. `antigravity.yml` runs doctor, hook tests, and plugin build.\n\n## Web notes\n\n- `next build --webpack` is intentional: the MDX plugin config breaks under Turbopack unless plugins are referenced by string name (see `web/next.config.ts`).\n- Docs content is driven by JSON catalog data under `web/src`, not by scanning `.agents/` at build time — update the catalogs when components change.\n\n<!-- File: .agents/rules/code-rules.md (Tokens: ~1025 | Category: anthropic-skill) -->\n---\nname: code-rules\nversion: 1.0.0\npriority: P0\ntrigger: model_decision\ndescription: Apply when writing, building, refactoring, or fixing code — project-type agent routing, the Socratic Gate, Plan Mode phases, and the final checklist/scripts. Skip for pure questions or text-only responses.\n---\n\n# Code Rules (TIER 1) - AG Kit\n\n> Loaded when the request involves writing or modifying code.\n\n---\n\n## 📱 Project Type Routing\n\n| Project Type                           | Primary Agent         | Skills                        |\n| -------------------------------------- | --------------------- | ----------------------------- |\n| **MOBILE** (iOS, Android, RN, Flutter) | `mobile-developer`    | mobile-design                 |\n| **WEB** (Next.js, React web)           | `frontend-specialist` | frontend-design               |\n| **BACKEND** (API, server, DB)          | `backend-specialist`  | api-patterns, database-design |\n\n> 🔴 **Mobile + frontend-specialist = WRONG.** Mobile = mobile-developer ONLY.\n\n---\n\n## 🛑 GLOBAL SOCRATIC GATE\n\n**MANDATORY: Every user request must pass through the Socratic Gate before ANY tool use or implementation.**\n\n| Request Type            | Strategy       | Required Action                                                   |\n| ----------------------- | -------------- | ----------------------------------------------------------------- |\n| **New Feature / Build** | Deep Discovery | ASK minimum 3 strategic questions                                 |\n| **Code Edit / Bug Fix** | Context Check  | Confirm understanding + ask impact questions                      |\n| **Vague / Simple**      | Clarification  | Ask Purpose, Users, and Scope                                     |\n| **Full Orchestration**  | Gatekeeper     | **STOP** subagents until user confirms plan details               |\n| **Direct \"Proceed\"**    | Validation     | **STOP** → Even if answers are given, ask 2 \"Edge Case\" questions |\n\n**Protocol:**\n\n1. **Never Assume:** If even 1% is unclear, ASK.\n2. **Handle Spec-heavy Requests:** When user gives a list (Answers 1, 2, 3...), do NOT skip the gate. Instead, ask about **Trade-offs** or **Edge Cases** (e.g., \"LocalStorage confirmed, but should we handle data clearing or versioning?\") before starting.\n3. **Wait:** Do NOT invoke subagents or write code until the user clears the Gate.\n4. **Reference:** Full protocol in `@[skills/brainstorming]`.\n\n---\n\n## 🏁 Plan Mode (4-Phase)\n\n1. ANALYSIS → Research, questions\n2. PLANNING → `{task-slug}.md`, task breakdown\n3. SOLUTIONING → Architecture, design (NO CODE!)\n4. IMPLEMENTATION → Code + tests\n\n---\n\n## 🏁 Final Checklist Protocol\n\n**Trigger:** When the user says \"run the final checks\", \"final checks\", \"run all the tests\", or similar phrases.\n\n| Task Stage       | Command                                            | Purpose                        |\n| ---------------- | -------------------------------------------------- | ------------------------------ |\n| **Manual Audit** | `python .agents/scripts/checklist.py .`             | Priority-based project audit   |\n| **Pre-Deploy**   | `python .agents/scripts/checklist.py . --url <URL>` | Full Suite + Performance + E2E |\n\n**Priority Execution Order:**\n\n1. **Security** → 2. **Lint** → 3. **Schema** → 4. **Tests** → 5. **UX** → 6. **Seo** → 7. **Lighthouse/E2E**\n\n**Rules:**\n\n- **Completion:** A task is NOT finished until `checklist.py` returns success.\n- **Reporting:** If it fails, fix the **Critical** blockers first (Security/Lint).\n\n**Available Scripts (10 total):**\n\n| Script                     | Skill                 | When to Use         |\n| -------------------------- | --------------------- | ------------------- |\n| `security_scan.py`         | vulnerability-scanner | Always on deploy    |\n| `lint_runner.py`           | lint-and-validate     | Every code change   |\n| `test_runner.py`           | testing-patterns      | After logic change  |\n| `schema_validator.py`      | database-design       | After DB change     |\n| `ux_audit.py`              | frontend-design       | After UI change     |\n| `accessibility_checker.py` | frontend-design       | After UI change     |\n| `seo_checker.py`           | seo-fundamentals      | After page change   |\n| `mobile_audit.py`          | mobile-design         | After mobile change |\n| `lighthouse_audit.py`      | performance-profiling | Before deploy       |\n| `playwright_runner.py`     | webapp-testing        | Before deploy       |\n\n> 🔴 **Agents & Skills can invoke ANY script** via `python .agents/skills/<skill>/scripts/<script>.py`\n\n---\n\n<!-- File: .agents/rules/core-protocol.md (Tokens: ~747 | Category: anthropic-skill) -->\n---\nname: core-protocol\nversion: 1.0.0\npriority: P0\ntrigger: always_on\n---\n\n# Core Protocol - AG Kit\n\n> The highest-priority workspace rules. How the AI loads agents/skills and what it must do before any implementation.\n\n---\n\n## CRITICAL: AGENT & SKILL PROTOCOL (START HERE)\n\n> **MANDATORY:** You MUST read the appropriate agent file and its skills BEFORE performing any implementation. This is the highest priority rule.\n\n### 1. Modular Skill Loading Protocol\n\nAgent activated → Check frontmatter \"skills:\" → Read SKILL.md (INDEX) → Read specific sections.\n\n- **Selective Reading:** DO NOT read ALL files in a skill folder. Read `SKILL.md` first, then only read sections matching the user's request.\n- **Rule Priority:** P0 (Workspace Rules in `.agents/rules/`) > P1 (Agent `.md`) > P2 (SKILL.md). All rules are binding.\n\n### 1.1 Skill Announcement (MANDATORY)\n\n**Every time you load and apply a skill, announce it BEFORE using it** — so the user can verify which knowledge is active.\n\n```markdown\n📚 **Using skill: `@[skill-name]`...**\n```\n\n- List multiple skills together: `📚 Using skills: @frontend-design + @design-spec...`\n- Announce on-demand skills too (e.g. a companion skill pulled from a hub, or `app-builder` for a new app), not just frontmatter ones.\n- ❌ Applying a skill without announcing it = **USER CANNOT VERIFY THE SKILL WAS USED**.\n\n### 2. Enforcement Protocol\n\n1. **When agent is activated:**\n    - ✅ Activate: Read Rules → Check Frontmatter → Load SKILL.md → Apply All.\n2. **Forbidden:** Never skip reading agent rules or skill instructions. \"Read → Understand → Apply\" is mandatory.\n\n---\n\n## 📁 File Dependency Awareness\n\n**Before modifying ANY file:**\n\n1. If `CODEBASE.md` exists, check its File Dependencies section.\n2. Otherwise, discover dependencies with targeted search/import analysis; do not block waiting for a missing file.\n3. Identify dependent files and update all affected files together.\n\n---\n\n## 🗺️ System Map & Memory Read\n\n> 🔴 **MANDATORY:** At session start, you MUST read `.agents/memory/MEMORY.md` to load persistent project conventions, user preferences, and decisions.\n\n> 📚 **Catalog lookup (on-demand, NOT every session):** Need the full list of Agents / Skills / Scripts? The `quick-reference` rule has the essentials. For the complete catalog, read `.agents/ARCHITECTURE.md` only when you actually need it (e.g. orchestration, or discovering a skill you're unsure exists) — do NOT load it on every request.\n\n**Path Awareness (Note: the project directory name is `.agents` plural):**\n\n- Agents: `.agents/agent/` (Project)\n- Skills: `.agents/skills/` (Project)\n- Memory: `.agents/memory/` (Project)\n- Runtime Scripts: `.agents/skills/<skill>/scripts/`\n\n---\n\n## 🧠 Read → Understand → Apply\n\n```\n❌ WRONG: Read agent file → Start coding\n✅ CORRECT: Read → Understand WHY → Apply PRINCIPLES → Code\n```\n\n**Before coding, answer:**\n\n1. What is the GOAL of this agent/skill?\n2. What PRINCIPLES must I apply?\n3. How does this DIFFER from generic output?\n\n---\n\n<!-- File: .agents/rules/design-rules.md (Tokens: ~432 | Category: anthropic-skill) -->\n---\nname: design-rules\nversion: 1.0.0\npriority: P0\ntrigger: glob\nglobs: \"**/*.{tsx,jsx,vue,svelte,css,scss},**/components/**,**/app/**/page.tsx\"\n---\n\n# Design Rules (TIER 2) - AG Kit\n\n> Loaded when touching UI files. Design rules live in the specialist agents, NOT here.\n\n## 🛑 GATE: DESIGN.md before any UI code (MANDATORY)\n\nBefore writing or editing UI (components, pages, styles — web or mobile), a **`DESIGN.md` must exist at the project root**.\n\n1. **Check** for `DESIGN.md` at the project root.\n2. **If missing:** infer the design direction from the brief, then **create `DESIGN.md` first** (tokens + rationale) following the `design-spec` skill. Do not write UI code until it exists.\n3. **If present:** READ it and build strictly against its tokens. Descriptive names in prose map to token names.\n4. **Keep it in sync** when the visual language changes — it is the single source of truth.\n\n> Exception: none for new UI. A genuinely trivial tweak to existing UI (one button color, a spacing nudge) may proceed if a `DESIGN.md` already governs the project. Net-new UI always requires the gate.\n\n| Need | Read |\n| ---- | ---- |\n| DESIGN.md format / tokens | `.agents/skills/design-spec/SKILL.md` |\n\n---\n\n| Task         | Read                            |\n| ------------ | ------------------------------- |\n| Web UI/UX    | `.agents/agent/frontend-specialist.md` |\n| Mobile UI/UX | `.agents/agent/mobile-developer.md`    |\n\n**These agents contain:**\n\n- Purple Ban (no purple by default — brand/brief override allowed)\n- Template Ban (no standard layouts)\n- Anti-cliché rules\n- Deep Design Thinking protocol\n\n> 🔴 **For design work:** Open and READ the agent file. Rules are there.\n\n---\n\n<!-- File: .agents/rules/quick-reference.md (Tokens: ~258 | Category: anthropic-skill) -->\n---\nname: quick-reference\nversion: 1.0.0\npriority: P2\ntrigger: model_decision\ndescription: Apply when you need a fast lookup of which agents, skills, or validation scripts exist — for routing decisions or recalling the master/key components of the kit.\n---\n\n# Quick Reference - AG Kit\n\n> A fast index of the most-used agents, skills, and scripts.\n\n## Agents & Skills\n\n- **Masters**: `orchestrator`, `project-planner`, `security-auditor` (Cyber/Audit), `backend-specialist` (API/DB), `frontend-specialist` (UI/UX), `mobile-developer`, `debugger`, `game-developer`\n- **Key Skills**: `clean-code`, `brainstorming`, `app-builder`, `frontend-design`, `mobile-design`, `plan-writing`, `behavioral-modes`\n\n## Key Scripts\n\n- **Verify**: `.agents/scripts/verify_all.py`, `.agents/scripts/checklist.py`\n- **Scanners**: `security_scan.py`\n- **Audits**: `ux_audit.py`, `mobile_audit.py`, `lighthouse_audit.py`, `seo_checker.py`\n- **Test**: `playwright_runner.py`, `test_runner.py`\n\n---\n\n<!-- File: .agents/rules/request-routing.md (Tokens: ~1131 | Category: anthropic-skill) -->\n---\nname: request-routing\nversion: 1.0.0\npriority: P0\ntrigger: always_on\n---\n\n# Request Routing - AG Kit\n\n> Always-active. Classify every request, then auto-route to the best specialist agent(s) before responding.\n\n---\n\n## 📥 REQUEST CLASSIFIER (STEP 1)\n\n**Before ANY action, classify the request:**\n\n| Request Type     | Trigger Keywords                           | Active Tiers                   | Result                      |\n| ---------------- | ------------------------------------------ | ------------------------------ | --------------------------- |\n| **QUESTION**     | \"what is\", \"how does\", \"explain\"           | TIER 0 only                    | Text Response               |\n| **SURVEY/INTEL** | \"analyze\", \"list files\", \"overview\"        | TIER 0 + Explorer              | Session Intel (No File)     |\n| **SIMPLE CODE**  | \"fix\", \"add\", \"change\" (single file)       | TIER 0 + TIER 1 (lite)         | Inline Edit                 |\n| **COMPLEX CODE** | \"build\", \"create\", \"implement\", \"refactor\" | TIER 0 + TIER 1 (full) + Agent | **{task-slug}.md Required** |\n| **NEW APP**      | \"new app\", \"from scratch\", \"build me a/an\", multi-page | `project-planner` (loads `app-builder`) → `orchestrator` | **{task-slug}.md + app-builder** |\n| **DESIGN/UI**    | \"design\", \"UI\", \"page\", \"dashboard\"        | TIER 0 + TIER 1 + Agent        | **{task-slug}.md Required** |\n| **SLASH CMD**    | /create, /orchestrate, /debug              | Command-specific flow          | Variable                    |\n\n> 🔴 **NEW APP / scaffold from scratch:** route through `project-planner` or `orchestrator` (both load `app-builder`), NOT a lone specialist like `frontend-specialist`. A specialist alone has no project-detection, tech-stack selection, or template knowledge — `app-builder` does. Or run `/create`.\n\n---\n\n## 🤖 INTELLIGENT AGENT ROUTING (STEP 2 - AUTO)\n\n**ALWAYS ACTIVE: Before responding to ANY request, automatically analyze and select the best agent(s).**\n\n> 🔴 **MANDATORY:** You MUST follow the protocol defined in `@[skills/intelligent-routing]`.\n\n### Auto-Selection Protocol\n\n1. **Analyze (Silent)**: Detect domains (Frontend, Backend, Security, etc.) from user request.\n2. **Select Agent(s)**: Choose the most appropriate specialist(s).\n3. **Inform User**: Concisely state which expertise is being applied.\n4. **Apply**: Generate response using the selected agent's persona and rules.\n\n### Response Format (MANDATORY)\n\nWhen auto-applying an agent, inform the user:\n\n```markdown\n🤖 **Applying knowledge of `@[agent-name]`...**\n\n[Continue with specialized response]\n```\n\n**Rules:**\n\n1. **Silent Analysis**: No verbose meta-commentary (\"I am analyzing...\").\n2. **Respect Overrides**: If user mentions `@agent`, use it.\n3. **Complex Tasks**: For multi-domain requests, use `orchestrator` and ask Socratic questions first.\n\n### ⚠️ AGENT ROUTING CHECKLIST (MANDATORY BEFORE EVERY CODE/DESIGN RESPONSE)\n\n**Before ANY code or design work, you MUST complete this mental checklist:**\n\n| Step | Check | If Unchecked |\n|------|-------|--------------|\n| 1 | Did I identify the correct agent for this domain? | → STOP. Analyze request domain first. |\n| 2 | Did I READ the agent's `.md` file (or recall its rules)? | → STOP. Open `.agents/agent/{agent}.md` |\n| 3 | Did I announce `🤖 Applying knowledge of @[agent]...`? | → STOP. Add announcement before response. |\n| 4 | Did I load required skills from agent's frontmatter? | → STOP. Check `skills:` field and read them. |\n\n**Failure Conditions:**\n\n- ❌ Writing code without identifying an agent = **PROTOCOL VIOLATION**\n- ❌ Skipping the announcement = **USER CANNOT VERIFY AGENT WAS USED**\n- ❌ Ignoring agent-specific rules (e.g., Purple Ban) = **QUALITY FAILURE**\n\n> 🔴 **Self-Check Trigger:** Every time you are about to write code or create UI, ask yourself:\n> \"Have I completed the Agent Routing Checklist?\" If NO → Complete it first.\n\n---\n\n## 🎭 Gemini Mode Mapping\n\n| Mode     | Agent             | Behavior                                     |\n| -------- | ----------------- | -------------------------------------------- |\n| **plan** | `project-planner` | 4-phase methodology. NO CODE before Phase 4. |\n| **ask**  | -                 | Focus on understanding. Ask questions.       |\n| **edit** | `orchestrator`    | Execute. Check `{task-slug}.md` first.       |\n\n> 🔴 **Edit mode:** If multi-file or structural change → Offer to create `{task-slug}.md`. For single-file fixes → Proceed directly.\n> Full Plan Mode (4-Phase) protocol lives in `code-rules.md`.\n\n---\n\n<!-- File: .agents/rules/universal-rules.md (Tokens: ~211 | Category: anthropic-skill) -->\n---\nname: universal-rules\nversion: 1.0.0\npriority: P0\ntrigger: always_on\n---\n\n# Universal Rules (TIER 0) - AG Kit\n\n> Always-active rules that apply to every request, regardless of domain.\n\n---\n\n## 🌐 Language Handling\n\nWhen user's prompt is NOT in English:\n\n1. **Internally translate** for better comprehension\n2. **Respond in user's language** - match their communication\n3. **Code comments/variables** remain in English\n\n---\n\n## 🧹 Clean Code (Global Mandatory)\n\n**ALL code MUST follow `@[skills/clean-code]` rules. No exceptions.**\n\n- **Code**: Concise, direct, no over-engineering. Self-documenting.\n- **Testing**: Mandatory. Pyramid (Unit > Int > E2E) + AAA Pattern.\n- **Performance**: Measure first. Adhere to current Core Web Vitals standards.\n- **Infra/Safety**: 5-Phase Deployment. Verify secrets security.\n\n---\n\n<!-- File: .agents/skills/api-patterns/api-style.md (Tokens: ~297 | Category: anthropic-skill) -->\n# API Style Selection\n\n> REST vs GraphQL vs tRPC - which one, when?\n\n## Decision Tree\n\n```\nWho are the API consumers?\n│\n├── Public API / Multiple platforms\n│   └── REST + OpenAPI (widest compatibility)\n│\n├── Complex data needs / Multiple frontends\n│   └── GraphQL (flexible queries)\n│\n├── TypeScript frontend + backend (monorepo)\n│   └── tRPC (end-to-end type safety)\n│\n├── Real-time / Event-driven\n│   └── WebSocket + AsyncAPI\n│\n└── Internal microservices\n    └── gRPC (performance) or REST (simplicity)\n```\n\n## Comparison\n\n| Factor | REST | GraphQL | tRPC |\n|--------|------|---------|------|\n| **Best for** | Public APIs | Complex apps | TS monorepos |\n| **Learning curve** | Low | Medium | Low (if TS) |\n| **Over/under fetching** | Common | Solved | Solved |\n| **Type safety** | Manual (OpenAPI) | Schema-based | Automatic |\n| **Caching** | HTTP native | Complex | Client-based |\n\n## Selection Questions\n\n1. Who are the API consumers?\n2. Is the frontend TypeScript?\n3. How complex are the data relationships?\n4. Is caching critical?\n5. Public or internal API?\n\n<!-- File: .agents/skills/api-patterns/auth.md (Tokens: ~138 | Category: anthropic-skill) -->\n# Authentication Patterns\n\n> Choose auth pattern based on use case.\n\n## Selection Guide\n\n| Pattern | Best For |\n|---------|----------|\n| **JWT** | Stateless, microservices |\n| **Session** | Traditional web, simple |\n| **OAuth 2.0** | Third-party integration |\n| **API Keys** | Server-to-server, public APIs |\n| **Passkey** | Modern passwordless (2025+) |\n\n## JWT Principles\n\n```\nImportant:\n├── Always verify signature\n├── Check expiration\n├── Include minimal claims\n├── Use short expiry + refresh tokens\n└── Never store sensitive data in JWT\n```\n\n<!-- File: .agents/skills/api-patterns/documentation.md (Tokens: ~120 | Category: anthropic-skill) -->\n# API Documentation Principles\n\n> Good docs = happy developers = API adoption.\n\n## OpenAPI/Swagger Essentials\n\n```\nInclude:\n├── All endpoints with examples\n├── Request/response schemas\n├── Authentication requirements\n├── Error response formats\n└── Rate limiting info\n```\n\n## Good Documentation Has\n\n```\nEssentials:\n├── Quick start / Getting started\n├── Authentication guide\n├── Complete API reference\n├── Error handling guide\n├── Code examples (multiple languages)\n└── Changelog\n```\n\n<!-- File: .agents/skills/api-patterns/graphql.md (Tokens: ~221 | Category: anthropic-skill) -->\n# GraphQL Principles\n\n> Flexible queries for complex, interconnected data.\n\n## When to Use\n\n```\n✅ Good fit:\n├── Complex, interconnected data\n├── Multiple frontend platforms\n├── Clients need flexible queries\n├── Evolving data requirements\n└── Reducing over-fetching matters\n\n❌ Poor fit:\n├── Simple CRUD operations\n├── File upload heavy\n├── HTTP caching important\n└── Team unfamiliar with GraphQL\n```\n\n## Schema Design Principles\n\n```\nPrinciples:\n├── Think in graphs, not endpoints\n├── Design for evolvability (no versions)\n├── Use connections for pagination\n├── Be specific with types (not generic \"data\")\n└── Handle nullability thoughtfully\n```\n\n## Security Considerations\n\n```\nProtect against:\n├── Query depth attacks → Set max depth\n├── Query complexity → Calculate cost\n├── Batching abuse → Limit batch size\n├── Introspection → Disable in production\n```\n\n<!-- File: .agents/skills/api-patterns/rate-limiting.md (Tokens: ~183 | Category: anthropic-skill) -->\n# Rate Limiting Principles\n\n> Protect your API from abuse and overload.\n\n## Why Rate Limit\n\n```\nProtect against:\n├── Brute force attacks\n├── Resource exhaustion\n├── Cost overruns (if pay-per-use)\n└── Unfair usage\n```\n\n## Strategy Selection\n\n| Type | How | When |\n|------|-----|------|\n| **Token bucket** | Burst allowed, refills over time | Most APIs |\n| **Sliding window** | Smooth distribution | Strict limits |\n| **Fixed window** | Simple counters per window | Basic needs |\n\n## Response Headers\n\n```\nInclude in headers:\n├── X-RateLimit-Limit (max requests)\n├── X-RateLimit-Remaining (requests left)\n├── X-RateLimit-Reset (when limit resets)\n└── Return 429 when exceeded\n```\n\n<!-- File: .agents/skills/api-patterns/response.md (Tokens: ~218 | Category: anthropic-skill) -->\n# Response Format Principles\n\n> Consistency is key - choose a format and stick to it.\n\n## Common Patterns\n\n```\nChoose one:\n├── Envelope pattern ({ success, data, error })\n├── Direct data (just return the resource)\n└── HAL/JSON:API (hypermedia)\n```\n\n## Error Response\n\n```\nInclude:\n├── Error code (for programmatic handling)\n├── User message (for display)\n├── Details (for debugging, field-level errors)\n├── Request ID (for support)\n└── NOT internal details (security!)\n```\n\n## Pagination Types\n\n| Type | Best For | Trade-offs |\n|------|----------|------------|\n| **Offset** | Simple, jumpable | Performance on large datasets |\n| **Cursor** | Large datasets | Can't jump to page |\n| **Keyset** | Performance critical | Requires sortable key |\n\n### Selection Questions\n\n1. How large is the dataset?\n2. Do users need to jump to specific pages?\n3. Is data frequently changing?\n\n<!-- File: .agents/skills/api-patterns/rest.md (Tokens: ~331 | Category: anthropic-skill) -->\n# REST Principles\n\n> Resource-based API design - nouns not verbs.\n\n## Resource Naming Rules\n\n```\nPrinciples:\n├── Use NOUNS, not verbs (resources, not actions)\n├── Use PLURAL forms (/users not /user)\n├── Use lowercase with hyphens (/user-profiles)\n├── Nest for relationships (/users/123/posts)\n└── Keep shallow (max 3 levels deep)\n```\n\n## HTTP Method Selection\n\n| Method | Purpose | Idempotent? | Body? |\n|--------|---------|-------------|-------|\n| **GET** | Read resource(s) | Yes | No |\n| **POST** | Create new resource | No | Yes |\n| **PUT** | Replace entire resource | Yes | Yes |\n| **PATCH** | Partial update | No | Yes |\n| **DELETE** | Remove resource | Yes | No |\n\n## Status Code Selection\n\n| Situation | Code | Why |\n|-----------|------|-----|\n| Success (read) | 200 | Standard success |\n| Created | 201 | New resource created |\n| No content | 204 | Success, nothing to return |\n| Bad request | 400 | Malformed request |\n| Unauthorized | 401 | Missing/invalid auth |\n| Forbidden | 403 | Valid auth, no permission |\n| Not found | 404 | Resource doesn't exist |\n| Conflict | 409 | State conflict (duplicate) |\n| Validation error | 422 | Valid syntax, invalid data |\n| Rate limited | 429 | Too many requests |\n| Server error | 500 | Our fault |\n\n<!-- File: .agents/skills/api-patterns/security-testing.md (Tokens: ~678 | Category: anthropic-skill) -->\n# API Security Testing\n\n> Principles for testing API security. OWASP API Top 10, authentication, authorization testing.\n\n---\n\n## OWASP API Security Top 10\n\n| Vulnerability | Test Focus |\n|---------------|------------|\n| **API1: BOLA** | Access other users' resources |\n| **API2: Broken Auth** | JWT, session, credentials |\n| **API3: Property Auth** | Mass assignment, data exposure |\n| **API4: Resource Consumption** | Rate limiting, DoS |\n| **API5: Function Auth** | Admin endpoints, role bypass |\n| **API6: Business Flow** | Logic abuse, automation |\n| **API7: SSRF** | Internal network access |\n| **API8: Misconfiguration** | Debug endpoints, CORS |\n| **API9: Inventory** | Shadow APIs, old versions |\n| **API10: Unsafe Consumption** | Third-party API trust |\n\n---\n\n## Authentication Testing\n\n### JWT Testing\n\n| Check | What to Test |\n|-------|--------------|\n| Algorithm | None, algorithm confusion |\n| Secret | Weak secrets, brute force |\n| Claims | Expiration, issuer, audience |\n| Signature | Manipulation, key injection |\n\n### Session Testing\n\n| Check | What to Test |\n|-------|--------------|\n| Generation | Predictability |\n| Storage | Client-side security |\n| Expiration | Timeout enforcement |\n| Invalidation | Logout effectiveness |\n\n---\n\n## Authorization Testing\n\n| Test Type | Approach |\n|-----------|----------|\n| **Horizontal** | Access peer users' data |\n| **Vertical** | Access higher privilege functions |\n| **Context** | Access outside allowed scope |\n\n### BOLA/IDOR Testing\n\n1. Identify resource IDs in requests\n2. Capture request with user A's session\n3. Replay with user B's session\n4. Check for unauthorized access\n\n---\n\n## Input Validation Testing\n\n| Injection Type | Test Focus |\n|----------------|------------|\n| SQL | Query manipulation |\n| NoSQL | Document queries |\n| Command | System commands |\n| LDAP | Directory queries |\n\n**Approach:** Test all parameters, try type coercion, test boundaries, check error messages.\n\n---\n\n## Rate Limiting Testing\n\n| Aspect | Check |\n|--------|-------|\n| Existence | Is there any limit? |\n| Bypass | Headers, IP rotation |\n| Scope | Per-user, per-IP, global |\n\n**Bypass techniques:** X-Forwarded-For, different HTTP methods, case variations, API versioning.\n\n---\n\n## GraphQL Security\n\n| Test | Focus |\n|------|-------|\n| Introspection | Schema disclosure |\n| Batching | Query DoS |\n| Nesting | Depth-based DoS |\n| Authorization | Field-level access |\n\n---\n\n## Security Testing Checklist\n\n**Authentication:**\n- [ ] Test for bypass\n- [ ] Check credential strength\n- [ ] Verify token security\n\n**Authorization:**\n- [ ] Test BOLA/IDOR\n- [ ] Check privilege escalation\n- [ ] Verify function access\n\n**Input:**\n- [ ] Test all parameters\n- [ ] Check for injection\n\n**Config:**\n- [ ] Check CORS\n- [ ] Verify headers\n- [ ] Test error handling\n\n---\n\n> **Remember:** APIs are the backbone of modern apps. Test them like attackers will.\n\n<!-- File: .agents/skills/api-patterns/SKILL.md (Tokens: ~626 | Category: anthropic-skill) -->\n---\nname: api-patterns\ndescription: API design principles and decision-making. REST vs GraphQL vs tRPC selection, response formats, versioning, pagination.\nwhen_to_use: \"When designing REST/GraphQL/tRPC APIs, defining response formats, versioning, pagination, or API authentication. NOT for UI/frontend work.\"\nallowed-tools: Read, Write, Edit, Glob, Grep\nversion: 1.0.0\n---\n\n# API Patterns\n\n> API design principles and decision-making.\n> **Learn to THINK, not copy fixed patterns.**\n\n## 🎯 Selective Reading Rule\n\n**Read ONLY files relevant to the request!** Check the content map, find what you need.\n\n---\n\n## 📑 Content Map\n\n| File | Description | When to Read |\n|------|-------------|--------------|\n| `api-style.md` | REST vs GraphQL vs tRPC decision tree | Choosing API type |\n| `rest.md` | Resource naming, HTTP methods, status codes | Designing REST API |\n| `response.md` | Envelope pattern, error format, pagination | Response structure |\n| `graphql.md` | Schema design, when to use, security | Considering GraphQL |\n| `trpc.md` | TypeScript monorepo, type safety | TS fullstack projects |\n| `versioning.md` | URI/Header/Query versioning | API evolution planning |\n| `auth.md` | JWT, OAuth, Passkey, API Keys | Auth pattern selection |\n| `rate-limiting.md` | Token bucket, sliding window | API protection |\n| `documentation.md` | OpenAPI/Swagger best practices | Documentation |\n| `security-testing.md` | OWASP API Top 10, auth/authz testing | Security audits |\n\n---\n\n## 🔗 Related Skills\n\n| Need | Skill |\n|------|-------|\n| API implementation | `@[skills/nodejs-best-practices]` |\n| Data structure | `@[skills/database-design]` |\n| Security details | `@[skills/vulnerability-scanner]` |\n\n---\n\n## ✅ Decision Checklist\n\nBefore designing an API:\n\n- [ ] **Asked user about API consumers?**\n- [ ] **Chosen API style for THIS context?** (REST/GraphQL/tRPC)\n- [ ] **Defined consistent response format?**\n- [ ] **Planned versioning strategy?**\n- [ ] **Considered authentication needs?**\n- [ ] **Planned rate limiting?**\n- [ ] **Documentation approach defined?**\n\n---\n\n## ❌ Anti-Patterns\n\n**DON'T:**\n- Default to REST for everything\n- Use verbs in REST endpoints (/getUsers)\n- Return inconsistent response formats\n- Expose internal errors to clients\n- Skip rate limiting\n\n**DO:**\n- Choose API style based on context\n- Ask about client requirements\n- Document thoroughly\n- Use appropriate status codes\n\n---\n\n## Script\n\n| Script | Purpose | Command |\n|--------|---------|---------|\n| `scripts/api_validator.py` | API endpoint validation | `python scripts/api_validator.py <project_path>` |\n\n<!-- File: .agents/skills/api-patterns/trpc.md (Tokens: ~202 | Category: anthropic-skill) -->\n# tRPC Principles\n\n> End-to-end type safety for TypeScript monorepos.\n\n## When to Use\n\n```\n✅ Perfect fit:\n├── TypeScript on both ends\n├── Monorepo structure\n├── Internal tools\n├── Rapid development\n└── Type safety critical\n\n❌ Poor fit:\n├── Non-TypeScript clients\n├── Public API\n├── Need REST conventions\n└── Multiple language backends\n```\n\n## Key Benefits\n\n```\nWhy tRPC:\n├── Zero schema maintenance\n├── End-to-end type inference\n├── IDE autocomplete across stack\n├── Instant API changes reflected\n└── No code generation step\n```\n\n## Integration Patterns\n\n```\nCommon setups:\n├── Next.js + tRPC (most common)\n├── Monorepo with shared types\n├── Remix + tRPC\n└── Any TS frontend + backend\n```\n\n<!-- File: .agents/skills/api-patterns/versioning.md (Tokens: ~158 | Category: anthropic-skill) -->\n# Versioning Strategies\n\n> Plan for API evolution from day one.\n\n## Decision Factors\n\n| Strategy | Implementation | Trade-offs |\n|----------|---------------|------------|\n| **URI** | /v1/users | Clear, easy caching |\n| **Header** | Accept-Version: 1 | Cleaner URLs, harder discovery |\n| **Query** | ?version=1 | Easy to add, messy |\n| **None** | Evolve carefully | Best for internal, risky for public |\n\n## Versioning Philosophy\n\n```\nConsider:\n├── Public API? → Version in URI\n├── Internal only? → May not need versioning\n├── GraphQL? → Typically no versions (evolve schema)\n├── tRPC? → Types enforce compatibility\n```\n\n<!-- File: .agents/skills/app-builder/agent-coordination.md (Tokens: ~1081 | Category: anthropic-skill) -->\n# Agent Coordination\n\n> How App Builder orchestrates specialist agents.\n\n## Agent Pipeline\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                   APP BUILDER (Orchestrator)                 │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│                     PROJECT PLANNER                          │\n│  • Task breakdown                                            │\n│  • Dependency graph                                          │\n│  • File structure planning                                   │\n│  • Create {task-slug}.md in project root (MANDATORY)             │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│              CHECKPOINT: PLAN VERIFICATION                   │\n│  🔴 VERIFY: Does {task-slug}.md exist in project root?       │\n│  🔴 If NO → STOP → Create plan file first                    │\n│  🔴 If YES → Proceed to specialist agents                    │\n└─────────────────────────────────────────────────────────────┘\n                              │\n          ┌───────────────────┼───────────────────┐\n          ▼                   ▼                   ▼\n┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐\n│ DATABASE        │ │ BACKEND         │ │ DESIGN SOURCE   │\n│ ARCHITECT       │ │ SPECIALIST      │ │ OF TRUTH        │\n│                 │ │                 │ │                 │\n│ • Schema design │ │ • API routes    │ │ • Read design-  │\n│ • Migrations    │ │ • Controllers   │ │   spec & refs   │\n│ • Seed data     │ │ • Middleware    │ │ • Create        │\n│                 │ │                 │ │   DESIGN.md     │\n└─────────────────┘ └─────────────────┘ └─────────────────┘\n          │                   │                   │\n          │                   │                   ▼\n          │                   │         ┌─────────────────┐\n          │                   │         │ FRONTEND        │\n          │                   │         │ SPECIALIST      │\n          │                   │         │                 │\n          │                   │         │ • UI Components │\n          │                   │         │ • Pages         │\n          │                   │         │ • Strict tokens │\n          │                   │         └─────────────────┘\n          │                   │                   │\n          └───────────────────┼───────────────────┘\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│                 PARALLEL PHASE (Optional)                    │\n│  • Security Auditor → Vulnerability check                   │\n│  • Test Engineer → Unit tests                               │\n│  • Performance Optimizer → Bundle analysis                  │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│                     DEVOPS ENGINEER                          │\n│  • Environment setup                                         │\n│  • Preview deployment (`python .agents/scripts/auto_preview.py`) │\n│  • Health check & report URL                                 │\n└─────────────────────────────────────────────────────────────┘\n```\n\n## Execution Order\n\n| Phase | Agent(s) / Step | Parallel? | Prerequisite | CHECKPOINT |\n|-------|-----------------|-----------|--------------|------------|\n| 0 | Socratic Gate | ❌ | - | ✅ Ask 3 questions |\n| 1 | Project Planner | ❌ | Questions answered | ✅ **{task-slug}.md created** |\n| 1.5 | **PLAN VERIFICATION** | ❌ | {task-slug}.md exists | ✅ **File exists in root** |\n| 1.8 | **DESIGN SOURCE-OF-TRUTH** | ❌ | Plan verified (UI projects) | ✅ **DESIGN.md created at root** |\n| 2 | Database Architect | ❌ | Plan ready | Schema defined |\n| 3 | Backend Specialist | ❌ | Schema ready | API routes created |\n| 4 | Frontend Specialist | ✅ | DESIGN.md + API ready (partial) | UI components match tokens |\n| 5 | Security Auditor, Test Engineer | ✅ | Code ready | Tests & audit pass |\n| 6 | DevOps Engineer | ❌ | All code ready | Deployment & preview ready |\n\n> 🔴 **CRITICAL:** Phase 1.5 and Phase 1.8 are MANDATORY gates.\n> - Phase 1.5: No specialist agents proceed without `{task-slug}.md` verification.\n> - Phase 1.8: For any project with a UI (web, mobile, desktop), **`DESIGN.md` MUST exist at the project root** before writing UI components or pages (per `@[rules/design-rules]` and `@[skills/design-spec]`). Skip only for headless APIs or CLI tools.\n\n<!-- File: .agents/skills/app-builder/feature-building.md (Tokens: ~315 | Category: anthropic-skill) -->\n# Feature Building\n\n> How to analyze and implement new features.\n\n## Feature Analysis\n\n```\nRequest: \"add payment system\"\n\nAnalysis:\n├── Required Changes:\n│   ├── Database: orders, payments tables\n│   ├── Backend: /api/checkout, /api/webhooks/stripe\n│   ├── Frontend: CheckoutForm, PaymentSuccess\n│   └── Config: Stripe API keys\n│\n├── Dependencies:\n│   ├── stripe package\n│   └── Existing user authentication\n│\n└── Scope: DB + 2 API routes + 2 components + config\n```\n\n## Iterative Enhancement Process\n\n```\n1. Analyze existing project & architecture\n2. Create change plan ({task-slug}.md)\n3. If UI modified/added: check & align with DESIGN.md\n4. Present plan to user & get approval\n5. Apply changes with specialist agents\n6. Test & validate (lint, typecheck, unit tests)\n7. Start preview (python .agents/scripts/auto_preview.py)\n```\n\n\n## Error Handling\n\n| Error Type | Solution Strategy |\n|------------|-------------------|\n| TypeScript Error | Fix type, add missing import |\n| Missing Dependency | Run npm install |\n| Port Conflict | Suggest alternative port |\n| Database Error | Check migration, validate connection |\n\n## Recovery Strategy\n\n```\n1. Detect error\n2. Try automatic fix\n3. If failed, report to user\n4. Suggest alternative\n5. Rollback if necessary\n```\n\n<!-- File: .agents/skills/app-builder/project-detection.md (Tokens: ~621 | Category: anthropic-skill) -->\n# Project Type Detection\n\n> Analyze user requests to determine project type and template.\n\n## Keyword Matrix\n\n| Keywords | Project Type | Template |\n|----------|--------------|----------|\n| blog, post, article | Blog | astro-static |\n| e-commerce, product, cart, payment | E-commerce | nextjs-saas |\n| dashboard, panel, management | Admin Dashboard | nextjs-fullstack |\n| ai, chat, bot, llm, rag, agent app | AI / Chatbot App | nextjs-fullstack (AI SDK / Streaming) |\n| game, 2d, 3d, canvas, phaser, godot | Game Application | game-development skill (via `game-developer`) |\n| api, backend, service, rest | API Service | express-api |\n| python, fastapi, django | Python API | python-fastapi |\n| mobile, android, ios, react native | Mobile App (RN) | react-native-app |\n| flutter, dart | Mobile App (Flutter) | flutter-app |\n| portfolio, personal, cv | Portfolio | nextjs-static |\n| crm, customer, sales | CRM | nextjs-fullstack |\n| saas, subscription, stripe | SaaS | nextjs-saas |\n| landing, promotional, marketing | Landing Page | nextjs-static |\n| docs, documentation | Documentation | astro-static |\n| extension, plugin, chrome | Browser Extension | chrome-extension |\n| desktop, electron | Desktop App | electron-desktop |\n| cli, command line, terminal | CLI Tool | cli-tool |\n| monorepo, workspace | Monorepo | monorepo-turborepo |\n\n\n## Detection Process\n\n```\n1. Tokenize user request\n2. Extract keywords\n3. Determine project type\n4. Detect missing information → forward to project-planner / orchestrator\n5. Suggest tech stack\n```\n\n## Conflict Resolution\n\nWhen a request matches multiple keywords (e.g. \"a CLI to manage my e-commerce products\" matches both `cli` and `e-commerce`), resolve in this order:\n\n| Priority | Rule | Example |\n|----------|------|---------|\n| 1 | **Platform wins over domain.** A concrete platform (mobile / desktop / cli / extension) outranks a web/business domain (e-commerce, crm, blog). | \"CLI to manage e-commerce\" → **cli-tool** (e-commerce is the data domain, not the deliverable) |\n| 2 | **Head noun wins.** The keyword describing what is being built (grammatical subject) outranks modifiers. | \"a **dashboard** for my Shopify store\" → **nextjs-fullstack** (dashboard is the thing; Shopify is context) |\n| 3 | **Still ambiguous → ask.** If no rule breaks the tie, do NOT guess. Surface the options through the Socratic Gate (Phase 0) and let the user choose. | \"an app for my shop\" → ask: web, mobile, or desktop? |\n\n<!-- File: .agents/skills/app-builder/scaffolding.md (Tokens: ~994 | Category: anthropic-skill) -->\n# Project Scaffolding\n\n> Directory structure and core files for new projects.\n\n---\n\n## Next.js Full-Stack Structure (Next.js 16 Optimized)\n\n```\nproject-name/\n├── src/\n│   ├── app/                        # Routes only (thin layer)\n│   │   ├── layout.tsx\n│   │   ├── page.tsx\n│   │   ├── globals.css             # Tailwind v4 config (@theme) lives here\n│   │   ├── (auth)/                 # Route group - auth pages\n│   │   │   ├── login/page.tsx\n│   │   │   └── register/page.tsx\n│   │   ├── (dashboard)/            # Route group - dashboard layout\n│   │   │   ├── layout.tsx\n│   │   │   └── page.tsx\n│   │   └── api/                    # Route Handlers (webhooks/external only)\n│   │       └── [resource]/route.ts\n│   │\n│   ├── components/                 # UI components\n│   │   ├── ui/                     # Reusable primitives (Button, Input)\n│   │   └── forms/                  # Client forms (useActionState)\n│   │\n│   ├── lib/                        # Shared utilities & server-only logic\n│   │   ├── db.ts                   # Prisma singleton client\n│   │   ├── dal.ts                  # Data Access Layer (server-only, DTOs)\n│   │   └── utils.ts                # Helper functions\n│   │\n│   ├── actions/                    # Server Actions (mutations)\n│   │\n│   └── types/                      # Global TypeScript types\n│\n├── prisma/\n│   ├── schema.prisma\n│   ├── migrations/\n│   └── seed.ts\n│\n├── public/\n├── proxy.ts                        # Network boundary (auth, redirects)\n├── DESIGN.md                       # Design source-of-truth tokens & rationale (MANDATORY for UI)\n├── .env.example\n├── .env.local\n├── package.json\n├── next.config.ts\n├── tsconfig.json\n└── README.md\n```\n\n---\n\n## Structure Principles\n\n| Principle | Implementation |\n|-----------|----------------|\n| **Thin routes** | `app/` only for routing + layouts, logic lives in `actions/` and `lib/` |\n| **Server/Client separation** | Server-only logic in `lib/dal.ts`, prevents accidental client imports |\n| **Data Access Layer** | `lib/dal.ts` centralizes DB access and returns DTOs for safe reuse |\n| **Mutations via Server Actions** | `actions/` holds Server Actions, called from forms with `useActionState` |\n| **Route groups** | `(groupName)/` for layout sharing without URL impact |\n| **Reusable UI** | `components/ui/` for primitives, `components/forms/` for client forms |\n\n---\n\n| File | Purpose |\n|------|---------|\n| `proxy.ts` | Next.js 16 network boundary logic (auth, redirects). Renamed from `middleware.ts`, runs on Node.js runtime |\n| `DESIGN.md` | Single source of truth for visual tokens (YAML frontmatter) & rationale (MANDATORY before UI) |\n| `package.json` | Dependencies |\n| `next.config.ts` | Next.js config (TypeScript) |\n| `tsconfig.json` | TypeScript + path aliases (`@/*`) |\n| `.env.example` | Environment template |\n| `README.md` | Project documentation |\n| `.gitignore` | Git ignore rules |\n| `prisma/schema.prisma` | Database schema |\n| `src/app/globals.css` | Tailwind v4 config via `@theme` (no `tailwind.config.js`) |\n\n\n---\n\n## Path Aliases (tsconfig.json)\n\n```json\n{\n  \"compilerOptions\": {\n    \"paths\": {\n      \"@/*\": [\"./src/*\"],\n      \"@/components/*\": [\"./src/components/*\"],\n      \"@/lib/*\": [\"./src/lib/*\"],\n      \"@/actions/*\": [\"./src/actions/*\"]\n    }\n  }\n}\n```\n\n---\n\n## When to Use What\n\n| Need | Location |\n|------|----------|\n| New page/route | `app/(group)/page.tsx` |\n| Reusable button/input | `components/ui/` |\n| Client form | `components/forms/` |\n| Server action (mutation) | `actions/` |\n| Data fetching / DB query | `lib/dal.ts` |\n| Prisma client | `lib/db.ts` |\n| Helper function | `lib/utils.ts` |\n| Auth / redirect logic | `proxy.ts` |\n\n<!-- File: .agents/skills/app-builder/SKILL.md (Tokens: ~845 | Category: anthropic-skill) -->\n---\nname: app-builder\ndescription: Main application building orchestrator. Creates full-stack applications from natural language requests. Determines project type, selects tech stack, coordinates agents.\nwhen_to_use: \"When creating a new full-stack application from scratch, selecting tech stack, or scaffolding project structure. Use with /create workflow.\"\nallowed-tools: Read, Write, Edit, Glob, Grep, Bash, Agent\nversion: 1.1.0\n---\n\n# App Builder - Application Building Orchestrator\n\n> Analyzes user's requests, determines tech stack, plans structure, and coordinates agents.\n\n## 🎯 Selective Reading Rule\n\n**Read ONLY files relevant to the request!** Check the content map, find what you need.\n\n| File | Description | When to Read |\n|------|-------------|--------------|\n| `project-detection.md` | Keyword matrix, project type detection | Starting new project |\n| `tech-stack.md` | 2026 default stack, alternatives | Choosing technologies |\n| `agent-coordination.md` | Agent pipeline, execution order | Coordinating multi-agent work |\n| `scaffolding.md` | Directory structure, core files | Creating project structure |\n| `feature-building.md` | Feature analysis, error handling | Adding features to existing project |\n| `templates/SKILL.md` | **Project templates** | Scaffolding new project |\n\n---\n\n## 📦 Templates (13)\n\nQuick-start scaffolding for new projects. **Read the matching template only!**\n\n| Template | Tech Stack | When to Use |\n|----------|------------|-------------|\n| [nextjs-fullstack](templates/nextjs-fullstack/TEMPLATE.md) | Next.js + Prisma | Full-stack web app |\n| [nextjs-saas](templates/nextjs-saas/TEMPLATE.md) | Next.js + Stripe | SaaS product |\n| [nextjs-static](templates/nextjs-static/TEMPLATE.md) | Next.js + Framer | Landing page |\n| [nuxt-app](templates/nuxt-app/TEMPLATE.md) | Nuxt 4 + Pinia | Vue full-stack app |\n| [express-api](templates/express-api/TEMPLATE.md) | Express + JWT | REST API |\n| [python-fastapi](templates/python-fastapi/TEMPLATE.md) | FastAPI | Python API |\n| [react-native-app](templates/react-native-app/TEMPLATE.md) | Expo + Zustand | Mobile app |\n| [flutter-app](templates/flutter-app/TEMPLATE.md) | Flutter + Riverpod | Cross-platform mobile |\n| [electron-desktop](templates/electron-desktop/TEMPLATE.md) | Electron + React | Desktop app |\n| [chrome-extension](templates/chrome-extension/TEMPLATE.md) | Chrome MV3 | Browser extension |\n| [cli-tool](templates/cli-tool/TEMPLATE.md) | Node.js + Commander | CLI app |\n| [monorepo-turborepo](templates/monorepo-turborepo/TEMPLATE.md) | Turborepo + pnpm | Monorepo |\n| [astro-static](templates/astro-static/TEMPLATE.md) | Astro + MDX | Blog / Documentation |\n\n---\n\n## 🔗 Related Agents\n\n| Agent | Role |\n|-------|------|\n| `project-planner` | Task breakdown, dependency graph |\n| `frontend-specialist` | UI components, pages |\n| `backend-specialist` | API, business logic |\n| `database-architect` | Schema, migrations |\n| `devops-engineer` | Deployment, preview |\n\n---\n\n## Usage Example\n\n```\nUser: \"Make an Instagram clone with photo sharing and likes\"\n\nApp Builder Process:\n1. Project type: Social Media App\n2. Tech stack: Next.js + Prisma + Cloudinary + Clerk\n3. Create plan:\n   ├─ Database schema (users, posts, likes, follows)\n   ├─ API routes (auth, posts, likes, follows)\n   ├─ Pages (feed, profile, upload)\n   └─ Components (PostCard, Feed, LikeButton)\n4. Coordinate agents\n5. Report progress\n6. Start preview\n```\n\n<!-- File: .agents/skills/app-builder/tech-stack.md (Tokens: ~489 | Category: anthropic-skill) -->\n# Tech Stack Selection (2026)\n\n> Default and alternative technology choices for web applications.\n\n## Default Stack (Web App - 2026)\n\n```yaml\nFrontend:\n  framework: Next.js 16 (Stable)\n  language: TypeScript 5.7+\n  styling: Tailwind CSS v4\n  state: React 19 Actions / Server Components\n  caching: Next.js 16 Cache Components (Stable)\n  bundler: Turbopack (Stable for Dev & Build)\n\nBackend:\n  runtime: Node.js 24 (Krypton LTS)\n  framework: Next.js API Routes / Hono (for Edge)\n  validation: Zod / TypeBox\n\nDatabase:\n  primary: PostgreSQL\n  orm: Prisma / Drizzle\n  hosting: Supabase / Neon\n\nAuth:\n  provider: Auth.js (v5) / Clerk\n\nMonorepo:\n  tool: Turborepo 2.0\n```\n\n## Alternative Options\n\n| Need | Default | Alternative |\n|------|---------|-------------|\n| Real-time | Supabase Realtime | Socket.io, Ably |\n| File storage | Supabase Storage | Cloudinary, AWS S3 |\n| Payment | Stripe | LemonSqueezy, Paddle |\n| Email | Resend | SendGrid, Postmark |\n| Search | Algolia | Typesense, Orama |\n| AI / LLM SDK | Vercel AI SDK (`ai` + `@ai-sdk/*`) | LangChain.js, direct REST API |\n| Vector Database | PostgreSQL (pgvector via Supabase / Neon) | Pinecone, Qdrant |\n| ORM (SQL-first) | Prisma ORM | Drizzle ORM (`drizzle-orm` + `drizzle-kit`) |\n\n---\n\n## AI Application Pattern (2026 Standard)\n\nWhen building an AI or LLM-powered application:\n- **Streaming**: Use Vercel AI SDK `streamText` / `streamUI` in Route Handlers or Server Actions.\n- **UI State**: Leverage `useChat` / `useCompletion` with React 19 optimistic updates.\n- **Embeddings & Vector**: Store vectors in PostgreSQL using `pgvector` extension; query via cosine similarity.\n- **Safety & Rate Limits**: Protect AI endpoints with rate limiting (`@[skills/api-patterns/rate-limiting]`) and Zod schema parsing.\n\n<!-- File: .agents/skills/app-builder/templates/astro-static/TEMPLATE.md (Tokens: ~515 | Category: anthropic-skill) -->\n---\nname: astro-static\ndescription: Astro static site template principles. Content-focused websites, blogs, documentation.\n---\n\n# Astro Static Site Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Framework | Astro 6.x |\n| Content | MDX + Content Collections (Content Layer API) |\n| Styling | Tailwind CSS v4 (@tailwindcss/vite) |\n| Integrations | Sitemap, RSS, SEO |\n| Output | Static/SSG |\n\n---\n\n## Directory Structure\n\n```\nproject-name/\n├── src/\n│   ├── components/      # .astro components\n│   ├── content/         # Collection entries (blog/, docs/ .md/.mdx)\n│   ├── layouts/         # Page layouts\n│   ├── pages/           # File-based routing (only reserved dir)\n│   ├── styles/\n│   │   └── global.css   # @import \"tailwindcss\";\n│   └── content.config.ts # Collection definitions (Content Layer, in src/ root)\n├── public/              # Static assets\n├── astro.config.mjs\n└── package.json\n```\n\n---\n\n## Key Concepts\n\n| Concept | Description |\n|---------|-------------|\n| Content Layer API | Collections defined in `src/content.config.ts` with `loader`s (glob/file) + Zod schemas |\n| Islands Architecture | Partial hydration for interactivity |\n| Zero JS by default | Static HTML unless needed |\n| MDX Support | Markdown with components |\n\n---\n\n## Setup Steps\n\n1. `npm create astro@latest {{name}}`\n2. Add integrations: `npx astro add mdx sitemap`\n3. Add Tailwind v4: `npx astro add tailwind` (installs @tailwindcss/vite, not the legacy @astrojs/tailwind)\n4. Define collections in `src/content.config.ts` using `loader`s + Zod schemas\n5. `npm run dev`\n\n---\n\n## Deployment\n\n| Platform | Method |\n|----------|--------|\n| Vercel | Auto-detected |\n| Netlify | Auto-detected |\n| Cloudflare Pages | Auto-detected |\n| GitHub Pages | Build + deploy action |\n\n---\n\n## Best Practices\n\n- Use Content Collections for type safety\n- Leverage static generation\n- Add islands only where needed\n- Optimize images with Astro Image\n\n<!-- File: .agents/skills/app-builder/templates/chrome-extension/TEMPLATE.md (Tokens: ~660 | Category: anthropic-skill) -->\n---\nname: chrome-extension\ndescription: Chrome Extension template principles. Manifest V3, React, TypeScript.\n---\n\n# Chrome Extension Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Manifest | V3 |\n| UI | React 19 |\n| Language | TypeScript |\n| Styling | Tailwind CSS v4 |\n| Bundler | Vite + CRXJS (@crxjs/vite-plugin v2) |\n| Storage | Chrome Storage API |\n\n---\n\n## Directory Structure\n\n> CRXJS + Vite: `manifest.config.ts` is the source of truth, Vite resolves entries.\n\n```\nproject-name/\n├── src/\n│   ├── popup/           # { index.html, main.tsx, Popup.tsx }\n│   ├── options/         # { index.html, main.tsx, Options.tsx }\n│   ├── background/      # service-worker.ts (MV3 service worker)\n│   ├── content/         # { content-script.ts, content.css }\n│   ├── components/      # Shared React\n│   └── lib/\n│       ├── storage.ts   # Chrome storage helpers\n│       └── messaging.ts # Message passing\n├── public/              # Static assets (icons)\n├── manifest.config.ts   # defineManifest() — typed manifest\n├── vite.config.ts       # crx({ manifest }) + react + tailwind\n└── package.json\n```\n\n---\n\n## Manifest V3 Concepts\n\n| Component | Purpose |\n|-----------|---------|\n| Service Worker | Background processing |\n| Content Scripts | Page injection |\n| Popup | User interface |\n| Options Page | Settings |\n\n---\n\n## Permissions\n\n| Permission | Use |\n|------------|-----|\n| storage | Save user data |\n| activeTab | Current tab access |\n| scripting | Inject scripts |\n| host_permissions | Site access |\n\n---\n\n## Setup Steps\n\n1. `npm create vite@latest {{name}} -- --template react-ts`\n2. Install CRXJS: `npm install -D @crxjs/vite-plugin@latest`\n3. Add Chrome types: `npm install -D @types/chrome`\n4. Create `manifest.config.ts` with `defineManifest`, wire `crx({ manifest })` in `vite.config.ts`\n5. `npm run dev` (HMR for popup/options/content)\n6. Load in Chrome: `chrome://extensions` → Load unpacked → select `dist/`\n\n---\n\n## Development Tips\n\n| Task | Method |\n|------|--------|\n| Debug Popup | Right-click icon → Inspect |\n| Debug Background | Extensions page → Service worker |\n| Debug Content | DevTools console on page |\n| Hot Reload | `npm run dev` (CRXJS HMR) |\n\n---\n\n## Best Practices\n\n- Use type-safe messaging\n- Wrap Chrome APIs in promises\n- MV3 background is an ephemeral service worker — persist state in `chrome.storage`, not module globals; use event listeners + alarms, not long-lived timers\n- Minimize permissions\n- Scope content-script styles to avoid host-page bleed\n\n<!-- File: .agents/skills/app-builder/templates/cli-tool/TEMPLATE.md (Tokens: ~612 | Category: anthropic-skill) -->\n---\nname: cli-tool\ndescription: Node.js CLI tool template principles. Commander.js, interactive prompts.\n---\n\n# CLI Tool Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Runtime | Node.js 24 (Krypton LTS) |\n| Language | TypeScript (ESM) |\n| CLI Framework | Commander.js (v15, needs Node ≥22.12) |\n| Prompts | @inquirer/prompts (modular) |\n| Output | chalk + ora |\n| Config | cosmiconfig |\n\n---\n\n## Directory Structure\n\n```\nproject-name/\n├── src/\n│   ├── index.ts         # Entry: #!/usr/bin/env node shebang, wires Commander\n│   ├── commands/        # One file per command (factory functions)\n│   ├── lib/             # Core logic (framework-agnostic, testable)\n│   ├── utils/           # logger (chalk/ora), prompt wrappers\n│   └── config.ts        # cosmiconfig loader\n├── dist/                # Build output (tsup/tsc)\n└── package.json         # \"type\":\"module\", \"bin\":{...}\n```\n\n---\n\n## CLI Design Principles\n\n| Principle | Description |\n|-----------|-------------|\n| Subcommands | Group related actions |\n| Options | Flags with defaults |\n| Interactive | Prompts when needed |\n| Non-interactive | Support --yes flags |\n\n---\n\n## Key Components\n\n| Component | Purpose |\n|-----------|---------|\n| Commander | Command parsing (use a local `new Command()` for testability) |\n| @inquirer/prompts | Modular interactive prompts (`input`, `select`, `confirm`) |\n| Chalk | Colored output |\n| Ora | Spinners/loading |\n| Cosmiconfig | Config file discovery |\n\n---\n\n## Setup Steps\n\n1. Create project directory\n2. `npm init -y` then set `\"type\": \"module\"`\n3. Install deps: `npm install commander @inquirer/prompts chalk ora cosmiconfig`\n4. Point `bin` at compiled `./dist/index.js`, keep `#!/usr/bin/env node` shebang\n5. `npm link` for local testing\n\n---\n\n## Publishing\n\n```bash\nnpm login\nnpm publish\n```\n\n---\n\n## Best Practices\n\n- Keep `src/index.ts` thin; attach commands via `.addCommand()` factories in `src/commands/`\n- Put business logic in `lib/`/`utils/` so commands stay testable wrappers\n- ESM by default; build with tsup/esbuild\n- Support both interactive and non-interactive (`--yes`) modes\n- Validate inputs with Zod; exit with proper codes (0 success, 1 error)\n- Alternatives worth knowing: @clack/prompts (polished prompts), citty (lightweight ESM command framework)\n\n<!-- File: .agents/skills/app-builder/templates/electron-desktop/TEMPLATE.md (Tokens: ~663 | Category: anthropic-skill) -->\n---\nname: electron-desktop\ndescription: Electron desktop app template principles. Cross-platform, React, TypeScript.\n---\n\n# Electron Desktop App Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Framework | Electron 42+ |\n| UI | React 19 |\n| Language | TypeScript |\n| Styling | Tailwind CSS v4 |\n| Bundler | electron-vite + electron-builder |\n| IPC | Type-safe communication (contextBridge) |\n\n---\n\n## Directory Structure\n\n> electron-vite layout: main / preload / renderer separation is the 2026 standard.\n\n```\nproject-name/\n├── src/\n│   ├── main/            # Main process (lifecycle, windows, IPC handlers)\n│   │   └── index.ts\n│   ├── preload/         # contextBridge — type-safe IPC surface\n│   │   ├── index.ts\n│   │   └── index.d.ts   # Ambient types shared with renderer\n│   └── renderer/        # React app\n│       ├── index.html\n│       └── src/\n│           ├── main.tsx\n│           ├── App.tsx\n│           └── components/\n├── resources/           # App icons / static (build-time)\n├── build/               # Builder assets (entitlements, icons)\n├── electron.vite.config.ts\n├── electron-builder.yml\n└── package.json         # scripts: electron-vite dev | build | preview\n```\n\n---\n\n## Process Model\n\n| Process | Role |\n|---------|------|\n| Main | Node.js, system access |\n| Renderer | Chromium, React UI |\n| Preload | Bridge, context isolation |\n\n---\n\n## Key Concepts\n\n| Concept | Purpose |\n|---------|---------|\n| contextBridge | Safe API exposure |\n| ipcMain/ipcRenderer | Process communication |\n| nodeIntegration: false | Security |\n| contextIsolation: true | Security |\n\n---\n\n## Setup Steps\n\n1. `npm create @quick-start/electron@latest {{name}} -- --template react-ts`\n2. `cd {{name}} && npm install`\n3. Add Tailwind v4: `npm install tailwindcss @tailwindcss/vite`\n4. Define IPC types in `src/preload/index.d.ts`\n5. `npm run dev`\n\n---\n\n## Build Targets\n\n| Platform | Output |\n|----------|--------|\n| Windows | NSIS, Portable |\n| macOS | DMG, ZIP |\n| Linux | AppImage, DEB |\n\n---\n\n## Best Practices\n\n- `contextIsolation: true` (default v12+), `sandbox: true` (default v20+), `nodeIntegration: false` (default v5+) — never enable Node for remote content\n- Expose a narrow API via `contextBridge.exposeInMainWorld`, never raw `ipcRenderer`\n- Validate IPC `sender` against an allowlist; set a restrictive CSP (`script-src 'self'`)\n- Type-safe IPC: share types from `preload/index.d.ts` into the renderer\n- Auto-updates with electron-updater\n\n<!-- File: .agents/skills/app-builder/templates/express-api/TEMPLATE.md (Tokens: ~615 | Category: anthropic-skill) -->\n---\nname: express-api\ndescription: Express.js REST API template principles. TypeScript, Prisma, JWT.\n---\n\n# Express.js API Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Runtime | Node.js 24 (Krypton LTS) |\n| Framework | Express 5 (stable, default on npm) |\n| Language | TypeScript |\n| Database | PostgreSQL + Prisma |\n| Validation | Zod |\n| Auth | JWT + bcrypt |\n\n---\n\n## Directory Structure\n\n```\nproject-name/\n├── prisma/\n│   └── schema.prisma\n├── src/\n│   ├── app.ts           # Express app + middleware wiring (no listen)\n│   ├── server.ts        # Bootstrap: listen() — split for testability\n│   ├── config/          # Environment\n│   ├── routes/          # Route definitions only\n│   ├── controllers/     # HTTP layer (req/res, calls services)\n│   ├── services/        # Business logic\n│   ├── middlewares/\n│   │   ├── auth.ts      # JWT verify\n│   │   ├── error.ts     # Error handler\n│   │   └── validate.ts  # Zod validation\n│   ├── schemas/         # Zod schemas\n│   └── utils/\n├── tests/\n└── package.json\n```\n\n---\n\n## Middleware Stack\n\n| Order | Middleware |\n|-------|------------|\n| 1 | helmet (security) |\n| 2 | cors |\n| 3 | compression |\n| 4 | body parsing |\n| 5 | morgan (logging) |\n| 6 | routes |\n| 7 | error handler (last, 4-arg signature) |\n\n---\n\n## API Response Format\n\n| Type | Structure |\n|------|-----------|\n| Success | `{ success: true, data: {...} }` |\n| Error | `{ error: \"message\", details: [...] }` |\n\n---\n\n## Setup Steps\n\n1. Create project directory\n2. `npm init -y`\n3. Install deps: `npm install express @prisma/client zod bcrypt jsonwebtoken`\n4. Install devDeps: `npm install -D prisma typescript @types/node @types/express @types/bcrypt @types/jsonwebtoken`\n5. Configure Prisma (`npx prisma init`)\n6. `npm run db:push`\n7. `npm run dev`\n\n\n---\n\n## Best Practices\n\n- Split `app.ts` (wiring) from `server.ts` (`listen`) so the app imports cleanly into tests\n- Layer architecture (routes → controllers → services)\n- Validate all inputs with Zod at the route boundary\n- Centralized error handler last (Express 5 auto-forwards rejected promises — no manual catch wrapper needed)\n- Environment-based config\n- Use Prisma for type-safe DB access\n\n<!-- File: .agents/skills/app-builder/templates/flutter-app/TEMPLATE.md (Tokens: ~523 | Category: anthropic-skill) -->\n---\nname: flutter-app\ndescription: Flutter mobile app template principles. Riverpod, Go Router, clean architecture.\n---\n\n# Flutter App Template\n\n> Versions reflect the latest stable line verified 2026-05. Pin to the current stable when scaffolding.\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|------------|\n| Framework | Flutter 3.x |\n| Language | Dart 3.x |\n| State | Riverpod 3 (codegen) |\n| Navigation | Go Router |\n| HTTP | Dio |\n| Storage | Hive |\n\n---\n\n## Directory Structure\n\n```\nproject_name/\n├── lib/\n│   ├── main.dart\n│   ├── app.dart\n│   ├── core/\n│   │   ├── constants/\n│   │   ├── theme/\n│   │   ├── router/\n│   │   └── utils/\n│   ├── features/\n│   │   ├── auth/\n│   │   │   ├── data/\n│   │   │   ├── domain/\n│   │   │   └── presentation/\n│   │   └── home/\n│   ├── shared/\n│   │   ├── widgets/\n│   │   └── providers/\n│   └── services/\n│       ├── api/\n│       └── storage/\n├── test/\n└── pubspec.yaml\n```\n\n---\n\n## Architecture Layers\n\n| Layer | Contents |\n|-------|----------|\n| Presentation | Screens, Widgets, Providers |\n| Domain | Entities, Use Cases |\n| Data | Repositories, Models |\n\n---\n\n## Key Packages\n\n| Package | Purpose |\n|---------|---------|\n| flutter_riverpod | State management |\n| riverpod_annotation | Code generation |\n| go_router | Navigation |\n| dio | HTTP client |\n| freezed | Immutable models |\n| hive | Local storage |\n\n---\n\n## Setup Steps\n\n1. `flutter create {{name}} --org com.{{bundle}}`\n2. Update `pubspec.yaml`\n3. `flutter pub get`\n4. Run code generation: `dart run build_runner build`\n5. `flutter run`\n\n---\n\n## Best Practices\n\n- Feature-first folder structure (data / domain / presentation per feature)\n- Riverpod 3 with `riverpod_annotation` codegen (generated ref is just `Ref`; plain `Notifier`, no `AutoDisposeNotifier`)\n- Legacy `StateProvider`/`StateNotifierProvider` moved to `package:riverpod/legacy.dart`\n- Freezed for immutable data classes\n- Go Router for declarative navigation\n- Material 3 theming\n\n<!-- ... +102 more modular skills available via /api/skills/vudovn/antigravity-kit?path={path} -->\n</yakaai_skills>"}