用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/pluginagentmarketplace/custom-plugin-css --skill css-performance命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | css-performance |
| description | Optimize CSS performance - critical CSS, code splitting, purging, bundle analysis |
| sasmp_version | 1.3.0 |
| version | 2.0.0 |
| updated | 2025-12-30 |
| bonded_agent | 06-css-performance |
| bond_type | PRIMARY_BOND |
Optimize CSS performance with critical CSS extraction, code splitting, purging, and bundle analysis.
This skill provides atomic, focused guidance on CSS performance optimization with measurable metrics and production-ready configurations.
| Property | Value |
|---|---|
| Category | Optimization |
| Complexity | Advanced to Expert |
| Dependencies | css-fundamentals, css-architecture |
| Bonded Agent | 06-css-performance |
Skill("css-performance")
parameters:
optimization_type:
type: string
required: true
enum: [critical-css, purging, minification, code-splitting, selectors]
description: Type of optimization to implement
tool:
type: string
required: false
enum: [purgecss, cssnano, critical, webpack, postcss]
description: Specific tool configuration
metrics:
type: boolean
required: false
default: true
description: Include measurement recommendations
validation:
- rule: optimization_type_required
message: "optimization_type parameter is required"
- rule: valid_optimization
message: "optimization_type must be one of: critical-css, purging..."
retry_config:
max_attempts: 3
backoff_type: exponential
initial_delay_ms: 1000
max_delay_ms: 10000
logging:
entry_point: skill_invoked
exit_point: skill_completed
metrics:
- invocation_count
- optimization_type_distribution
- tool_usage
| Metric | Target | Tool |
|---|---|---|
| CSS Size (gzip) | < 50KB | DevTools |
| Unused CSS | < 20% | Coverage |
| Critical CSS | < 14KB | Penthouse |
| FCP | < 1.8s | Lighthouse |
// postcss.config.js
module.exports = {
plugins: [
require('@fullhuman/postcss-purgecss')({
content: [
'./src/**/*.{js,jsx,ts,tsx}',
'./public/index.html',
],
defaultExtractor: content =>
content.match(/[\w-/:]+(?<!:)/g) || [],
safelist: {
standard: [/^is-/, /^has-/, 'active', 'open'],
deep: [/^data-/],
greedy: [/modal$/, /tooltip$/],
},
}),
],
}
// critical.config.js
const critical = require('critical');
critical.generate({
base: 'dist/',
src: 'index.html',
css: ['dist/styles.css'],
width: 1300,
height: 900,
inline: true,
extract: true,
});
// postcss.config.js
module.exports = {
plugins: {
cssnano: {
preset: ['default', {
discardComments: { removeAll: true },
normalizeWhitespace: true,
colormin: true,
minifyFontValues: true,
// Unsafe optimizations (test carefully)
reduceIdents: false,
mergeIdents: false,
}],
},
},
}
<!-- Inline critical CSS -->
<style>/* Critical CSS here */</style>
<!-- Async load full CSS -->
<link rel="preload" href="styles.css" as="style"
onload="this.onload=null;this.rel='stylesheet'">
<noscript>
<link rel="stylesheet" href="styles.css">
</noscript>
/* FAST */
.button { } /* Single class */
#header { } /* ID */
/* MODERATE */
.nav .link { } /* Descendant */
.nav > .link { } /* Child */
/* SLOW (avoid) */
.container * { } /* Universal descendant */
[class*="btn-"][class$="-lg"] { } /* Complex attribute */
# Lighthouse CI
npx lighthouse-ci https://example.com --collect
# CSS Coverage in Chrome DevTools
# 1. Open DevTools → More Tools → Coverage
# 2. Reload page
# 3. Check CSS usage percentage
# Bundle analysis
npx webpack-bundle-analyzer stats.json
Pre-deployment:
├─ [ ] CSS minified
├─ [ ] Unused CSS purged (< 20% unused)
├─ [ ] Critical CSS inlined
├─ [ ] Non-critical CSS async loaded
├─ [ ] Source maps excluded from production
├─ [ ] gzip/Brotli compression enabled
└─ [ ] Cache headers configured
describe('CSS Performance Skill', () => {
test('validates optimization_type parameter', () => {
expect(() => skill({ optimization_type: 'invalid' }))
.toThrow('optimization_type must be one of: critical-css...');
});
test('returns PurgeCSS config for purging type', () => {
const result = skill({ optimization_type: 'purging', tool: 'purgecss' });
expect(result).toContain('safelist');
expect(result).toContain('content');
});
test('includes metrics when flag is true', () => {
const result = skill({ optimization_type: 'critical-css', metrics: true });
expect(result).toContain('14KB');
expect(result).toContain('Lighthouse');
});
});
| Error Code | Cause | Recovery |
|---|---|---|
| INVALID_OPTIMIZATION | Unknown optimization type | Show valid options |
| TOOL_NOT_INSTALLED | Tool package missing | Show install command |
| OVER_PURGING | Styles missing in production | Expand safelist |