Frontend Development Standards
This skill provides expert-level guidelines for frontend code quality, runtime performance, and pixel-perfect implementation.
🛑 THE GOLDEN RULE: "Quote First"
You must NEVER write code without first citing your source.
Before implementing any feature or fixing any bug, you must:
- Locate the authoritative documentation (internal
doc/, internal references/, or external official docs).
- Quote the specific section/sentence that justifies your technical decision.
- Implement strictly according to that quote.
If you cannot find a source, you must PAUSE and use search_web or ask the user.
🧠 The "Performance Obsessed" Mindset
- Zero-Bundle Budget: Every kilobyte must justify its existence.
- Hydration is Overhead: If it can be static, it MUST be static.
- The User Waits for Nothing: Optimistic UI and non-blocking main threads are mandatory.
- Accessibility is NOT Optional: A div with an onClick is a bug. Use semantic HTML.
📚 Dynamic Knowledge Base
ACTION: At the start of every task, check package.json and load the corresponding knowledge source.
Sub-Skills (Framework-Specific)
These are complete sub-skills with their own rules, examples, and guidelines. Load the entire sub-skill SKILL.md when working with these frameworks:
| Tech Stack |
Sub-Skill Path |
Key Focus |
| React / Next.js |
react/SKILL.md |
RSCs, Suspense, Streaming, Server Actions |
Reference Files
General reference guides for frameworks without full sub-skills yet:
| Tech Stack |
Reference File |
Key Focus |
| Universal Base |
references/core-performance.md |
Always load this. Web Vitals, A11y, HTTP/3 |
| Vue / Nuxt |
references/vue-nuxt.md |
Composition API, Nitro, Nuxt Modules |
| Angular |
references/angular.md |
Signals, Standalone Components, Zone-less |
| Svelte/Solid/Qwik |
references/modern-signals.md |
Fine-grained reactivity, Resumability |
🛠 Workflow: The "Evidence-Based" Loop
Phase 1: Discovery & Citation
- Identify the needed technology (e.g., "I need to optimize images in Next.js").
- Fetch Source: Load the appropriate sub-skill OR reference file:
- For React/Next.js: Read
react/SKILL.md and relevant rules in react/rules/
- For other frameworks: Read corresponding
references/*.md file
- Or search official docs if not available.
- State Evidence:
"According to Next.js docs (referenced in react/SKILL.md), we should use the <Image> component with sizes to prevent layout shift."
Phase 2: Implementation (The Engineer's Core)
- Write Code: Implement exactly as the evidence suggests.
- Optimize: Look for low-hanging fruit (memoization, lazy loading).
- Verify Compliance: Check against
references/core-performance.md.
- Did I add
alt text?
- Did I avoid
useEffect for derived state?
Phase 3: Self-Correction
Before showing code to the user, run this mental audit:
🚀 Framework-Specific Philosophies
React & Next.js
- Server Components First: Client components are the exception, not the rule.
- Fetch in Components: No
useEffect data fetching. Use Server Components or React Query.
Vue & Nuxt
- Composables over Mixins: Never use Mixins.
- Auto-imports: Use them responsibly, but know where they come from.
Angular
- Signals over Observables: For synchronous state, use Signals. RxJS is for events.
- Standalone: No NgModules unless legacy.
Svelte / Solid / Qwik
- Reactivity is Fine-Grained: Never clone the whole object. Update the specific field.
- Resumability (Qwik): Do not execute JS just to hydrate.
1---2name: frontend-developer3description: Use when implementing frontend code, optimizing performance, or ensuring strict adherence to documentation/references.4license: MIT5---67# Frontend Development Standards89This skill provides expert-level guidelines for frontend code quality, runtime performance, and pixel-perfect implementation.1011## 🛑 THE GOLDEN RULE: "Quote First"1213**You must NEVER write code without first citing your source.**1415Before implementing any feature or fixing any bug, you must:16171. **Locate** the authoritative documentation (internal `doc/`, internal `references/`, or external official docs).182. **Quote** the specific section/sentence that justifies your technical decision.193. **Implement** strictly according to that quote.2021_If you cannot find a source, you must PAUSE and use `search_web` or ask the user._2223## 🧠 The "Performance Obsessed" Mindset24251. **Zero-Bundle Budget**: Every kilobyte must justify its existence.262. **Hydration is Overhead**: If it can be static, it MUST be static.273. **The User Waits for Nothing**: Optimistic UI and non-blocking main threads are mandatory.284. **Accessibility is NOT Optional**: A div with an onClick is a bug. Use semantic HTML.2930## 📚 Dynamic Knowledge Base3132**ACTION**: At the start of every task, check `package.json` and load the corresponding knowledge source.3334### Sub-Skills (Framework-Specific)3536These are complete sub-skills with their own rules, examples, and guidelines. Load the entire sub-skill `SKILL.md` when working with these frameworks:3738| Tech Stack | Sub-Skill Path | Key Focus |39| ------------------- | ---------------- | ----------------------------------------- |40| **React / Next.js** | `react/SKILL.md` | RSCs, Suspense, Streaming, Server Actions |4142### Reference Files4344General reference guides for frameworks without full sub-skills yet:4546| Tech Stack | Reference File | Key Focus |47| --------------------- | -------------------------------- | -------------------------------------------- |48| **Universal Base** | `references/core-performance.md` | _Always load this._ Web Vitals, A11y, HTTP/3 |49| **Vue / Nuxt** | `references/vue-nuxt.md` | Composition API, Nitro, Nuxt Modules |50| **Angular** | `references/angular.md` | Signals, Standalone Components, Zone-less |51| **Svelte/Solid/Qwik** | `references/modern-signals.md` | Fine-grained reactivity, Resumability |5253## 🛠 Workflow: The "Evidence-Based" Loop5455### Phase 1: Discovery & Citation56571. **Identify** the needed technology (e.g., "I need to optimize images in Next.js").582. **Fetch Source**: Load the appropriate sub-skill OR reference file:59 - For React/Next.js: Read `react/SKILL.md` and relevant rules in `react/rules/`60 - For other frameworks: Read corresponding `references/*.md` file61 - Or search official docs if not available.623. **State Evidence**:63 > "According to Next.js docs (referenced in `react/SKILL.md`), we should use the `<Image>` component with `sizes` to prevent layout shift."6465### Phase 2: Implementation (The Engineer's Core)66671. **Write Code**: Implement exactly as the evidence suggests.682. **Optimize**: Look for low-hanging fruit (memoization, lazy loading).693. **Verify Compliance**: Check against `references/core-performance.md`.70 - _Did I add `alt` text?_71 - _Did I avoid `useEffect` for derived state?_7273### Phase 3: Self-Correction7475Before showing code to the user, run this mental audit:7677- [ ] **Is this creating a hydration mismatch?** (SSR frameworks)78- [ ] **Is this blocking the main thread?** (Long tasks)79- [ ] **Could this function be smaller?** (Code complexity)8081## 🚀 Framework-Specific Philosophies8283### React & Next.js8485- **Server Components First**: Client components are the exception, not the rule.86- **Fetch in Components**: No `useEffect` data fetching. Use Server Components or React Query.8788### Vue & Nuxt8990- **Composables over Mixins**: Never use Mixins.91- **Auto-imports**: Use them responsibly, but know where they come from.9293### Angular9495- **Signals over Observables**: For synchronous state, use Signals. RxJS is for events.96- **Standalone**: No NgModules unless legacy.9798### Svelte / Solid / Qwik99100- **Reactivity is Fine-Grained**: Never clone the whole object. Update the specific field.101- **Resumability (Qwik)**: Do not execute JS just to hydrate.102103---