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
- 01React component and page patterns
- 02Suspense-based data fetching
- 03TanStack Query and Router guidance
- 04Feature-oriented file organization
- 05TypeScript and performance practices
Use cases
- 01Creating React components and pages
- 02Adding data fetching and routing
- 03Organizing a new frontend feature
- 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-engineerAfter installing, type/frontend-engineerin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/component-patterns.mddata-fetching.mdfile-organization.mdperformance.mdrouting-guide.mdstyling-guide.mdtypescript-standards.mdDetails
From the project READMEFrontend 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
useSuspenseQueryfor data fetching - Import aliases:
@/,~types,~components,~features - Styles: Inline if <100 lines, separate file if >100 lines
- Use
useCallbackfor 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
- Lazy Load Everything Heavy: Routes, DataGrid, charts, editors
- Suspense for Loading: Use SuspenseLoader, not early returns
- useSuspenseQuery: Primary data fetching pattern for new code
- Features are Organized: api/, components/, hooks/, helpers/ subdirs
- Styles Based on Size: <100 inline, >100 separate
- Import Aliases: Use @/, ~types, ~components, ~features
- No Early Returns: Prevents layout shift
- TypeScript First: Strict mode, no
anytype
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 patternsreferences/data-fetching.md- Suspense-based data fetchingreferences/file-organization.md- Feature-based organizationreferences/styling-guide.md- Styling patterns and best practicesreferences/routing-guide.md- TanStack Router patternsreferences/performance.md- Performance optimizationreferences/typescript-standards.md- TypeScript best practices
Comments
Markdown supported