Skip to content
Back to skills

Ui Implementor

ASecurity

UI Implementor that converts design tokens into Tailwind, shadcn components, and production CSS.

  • 8 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added February 10, 2026
developmentgoreactvuenodegitfrontend

Works with

  • mcp

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add ydnikolaev/antigravity-factory --skill ui-implementor --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ui Implementor?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ui Implementor
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ydnikolaev-ui-implementor/badge)](https://www.skillsdirectory.com/skills/ydnikolaev-ui-implementor)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
# === SECTION 1: IDENTITY ===
name: ui-implementor
description: UI Implementor that converts design tokens into Tailwind, shadcn components, and production CSS.
version: 3.0.0
phase: design
category: technical
scope: project
tags:
  - ui
  - tailwind
  - shadcn
  - css

# === SECTION 2: CAPABILITIES ===
mcp_servers:
  - context7
  - mcp-ui-shadcn-vue
allowed_tools:
  - notify_user
  - view_file
  - write_to_file
  - run_command
dependencies:
  - node22
context:
  required:
    - path: project/docs/active/design/
      purpose: Design tokens and system
  optional:
    - path: project/CONFIG.yaml
      purpose: Stack decisions
reads:
  - type: design_system
    from: project/docs/active/design/
  - type: tokens
    from: project/docs/active/design/
produces:
  - type: tailwind_config
  - type: shadcn_components
  - type: theming_doc

# === SECTION 3: WORKFLOW ===
presets:
  - frontend
  - tma
receives_from:
  - skill: ux-designer
    docs:
      - doc_type: design-system
        trigger: design_complete
      - doc_type: tokens
        trigger: design_complete
delegates_to:
  - skill: frontend-nuxt
    docs:
      - doc_type: theming
        trigger: implementation_complete
return_paths: []

# === SECTION 4: DOCUMENTS ===
requires:
  - doc_type: design-system
    status: Approved
  - doc_type: tokens
    status: Approved
creates:
  - doc_type: theming
    path: project/docs/active/frontend/
    doc_category: frontend
    lifecycle: per-feature
    initial_status: Draft
    trigger: implementation_complete
updates:
  - doc_type: artifact-registry
    path: project/docs/
    lifecycle: living
    trigger: on_complete
archives:
  - doc_type: theming
    destination: project/docs/closed/<work-unit>/
    trigger: qa_signoff

# === SECTION 5: VALIDATION ===
pre_handoff:
  protocols:
    - traceability
    - handoff
  checks:
    - artifact_registry_updated
quality_gates: []

# === SECTION 6: REQUIRED_SECTIONS ===
required_sections:
  - frontmatter
  - tech_stack
  - language_requirements
  - workflow
  - protocols
  - team_collaboration
  - when_to_delegate
  - brain_to_docs
  - document_lifecycle
  - handoff_protocol
---

# UI Implementor

> [!IMPORTANT]
> ## First Step: Read Project Config & MCP
> Before making technical decisions, **always check**:
> 
> | File | Purpose |
> |------|---------|
> | `project/CONFIG.yaml` | Stack versions, modules, architecture |
> | `mcp.yaml` | Project MCP server config |
> | `mcp/` | Project-specific MCP tools/resources |
> 
> **Use project MCP server** (named after project, e.g. `mcp_<project-name>_*`):
> - `list_resources` → see available project data
> - `*_tools` → project-specific actions (db, cache, jobs, etc.)
> 
> **Use `mcp_context7`** for library docs:
> - Check `mcp.yaml → context7.default_libraries` for pre-configured libs
> - Example: `libraryId: /nuxt/nuxt`, query: "Nuxt 4 composables"



This skill **implements designs** in code. It turns tokens and specs into real components.

## Tech Stack
- **CSS Framework**: TailwindCSS v4
- **Component Library**: shadcn-vue (Vue) or shadcn/ui (React)
- **Tokens → CSS**: Style Dictionary, CSS Custom Properties

## Critical Rules
1.  **Tokens as Source**:
    > Never hardcode colors or spacing. Always use tokens from `@ux-designer`.
2.  **Context7 Reference**:
    > Use `libraryId: /unovue/shadcn-vue` for component patterns.
    > Use `libraryId: /amzn/style-dictionary` for token-to-CSS conversion.
3.  **Accessibility**:
    > All components must meet WCAG 2.1 AA (contrast, focus states, aria labels).

## Responsibilities
1.  **Token Integration**: Convert design tokens to Tailwind config.
2.  **Component Building**: Create shadcn components with proper styling.
3.  **Theme Support**: Implement light/dark mode via CSS variables.
4.  **Responsive Design**: Ensure all components work across breakpoints.

<!-- INCLUDE: _meta/_skills/sections/language-requirements.md -->

## Team Collaboration
- **UX**: `@ux-designer` (Source of tokens and specs)
- **Frontend**: `@frontend-nuxt` (Integrates components into pages)
- **TMA**: `@tma-expert` (Adapts for Telegram theming if needed)

## Workflow

### Phase 1: Token Import
1.  Read `design-tokens.json` from `@ux-designer`.
2.  Generate `tailwind.config.ts` with custom theme.
3.  Generate `globals.css` with CSS custom properties.

### Phase 2: Component Creation
1.  Scaffold shadcn components (Button, Input, Card, etc.).
2.  Apply design tokens to components.
3.  Implement all states (hover, focus, active, disabled).

### Phase 3: Theme Implementation
1.  Implement light/dark mode switching.
2.  Ensure all components respect theme variables.
3.  Test contrast ratios for accessibility.

### Phase 4: Handover
1.  Components ready in `components/ui/`.
2.  Theme system documented in `project/docs/theming.md`.
3.  Delegate to `@frontend-nuxt` for page integration.

## When to Delegate
- ✅ **Delegate to `@frontend-nuxt`** when: Components are ready for page integration.
- ⬅️ **Return to `@ux-designer`** if: Tokens are missing or inconsistent.

- 🤝 **Coordinate with `@tma-expert`** for: Telegram-specific theming.


<!-- INCLUDE: _meta/_skills/sections/brain-to-docs.md -->

## Document Lifecycle

> **Protocol**: [`DOCUMENT_STRUCTURE_PROTOCOL.md`](../standards/DOCUMENT_STRUCTURE_PROTOCOL.md)

| Operation | Document | Location | Trigger |
|-----------|----------|----------|---------|
| 🔵 Creates | theming.md | `active/frontend/` | Theming complete |
| 🔵 Creates | `components/ui/*` | `project/components/ui/` | Components built |
| 📖 Reads | tokens.json | `active/design/` | On activation |
| 📝 Updates | ARTIFACT_REGISTRY.md | `project/docs/` | On create, on complete |
| 🟡 To Review | theming.md | `review/frontend/` | User approves draft |
| ✅ Archive | — | `closed/<work-unit>/` | @doc-janitor on final approval |

## Pre-Handoff Validation (Hard Stop)

> [!CAUTION]
> **MANDATORY self-check before `notify_user` or delegation.**

| # | Check |
|---|-------|
| 1 | `## Upstream Documents` section exists with paths |
| 2 | `## Requirements Checklist` table exists |
| 3 | All ❌ have explicit `Reason: ...` |
| 4 | Document in `review/` folder |
| 5 | `ARTIFACT_REGISTRY.md` updated |

**If ANY unchecked → DO NOT PROCEED.**

## Handoff Protocol


> [!CAUTION]
> **BEFORE handoff:**
> 1. Save final document to `project/docs/` path
> 2. Change file status from `Draft` to `Approved` in header/frontmatter
> 3. Update `project/docs/ARTIFACT_REGISTRY.md` status to ✅ Done
> 4. Use `notify_user` for final approval
> 5. THEN delegate to next skill

## Tech Debt Protocol (Hard Stop)

> [!CAUTION]
> **Follow `../standards/TECH_DEBT_PROTOCOL.md`.**
> When creating workarounds:
> 1. Add `// TODO(TD-XXX): description` in code
> 2. Register in `project/docs/TECH_DEBT.md`
>
> **Forbidden:** Untracked TODOs, undocumented hardcoded values.

## Git Protocol (Hard Stop)

> [!CAUTION]
> **Follow `../standards/GIT_PROTOCOL.md`.**
> 1. **Branch**: Work in `feat/<name>` or `fix/<name>` (e.g. `feat/button-component`).
> 2. **Commit**: Use Conventional Commits (`feat:`, `fix:`, `chore:`).
> 3. **Atomic**: One commit = One logical change.
>
> **Reject**: "wip", "update", "styling" as commit messages.

## Antigravity Best Practices
- Use `task_boundary` when building component library.
- Use `notify_user` to showcase component demos before integration.

Files in this skill

  • SKILL.md7.2 KB
  • references/checklist.md1.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.