skills
その他jakubkrehel/skills
AI エージェント向けのインターフェースデザインスキルセット。UI、タイポグラフィ、配色、アクセシビリティを網羅する。
概要
Markdown ベースのエージェントスキル集。インターフェース、タイポグラフィ、カラーシステム、レイアウト、プロダクトコピー、アクセシビリティをカバーする。各スキルは AI コーディングエージェントに対し、コンポーネントの磨き上げからインターフェース全体のレビューまで、的を絞った指示を提供する。Claude Code プラグインとしてインストールして使用できる。
README プレビュー
\n \n\n\n[](https://skills.sh/jakubkrehel/skills)\n\nA collection of agent skills that cover UI, typography, colors, accessibility, layout, product writing and help you build a great interface.\n\nThese skills are contain topics that I write about on [my personal website](https://jakub.kr/) and my design engineering magazine, [Interfaces](https://interfaces.dev/).\n\n## Skills that help build great interfaces\n\n- [**better-interface**](skills/better-interface/SKILL.md): Combines all of the `better-*` skills into a single review.\n- [**better-ui**](skills/better-ui/SKILL.md): Improves UI in your project across the board. Covers things like **concentric border radius**, **optical alignment**, **contextual icons**, **hit areas**, **animation** and more.\n- [**better-typography**](skills/better-typography/SKILL.md): Improves type in your project. Covers **type scale**, **spacing**, **sizing**, **variable fonts**, **OpenType features**, **wrapping**, **truncation** and more.\n- [**better-colors**](skills/better-colors/SKILL.md): Helps you build a color system and answer anything about color in your project. You can **generate palettes**, **use semantic tokens**, **convert between formats**, **check contrast** and more.\n- [**better-accessibility**](skills/better-accessibility/SKILL.md): Helps your project comply with accessibility standards and best practices.\n- [**better-layout**](skills/better-layout/SKILL.md): Helps with **grouping**, **alignment**, **reading order** and other details that make a great layout.\n- [**better-writing**](skills/better-writing/SKILL.md): Focuses on improving and product copy in your project and making it consistent.\n- [**interface-review**](skills/interface-review/SKILL.md): Reviews your work across multiple categories like **UI**, **typography**, **layout**, **color**, **writing** and **accessibility** and gives you a detailed analysis of the findings. User-invoked.\n- [**explain-interface**](skills/explain-interface/SKILL.md): Helps
FAQ (2)
トラブル対応padding-inlineとパーセント値のflex-basisを併用すると、水平方向のflexスクローラーのアイテムが狭すぎるのはなぜですか?
パーセンテージ指定の flex-basis はスクローラーのコンテンツボックスに対して解決されるため、padding-inline: 24px はすでに除外されています。そのパディングを再度差し引くと、アイテムが狭くなりすぎます。差し引くのはアイテム間のギャップと固定のピーク量のみにしてください。
.scroller {
display: flex;
gap: 16px;
padding-inline: 24px;
overflow-x: auto;
}
.item {
--gap: 16px;
--peek: 24px;
flex: 0 0 calc(100% - var(--gap) - var(--peek));
}
同等の Tailwind:
<div class="flex gap-4 overflow-x-auto px-6">
<div class="shrink-0 basis-[calc(100%_-_1rem_-_1.5rem)]">…</div>
</div>
w-[80%] のようなパーセンテージ幅は使用しないでください。表示されるピークがコンテナに応じて大きくなってしまうためです。固定の 24px ピークであれば、ドキュメントに記載された 16〜32px の範囲内に収まります。
トラブル対応`outline-none`がキーボードフォーカスを消してしまい、reduced-motionがスピナーを止めてしまい、OKLCHの白いテキストがWCAG AAを満たさず、文字のみのバリデーションが実際の名前を拒否してしまうような、アクセシブルでないCSS/Tailwindの例はどのように修正すればよいですか?
これらのバグは、コミット 267330e の better-* サンプルに影響します。修正 PR を適用するか、以下の変更を行ってください。
1. 16px にスケーリングされた input: flexbox が w-[calc(100%/0.8125)] を潰してしまわないように、input に shrink-0 を追加します。ラッパーに overflow-hidden を追加し、ラッパーに視認可能なフォーカスインジケーターを復元します。例: .wrapper:focus-within { outline: 2px solid #0066cc; outline-offset: 2px; }。代替のフォーカスリングを用意せずに outline-none のままにしないでください。
2. OKLCH コントラスト: 明度 73% のクロスオーバーは APCA のガイドラインであり、WCAG 2 のルールではありません。WCAG 2 では、ニュートラルなクロスオーバーは OKLCH L 0.56 前後です。L 0.65 では白テキストは 3.23:1 にすぎず、黒テキストは 6.49:1 です。そのため、黒または黒に近いテキストを使用し、正しい基準でコントラストを検証してください。
3. モーションの低減: グローバルな animation-duration: 0.01ms と animation-iteration-count: 1 のリセットが、ローディングスピナーやプログレスインジケーターに適用されないようにしてください。.spinner や [role="progressbar"] などのセレクターを除外するか、リセットの適用範囲を必須でないアニメーションのみに限定してください。
4. 名前のバリデーション: 「英字のみを使用」というルールは、ハイフン、アポストロフィ、スペース、ラテン文字以外の名前を拒否してしまうため、削除してください。例を、次のような実際にフォーマットが決まっているフィールドに置き換えてください: Enter a date as DD/MM/YYYY