css-scss-human-made

📁 humanmade/claude-code-standards 📅 10 days ago
8
总安装量
4
周安装量
#35158
全站排名
安装命令
npx skills add https://github.com/humanmade/claude-code-standards --skill css-scss-human-made

Agent 安装分布

opencode 4
codex 4
gemini-cli 3
amp 2
trae 2

Skill 文档

Human Made CSS/SCSS Standards

Naming Conventions

Use BEM-like naming:

  • Block: .user-card
  • Element: .user-card__title
  • Modifier: .user-card--featured
.user-card {
    padding: 1rem;

    &__title {
        font-size: 1.25rem;
    }

    &__content {
        margin-top: 0.5rem;
    }

    &--featured {
        border: 2px solid var(--wp--preset--color--primary);
    }
}

CSS Custom Properties

  • Use CSS custom properties via theme.json tokens where possible
  • Reference WordPress preset values: var(--wp--preset--color--primary)
  • Define component-specific properties at the component level
.component {
    --component-spacing: 1rem;
    padding: var(--component-spacing);
}

theme.json Integration

For WordPress themes, prefer theme.json for:

  • Color palettes
  • Typography scales
  • Spacing presets
  • Layout settings

Reference in CSS:

.element {
    color: var(--wp--preset--color--contrast);
    font-size: var(--wp--preset--font-size--medium);
    padding: var(--wp--preset--spacing--40);
}

SCSS Guidelines

  • Use nesting sparingly (max 3 levels deep)
  • Extract repeated values into variables
  • Use mixins for repeated patterns
  • Prefer @use over @import for module loading

Class Naming

  • Use kebab-case: .my-component-name
  • Avoid IDs for styling
  • Avoid overly generic names: prefer .article-card over .card
  • Prefix utility classes if used: .u-visually-hidden

Linting

Projects use Stylelint:

  • Config file: .stylelintrc.js or .stylelintrc.json
  • Run with: npm run lint:css or npx stylelint "**/*.scss"