ワンクリックで
css
Modern CSS with Grid, Flexbox, and custom properties. Trigger: When writing CSS styles, implementing layouts, or using modern features.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Modern CSS with Grid, Flexbox, and custom properties. Trigger: When writing CSS styles, implementing layouts, or using modern features.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Paste-ready session summary for context transfer to a new chat. Trigger: User says 'context handoff', 'start fresh', or session needs to continue.
One-at-a-time questioning to fully profile a goal before acting. Trigger: User says 'grill me', goal is vague, or clarification is needed first.
Batch execution with checkpoints. Trigger: When executing plans with batched tasks.
Universal coding principles: DRY, security by default, null guards, and YAGNI. Trigger: When writing or reviewing code in any language or technology.
Accessibility guide (WCAG 2.1/2.2, Level A–AAA). Trigger: When building UI components, interactive elements, or auditing accessibility compliance.
Astro quality patterns: island philosophy, SEO by page type, and Core Web Vitals. Trigger: When reviewing Astro site quality or hydration decisions.
| name | css |
| description | Modern CSS with Grid, Flexbox, and custom properties. Trigger: When writing CSS styles, implementing layouts, or using modern features. |
| license | Apache 2.0 |
| metadata | {"version":"1.1","type":"domain","skills":["a11y"],"allowed-tools":["file-reader"]} |
Maintainable CSS with Grid, Flexbox, custom properties, container queries, cascade layers.
Use when:
@layerDon't use for Tailwind (tailwindcss skill) or MUI sx (mui skill).
/* CORRECT */
:root {
--color-primary: #0066cc;
--spacing: 1rem;
}
.button {
background: var(--color-primary);
padding: var(--spacing);
}
/* WRONG: hardcoded values */
.button {
background: #0066cc;
padding: 1rem;
}
/* CORRECT */
.container {
display: flex;
gap: 1rem;
justify-content: space-between;
}
/* WRONG: floats */
.container {
float: left;
clear: both;
}
@media (prefers-reduced-motion: reduce) {
* {
animation-duration: 0.01ms !important;
transition-duration: 0.01ms !important;
}
}
/* Fluid typography */
h1 { font-size: clamp(2rem, 5vw, 4rem); }
/* Container queries */
@container (min-width: 400px) {
.card { display: grid; grid-template-columns: 1fr 2fr; }
}
/* Modern aspect ratio (not padding hack) */
.video-container { aspect-ratio: 16 / 9; }
:is(h1, h2, h3) { color: var(--color-heading); }
:where(ul, ol) { padding-left: 1rem; } /* zero specificity */
.card:has(img) { display: grid; } /* parent selection */
@layer reset, base, components, utilities;
@layer reset {
* { margin: 0; padding: 0; box-sizing: border-box; }
}
@layer base {
body { font-family: system-ui, sans-serif; }
}
@layer components {
.button { padding: 0.5rem 1rem; }
}
@layer utilities {
.text-center { text-align: center; }
}
One-dimensional layout?
→ Flexbox
Two-dimensional layout?
→ Grid
Responsive sizing?
→ clamp(), min(), max()
Theme values?
→ :root custom properties + var()
Center element?
→ Flexbox place-content: center or Grid place-items: center
Hide element?
→ display: none (removes), visibility: hidden (keeps space), opacity: 0 (transitions)
Responsive breakpoints?
→ Container queries (component), media queries (viewport)
:root {
--color-primary: #0066cc;
--spacing-unit: 0.5rem;
}
.card {
display: flex;
flex-direction: column;
gap: calc(var(--spacing-unit) * 2);
padding: var(--spacing-unit);
border-radius: 0.5rem;
background-color: var(--color-primary);
}
@media (prefers-reduced-motion: reduce) {
* { animation-duration: 0.01ms !important; }
}
@media printprefers-color-scheme!important except in utility layersprefers-reduced-motion respected@layer for cascade controlmargin-inline, padding-block):is(), :where(), :has())clamp()/min()/max() for fluid sizingaspect-ratio for media containers