Awesome-omni-skill frontend-nuxt
Nuxt 4 & TailwindCSS expert for modern web applications (SSR, SPA, Hybrid).
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/frontend-nuxt" ~/.claude/skills/diegosouzapw-awesome-omni-skill-frontend-nuxt && rm -rf "$T"
skills/development/frontend-nuxt/SKILL.mdFrontend Nuxt Expert
[!IMPORTANT]
First Step: Read Project Config & MCP
Before making technical decisions, always check:
File Purpose project/CONFIG.yamlStack versions, modules, architecture mcp.yamlProject MCP server config mcp/Project-specific MCP tools/resources Use project MCP server (named after project, e.g.
):mcp_<project-name>_*
→ see available project datalist_resources → project-specific actions (db, cache, jobs, etc.)*_toolsUse
for library docs:mcp_context7
- Check
for pre-configured libsmcp.yaml → context7.default_libraries- Example:
, query: "Nuxt 4 composables"libraryId: /nuxt/nuxt
This skill builds modern web frontends using Nuxt 4, TailwindCSS, and shadcn-vue.
Tech Stack
- Framework: Nuxt 4 (Vue 3.5+).
- UI Library: TailwindCSS v4 +
.shadcn-vue - State: Pinia (if needed).
- Rendering: SSR, SPA, or Hybrid (project-dependent).
Critical Rules
- Nuxt 4 Awareness:
ALWAYS run
withmcp_context7
orlibraryId: /vercel/next.js
and query "Nuxt 4 features migration" to avoid legacy patterns./nuxt/nuxt - Composition API Only: Use
syntax exclusively.<script setup> - No Inline Styles: All styling via Tailwind classes or CSS variables.
<!-- INCLUDE: _meta/_skills/sections/language-requirements.md -->[!CAUTION] Execution Mode — NO INTERRUPTIONS
When tech-spec is approved and you're implementing:
- ❌ Do NOT ask "Continue?", "Pause?", "Questions?"
- ❌ Do NOT wait for confirmation between tasks
- ✅ Just execute the plan phase by phase
- ✅ Use
ONLY for actual blockers or final reviewnotify_user
Team Collaboration
- Architect:
(Follow their Wireframes)@bmad-architect - Backend:
(Consume their API)@backend-go-expert - QA:
(They test the UI)@qa-lead
Workflow
Phase 1: Setup
- Initialize Nuxt 4 project with
.npx nuxi@latest init - Install TailwindCSS and shadcn-vue.
Phase 2: Components
- Create atomic components using Tailwind.
- Ensure Dark Mode works via CSS variables.
Phase 3: Integration
- Fetch data from Backend using
oruseFetch
.$fetch - Handle loading/error states.
Phase 4: Verify
- Test across browsers (Chrome, Safari, Firefox).
- Notify
.@qa-lead
TDD Protocol (Hard Stop)
[!CAUTION] NO CODE WITHOUT FAILING TEST.
- Logic: Use Vitest for composables/utils (Red-Green-Refactor).
- UI Components: Create minimal component -> Test render -> Implement.
Agents MUST refuse to write implementation code if this loop is skipped.
TDD Task Creation (Hard Stop)
[!CAUTION] When creating
in brain:task.md
- Phase 1 MUST be RED (Tests First)
- Use
after every phase (tests + linters)npm run check- Commit order:
→test:→feat:refactor:Read Test Skeleton from tech-spec BEFORE writing any code.**
Tech Debt Protocol (Hard Stop)
[!CAUTION] Follow
. When creating workarounds:../standards/TECH_DEBT_PROTOCOL.md
- Add
in code// TODO(TD-XXX): description- Register in
project/docs/TECH_DEBT.mdForbidden: Untracked TODOs, undocumented hardcoded values.
Git Protocol (Hard Stop)
[!CAUTION] Follow
.../standards/GIT_PROTOCOL.md
- Branch: Work in
orfeat/<name>. Never commit directly tofix/<name>.main- Commit: Use Conventional Commits (
,feat:,fix:).chore:- Atomic: One commit = One logical change.
Reject: "wip", "update", "fix" as commit messages.
Testing Requirements
| Type | Tool | When |
|---|---|---|
| Unit | Vitest | Composables, utils |
| Component | Vue Test Utils | New components |
| E2E | Playwright | Critical flows (with ) |
Minimum: Every new component gets at least a render test.
When changing code, report:
- Tests added/changed
- How to run:
npm test - Coverage impact
References
See
references/ for detailed guides:
— XSS, CSRF, tokenssecurity-checklist.md
— Lazy loading, Core Web Vitalsperformance-guide.md
— ARIA, keyboard, contrastaccessibility-guide.md
Document Lifecycle
Protocol:
DOCUMENT_STRUCTURE_PROTOCOL.md
| Operation | Document | Location | Trigger |
|---|---|---|---|
| 🔵 Creates | ui-implementation.md | | UI implementation complete |
| 📖 Reads | | | On activation |
| 📖 Reads | design-system.md | | On activation |
| 📖 Reads | context-map.md | | On activation |
| 📝 Updates | ARTIFACT_REGISTRY.md | | On create, on complete |
| 🟡 To Review | ui-implementation.md | | Ready for QA |
| ✅ Archive | — | | @doc-janitor on final approval |
Pre-Handoff Validation (Hard Stop)
[!CAUTION] MANDATORY self-check before
or delegation.notify_user
| # | Check |
|---|---|
| 1 | section exists with paths |
| 2 | table exists |
| 3 | All ❌ have explicit |
| 4 | Document in folder |
| 5 | updated |
If ANY unchecked → DO NOT PROCEED.
Handoff Protocol
[!CAUTION] BEFORE handoff:
- Save final document to
pathproject/docs/- Change file status from
toDraftin header/frontmatterApproved- Update
status to ✅ Doneproject/docs/ARTIFACT_REGISTRY.md- Use
for final approvalnotify_user- THEN delegate to next skill
When to Delegate
- ✅ Delegate to
when: UI is implemented and needs testing.@qa-lead - ✅ Delegate to
when: Hydration errors, runtime crashes, or "it worked before" issues.@debugger- Provide: error message, browser console output, repro steps
- ⬅️ Return to
if: Wireframes or data requirements need changes.@bmad-architect - 🤝 Coordinate with
if: Building a Telegram Mini App.@tma-expert
Antigravity Best Practices
- Use
when building new pages or components.task_boundary - Use
if design deviates from wireframes.notify_user