Agent skill

Frontend Component

by qf-studio in qf-studio/navigator

Create React/Vue component with TypeScript, tests, and styles.

MITAuto-check: notesFrontend & Design

Install Frontend Component

skills CLI
$ npx skills add qf-studio/navigator --skill frontend-component -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install qf-studio/navigator frontend-component --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/qf-studio/navigator.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/frontend-component .claude/skills/frontend-component && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
frontend-component
GitHub stars
354
Token cost
~4.5k tokens
SKILL.md length
1,229 words
Files
15
Skills in repo
32
Repo updated
First seen
Licence
MIT

At a glance

Create React/Vue component with TypeScript, tests, and styles.

  • Works in 12 steps: Check Existing Patterns (Phase 0) → Gather Component Requirements → 5: Confirm Component Design (ToM… → …
  • Says create component
  • SKILL.md covers When to Invoke, What This Does, Execution Steps and Predefined Functions, plus 3 more sections
  • Runs Python scripts from its folder; calls python3

What it does

Frontend Component is an agent skill from qf-studio/navigator. Create React/Vue component with TypeScript, tests, and styles. Auto-invoke when user says "create component", "add component", "new component", or "build component".

Its SKILL.md is about 4.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 17 other files (for example `functions/component_generator.py`, `functions/file_generator.py` and `functions/name_validator.py`).

It sits in Frontend & Design. It works with React, TypeScript, Vue.js and Next.js. The repository describes itself as: Finish What You Start — Context engineering for Claude Code. Sessions last 20+ exchanges instead of crashing at 7. The licence is MIT.

When your agent uses it

  • Says create component
  • Build component

Example prompts

  • “create component”
  • “add component”
  • “new component”
  • “/frontend-component”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Read, Write, Edit, Grep, Glob, Bash

Workflow steps

12 steps, taken from the step headings in SKILL.md.

  1. Check Existing Patterns (Phase 0)
  2. Gather Component Requirements
  3. 5: Confirm Component Design (ToM Checkpoint) [EXECUTE]
  4. Generate Props Interface
  5. Generate Component File
  6. Generate Test File
  7. Generate Style File
  8. Generate Barrel Export
  9. Show Component Summary
  10. Emit Execution Summary (Graph Ingestion)
  11. name_validator.py
  12. props_interface_generator.py

What it can do on your machine

Read from SKILL.md and the folder at commit a6f3006. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Grep
    • Glob
    • Bash

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Frontend Component loads about 4.5k tokens when it runs. Until then it costs about 46 tokens; SKILL.md has 1,229 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~46
When it runs · the whole SKILL.md, loaded when a task matches
~4.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Write, Edit, Grep, Glob, Bash

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from qf-studio/navigator at commit a6f3006, republished under its MIT licence (© qf-studio). 1,229 words, ~4,482 tokens.

Download SKILL.mdSave it as .claude/skills/frontend-component/SKILL.md (or your agent's skills folder). This skill also uses 14 other files; get the full folder from GitHub.
name
frontend-component
description
Create React/Vue component with TypeScript, tests, and styles. Auto-invoke when user says "create component", "add component", "new component", or "build component".
allowed-tools
Read, Write, Edit, Grep, Glob, Bash
version
2.0.0

Frontend Component Generator

Generate production-ready React/Vue components with TypeScript, tests, and styles following modern best practices.

When to Invoke

Auto-invoke when user mentions:

  • "Create a component"
  • "Add a component"
  • "New component"
  • "Build a component"
  • "Generate component for [feature]"

What This Does

  1. Generates component file with TypeScript and props interface
  2. Creates test file with React Testing Library
  3. Generates CSS module for styling
  4. Creates barrel export (index.ts)
  5. Validates naming conventions
  6. Follows project patterns

Execution Steps

Step 0: Check Existing Patterns (Phase 0)

Before gathering requirements, query the knowledge graph for what we already know about frontend/component work in this project. This mirrors navigator-research's Phase 0 and prevents re-deriving patterns we've already decided on.

bash
PLUGIN_DIR="${CLAUDE_PLUGIN_ROOT:-$HOME/.claude/plugins/cache/navigator-marketplace/navigator}"
[ -d "$PLUGIN_DIR" ] || PLUGIN_DIR="$HOME/.claude/plugins/marketplaces/navigator-marketplace"
python3 "$PLUGIN_DIR/skills/nav-graph/functions/graph_manager.py" \
  --action query --concept frontend \
  --graph-path .agent/knowledge/graph.json 2>/dev/null | head -40

If memories surface (look for PATTERN, PITFALL, DECISION entries), read the full memory files for any directly relevant ones:

bash
ls .agent/knowledge/memories/{patterns,pitfalls,decisions}/ 2>/dev/null

What to do with what you find:

  • Patterns: apply them (don't re-derive — e.g. "we use CSS Modules, not styled-components")
  • Pitfalls: avoid them (record in pitfalls_avoided in Step 8)
  • Decisions: respect them (e.g. "we chose React.memo for list items")

If the graph returns nothing useful, proceed without it. Skip this step only if the knowledge graph is disabled in .agent/.nav-config.json.

Step 1: Gather Component Requirements

First, detect the framework: read package.json. If "next" is in dependencies, this is a Next.js App Router project — use the Next.js variants in Step 3 and default styling to Tailwind (no CSS module file). See .agent/philosophy/NEXTJS-PATTERNS.md for the patterns these templates encode.

Ask user for component details:

Component name: [PascalCase name, e.g., UserProfile]
Component type:
  Generic React:
    - simple            (basic functional component)
    - with-hooks        (useState, useEffect, etc.)
    - container         (data fetching component)
  Next.js App Router:
    - nextjs-page       (app/<route>/page.tsx — Server Component, async)
    - nextjs-layout     (app/<route>/layout.tsx — Server Component, metadata + viewport)
    - nextjs-server     (Server Component with fetch, async)
    - nextjs-client     ('use client' component with state/effects)

Styling approach:
  - tailwind            (default for nextjs-* types)
  - css-modules         (default for generic React types)
  - styled-components

Props needed: [Optional: describe expected props]

Picking the right Next.js variant:

  • User says "create a Schedule page" → nextjs-page
  • User says "wrap the app" / "root layout" → nextjs-layout
  • User says "needs useState" / "click handler" / "interactive" → nextjs-client
  • User says "fetches data" / "list of X" → nextjs-server

Validate component name:

  • Use predefined function: functions/name_validator.py
  • Ensure PascalCase format
  • No reserved words
  • Descriptive and specific
Step 1.5: Confirm Component Design (ToM Checkpoint) [EXECUTE]

IMPORTANT: This step MUST be executed for complex components.

Before generating files, confirm interpretation with user.

Display verification:

I understood you want:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Component: {NAME}
Type: {TYPE} (inferred because: {REASON})
Location: src/components/{NAME}/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Detected patterns from your codebase:
- Styling: {CSS_APPROACH} (found {EVIDENCE})
- Testing: {TEST_LIBRARY} (found in package.json)
- Similar component: {EXISTING_COMPONENT} at {PATH}

Props I'll generate:
{PROPS_PREVIEW}

Proceed with generation? [Y/n]

Skip verification if (HIGH-STAKES ONLY mode):

  • Simple presentational component (no hooks, no data fetching)
  • User explicitly said "quick", "just do it", or "skip confirmation"
  • Component name and type are unambiguous
  • No complex props structure

Always verify if:

  • Container component with data fetching
  • Complex props interface (5+ props)
  • Hooks component with side effects
  • Component name similar to existing component
  • User is new to codebase (no profile history)
Step 2: Generate Props Interface

Based on component type and requirements:

Use predefined function: functions/props_interface_generator.py

python
# Generates TypeScript interface based on component requirements
python3 functions/props_interface_generator.py \
  --name "UserProfile" \
  --props "userId:string,onUpdate:function,isActive:boolean"

Output:

typescript
interface UserProfileProps {
  userId: string;
  onUpdate?: () => void;
  isActive?: boolean;
  children?: React.ReactNode;
  className?: string;
}
Step 3: Generate Component File

Use appropriate template based on type:

Simple component:

Use template: templates/component-simple-template.tsx

Component with hooks / Container component:

Start from templates/component-simple-template.tsx and add the hook
declarations (useState/useEffect) or data-fetching logic inline — there is
no separate with-hooks/container template file; the simple template is the base.

Next.js App Router variants (use when "next" is in package.json):

--typeTemplateOutput path example
nextjs-pagetemplates/nextjs-page-template.tsxapp/schedule/page.tsx
nextjs-layouttemplates/nextjs-layout-template.tsxapp/schedule/layout.tsx
nextjs-servertemplates/nextjs-server-component-template.tsxapp/components/speaker-list.tsx
nextjs-clienttemplates/nextjs-client-component-template.tsxapp/components/favourite-button.tsx

The Next.js templates already encode Next.js 15+/16 conventions:

  • params/searchParams are Promises — await them
  • 'use client' directive on line 1 of client components, above all imports
  • Mobile-first Tailwind classes
  • Metadata + viewport exports on layouts

Skip Step 5 (Style File) for nextjs-* types — Tailwind classes are baked into the templates, no CSS module needed.

Use predefined function: functions/component_generator.py

bash
python3 functions/component_generator.py \
  --name "UserProfile" \
  --type "simple" \
  --props-interface "UserProfileProps" \
  --template "templates/component-simple-template.tsx" \
  --output "src/components/UserProfile/UserProfile.tsx"

Template substitutions:

  • ${COMPONENT_NAME} → Component name (PascalCase)
  • ${PROPS_INTERFACE} → Generated props interface
  • ${STYLE_IMPORT} → CSS module import
  • ${DESCRIPTION} → Brief component description
Step 4: Generate Test File

Use predefined function: functions/file_generator.py

bash
python3 functions/file_generator.py \
  --component-name "UserProfile" \
  --component-path "src/components/UserProfile/UserProfile.tsx" \
  --template "templates/test-template.tsx" \
  --output "src/components/UserProfile/UserProfile.test.tsx"

Test template includes:

  • Basic rendering test
  • Props validation test
  • Event handler tests (if applicable)
  • Accessibility tests

Template substitutions:

  • ${COMPONENT_NAME} → Component name
  • ${IMPORT_PATH} → Relative import path
  • ${TEST_CASES} → Generated test cases based on props
Step 5: Generate Style File

Use predefined function: functions/style_generator.py

bash
python3 functions/style_generator.py \
  --name "UserProfile" \
  --approach "css-modules" \
  --template "templates/style-template.module.css" \
  --output "src/components/UserProfile/UserProfile.module.css"

CSS Modules template:

css
.container {
  /* Component wrapper styles */
}

.title {
  /* Title styles */
}

/* Add more classes as needed */

Styled Components alternative:

typescript
// Generated if --approach "styled-components"
import styled from 'styled-components';

export const Container = styled.div`
  /* Component wrapper styles */
`;

export const Title = styled.h2`
  /* Title styles */
`;
Step 6: Generate Barrel Export

Create index.ts for clean imports:

bash
Write(
  file_path: "src/components/UserProfile/index.ts",
  content: "export { UserProfile } from './UserProfile';\nexport type { UserProfileProps } from './UserProfile';\n"
)

Allows usage:

typescript
import { UserProfile } from '@/components/UserProfile';
Step 7: Show Component Summary

Display generated files and usage:

✅ Component Created: UserProfile

Structure:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📁 src/components/UserProfile/
   ├── UserProfile.tsx         (Component)
   ├── UserProfile.test.tsx    (Tests)
   ├── UserProfile.module.css  (Styles)
   └── index.ts                (Exports)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Props Interface:
interface UserProfileProps {
  userId: string;
  onUpdate?: () => void;
  isActive?: boolean;
}

Usage:
import { UserProfile } from '@/components/UserProfile';

<UserProfile
  userId="123"
  onUpdate={() => console.log('Updated')}
  isActive={true}
/>

Next Steps:
1. Customize component implementation
2. Run tests: npm test UserProfile
3. Import and use in your feature
Step 8: Emit Execution Summary (Graph Ingestion)

After Step 7, emit an execution_summary JSON block that captures patterns/decisions/pitfalls from this run. This block is the parity equivalent of the research_findings block emitted by navigator-research, and it gets ingested into the knowledge graph so future component work can surface what we learned.

Output the block verbatim (replace placeholders with actual values from this run):

json
{
  "execution_summary": {
    "skill": "frontend-component",
    "task": "{COMPONENT_NAME} component",
    "files_created": ["{paths of files written}"],
    "files_modified": ["{paths of files edited}"],
    "tests_added": ["{test file path}"],
    "stack_detected": "{e.g. react+typescript+vitest}",
    "patterns_followed": [
      {"summary": "{convention applied — e.g. functional component with Props interface}", "concepts": ["frontend"], "confidence": 0.8}
    ],
    "decisions_made": [
      {"summary": "{non-obvious choice — e.g. React.memo because props are stable}", "concepts": ["frontend"], "confidence": 0.75, "evidence": "{path:line}"}
    ],
    "pitfalls_avoided": [],
    "assumptions_made": ["{e.g. project uses CSS Modules (detected via existing components)}"]
  }
}

Ingestion (run from project root):

bash
PLUGIN_DIR="${CLAUDE_PLUGIN_ROOT:-$HOME/.claude/plugins/cache/navigator-marketplace/navigator}"
[ -d "$PLUGIN_DIR" ] || PLUGIN_DIR="$HOME/.claude/plugins/marketplaces/navigator-marketplace"
echo '<execution_summary JSON>' | python3 "$PLUGIN_DIR/skills/nav-graph/functions/execution_to_graph.py" -

Rules:

  • Only include decisions_made and pitfalls_avoided entries that are non-obvious and would help future runs.
  • Skip the block entirely if no patterns/decisions/pitfalls were notable — empty blocks pollute the graph.
  • Confidence ≥ 0.7 for first-hand execution; 0.75 is a reasonable default.

Predefined Functions

1. name_validator.py

Validates component naming conventions.

Usage:

bash
python3 functions/name_validator.py --name "UserProfile"

Checks:

  • PascalCase format
  • Not a reserved word (e.g., Component, Element, etc.)
  • Descriptive (length > 2 chars)
  • No special characters

Returns: Valid name or error message


Show full SKILL.md (485 more words)Show less
2. props_interface_generator.py

Generates TypeScript props interface from user input.

Usage:

bash
python3 functions/props_interface_generator.py \
  --name "UserProfile" \
  --props "userId:string,onUpdate:function,isActive:boolean"

Supported types:

  • string, number, boolean
  • function (becomes () => void)
  • array (becomes any[])
  • object (becomes Record<string, any>)
  • react-node (becomes React.ReactNode)

Returns: TypeScript interface string


3. component_generator.py

Generates component file from template with substitutions.

Usage:

bash
python3 functions/component_generator.py \
  --name "UserProfile" \
  --type "simple" \
  --props-interface "UserProfileProps" \
  --template "templates/component-simple-template.tsx" \
  --output "src/components/UserProfile/UserProfile.tsx"

Parameters:

  • --name: Component name (PascalCase)
  • --type: Component type (simple/with-hooks/container)
  • --props-interface: Props interface name
  • --template: Template file path
  • --output: Output file path

Returns: Generated component code


4. file_generator.py

Generates test file with React Testing Library.

Usage:

bash
python3 functions/file_generator.py \
  --component-name "UserProfile" \
  --component-path "src/components/UserProfile/UserProfile.tsx" \
  --template "templates/test-template.tsx" \
  --output "src/components/UserProfile/UserProfile.test.tsx"

Generates tests for:

  • Component rendering
  • Props validation
  • Event handlers
  • Accessibility attributes

Returns: Generated test code


5. style_generator.py

Generates style file (CSS Modules or Styled Components).

Usage:

bash
python3 functions/style_generator.py \
  --name "UserProfile" \
  --approach "css-modules" \
  --template "templates/style-template.module.css" \
  --output "src/components/UserProfile/UserProfile.module.css"

Supported approaches:

  • css-modules (default)
  • styled-components
  • tailwind (generates className utilities)

Returns: Generated style code


Templates

component-simple-template.tsx

Basic functional component template.

Placeholders:

  • ${COMPONENT_NAME} - Component name
  • ${PROPS_INTERFACE} - Props interface definition
  • ${STYLE_IMPORT} - CSS import statement
  • ${DESCRIPTION} - Component description

Components needing hooks or data fetching start from component-simple-template.tsx (above) and the model adds the useState/useEffect declarations or fetch logic inline — no dedicated with-hooks/container template ships.

test-template.tsx

React Testing Library test template.

Placeholders:

  • ${COMPONENT_NAME} - Component name
  • ${IMPORT_PATH} - Import path
  • ${TEST_CASES} - Generated test cases
style-template.module.css

CSS Modules template.

Placeholders:

  • ${COMPONENT_NAME_KEBAB} - Component name in kebab-case
  • ${BASE_STYLES} - Base container styles

Examples

See examples/ directory for reference implementations:

  1. Button.tsx - Simple component with variants
  2. SearchBar.tsx - Component with hooks (useState, useEffect)

Each example includes:

  • Component implementation
  • Test file
  • Style file
  • Usage documentation

Best Practices

Component Design
  • Keep components small and focused (single responsibility)
  • Compose complex UIs from simple components
  • Lift state up only when necessary
  • Use descriptive names (UserProfile, not UP)
TypeScript
  • Define prop interfaces explicitly
  • Avoid any type (use unknown if needed)
  • Export types for consumers
  • Use strict mode
Testing
  • Test user behavior, not implementation
  • Query by role/text, not test IDs
  • Test accessible attributes
  • Mock external dependencies
Styling
  • CSS Modules for scoped styles
  • BEM or descriptive class names
  • Mobile-first responsive design
  • Use CSS custom properties for theming
Accessibility
  • Semantic HTML (button, nav, main, etc.)
  • ARIA labels when needed
  • Keyboard navigation support
  • Focus management in modals/dropdowns

Troubleshooting

Component Not Rendering

Problem: Generated component throws errors

Solutions:

  1. Check TypeScript compilation errors
  2. Verify all imports are correct
  3. Check props interface matches usage
  4. Validate JSX syntax
Tests Failing

Problem: Generated tests don't pass

Solutions:

  1. Ensure React Testing Library is installed
  2. Check test queries match component output
  3. Verify mocks are set up correctly
  4. Run tests with --verbose flag
Styles Not Applying

Problem: CSS modules not loading

Solutions:

  1. Check CSS module import syntax
  2. Verify webpack/vite config supports CSS modules
  3. Check className is applied to element
  4. Inspect browser devtools for loaded styles

Success Criteria

This skill succeeds when:

  • Component file generated with valid TypeScript
  • Test file created with passing tests
  • Style file generated with scoped styles
  • Barrel export allows clean imports
  • Props interface matches requirements
  • Code follows React best practices
  • Accessibility attributes included

Auto-invoke this skill when creating React components to ensure consistency and save time ⚛️

© qf-studio, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 14 other files in skills/frontend-component of qf-studio/navigator.

  • SKILL.md
  • examples/Button.tsx
  • examples/SearchBar.tsx
  • functions/component_generator.py
  • functions/file_generator.py
  • functions/name_validator.py
  • functions/props_interface_generator.py
  • functions/style_generator.py
  • templates/component-simple-template.tsx
  • templates/nextjs-client-component-template.tsx
  • templates/nextjs-layout-template.tsx
  • templates/nextjs-page-template.tsx
  • templates/nextjs-server-component-template.tsx
  • templates/style-template.module.css
  • templates/test-template.tsx

Open the folder on GitHubat commit a6f3006

Compare with similar skills

Frontend Component next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Frontend Component compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Frontend Component this skillqf-studio/navigator354—~4.5kAutomated safety check: NotesMIT
Frontend Code ReviewProgrammerAnthony/Expert-Coding-Harness235—~614Automated safety check: PassMIT
Next Generate Skilljiushiwon/wg-skills110—~3.2kAutomated safety check: NotesApache-2.0
Nuxt Generate Skilljiushiwon/wg-skills110—~2.6kAutomated safety check: NotesApache-2.0
Ss Learnbitjaru/styleseed970—~1.3kAutomated safety check: PassMIT
UI/UX Design System AdvisorGalaxy-Dawn/claude-scholar5.7k1 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Frontend Code Review

    ProgrammerAnthony/Expert-Coding-Harness

    A skill your agent uses when 用户需要审查前端代码(React/Vue/Next.js/TypeScript/Tailwind等)、检查代码质量、性能问题、可维护性、安全漏洞、最佳实践落地时。触发场景:前端代码评审、前端代码优化、React/Vue代码检查、TypeScript代码审查、前端性能优化、前端安全审计、前端代码规范检查。

    235 GitHub stars~614 tokensUpdated 4 mo ago
    Frontend & DesignAuto-check passed
  • Next Generate Skill

    jiushiwon/wg-skills

    当用户要创建 Next.js 14+(React 生态的全栈框架,非 Vue 的 Nuxt)App Router + TypeScript + Zustand 全栈项目时使用。引导完成需求澄清、项目初始化、SSR/RSC 配置、请求层集成、API Routes、认证中间件、后置验证。严格对齐 frontend-request-skill 请求层规范。触发词:"帮我做一个 Next.js…

    110 GitHub stars~3.2k tokensUpdated 3 days ago
    Frontend & DesignAuto-check: notes
  • Nuxt Generate Skill

    jiushiwon/wg-skills

    当用户要创建 Nuxt 3(Vue 生态的全栈框架,非 React 的 Next.js)+ TypeScript + Pinia 全栈项目时使用。引导完成需求澄清、项目初始化、SSR/SEO 配置、请求层集成、BFF API 层、认证中间件、后置验证。严格对齐 frontend-request-skill 请求层规范。触发词:"帮我做一个 Nuxt 项目"、"初始化 Nuxt3 模板"、"用…

    110 GitHub stars~2.6k tokensUpdated 3 days ago
    Frontend & DesignAuto-check: notes
  • Ss Learn

    bitjaru/styleseed

    Capture a human-approved UI design lesson as a privacy-minimized local StyleSeed candidate, review it, and prepare an opt-in share package without transmitting project code, prompts, screenshots, or…

    970 GitHub stars~1.3k tokensUpdated 7 days ago
    Frontend & DesignAuto-check passed
  • UI/UX Design System Advisor

    Galaxy-Dawn/claude-scholar

    Turns a vague UI request into a concrete design system with style, palette, typography and layout guidance from a search script, plus stack-specific implementation advice.

    5.7k GitHub starsUsed in 1 repo~1.1k tokens
    Frontend & DesignAuto-check passed
  • Design Style

    Castor6/tactus

    A skill your agent uses whenever the user asks to build, create, design, develop, improve, or style any frontend interface or visual element.

    376 GitHub starsUsed in 1 repo~2.1k tokens
    Frontend & DesignAuto-check passed

More from qf-studio/navigator

All 32 skills in this repo
  • Backend Endpoint

    qf-studio/navigator

    Create REST/GraphQL API endpoint with validation, error handling, and tests.

    354 GitHub starsUsed in 1 repo~4.5k tokens
    Auto-check: notes
  • Nav Start

    qf-studio/navigator

    Load Navigator documentation navigator when starting development session, resuming work, or beginning new feature.

    354 GitHub stars~4.6k tokensUpdated yesterday
    Auto-check: notes
  • Backend Test

    qf-studio/navigator

    Generate backend tests (unit, integration, mocks) for existing code.

    354 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check: notes
  • Database Migration

    qf-studio/navigator

    Create database migration with schema changes and rollback. An agent skill from qf-studio/navigator.

    354 GitHub stars~3.7k tokensUpdated yesterday
    Auto-check: notes
  • Frontend Test

    qf-studio/navigator

    Generate frontend component tests (React Testing Library, Vue Test Utils, snapshot) for existing components.

    354 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check: notes
  • Nav Compact

    qf-studio/navigator

    Clear conversation context while preserving knowledge via context marker.

    354 GitHub stars~2.1k tokensUpdated yesterday
    Auto-check: notes

Questions about Frontend Component

What does Frontend Component do?

Create React/Vue component with TypeScript, tests, and styles. Frontend Component is an agent skill from qf-studio/navigator. Create React/Vue component with TypeScript, tests, and styles.

When should I use Frontend Component?

Frontend Component fits situations like: says create component; build component.

How do I install Frontend Component in Claude Code?

Run `npx skills add qf-studio/navigator --skill frontend-component -a claude-code`. Or copy the skill folder (skills/frontend-component in qf-studio/navigator) into .claude/skills/frontend-component in your project. Claude Code loads it when a task matches its description.

How do I install Frontend Component in Codex?

Run `npx skills add qf-studio/navigator --skill frontend-component -a codex`. Or copy the skill folder (skills/frontend-component in qf-studio/navigator) into .agents/skills/frontend-component in your project. Codex loads it when a task matches its description.

Can I use Frontend Component in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add qf-studio/navigator --skill frontend-component -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/frontend-component, .gemini/skills/frontend-component, .github/skills/frontend-component and .opencode/skills/frontend-component in your project.

What does Frontend Component need to run?

Going by SKILL.md and its folder, Frontend Component needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Write, Edit, Grep, Glob, Bash.

Does Frontend Component access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Frontend Component safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Frontend Component use?

Frontend Component is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Frontend Component use?

About 4.5k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Frontend Component?

Skills that share tags, products or a category with Frontend Component: Frontend Code Review (ProgrammerAnthony/Expert-Coding-Harness, 235 stars), Next Generate Skill (jiushiwon/wg-skills, 110 stars), Nuxt Generate Skill (jiushiwon/wg-skills, 110 stars) and Ss Learn (bitjaru/styleseed, 970 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Frontend Component?

qf-studio (a GitHub organization) maintains it in qf-studio/navigator, which has 354 GitHub stars. The repository holds 32 skills in this directory. The repository was last updated on October 6, 2026.

Source: qf-studio/navigator on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.