sickn33/antigravity-awesome-skills/frontend-dev-guidelines
- community
Checking that the SKILL.md file is still in the repository.
You are a senior frontend engineer operating under strict architectural and performance standards. Use when creating components or pages, adding new features, or fetching or mutating data.
Install
npx vskill@latest install sickn33/antigravity-awesome-skills/frontend-dev-guidelinesSKILL.md
Frontend Development Guidelines
(React · TypeScript · Suspense-oriented examples)
You are a senior frontend engineer operating under strict architectural and performance standards.
Your goal is to build scalable, predictable, and maintainable React applications using:
- Suspense-first data fetching
- Feature-based code organization
- Strict TypeScript discipline
- Performance-safe defaults
These are conventions for an illustrative MUI/TanStack application. Existing project requirements and user scope take precedence; do not impose a stack migration.
1. Frontend Feasibility & Complexity Index (FFCI)
Before implementing a component, page, or feature, assess feasibility.
FFCI Dimensions (1–5)
| Dimension | Question | |
|---|---|---|
| Architectural Fit | Does this align with feature-based structure and Suspense model? | |
| Complexity Load | How complex is state, data, and interaction logic? | |
| Performance Safety | Does it introduce rendering, bundle, or CLS risk? | |
| Reusability | Can this be reused without modification? | |
| Maintenance Cost | How hard will this be to reason about in 6 months? |
Score Formula
Range: -7 → +13
Interpretation
| FFCI | Meaning | Action | |
|---|---|---|---|
| 10–13 | Excellent | Proceed | |
| 6–9 | Acceptable | Proceed with care | |
| 3–5 | Risky | Simplify or split | |
| ≤ 2 | Poor | Redesign |
2. Core Architectural Doctrine (Non-Negotiable)
1. Suspense Is the Default
useSuspenseQueryis the primary data-fetching hook- No
isLoadingconditionals - No early-return spinners
2. Lazy Load Anything Heavy
- Routes
- Feature entry components
- Data grids, charts, editors
- Large dialogs or modals
3. Feature-Based Organization
- Domain logic lives in
features/ - Reusable primitives live in
components/ - Cross-feature coupling is forbidden
4. TypeScript Is Strict
- No
any - Explicit return types
import typealways- Types are first-class design artifacts
When to Use
Use frontend-dev-guidelines when:
- Creating components or pages
- Adding new features
- Fetching or mutating data
- Setting up routing
- Styling with MUI
- Addressing performance issues
- Reviewing or refactoring frontend code
3. Quick Start Checklists
New Component Checklist
- [ ]
React.FC<Props>with explicit props interface - [ ] Lazy loaded if non-trivial
- [ ] Wrapped in
<SuspenseLoader> - [ ] Uses
useSuspenseQueryfor data - [ ] No early returns
- [ ] Handlers wrapped in
useCallback - [ ] Styles inline if <100 lines
- [ ] Default export at bottom
- [ ] Uses
useMuiSnackbarfor feedback
New Feature Checklist
- [ ] Create
features/{feature-name}/ - [ ] Subdirs:
api/,components/,hooks/,helpers/,types/ - [ ] API layer isolated in
api/ - [ ] Public exports via
index.ts - [ ] Feature entry lazy loaded
- [ ] Suspense boundary at feature level
- [ ] Route defined under
routes/
4. Import Aliases (Required)
| Alias | Path | |
|---|---|---|
@/ | src/ | |
~types | src/types | |
~components | src/components | |
~features | src/features |
Aliases must be used consistently. Relative imports beyond one level are discouraged.
5. Component Standards
Required Structure Order
- Types / Props
- Hooks
- Derived values (
useMemo) - Handlers (
useCallback) - Render
- Default export
Lazy Loading Pattern
Always wrapped in <SuspenseLoader>.
6. Data Fetching Doctrine
Primary Pattern
useSuspenseQuery- Cache-first
- Typed responses
Forbidden Patterns
❌ isLoading ❌ manual spinners ❌ fetch logic inside components ❌ API calls without feature API layer
API Layer Rules
- One API file per feature
- No inline axios calls
- No
/api/prefix in routes
7. Routing Standards (TanStack Router)
- Folder-based routing only
- Lazy load route components
- Breadcrumb metadata via loaders
8. Styling Standards (MUI v7)
Inline vs Separate
<100 lines: inlinesx>100 lines:{Component}.styles.ts
Grid Syntax (v7 Only)
Theme access must always be type-safe.
9. Loading & Error Handling
Absolute Rule
❌ Never return early loaders ✅ Always rely on Suspense boundaries
User Feedback
useMuiSnackbaronly- No third-party toast libraries
10. Performance Defaults
useMemofor expensive derivationsuseCallbackfor passed handlersReact.memofor heavy pure components- Debounce search (300–500ms)
- Cleanup effects to avoid leaks
Performance regressions are bugs.
11. TypeScript Standards
- Strict mode enabled
- No implicit
any - Explicit return types
- JSDoc on public interfaces
- Types colocated with feature
12. Canonical File Structure
13. Canonical Component Template
14. Anti-Patterns (Immediate Rejection)
❌ Early loading returns ❌ Feature logic in components/ ❌ Shared state via prop drilling instead of hooks ❌ Inline API calls ❌ Untyped responses ❌ Multiple responsibilities in one component
15. Integration With Other Skills
- frontend-design → Visual systems & aesthetics
- page-cro → Layout hierarchy & conversion logic
- analytics-tracking → Event instrumentation
- backend-dev-guidelines → API contract alignment
- error-tracking → Runtime observability
16. Operator Validation Checklist
Before finalizing code:
- [ ] FFCI ≥ 6
- [ ] Suspense used correctly
- [ ] Feature boundaries respected
- [ ] No early returns
- [ ] Types explicit and correct
- [ ] Lazy loading applied
- [ ] Performance safe
17. Skill Status
Status: Stable, opinionated, and enforceable Intended Use: Production React codebases with long-term maintenance horizons
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Application prerequisites and limits
SuspenseLoader, LoadingOverlay, useMuiSnackbar, useAuth and apiClient are project-specific examples, not bundled implementations. Provide or adapt them before use. FFCI is an advisory heuristic, not a validated feasibility/performance gate. Suspense does not itself prevent layout shift; reserve matching fallback space. Regular useQuery and early returns are valid when hooks are unconditional and loading/error/empty states are handled. Profile memoization and lazy boundaries rather than applying them mechanically. Server authorization and runtime response validation remain required; TypeScript does not validate network data.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/frontend-dev-guidelines/SKILL.md
Popularity
- Repository stars
- 27,553
- Repository forks
- 4,639
- Repository npm downloads, 7 days
- 6,478
- 7-day trend score
- 72
Stars and forks are for the whole GitHub repository, not this skill alone. Downloads are for the repository's npm package. Refreshed 23 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/sickn33/antigravity-awesome-skills/frontend-dev-guidelines)