component-development

Develops and refactors reusable React and Vue components with typed props, state management, and accessibility.

1|Updated Aug 18, 2026
One-click install
npx skills add https://github.com/scsm-unrestrict/dsh-frontend-engineer-agent --skill component-development-scsm-unrestrict
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: component-development
Source: https://github.com/scsm-unrestrict/dsh-frontend-engineer-agent/tree/main/frontend-engineer/skills/component-development
Command: npx skills add https://github.com/scsm-unrestrict/dsh-frontend-engineer-agent --skill component-development-scsm-unrestrict

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Building React or Vue components without clear conventions leads to prop drilling, uncontrolled re-renders, leaked styles, and inaccessible UI. This Skill provides a structured checklist for designing, typing, optimizing, and testing components so they stay reusable and maintainable. ## Core Features & Use Cases - Component Design Guidance: Covers single-responsibility decomposition, controlled/uncontrolled patterns, props and event naming conventions (onXxx for React, kebab-case for Vue), and generic TypeScript typing. - State & Performance Rules: Local-first state, derived values via useMemo/computed, effect cleanup, React.memo/useCallback discipline, stable keys, and virtual scrolling for large lists. - Accessibility & Testing: Semantic HTML, keyboard navigation, focus traps for modals, minimal ARIA, plus behavior-focused tests with React Testing Library or Vue Test Utils. - Use Case: When asked to build a reusable data table component in a React 18 + TypeScript project, the Skill guides props typing, memoization decisions, keyboard accessibility, and delivers usage examples with tests. ## Quick Start Use the component-development skill to refactor this React form component into a typed, controlled, reusable component with tests.

Frequently Asked Questions about component-development

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a reusable React component with TypeScript?

Define a complete props interface, expose only the minimal required props with defaults, and use generics instead of any for components like List<T>. Follow the controlled pattern with value plus onChange callbacks when external control is needed.

How to manage state in React and Vue components?

Keep state local first and only lift it when truly shared across components. Derive values with useMemo in React or computed in Vue instead of storing them, and clean up listeners, timers, and subscriptions in effect cleanup functions.

When should I use React.memo, useCallback, and useMemo?

Apply them only where there is measurable rendering benefit, with correct dependency arrays, since wrong dependencies introduce bugs rather than optimizations. Split large contexts to avoid re-rendering the whole tree on a single change.

Does this approach work for both React and Vue projects?

Yes, it covers React 18/19 and Vue 3 Composition API with framework-specific guidance. React sections cover memo and context splitting, while Vue sections cover computed, shallowRef, v-memo, and provide/inject.

How do I make components accessible for keyboard users?

Use semantic elements like real button and a tags instead of divs with click handlers, ensure visible focus and logical tab order, and implement focus traps with Escape-to-close for modals, drawers, and dropdowns. Prefer semantics over ARIA.