mcpField
C
css-first

css-first

github.com/deptharkデザイン・UI1177 回インストール1 日前に更新
リポジトリ

css-first について

css-firstは、インターフェース開発でJavaScriptより先にセマンティックHTMLとCSSを検討するスキルです。ブラウザー対応状況、段階的な機能強化、アクセシビリティ、既存の規約を踏まえ、保守しやすい実装を選べます。

主な機能

  1. 01インターフェースでCSSを優先
  2. 02意味とアクセシビリティで選択肢を評価
  3. 03Baselineとブラウザー対応状況を確認
  4. 04対応範囲が限られる機能に代替案を用意
  5. 05モダンCSSのサンプルを収録

活用シーン

  1. 01レスポンシブなコンポーネントやレイアウトの実装
  2. 02新しいCSS機能の代替策の設計
  3. 03対象ブラウザーに応じたスタイル選択
  4. 04ブラウザーでのインターフェース動作確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/depthark/css-first-skill --skill css-first

インストール後、Claude Code で/css-firstを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

CLAUDE.md
.gitignore
README.md
agents/
openai.yaml
css-demos/
INDEX.md
css-demos/accessibility/
prefers-reduced-motion.css
css-demos/animation/
animatable-zoom.css
scroll-triggered.css
scroll-driven.css
starting-style.css
view-transitions.css
css-demos/container/
anchored-queries.css
comma-separated-queries.css
named-queries.css
size-queries.css
style-queries.css
scroll-state-queries.css
css-demos/functions/
advanced-attr.css
calc-size.css
progress-function.css
random-function.css
contrast-color.css
css-if-function.css
custom-functions.css
inherit-function.css
trigonometric-functions.css
sibling-functions.css
css-demos/interaction/
css-carousel.css
flip-card.css
window-drag.css

詳細

CSS First

JavaScript を提案する前に、セマンティック HTML と CSS でインターフェースの作業を解決します。ユーザーの対象ブラウザーに適合する場合は、最新の標準ベースの CSS を優先し、サポートが不十分な場合も段階的な拡張によって中核となる体験を維持します。

ワークフロー

  1. 視覚的またはインタラクション上の意図を特定し、プロジェクトのフレームワーク、対象ブラウザー、書字方向、既存の規約を確認します。
  2. 該当するパターンがないか、css-demos/INDEX.md を検索します。
  3. サポート状況や最新性が重要な場合は、references/live-mdn-fetch.md を使って最新の Baseline レコードを取得します。リポジトリに含まれるラベルは、恒久的な事実ではなく、日付付きのスナップショットとして扱います。
  4. セマンティックな適合性、アクセシビリティ、相互運用性、保守コストに基づいて解決策を順位付けします。論理プロパティとネイティブ CSS の機能を優先します。
  5. 選択した機能が Limited Availability、または WebStatus レコードがない場合は、実用的なフォールバックを用意し、可能であれば @supports で拡張機能を条件付きで適用します。
  6. 環境に実ブラウザーがある場合は、実際のブラウザーで構文と動作を検証します。

Baseline 用語

Web Platform Status の定義どおりに使用してください。世界全体の使用率を Baseline ラベルに置き換えないでください。

API のステータスラベル意味
widely🟢 幅広く利用可能主要ブラウザー一式で、30 か月以上にわたり相互運用性が確保されています
newly🔵 新たに利用可能主要ブラウザー一式で、30 か月未満の相互運用性が確保されています
limited🟡 利用可能範囲に制限あり主要ブラウザーでの対応が不完全なため、Baseline ではありません
missing🟣 実験的/不明使用可能な WebStatus レコードがありません。仕様とブラウザーのリリースを確認してください

ブラウザーのバージョンごとの割合は補足データとして役立つ場合がありますが、Baseline の分類を決めるために使用してはいけません。

ルール

タスクに必要なリファレンスだけを読みます。

Chrome の最新追加機能

デモカタログには、Chrome 148 から Chrome 152 でリリースまたは発表された、作成者向け CSS が含まれています。名前のみのコンテナークエリーやカンマ区切りのコンテナークエリー、at-rule() と named-feature() のサポートテスト、アニメーション可能な zoom、角丸の polygon()、text-fit、background-clip: border-area、CSS の image() 値、画像値の light-dark()、flex-wrap: balance、overscroll-behavior: chain、印刷用の page-margin-safety、SVG の path-length、ruby-overhang、メディア状態の疑似クラス、alpha()、window-drag、インストール済みアプリのアクセントシステムカラーなどがあります。

機能のデモヘッダーと最新の WebStatus エントリーを併せて確認してください。Chrome でリリースされていても、それだけで Baseline になるわけではありません。

スナップショットのメンテナンス

このスキルディレクトリから、次を実行します。

python3 scripts/update_baseline.py --check
python3 scripts/update_baseline.py --write

--check はファイルを変更せずに差分を報告します。--write は公式の WebStatus API を参照して、対応するデモのヘッダーと css-demos/INDEX.md 内の 対応するエントリーを更新します。WebStatus に記録がない機能は手動で管理し、 リリースノートまたは仕様を参照する必要があります。

クイックリファレンス

目的推奨する CSSデモ
コンポーネントのレスポンシブ対応コンテナークエリーcss-demos/container/size-queries.css
親要素を考慮したスタイル:has()css-demos/layout/has-selector.css
折り返されたフレックス行の均等化flex-wrap: balancecss-demos/layout/flex-wrap-balance.css
入場時のアニメーション@starting-stylecss-demos/animation/starting-style.css
スクロールエフェクトスクロールドリブンアニメーションcss-demos/animation/scroll-driven.css
ネイティブなツールチップの配置アンカーポジショニングcss-demos/positioning/anchor-positioning.css
レスポンシブな見出しのサイズ調整text-fitcss-demos/visual/text-fit.css
テーマに応じた画像light-dark() / image()css-demos/visual/css-image-values.css
メディアの再生状態:playing、:paused などの関連する疑似クラスcss-demos/interaction/media-state-pseudos.css
インストール済みアプリのドラッグ領域window-dragcss-demos/interaction/window-drag.css
モーションの低減prefers-reduced-motioncss-demos/accessibility/prefers-reduced-motion.css
装飾のバリエーションrandom()css-demos/functions/random-function.css
範囲の正規化progress()css-demos/functions/progress-function.css

構文と注意事項については MDN を、Baseline については WebStatus を参照してください。

コメント