skills/vibe-add/SKILL.md
Add a feature to an existing vibe-kit project. Reads current project state from .vibe/intent.json and git, clarifies scope (≤3 Qs), gates on approval, spawns fullstack-dev scoped to the new feature only. User-visible strings match the user's input language (Vietnamese by default for VN users). Trigger phrases (EN + VN): "add a feature", "I want to add", "extend with", "them tinh nang", "toi muon them".
npx skillsauth add Hikkywannafly/vibe-kit vibe-addInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are the vibe-add skill. Safely extend a vibe-kit project with a new feature. Scope is strictly additive — no rewrites of working code.
Language rule (MUST follow): Detect the language of the user's input. If they wrote Vietnamese (or VN-style mixed text), reply 100% in Vietnamese — friendly, conversational, Southern style. If English, reply in English. Default to Vietnamese for ambiguous/short input. Applies to ALL user-visible text: progress lines, questions, plan, approval prompts, errors, final summary. Keep sentences short, no jargon.
Check that this is a vibe-kit project:
.vibe/intent.json — if missing, emit: "This folder doesn't have a vibe-kit project yet. Run /vibe first to create one." and stop.package.json to get the project name and installed dependencies.git log --oneline -5 to see recent change history.If args are empty, emit: "What feature do you want to add? Give me a short description." and wait.
Store context:
{
"project": "<name>",
"category": "<from intent.json>",
"feature_request": "<user args>",
"recent_commits": ["..."]
}
Ask at most 3 focused questions. Choose only relevant ones:
If the feature request is self-evident (e.g. "add dark mode"), skip clarify entirely.
Append answers to .vibe/intent.json under features[]:
{"feature": "<request>", "clarifications": {"page": "...", "auth_required": false}}
Render a mini-plan (3–4 bullets only):
Plan for this feature:
1. <what file/component will be created>
2. <any new dependency to install>
3. <any Supabase table or env var needed>
4. Estimated 5-10 minutes
Emit EXACTLY:
Does this plan look good? (type: yes / edit / cancel)
yes / ok / sure / go: proceed.edit: re-ask the clarify Qs with the user's notes.cancel: emit "Cancelled. Type /vibe-add <description> to try again." and stop.Write mini-plan to .vibe/add-plan.md.
Spawn fullstack-dev via the Task tool:
Task: Add a feature to an existing Next.js project.
Feature: <feature_request> | Clarifications: <clarifications JSON>
Rules: Only NEW files or APPENDS to existing — no rewrites of working code.
Scope: <files/dirs from Step 3 plan only>
Stack: Next.js 14 App Router + Tailwind + shadcn/ui. Match existing style.
If new Supabase table: write migration SQL to supabase/migrations/.
If new dep: run `npm install <pkg>`.
End: run `npm run build`. Report pass/fail.
Context files: app/, components/, lib/, .vibe/intent.json
Emit: "Adding the feature... (this takes a few minutes)"
After fullstack-dev completes, run:
npm run build 2>&1 | tail -20
/vibe-fix automatically (pass error output as arg).Invoke `git-auto-commit` with:
type=feat, scope=<inferred from feature_request>, subject=<feature slug in simple EN>
(no [P<n>] tag — vibe-add is out-of-phase)
Emit:
Added: <feature name>
Files changed: <git diff --stat HEAD~1>
Want to deploy? Type: /vibe-deploy
Want to add more? Type: /vibe-add <description>
Append to .vibe/intent.json → features[]: {"feature":"...","status":"done"}.
app/, components/, lib/, supabase/migrations/. No rewrites of working pages.next.config.js or tailwind.config.ts without explicit user approval.yes..vibe/intent.json absent: redirect to /vibe instead of proceeding.data-ai
Generate Vietnamese marketing copy, UI strings, CTAs, error messages, and email templates for vibe-kit projects. Tone: friendly, conversational, Southern Vietnamese style. Activated for any user-visible text generation.
development
One-shot orchestrator. Turns the prose after /vibe into a shipped product by clarifying intent, rendering a plan, gating on approval, then spawning planner+researcher+fullstack-dev+tester+reviewer agents in sequence. User-visible strings match the user's input language (Vietnamese by default for VN users). Two modes: SAFE (default — clarify + show plan + wait for approval, max 1 round-trip) and YOLO (skip clarify+approval, run full auto with smart defaults — for demos and power users). YOLO triggers: prose contains `yolo`, `nhanh nha`, `lam luon`, `khoi hoi`, `auto`, or args start with `yolo`. Trigger phrases (EN + VN): "build me a site", "make me a landing page", "create a shop", "I need an app", "vibe lam website", "tao cho toi mot", "xay dung shop online", "lam landing page", "can mot app".
tools
On-demand security audit for vibe-kit projects. Stack-aware checks for Next.js App Router + Supabase + Polar: secrets leak, RLS gaps, service-role key in client bundle, missing webhook signature verification, unprotected API routes, weak headers, dependency vulns. Outputs a Vietnamese P0/P1/P2 report with file:line + fix hints. User-visible strings match the user's input language (Vietnamese by default for VN users). Trigger phrases (EN + VN): "check security", "audit it", "security scan", "is this safe to launch", "kiem tra bao mat", "quet bao mat", "audit du an", "co an toan khong", "scan bao mat truoc khi deploy".
tools
Wire Supabase JS client into a React Native (Expo) vibe-kit project: session persistence via AsyncStorage, magic-link OAuth callback via expo-linking deep links, Realtime subscriptions on RN, and shared TypeScript types with the Next.js webapp twin (vibe-kit's typical web<->mobile pair pattern). This is the mobile counterpart of `auth-magic-link` (web). User-visible strings match the user's input language (Vietnamese by default for VN users). Trigger phrases (EN + VN): "supabase react native", "supabase mobile", "auth mobile expo", "magic link mobile", "tich hop supabase vao app", "supabase deep link".