スキル ckm:ui-styling
🎨

ckm:ui-styling

低リスク ⚙️ 外部コマンド⚡ スクリプトを含む📁 ファイルシステムへのアクセス

UIスタイリングツールキット - shadcn/ui、Tailwind CSS、キャンバスデザイン

shadcn/uiのアクセシブルなコンポーネントライブラリと、Tailwind CSSのユーティリティファーストなスタイリング、キャンバスベースのビジュアルデザインシステムを組み合わせることで、UI開発の摩擦を排除します。このスキルは、40以上のshadcn/uiコンポーネントのリファレンスドキュメント、テーマ設定とダークモードのパターン、アクセシビリティガイドライン、レスポンシブデザインユーティリティ、コンポーネントインストールとTailwind設定生成のためのPython自動化スクリプトを提供します。

対応: Claude Codex Code(CC)
🥉 79 ブロンズ
1

スキルZIPをダウンロード

2

Claudeでアップロード

設定 → 機能 → スキル → スキルをアップロードへ移動

3

オンにして利用開始

Agent向けリソース

AI Agent、クローラー、またはスクリプトがページ全体ではなくクリーンなコンテキストを必要とする場合は、これらのリンクを使ってください。

テストする

「ckm:ui-styling」を使用しています。 shadcn/uiのbutton、card、dialogコンポーネントをインストールし、カードベースの設定パネルを表示してください

期待される結果:

```bash
npx shadcn@latest add button card dialog
```

```tsx
import { Button } from "@/components/ui/button"
import { Card, CardHeader, CardTitle, CardContent } from "@/components/ui/card"
import {
Dialog,
DialogContent,
DialogHeader,
DialogTitle,
DialogTrigger,
} from "@/components/ui/dialog"

export function SettingsPanel() {
return (
<div className="container mx-auto p-6 space-y-6">
<Card>
<CardHeader>
<CardTitle>Profile Settings</CardTitle>
</CardHeader>
<CardContent className="space-y-4">
<p className="text-sm text-muted-foreground">
Manage your account settings and preferences
</p>
<Dialog>
<DialogTrigger asChild>
<Button variant="outline">Edit Profile</Button>
</DialogTrigger>
<DialogContent>
<DialogHeader>
<DialogTitle>Edit Profile</DialogTitle>
</DialogHeader>
<div className="space-y-4 py-4">
<p className="text-sm text-muted-foreground">
Profile editing form content here
</p>
<Button className="w-full">Save Changes</Button>
</div>
</DialogContent>
</Dialog>
</CardContent>
</Card>
</div>
)
}
```

「ckm:ui-styling」を使用しています。 ダークモード対応のレスポンシブヘッダーをshadcn/uiのナビゲーションを使って作成してください

期待される結果:

```tsx
import { Button } from "@/components/ui/button"
import {
NavigationMenu,
NavigationMenuList,
NavigationMenuItem,
NavigationMenuLink,
} from "@/components/ui/navigation-menu"
import { Moon, Sun } from "lucide-react"
import { useTheme } from "next-themes"

export function Header() {
const { theme, setTheme } = useTheme()

return (
<header className="sticky top-0 z-50 w-full border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60">
<div className="container flex h-16 items-center justify-between">
<NavigationMenu>
<NavigationMenuList>
<NavigationMenuItem>
<NavigationMenuLink className="font-bold text-xl">
Logo
</NavigationMenuLink>
</NavigationMenuItem>
</NavigationMenuList>
</NavigationMenu>
<Button
variant="ghost"
size="icon"
onClick={() => setTheme(theme === "dark" ? "light" : "dark")}
>
<Sun className="h-5 w-5 rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" />
<Moon className="absolute h-5 w-5 rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" />
</Button>
</div>
</header>
)
}
```

セキュリティ監査

低リスク
v1 • 5/26/2026

This skill is safe to publish. It provides UI component documentation and styling guidance. The only executable code is two Python utility scripts: shadcn_add.py (installs shadcn/ui components via npx subprocess) and tailwind_config_gen.py (generates Tailwind CSS config files). The subprocess.run() calls in shadcn_add.py use hardcoded command arguments (npx shadcn@latest add) with dry-run support, making them low-risk. All 770 static analysis findings were reviewed - the vast majority are false positives from font license files (SIL OFL text with URLs), SQLite coverage database binary data, and documentation markdown files containing code examples. No obfuscation, network callbacks, credential access, or dangerous code injection patterns were found.

44
スキャンされたファイル
7,414
解析された行数
5
検出結果
1
総監査数
低リスクの問題 (2)
External command execution via subprocess.run
shadcn_add.py uses subprocess.run() to execute npx for installing shadcn/ui components. The commands are hardcoded to 'npx shadcn@latest add [components]' which is expected behavior for a component installer. A dry-run mode prevents actual execution. Risk is low because: (1) the command base is hardcoded, (2) it only adds shadcn/ui components, (3) dry-run flag is available, and (4) the skill is only invoked by AI assistants where the user has already consented to tool execution.
Script filesystem write operations
tailwind_config_gen.py writes configuration files to disk and reads from the filesystem. shadcn_add.py reads components.json config and writes component files via npx. These are intentional, documented features for legitimate project configuration.
監査者: claude

品質スコア

68
アーキテクチャ
100
保守性
87
コンテンツ
67
コミュニティ
86
セキュリティ
74
仕様準拠

作れるもの

管理ダッシュボードの構築

shadcn/uiコンポーネントとTailwindユーティリティクラスを使用して、データテーブル、ナビゲーションメニュー、バリデーション付きフォーム、レスポンシブカードレイアウトを備えた管理インターフェースを迅速に構築します。

デザインシステムの実装

カスタムカラー、フォント、スペーシング、ブレークポイントを含むTailwind設定を生成し、shadcn/uiのテーマ対応コンポーネント全体に適用することで、プロジェクト全体で一貫したデザイントークンを確立します。

アクセシブルなフォームの作成

shadcn/uiのフォームコンポーネント、react-hook-formによるバリデーション、キーボードナビゲーションとスクリーンリーダー対応のARIA準拠パターンを使用して、完全なアクセシビリティサポートを備えたプロダクション対応フォームを構築します。

迅速なUIプロトタイピング

オンデマンドでshadcn/uiコンポーネントをインストールし、レスポンシブなTailwindレイアウトを適用し、カスタムCSSを書かずにユーティリティクラスを使ってビジュアルデザインを反復することで、UIコンセプトを素早くプロトタイピングします。

ビジュアルブランド素材

キャンバスデザインシステムのパターンを使用して、キャンバスベースのビジュアルコンポジション、ポスター、ブランド素材を生成します。厳選されたフォントの組み合わせやデザイン哲学のガイダンスにもアクセスできます。

これらのプロンプトを試す

shadcn/uiコンポーネントのインストールと使用
私のプロジェクトに以下のshadcn/uiコンポーネントをインストールしてください:[button, card, dialog, form, table]。次に、それらを組み合わせて、適切なレイアウトとダークモード対応の[dashboard page / settings panel / data view]の完全な使用例を示してください。
カスタムTailwind設定の生成
[Next.js / Vite / Astro]プロジェクト用のtailwind.config.tsを生成してください:カスタムカラーパレット[primary: blue, accent: purple]、フォントファミリー[sans: Inter、mono: JetBrains Mono]、カスタムスペーシング[18: 4.5rem、22: 5.5rem]、追加ブレークポイント[3xl: 1920px]。推奨プラグインも含めてください。
ダークモード対応のレスポンシブレイアウトの構築
shadcn/uiコンポーネントを使用して、レスポンシブな[dashboard / landing page / settings panel]レイアウトを作成してください。モバイルファーストのレスポンシブグリッド、ダークモードトグル、キーボードサポート付きのアクセシブルなナビゲーション、適切なセマンティックHTML構造を含めてください。
アクセシブルなフォームの実装
shadcn/uiのフォームコンポーネントを使用して、アクセシブルな[sign-up / contact / checkout]フォームを構築してください。zodを使用したフィールドバリデーション、エラー状態の処理、送信時のローディング状態、スクリーンリーダー用のARIAラベル、キーボードタブ順序、フォーカス管理を含めてください。
キャンバスビジュアルコンポジション

ベストプラクティス

  • 複雑なUIは、モノリシックなコンポーネントを構築するのではなく、シンプルで組み合わせ可能なshadcn/uiプリミティブから構成する
  • TailwindユーティリティクラスをJSX内で直接使用し、同じパターンが3回以上現れた場合にのみ再利用可能なコンポーネントに抽出する
  • モバイルファーストのレスポンシブデザインを採用する:ベースのモバイルスタイルから始め、レスポンシブバリアント(sm:、md:、lg:)を段階的に追加する
  • Radix UIの組み込みアクセシビリティ機能を活用し、常に可視フォーカスインジケータを追加し、セマンティックHTMLを使用する
  • 一貫したデザイントークンを維持する:tailwind.configで定義されたスペーシングスケール、カラーパレット、タイポグラフィシステムを使用する
  • すべてのテーマ対応要素に一貫してdark:バリアントを適用し、半分だけテーマが適用されたダークモードを防ぐ
  • 動的なクラス名の構築を避けることで、Tailwindの自動CSSパージの恩恵を受ける
  • shadcn/uiコンポーネントで完全なTypeScript型安全性を活用し、開発体験を向上させ、早期にエラーを発見する
  • ビジュアルコンポジションが視線を誘導するようにし、スペーシング、色、タイポグラフィ階層を意図的に使用する
  • マイクロインタラクションから色のコントラスト比まで、すべてのディテールが重要であるという職人意識を持ってUIに取り組む

回避

  • 文字列連結によるTailwindクラス名の動的構築(例:`bg-${color}-500`)はパージを妨げるため避ける。代わりに完全なクラス名またはsafelist設定オプションを使用する
  • CSS変数テーマシステムやバリアントスロットを使用せずに、shadcn/uiコンポーネントのソースファイルを直接上書きする
  • コンポーネント抽出時に特定性の競合を生み出す方法でTailwindの@applyディレクティブをネストする
  • shadcn/uiのDialogやDrawerコンポーネントがすでにアクセシブルでテスト済みのオーバーレイを提供しているのに、カスタムのモーダル/ダイアログ実装を構築する
  • コンポーネントツリー全体を複製してダークモードを適用する。代わりに個々のユーティリティクラスにdark:バリアントプレフィックスを使用する
  • プロジェクトに.jsと.tsの両方のtailwind設定ファイルを含める(アクティブにするのは1つだけ)
  • 最初に`npx shadcn@latest init`を実行せずにshadcn/uiコンポーネントのインストールを実行する - components.json設定が必要です
  • キャンバスAPIを本来の目的(ビジュアルデザインコンポジションやグラフィックス)ではなく、レイアウトや構造に使用する
  • 非ボタン要素にカスタムクリックハンドラを実装する際に、キーボードユーザー向けのfocus-visibleスタイルを無視する

よくある質問

このスキルを使用する前に何かインストールする必要がありますか?
はい。このスキルはリファレンスドキュメントと自動化スクリプトを提供しますが、実際のshadcn/uiコンポーネントはプロジェクトにインストールする必要があります。必要なもの:Node.js(npx用)、React/Next.js/Viteプロジェクト、そして設定のために最初に`npx shadcn@latest init`を実行する必要があります。Python自動化スクリプトにはPython 3.xが必要ですが、外部依存関係は必要ありません。
このスキルはReact以外のフレームワークでも動作しますか?
shadcn/uiは主にReactベースのフレームワーク(Next.js、Vite、Remix、Astro)向けに構築されています。Tailwind CSSのリファレンスとキャンバスデザインシステムはフレームワークに依存しません。設定ジェネレーターは、コンテンツパスの指定においてReact、Vue、Svelte、Next.jsフレームワークをサポートしています。
自動化スクリプトは本番CI/CDで使用できますか?
スクリプトには--dry-runフラグが含まれており、変更を加えずに実行される内容を表示できます。コンポーネントインストーラ(shadcn_add.py)はnpxを実行し、npmからパッケージを取得します。本番CI環境ではshadcnのバージョンを固定するか、オフラインミラーを使用することをお勧めします。
含まれているキャンバスフォントは何ですか?Webサイトで使用できますか?
canvas-fonts/ディレクトリにはTTFフォントファイルとそのSIL Open Font License(OFL)テキストファイルが含まれています。これらのフォントはSIL OFLのもとでライセンスされており、自由な使用、修正、再配布が許可されています。これらはこのスキル内でのキャンバスベースのビジュアルデザインコンポジションを目的としています。
このスキルは機密性の高いプロジェクトで安全に使用できますか?
はい。このスキルはセキュリティ監査を受けており、低リスクと評価されています。実行される唯一の外部コマンドは`npx shadcn@latest add`(コンポーネントインストール)であり、ハードコードされたコマンドを使用しています。すべてのPythonスクリプトにはドライランモードがあります。環境変数、ネットワークコールバック、資格情報へのアクセスは行われません。難読化されたコードも見つかりませんでした。

開発者の詳細

ファイル構成

📁 canvas-fonts/

📄 ArsenalSC-OFL.txt

📄 ArsenalSC-Regular.ttf

📄 BigShoulders-Bold.ttf

📄 BigShoulders-OFL.txt

📄 BigShoulders-Regular.ttf

📄 Boldonse-OFL.txt

📄 Boldonse-Regular.ttf

📄 BricolageGrotesque-Bold.ttf

📄 BricolageGrotesque-OFL.txt

📄 BricolageGrotesque-Regular.ttf

📄 CrimsonPro-Bold.ttf

📄 CrimsonPro-Italic.ttf

📄 CrimsonPro-OFL.txt

📄 CrimsonPro-Regular.ttf

📄 DMMono-OFL.txt

📄 DMMono-Regular.ttf

📄 EricaOne-OFL.txt

📄 EricaOne-Regular.ttf

📄 GeistMono-Bold.ttf

📄 GeistMono-OFL.txt

📄 GeistMono-Regular.ttf

📄 Gloock-OFL.txt

📄 Gloock-Regular.ttf

📄 IBMPlexMono-Bold.ttf

📄 IBMPlexMono-OFL.txt

📄 IBMPlexMono-Regular.ttf

📄 IBMPlexSerif-Bold.ttf

📄 IBMPlexSerif-BoldItalic.ttf

📄 IBMPlexSerif-Italic.ttf

📄 IBMPlexSerif-Regular.ttf

📄 InstrumentSans-Bold.ttf

📄 InstrumentSans-BoldItalic.ttf

📄 InstrumentSans-Italic.ttf

📄 InstrumentSans-OFL.txt

📄 InstrumentSans-Regular.ttf

📄 InstrumentSerif-Italic.ttf

📄 InstrumentSerif-Regular.ttf

📄 Italiana-OFL.txt

📄 Italiana-Regular.ttf

📄 JetBrainsMono-Bold.ttf

📄 JetBrainsMono-OFL.txt

📄 JetBrainsMono-Regular.ttf

📄 Jura-Light.ttf

📄 Jura-Medium.ttf

📄 Jura-OFL.txt

📄 LibreBaskerville-OFL.txt

📄 LibreBaskerville-Regular.ttf

📄 Lora-Bold.ttf

📄 Lora-BoldItalic.ttf

📄 Lora-Italic.ttf

📄 Lora-OFL.txt

📄 Lora-Regular.ttf

📄 NationalPark-Bold.ttf

📄 NationalPark-OFL.txt

📄 NationalPark-Regular.ttf

📄 NothingYouCouldDo-OFL.txt

📄 NothingYouCouldDo-Regular.ttf

📄 Outfit-Bold.ttf

📄 Outfit-OFL.txt

📄 Outfit-Regular.ttf

📄 PixelifySans-Medium.ttf

📄 PixelifySans-OFL.txt

📄 PoiretOne-OFL.txt

📄 PoiretOne-Regular.ttf

📄 RedHatMono-Bold.ttf

📄 RedHatMono-OFL.txt

📄 RedHatMono-Regular.ttf

📄 Silkscreen-OFL.txt

📄 Silkscreen-Regular.ttf

📄 SmoochSans-Medium.ttf

📄 SmoochSans-OFL.txt

📄 Tektur-Medium.ttf

📄 Tektur-OFL.txt

📄 Tektur-Regular.ttf

📄 WorkSans-Bold.ttf

📄 WorkSans-BoldItalic.ttf

📄 WorkSans-Italic.ttf

📄 WorkSans-OFL.txt

📄 WorkSans-Regular.ttf

📄 YoungSerif-OFL.txt

📄 YoungSerif-Regular.ttf

📁 references/

📄 canvas-design-system.md

📄 shadcn-accessibility.md

📄 shadcn-components.md

📄 shadcn-theming.md

📄 tailwind-customization.md

📄 tailwind-responsive.md

📄 tailwind-utilities.md

📁 scripts/

📁 tests/

📄 coverage-ui.json

📄 requirements.txt

📄 test_shadcn_add.py

📄 test_tailwind_config_gen.py

📄 requirements.txt

📄 shadcn_add.py

📄 tailwind_config_gen.py

📄 LICENSE.txt

📄 SKILL.md