mcpField
F
frontend-engineer

frontend-engineer

github.com/siviter-xyzDevelopment22319 installsUpdated 32w ago
Repository

About frontend-engineer

A skill guide for teams building React frontends with TypeScript. It emphasizes Suspense-based data fetching, feature-oriented organization, and performance practices.

Key features

  1. 01React component and page patterns
  2. 02Suspense-based data fetching
  3. 03TanStack Query and Router guidance
  4. 04Feature-oriented file organization
  5. 05TypeScript and performance practices

Use cases

  1. 01Creating React components and pages
  2. 02Adding data fetching and routing
  3. 03Organizing a new frontend feature
  4. 04Reviewing frontend performance and types

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/siviter-xyz/dot-agent --skill frontend-engineer

After installing, type/frontend-engineerin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
component-patterns.md
data-fetching.md
file-organization.md
performance.md
routing-guide.md
styling-guide.md
typescript-standards.md

Details

From the project README

Frontend Engineer

Comprehensive guide for modern React development, emphasizing Suspense-based data fetching, lazy loading, proper file organization, and performance optimization.

When to Use

  • Creating new components or pages
  • Building new features
  • Fetching data with TanStack Query
  • Setting up routing with TanStack Router
  • Styling components
  • Performance optimization
  • Organizing frontend code
  • TypeScript best practices

Quick Start

New Component Checklist
  • Use React.FC<Props> pattern with TypeScript
  • Lazy load if heavy component: React.lazy(() => import())
  • Wrap in <SuspenseLoader> for loading states
  • Use useSuspenseQuery for data fetching
  • Import aliases: @/, ~types, ~components, ~features
  • Styles: Inline if <100 lines, separate file if >100 lines
  • Use useCallback for event handlers passed to children
  • Default export at bottom
  • No early returns with loading spinners
  • Use notification system for user feedback
New Feature Checklist
  • Create features/{feature-name}/ directory
  • Create subdirectories: api/, components/, hooks/, helpers/, types/
  • Create API service file: api/{feature}Api.ts
  • Set up TypeScript types in types/
  • Create route in routes/{feature-name}/index.tsx
  • Lazy load feature components
  • Use Suspense boundaries
  • Export public API from feature index.ts

Core Principles

  1. Lazy Load Everything Heavy: Routes, DataGrid, charts, editors
  2. Suspense for Loading: Use SuspenseLoader, not early returns
  3. useSuspenseQuery: Primary data fetching pattern for new code
  4. Features are Organized: api/, components/, hooks/, helpers/ subdirs
  5. Styles Based on Size: <100 inline, >100 separate
  6. Import Aliases: Use @/, ~types, ~components, ~features
  7. No Early Returns: Prevents layout shift
  8. TypeScript First: Strict mode, no any type

Implementation Workflow

When implementing frontend code:

  • Check for existing workflow patterns (spec-first, TDD, etc.) and follow them
  • Ensure code passes CI checks (types, tests, lint) before committing
  • Group related changes with tests in atomic commits

References

For detailed guidance, see:

  • references/component-patterns.md - Modern React component patterns
  • references/data-fetching.md - Suspense-based data fetching
  • references/file-organization.md - Feature-based organization
  • references/styling-guide.md - Styling patterns and best practices
  • references/routing-guide.md - TanStack Router patterns
  • references/performance.md - Performance optimization
  • references/typescript-standards.md - TypeScript best practices

Comments

Markdown supported