React
blencorp/claude-code-kit
Core React 19 patterns including hooks, Suspense, lazy loading, component structure, TypeScript best practices, and performance optimization.
On-demand performance and optimization analysis. An agent skill from MadAppGang/claude-code.
$ npx skills add MadAppGang/claude-code --skill optimize -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install MadAppGang/claude-code optimize --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/MadAppGang/claude-code.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/dev/skills/optimize .claude/skills/optimize && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "optimize" agent skill from https://github.com/MadAppGang/claude-code/tree/main/plugins/dev/skills/optimize into .claude/skills/optimize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "optimize", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/MadAppGang/claude-code/tree/main/plugins/dev/skills/optimizeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add MadAppGang/claude-code --skill optimize -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install MadAppGang/claude-code optimize --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MadAppGang/claude-code.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/dev/skills/optimize .agents/skills/optimize && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "optimize" agent skill from https://github.com/MadAppGang/claude-code/tree/main/plugins/dev/skills/optimize into .agents/skills/optimize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "optimize", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add MadAppGang/claude-code --skill optimize -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install MadAppGang/claude-code optimize --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MadAppGang/claude-code.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/dev/skills/optimize .cursor/skills/optimize && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "optimize" agent skill from https://github.com/MadAppGang/claude-code/tree/main/plugins/dev/skills/optimize into .cursor/skills/optimize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "optimize", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/MadAppGang/claude-code.git --path plugins/dev/skills/optimize--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add MadAppGang/claude-code --skill optimize -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install MadAppGang/claude-code optimize --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MadAppGang/claude-code.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/dev/skills/optimize .gemini/skills/optimize && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "optimize" agent skill from https://github.com/MadAppGang/claude-code/tree/main/plugins/dev/skills/optimize into .gemini/skills/optimize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "optimize", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install MadAppGang/claude-code optimizeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add MadAppGang/claude-code --skill optimize -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/MadAppGang/claude-code.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/dev/skills/optimize .github/skills/optimize && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "optimize" agent skill from https://github.com/MadAppGang/claude-code/tree/main/plugins/dev/skills/optimize into .github/skills/optimize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "optimize", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add MadAppGang/claude-code --skill optimize -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install MadAppGang/claude-code optimize --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MadAppGang/claude-code.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/dev/skills/optimize .opencode/skills/optimize && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "optimize" agent skill from https://github.com/MadAppGang/claude-code/tree/main/plugins/dev/skills/optimize into .opencode/skills/optimize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "optimize", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
optimizeOn-demand performance and optimization analysis. An agent skill from MadAppGang/claude-code.
Optimize is an agent skill from MadAppGang/claude-code. On-demand performance and optimization analysis. Use when identifying bottlenecks, improving build times, reducing bundle size, or optimizing code performance. Trigger keywords - "optimize", "performance", "bottleneck", "bundle size", "build time", "speed up".
Its SKILL.md is about 4.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Frontend & Design, covering Web performance and Performance optimization. It works with TypeScript. The repository describes itself as: claude code plugins marketplace. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 6097ad4. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gocargonpmnodebundlenpxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm and npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Optimize loads about 4.7k tokens when it runs. Until then it costs about 67 tokens; SKILL.md has 1,203 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from MadAppGang/claude-code at commit 6097ad4, republished under its MIT licence (© MadAppGang). 1,203 words, ~4,708 tokens.
.claude/skills/optimize/SKILL.md (or your agent's skills folder).The optimize skill provides comprehensive on-demand performance and optimization analysis for your codebase. It identifies bottlenecks, slow builds, large bundles, inefficient code patterns, and opportunities for performance improvements across all supported technology stacks.
When to Use:
Technology Coverage:
What Gets Analyzed:
Common Issues:
Optimization Targets:
What Gets Measured:
Bundle Analysis:
Bundle Size Breakdown:
├── vendor.js: 847 KB (312 KB gzipped)
│ ├── react-dom: 142 KB
│ ├── lodash: 71 KB (should use lodash-es)
│ ├── moment: 67 KB (consider date-fns)
│ └── ...
├── main.js: 234 KB (89 KB gzipped)
└── [lazy chunks]: 156 KB totalOptimization Goals:
What Gets Profiled:
Performance Metrics:
Detection Methods:
What Gets Monitored:
Red Flags:
What Gets Analyzed:
Database Optimization:
Step 1: Measure Current Performance
Collect baseline metrics:
time npm run buildStep 2: Profile and Identify Hot Paths
Find where time is spent:
Step 3: Prioritize Optimizations
Focus on:
Step 4: Measure Impact
After optimization:
JavaScript/TypeScript:
# Bundle analysis
npx webpack-bundle-analyzer dist/stats.json
# Build performance
npm run build -- --profile --json > stats.json
# Runtime profiling
node --prof app.js
node --prof-process isolate-*.log > processed.txtGo:
# Build time analysis
go build -x 2>&1 | ts '[%Y-%m-%d %H:%M:%S]'
# CPU profiling
go test -cpuprofile=cpu.prof -bench=.
go tool pprof cpu.prof
# Memory profiling
go test -memprofile=mem.prof -bench=.
go tool pprof mem.profRust:
# Compile time analysis
cargo build --timings
# Binary size analysis
cargo bloat --release
# Runtime profiling
cargo flamegraph --bench benchmark_name# Performance Optimization Report
**Generated**: 2026-01-28 14:32:00
**Scope**: Full application analysis
**Baseline**: Established 2026-01-21
## Executive Summary
**Overall Performance Score**: 67/100 (Needs Improvement)
**Key Findings**:
- Build time: 142s (Target: <60s) - 58% slower
- Bundle size: 1.2 MB gzipped (Target: <200 KB) - 6x over
- LCP: 3.8s (Target: <2.5s) - Poor
- API p95: 847ms (Target: <500ms) - Slow
**Estimated Impact of Recommendations**:
- Build time: -65s (46% improvement)
- Bundle size: -800 KB (67% reduction)
- LCP: -1.5s (39% improvement)
- API p95: -400ms (47% improvement)
## Critical Bottlenecks
### [PERF-001] Lodash Full Library Import
**Category**: Bundle Size
**Impact**: HIGH
**Effort**: LOW
**Issue**: Full lodash library imported, adding 71 KB to bundle.
**Current**:
```typescript
import _ from 'lodash';
const result = _.debounce(handler, 300);Problem: Imports entire library for single function.
Recommendation: Use lodash-es with tree-shaking.
Optimized:
import { debounce } from 'lodash-es';
const result = debounce(handler, 300);Savings: -65 KB gzipped
Category: Bundle Size Impact: MEDIUM Effort: LOW
Issue: moment.js adds 67 KB for basic date formatting.
Current:
import moment from 'moment';
const formatted = moment(date).format('YYYY-MM-DD');Recommendation: Replace with date-fns or native Intl.
Optimized:
import { format } from 'date-fns';
const formatted = format(date, 'yyyy-MM-dd');Savings: -60 KB gzipped
Category: Build Time Impact: HIGH Effort: MEDIUM
Issue: TypeScript taking 89s of 142s build time (63%).
Current Config:
{
"compilerOptions": {
"incremental": false,
"skipLibCheck": false
}
}Problems:
Optimized:
{
"compilerOptions": {
"incremental": true,
"skipLibCheck": true,
"tsBuildInfoFile": ".tsbuildinfo"
}
}Savings: -45s build time (first build), -70s (subsequent)
Category: API Performance Impact: CRITICAL Effort: LOW
Issue: Loading user posts in a loop, causing 100+ database queries.
Current:
const users = await db.getUsers();
for (const user of users) {
user.posts = await db.getPostsByUserId(user.id); // N+1!
}Problem: 1 query + N queries = 101 total for 100 users.
Optimized:
const users = await db.getUsers();
const userIds = users.map(u => u.id);
const posts = await db.getPostsByUserIds(userIds); // 1 query
const postsByUser = groupBy(posts, 'userId');
users.forEach(user => {
user.posts = postsByUser[user.id] || [];
});Savings: 99 database queries eliminated, 95% faster
Total Build Time: 142s
Phase Breakdown:
├── Dependencies (npm install): 23s (16%)
├── TypeScript Compilation: 89s (63%)
├── Asset Processing: 18s (13%)
├── Bundling (Webpack): 9s (6%)
└── Minification: 3s (2%)
Bottleneck: TypeScript (63% of time)1. Enable Incremental TypeScript (HIGH IMPACT)
incremental: true to tsconfig.json2. Parallelize Asset Processing (MEDIUM IMPACT)
3. Use SWC Instead of Babel (MEDIUM IMPACT)
Total Potential Savings: -85s (60% improvement)
Target Build Time: 57s
Total Bundle Size: 1.2 MB gzipped
Dependencies:
├── react + react-dom: 142 KB (12%)
├── lodash: 71 KB (6%)
├── moment: 67 KB (6%)
├── chart.js: 54 KB (5%)
├── Other vendor: 445 KB (37%)
└── Application code: 421 KB (34%)
Issues:
- Lodash not tree-shaken
- Moment.js unnecessary
- Large chart library for simple use1. Replace Heavy Dependencies (HIGH IMPACT)
2. Code Splitting (HIGH IMPACT)
3. Tree Shaking Improvements (MEDIUM IMPACT)
Total Potential Savings: -615 KB (51% reduction)
Target Bundle Size: 585 KB gzipped
Current Performance:
- LCP: 3.8s (Poor) - Target: <2.5s
- FID: 120ms (Needs Improvement) - Target: <100ms
- CLS: 0.05 (Good) - Target: <0.1
Time to Interactive: 5.2s (Poor) - Target: <3.5s1. Large Initial JavaScript Bundle (CRITICAL)
2. Heavy Initial Data Fetch (HIGH)
3. Expensive Re-renders (MEDIUM)
Top 5 Slowest Endpoints (p95):
1. GET /api/users (with posts)
- Current: 1,247ms
- Target: <300ms
- Issue: N+1 queries
- Fix: Batch query + caching
2. GET /api/dashboard
- Current: 892ms
- Target: <400ms
- Issue: Sequential queries
- Fix: Parallel query execution
3. POST /api/orders
- Current: 673ms
- Target: <500ms
- Issue: Synchronous email sending
- Fix: Background job queue
4. GET /api/reports/monthly
- Current: 2,134ms
- Target: <1000ms
- Issue: Large dataset, no pagination
- Fix: Streaming response, pagination
5. GET /api/search
- Current: 524ms
- Target: <300ms
- Issue: Full table scan
- Fix: Add database indexMissing Indexes Detected:
-- Query: SELECT * FROM orders WHERE user_id = ? AND status = 'pending'
-- Execution time: 847ms (table scan)
-- Recommendation: Add composite index
CREATE INDEX idx_orders_user_status ON orders(user_id, status);
-- Estimated improvement: 98% faster (15ms)1. Event Listener Not Cleaned Up (HIGH)
// Leak in useEffect
useEffect(() => {
window.addEventListener('resize', handleResize);
// Missing cleanup!
});
// Fix:
useEffect(() => {
window.addEventListener('resize', handleResize);
return () => window.removeEventListener('resize', handleResize);
}, []);2. Growing Cache Without Limits (MEDIUM)
// Unbounded cache grows forever
const cache = new Map();
function memoize(key, fn) {
if (!cache.has(key)) {
cache.set(key, fn());
}
return cache.get(key);
}
// Fix: Use LRU cache with size limit
import LRU from 'lru-cache';
const cache = new LRU({ max: 500 });Impact vs Effort:
HIGH IMPACT, LOW EFFORT (Do First):
- Replace lodash import
- Replace moment.js
- Enable TS incremental
- Fix N+1 query
- Add database index
HIGH IMPACT, MEDIUM EFFORT (Do Soon):
- Code splitting
- Lazy loading
- Background job queue
MEDIUM IMPACT, LOW EFFORT (Quick Wins):
- React.memo on heavy components
- Image optimization
- Enable compression
LOW PRIORITY:
- Micro-optimizations
- Premature abstractionsExpected Impact: 40% performance improvement
Expected Impact: Additional 30% improvement
Expected Impact: Additional 20% improvement
Total Expected Improvement: 90% (Score: 67 → 127)
## Integration with Dev Plugin
### With Audit Skill
Combine performance and security:
Run optimization analysis and check performance implications of security fixes
### With Test Coverage
Ensure optimizations don't break functionality:
Optimize bundle size and verify test coverage remains above 80%
### With Code Analysis
Use enrichment for better context:
Enrich codebase with claudemem, then identify performance bottlenecks
## Best Practices
### 1. Measure Before Optimizing
Always establish baseline:
- Current build time
- Current bundle size
- Current runtime metrics
- Current API response times
**Anti-pattern**: Optimizing without measuring
### 2. Focus on User-Perceived Performance
Prioritize metrics that affect users:
- LCP (loading)
- FID (interactivity)
- CLS (visual stability)
**Anti-pattern**: Optimizing server metrics that users don't notice
### 3. Optimize the Critical Path
Focus on:
- Initial page load
- Time to interactive
- First contentful paint
**Anti-pattern**: Optimizing rarely-used features
### 4. Use Performance Budgets
Set hard limits:
- Max bundle size: 200 KB gzipped
- Max build time: 60s
- Max API response: 500ms p95
**Enforcement**: CI/CD checks fail if exceeded
### 5. Monitor in Production
Use real user monitoring (RUM):
- Track Core Web Vitals
- Monitor API response times
- Alert on regressions
**Tools**: Lighthouse CI, Sentry, DataDog
## Examples
### Example 1: Slow React Application
**Request**:Our React app takes 8 seconds to load. Please identify bottlenecks.
**Analysis Process**:
1. Measure bundle size: 2.1 MB gzipped
2. Analyze bundle composition
3. Profile React rendering
4. Check network waterfall
**Findings**:
- Main bundle too large (no code splitting)
- Entire Material-UI library imported
- Heavy initial data fetch (1.2 MB JSON)
- Expensive UserList re-renders
**Optimizations**:
```typescript
// 1. Code splitting
const AdminPanel = lazy(() => import('./AdminPanel'));
// 2. Tree-shakeable imports
import Button from '@mui/material/Button'; // Not: import { Button } from '@mui/material';
// 3. Pagination
const users = await fetchUsers({ page: 1, limit: 20 }); // Not: all users
// 4. Memoization
const UserList = React.memo(({ users }) => { ... });Results:
Request:
TypeScript compilation takes 3 minutes. Speed it up.Analysis:
--extendedDiagnosticsFindings:
Optimizations:
{
"compilerOptions": {
"incremental": true,
"tsBuildInfoFile": ".tsbuildinfo",
"skipLibCheck": true,
"isolatedModules": true
},
"exclude": ["node_modules", "dist"]
}Results:
Request:
The /api/orders endpoint is timing out under loadAnalysis:
Findings:
-- Slow query (12s for 1M rows)
SELECT * FROM orders
WHERE user_id = 12345
AND status IN ('pending', 'processing')
AND created_at > '2026-01-01'
ORDER BY created_at DESC
LIMIT 20;
-- Query plan: FULL TABLE SCAN (bad)Optimization:
-- Add composite index
CREATE INDEX idx_orders_user_status_date
ON orders(user_id, status, created_at);
-- Query plan now: INDEX SCAN (good)
-- Execution time: 12s → 23ms (99.8% faster)Common Bottlenecks:
Optimization Tools:
Common Bottlenecks:
Optimization Tools:
go tool pprofgo tool trace-bench-raceCommon Bottlenecks:
Optimization Tools:
cargo build --timingscargo bloatcargo flamegraphThe optimize skill provides comprehensive performance analysis and actionable recommendations. Use it regularly to maintain optimal performance, reduce costs, and improve user experience.
Key Takeaways:
For security analysis, see the audit skill. For test gaps, see the test-coverage skill.
© MadAppGang, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in plugins/dev/skills/optimize of MadAppGang/claude-code.
Open the folder on GitHubat commit 6097ad4
Optimize next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Optimize this skillMadAppGang/claude-code | 284 | — | ~4.7k | Automated safety check: Pass | MIT | |
| Reactblencorp/claude-code-kit | 106 | — | ~2.5k | Automated safety check: Pass | MIT | |
| React Frontend Development Guidelinesdiet103/claude-code-infrastructure-showcase | 10k | 2 repos | ~2.9k | Automated safety check: Pass | MIT | |
| Performance ProfilingxenitV1/Antigravity-Workflows | 130 | 8 repos | ~772 | Automated safety check: Notes | MIT | |
| React Best Practicesryokun6/ryos | 1.3k | — | ~2k | Automated safety check: Pass | MIT | |
| React Best Practicespoteto/noodle | 437 | — | ~1.4k | Automated safety check: Pass | MIT |
blencorp/claude-code-kit
Core React 19 patterns including hooks, Suspense, lazy loading, component structure, TypeScript best practices, and performance optimization.
diet103/claude-code-infrastructure-showcase
Guidelines for React 18 and TypeScript apps covering Suspense data fetching, lazy loading, feature folders, MUI v7 styling, TanStack Router and performance.
xenitV1/Antigravity-Workflows
Performance profiling principles. An agent skill from xenitV1/Antigravity-Workflows.
ryokun6/ryos
React performance optimization guidelines from Vercel Engineering (vercel-labs/agent-skills).
poteto/noodle
React performance optimization guidelines. An agent skill from poteto/noodle.
gambitph/Stackable
React performance optimization guidelines from Vercel Engineering.
MadAppGang/claude-code
Analyzes API documentation from OpenAPI specs to provide TypeScript interfaces, request/response formats, and implementation guidance.
MadAppGang/claude-code
Content brief template and creation methodology for SEO-optimized content.
MadAppGang/claude-code
A skill your agent uses when detecting project technology stack from files/configs/directory structure, auto-loading framework-specific skills, or analyzing multi-stack fullstack projects (e.g…
MadAppGang/claude-code
On-page SEO optimization techniques including keyword density, meta tags, heading structure, and readability.
MadAppGang/claude-code
Techniques for expanding seed keywords and clustering by topic and intent.
MadAppGang/claude-code
SERP analysis techniques for intent classification, feature identification, and competitive intelligence.
Works with
Categories
On-demand performance and optimization analysis. An agent skill from MadAppGang/claude-code. Optimize is an agent skill from MadAppGang/claude-code. On-demand performance and optimization analysis.
Optimize fits situations like: identifying bottlenecks; improving build times; reducing bundle size; optimizing code performance.
Run `npx skills add MadAppGang/claude-code --skill optimize -a claude-code`. Or copy the skill folder (plugins/dev/skills/optimize in MadAppGang/claude-code) into .claude/skills/optimize in your project. Claude Code loads it when a task matches its description.
Run `npx skills add MadAppGang/claude-code --skill optimize -a codex`. Or copy the skill folder (plugins/dev/skills/optimize in MadAppGang/claude-code) into .agents/skills/optimize in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add MadAppGang/claude-code --skill optimize -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/optimize, .gemini/skills/optimize, .github/skills/optimize and .opencode/skills/optimize in your project.
Going by SKILL.md and its folder, Optimize needs the command-line tools its instructions call (go, cargo, npm, node, bundle and npx). Our summary lists: Python 3; Node.js.
SKILL.md contains no URLs. Its commands use npm and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Optimize is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.7k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Optimize: React (blencorp/claude-code-kit, 106 stars), React Frontend Development Guidelines (diet103/claude-code-infrastructure-showcase, 10k stars), Performance Profiling (xenitV1/Antigravity-Workflows, 130 stars) and React Best Practices (ryokun6/ryos, 1.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
MadAppGang (a GitHub organization) maintains it in MadAppGang/claude-code, which has 284 GitHub stars. The repository holds 69 skills in this directory. The repository was last updated on March 15, 2026.
Source: MadAppGang/claude-code on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.