用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/pluginagentmarketplace/custom-plugin-css --skill css-sass命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | css-sass |
| description | Use Sass/SCSS for advanced CSS preprocessing with modern @use/@forward syntax |
| sasmp_version | 1.3.0 |
| version | 2.0.0 |
| updated | 2025-12-30 |
| bonded_agent | 05-css-preprocessors |
| bond_type | PRIMARY_BOND |
Master Sass/SCSS preprocessing with modern @use/@forward syntax, mixins, functions, and modular architecture.
This skill provides atomic, focused guidance on Sass/SCSS with current dart-sass syntax and migration patterns from deprecated @import.
| Property | Value |
|---|---|
| Category | Preprocessing |
| Complexity | Intermediate to Advanced |
| Dependencies | css-fundamentals, css-architecture |
| Bonded Agent | 05-css-preprocessors |
Skill("css-sass")
parameters:
feature:
type: string
required: true
enum: [variables, mixins, functions, nesting, modules, extends]
description: Sass feature to explore
syntax:
type: string
required: false
default: scss
enum: [scss, sass]
description: Sass syntax format
modern_syntax:
type: boolean
required: false
default: true
description: Use @use/@forward instead of deprecated @import
validation:
- rule: feature_required
message: "feature parameter is required"
- rule: valid_feature
message:
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
- feature_usage
- modern_syntax_adoption
// _variables.scss
$primary-color: #3b82f6 !default;
$spacing-unit: 8px !default;
// _mixins.scss
@use 'variables' as vars;
@mixin button-base {
padding: vars.$spacing-unit * 2;
background: vars.$primary-color;
}
// main.scss
@use 'variables' as v;
@use 'mixins' as m;
.button {
@include m.button-base;
color: v.$primary-color;
}
// abstracts/_index.scss
@forward 'variables';
@forward 'mixins';
@forward 'functions';
// main.scss
@use 'abstracts';
.element {
color: abstracts.$primary-color;
}
// Responsive breakpoints
@mixin respond-to($breakpoint) {
@if $breakpoint == 'sm' {
@media (min-width: 640px) { @content; }
} @else if $breakpoint == 'md' {
@media (min-width: 768px) { @content; }
} @else if $breakpoint == 'lg' {
@media (min-width: 1024px) { @content; }
}
}
// Flexbox center
@mixin flex-center {
display: flex;
justify-content: center;
align-items: center;
}
// Typography scale
@mixin text-style($size, $weight: 400) {
font-size: $size;
font-weight: $weight;
line-height: 1.5;
}
// Rem conversion
@function rem($pixels, $base: 16) {
@return #{$pixels / $base}rem;
}
// Color manipulation
@function tint($color, $percentage) {
@return mix(white, $color, $percentage);
}
@function shade($color, $percentage) {
@return mix(black, $color, $percentage);
}
/* OLD (deprecated) */
@import 'variables';
@import 'mixins';
.button {
color: $primary-color;
@include button-base;
}
/* NEW (recommended) */
@use 'variables' as v;
@use 'mixins' as m;
.button {
color: v.$primary-color;
@include m.button-base;
}
scss/
├── abstracts/
│ ├── _index.scss # @forward all
│ ├── _variables.scss
│ ├── _mixins.scss
│ └── _functions.scss
├── base/
│ ├── _index.scss
│ ├── _reset.scss
│ └── _typography.scss
├── components/
│ ├── _index.scss
│ ├── _button.scss
│ └── _card.scss
├── layouts/
│ ├── _index.scss
│ └── _grid.scss
└── main.scss
describe('CSS Sass Skill', () => {
test('validates feature parameter', () => {
expect(() => skill({ feature: 'invalid' }))
.toThrow('feature must be one of: variables, mixins...');
});
test('returns @use syntax when modern_syntax is true', () => {
const result = skill({ feature: 'modules', modern_syntax: true });
expect(result).toContain('@use');
expect(result).not.toContain('@import');
});
test('includes namespace examples for modules', () => {
const result = skill({ feature: 'modules' });
expect(result).toContain('as');
});
});
| Error Code | Cause | Recovery |
|---|---|---|
| INVALID_FEATURE | Unknown feature | Show valid options |
| DEPRECATED_SYNTAX | Using @import | Show @use migration |
| NAMESPACE_CONFLICT | Duplicate namespace | Suggest unique alias |