com um clique
neubrutalism
Neubrutalism 新野兽主义设计(粗边框、偏移实心阴影、高饱和、极小圆角)。
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Neubrutalism 新野兽主义设计(粗边框、偏移实心阴影、高饱和、极小圆角)。
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
CCG Skills - Quality gates, documentation generator, and multi-agent orchestration. Auto-installed by CCG workflow system.
变更校验关卡。分析代码变更,检测文档同步状态,评估变更影响范围。当用户提到变更检查、文档同步、代码审查、提交前检查、diff分析时使用。在设计级变更、重构完成时自动触发。
模块完整性校验关卡。扫描目录结构、检测缺失文档、验证代码与文档同步。当用户提到模块校验、文档检查、结构完整性、README检查、DESIGN检查时使用。在新建模块完成时自动触发。
代码质量校验关卡。检测复杂度、重复代码、命名规范、函数长度等质量指标。当用户提到代码质量、复杂度检查、代码异味、重构建议、lint检查、代码规范时使用。在复杂模块、重构完成时自动触发。
安全校验关卡。自动扫描代码安全漏洞,检测危险模式,确保安全决策有文档记录。当用户提到安全扫描、漏洞检测、安全审计、代码安全、OWASP、注入检测、敏感信息泄露时使用。在新建模块、安全相关变更、攻防任务、重构完成时自动触发。
从近期开发会话中萃取可复用的模式 / 决策 / 教训。当用户提到提取教训 / 复盘 / lessons learned / 知识沉淀 / 经验萃取 / 提炼模式时使用。会扫 .context/ 决策日志 + git log 提交语义。
| name | neubrutalism |
| description | Neubrutalism 新野兽主义设计(粗边框、偏移实心阴影、高饱和、极小圆角)。 |
| license | MIT |
| user-invocable | false |
| disable-model-invocation | false |
| context | fork |
| paths | *.tsx,*.jsx,*.vue,*.svelte,*.css,*.scss |
3–5px solid black outlines on all elementsbox-shadow with zero blur (e.g. 5px 5px 0 #000)0–8px border-radius; sharp or barely rounded cornersReference: references/tokens.css
@import 'references/tokens.css';
.nb-card {
background: var(--nb-yellow);
border: var(--nb-border-thick);
border-radius: var(--nb-radius);
box-shadow: var(--nb-shadow);
}
.nb-card {
background: var(--nb-white);
border: var(--nb-border-thick);
border-radius: var(--nb-radius);
box-shadow: var(--nb-shadow);
padding: 1.5rem;
}
.nb-btn {
background: var(--nb-yellow);
border: var(--nb-border);
border-radius: var(--nb-radius);
box-shadow: var(--nb-shadow-sm);
padding: 0.6rem 1.4rem;
font-family: var(--nb-font);
font-weight: var(--nb-font-weight);
cursor: pointer;
transition: transform 0.1s, box-shadow 0.1s;
}
.nb-btn:hover {
transform: translate(-2px, -2px);
box-shadow: var(--nb-shadow);
}
.nb-btn:active {
transform: translate(3px, 3px);
box-shadow: none;
}
.nb-nav {
background: var(--nb-bg);
border-bottom: var(--nb-border-thick);
padding: 1rem 2rem;
position: sticky;
top: 0;
z-index: 100;
}
.nb-input {
background: var(--nb-white);
border: var(--nb-border);
border-radius: var(--nb-radius);
box-shadow: var(--nb-shadow-sm);
padding: 0.6rem 1rem;
font-family: var(--nb-font);
font-weight: var(--nb-font-weight-body);
}
.nb-input:focus {
outline: none;
box-shadow: var(--nb-shadow);
}
.nb-badge {
background: var(--nb-pink);
border: var(--nb-border);
border-radius: var(--nb-radius);
padding: 0.2rem 0.8rem;
font-family: var(--nb-font);
font-weight: var(--nb-font-weight);
font-size: 0.85rem;
}
font-weight: 700, letter-spacing: -0.02emfont-weight: 500h1, h2, h3 {
font-family: var(--nb-font-heading);
font-weight: var(--nb-font-weight);
letter-spacing: var(--nb-letter-spacing);
}
body {
font-family: var(--nb-font);
font-weight: var(--nb-font-weight-body);
}
transform shifts — provide prefers-reduced-motion fallback@media (prefers-reduced-motion: reduce) {
.nb-btn:hover, .nb-btn:active {
transform: none;
}
}