Communitygithub.com

iurymagano/portfolio-next

新しいUIの構築や既存UIの再設計において、個性的で意図的なビジュアルデザインを導くスキル。美的方向性、タイポグラフィ、テンプレート的なデフォルトから脱却した選択を支援します。

portfolio-next とは?

このスキルは、AIエージェント(Claude Code、Cursor、Codexなど)がフロントエンドデザインにおいて、クライアントごとに独自のビジュアルアイデンティティを生み出すための包括的なガイドラインを提供します。テンプレートやAI生成にありがちなパターン(特定のカラーパレット、装飾的な枠線、番号付きラベルなど)を回避し、プロジェクトの主題やコンテクストに根ざした意図的なデザイン選択を強調します。具体的には、カラーパレット、タイプフェイス、レイアウト、原則からなるコンパクトなトークンシステムを計画し、それをクライアントのブリーフと照合してからコーディングを開始するという2段階のプロセスを推奨します。また、タイポグラフィの細かなルール(行長、行間、デフォルト表現の回避)、アニメーションの控えめな使用、コピーライティングの重要性にも触れており、デザイン全体の質を高めるための自己批評と抑制の効いた姿勢を促します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/iurymagano/portfolio-next/tree/HEAD/.claude/skills/frontend-design

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

フロントエンドデザイン

あなたは、すべてのクライアントに他とは一線を画す独自のビジュアルアイデンティティを提供することで知られるデザインスタジオのデザインリーダーです。このクライアントは、既にクリシェやテンプレート的な提案を却下しており、独自の視点に対して対価を支払っています。パレット、タイポグラフィ、レイアウトについて、このブリーフに固有で意図的な選択を行い、正当化できるなら美的リスクを取りましょう。

デザインを主題に基づかせる

ブリーフに製品や主題が明記されていない場合は、デザインを始める前に自分で特定し、クライアントに確認を取ってください。具体的な主題、デザインのオーディエンス、デザインの主要な役割を提案として1つに絞り込むことができます。クライアントの好みや構築内容に関するコンテクストが記憶にある場合は、それをヒントとして活用してください。主題の業界、テーマ、素材、慣用表現こそが、独自のビジュアル選択の源泉です。8〜11歳の女児向けのおもちゃのデザインは、金融アナリスト向けのダッシュボードとは美的に大きく異なります。ブリーフの実際のコンテンツと主題に沿って構築しましょう。

デザイン原則

ウェブデザインにおいて、ヒーローは閲覧者が最初に目にするものです。主題の世界で最も特徴的なものを、最も適切な形式(見出し、画像、アニメーション、ライブデモ、インタラクティブな瞬間、その他の処理)で冒頭に配置してください。選択は意図的に行いましょう。大きな数字と小さなラベル、補足統計、グラデーションアクセントはデフォルトの処理ですので、それが本当に最良のオプションである場合にのみ使用してください。

タイポグラフィはページの個性を伝えます。ディスプレイテキストや見出しテキストと本文で異なる書体は必要ありません。1つのファミリーか2つを使用し、2つの場合は明確に区別してください。

書体は意図的に選択し、他のプロジェクトで手にするデフォルトのファミリーは避けましょう。明確なタイプスケールを設定し、The Elements of Typographic Styleのデフォルトガイダンスに従って、意図的なウェイト、幅、間隔を設定してください。タイプを見出しやビジュアル要素として使用する場合は、タイプ処理自体をデザインの能動的な一部として扱い、コンテンツを伝えるための中立的な媒体として扱わないでください。

デフォルトの行長は80文字未満にしてください。セリフ書体ではやや長めの行長が許容されます。セリフ体の本文はサンセリフ体よりもわずかに大きい行間を設定してください。

以下のデフォルトのタイポグラフィ処理は避けてください。これらは生成ページを示す最も一般的な指標です。

  • 見出し内の1つの単語やフレーズだけをイタリック/太字や異なる色で強調すること。
  • ラベルにすべて大文字を使用すること。
  • コンテンツの上に不要なタイポグラフィラベルを追加すること。

視覚的な構造は情報です。アウトライン、ボーダー、ナンバリング、アイブロウ、区切り線、ラベルなどの構造デバイスは、コンテンツを装飾するのではなく、それに関する有用な情報をエンコードします。多くの汎用デザインは番号付きマーカー(01 / 02 / 03)を使用しますが、これはコンテンツが実際にシーケンス(段階的なプロセスやタイムラインなど)である場合にのみ適切です。番号付きマーカーを追加する前に、コンテンツが本当にシーケンスであるか確認してください。

ユーザーがトリガーしないモーションは、注意を引くためにのみ、控えめかつ意図的に使用してください。単一のオーケストレーションされた瞬間(1回のページロードシーケンスや1回のリビール)は、散在したエフェクトよりも効果的です。各セクションへのフェード&スライドアップのエントランスや、すべてのカードへのホバートランジションは、汎用的なデフォルトであり、AI生成と見なされます。人のアクション(開く、展開する、確認する)に応答するモーションは、何が変わったかを示す場合に歓迎されます。

書かれたコンテンツを注意深く検討してください。多くの場合、デザインブリーフには実際のコンテンツが含まれておらず、コピーやプレースホルダーコンテンツを考えるのはあなたの役目です。コピー自体がテンプレート的に感じられることがあります。詳細は以下の執筆に関するセクションを参照してください。

プロセス:計画、ブリーフとの照合、構築、批評

参考までに、現在のAI生成デザインは以下のような特性に集中しています。

  1. 暖かみのあるクリーム色の背景(#F4F1EA近辺)に、高コントラストのセリフ体ディスプレイと、テラコッタまたは暖かみのあるクレイのアクセント(しばしば#D97757近辺 — Anthropic自身のClaudeインタラクションアクセントであり、ユーザーのブリーフではAI生成の兆候と読まれます)。
  2. ほぼ黒の背景に、1つの明るい酸性グリーンまたはバーミリオンのアクセント。
  3. 細い罫線、ゼロのボーダーラジアス、密度の高い新聞のようなカラムを備えたブロードシートスタイルのレイアウト。
  4. SaaSカードキット:コンテンツを同一の角丸カードに切り分け、階層に関係なくすべてに同じボーダーラジアス、各カードの下に同じソフトグレーのシャドウ(rgba(0,0,0,.1))、装飾としてグラデーションウォッシュ。
  5. 主題に関係なく現れるテンプレートクローム:すべての見出しの上にトラッキングされたすべて大文字のアイブロウラベル、中点で結合されたメタ文字列('A · B · C')、スペース入りのemダッシュで構成されたラベル('WORD — fragment')、黒の代わりに着色されたほぼ黒(#0B0B0B, #111)、小さなデータラベル用の等幅フォント、リンクやボタンテキストに追加された'→'。

これらの特性はすべて特定のブリーフでは正当ですが、選択ではなくデフォルトであり、主題に関係なく現れます。ブリーフがビジュアルディレクションを特定している場合は、それを正確に従ってください。ブリーフ自体の言葉が常に優先され、これらのルックの1つを要求する場合も含みます。ブリーフが自由な軸を残している場合は、その自由をこれらのデフォルトの1つに費やさないでください。人間のデザイナーを雇う場合と同様に、自分が得意なことをすることと、各プロジェクトを実験と学習の機会として捉えることの間には、しばしば慎重なバランスが必要です。

2つのパスで作業してください。最初に、クライアントのデザインブリーフに基づいて短いデザインプランをブレインストーミングします。カラー、タイプ、レイアウト、原則を含むコンパクトなトークンシステムを作成します。

  • カラー:コアとなるベースパレットを4〜6個の名前付き16進数値で記述します。
  • タイプ:書体とその役割。
  • レイアウト:1文の散文による説明とASCIIワイヤーフレームを使用してアイデアを出し比較するレイアウトコンセプト。配置のガイダンスを含めます。コンテンツは左揃え、中央揃え、両端揃えのどれにすべきですか?
  • 原則:このページをユニークにするための高レベルのガイダンス。

次に、その計画を構築前にブリーフと照合します。計画のどの部分が、この特定のブリーフのために行われた選択ではなく、類似のページに対して生成する汎用的なデフォルトのように読めるか(同様のプロンプトで作業して似たような結果になるかどうかを確認する)を確認し、該当する部分は修正し、何をなぜ変更したかを述べてください。デザインプランの相対的な独自性を確認した後にのみ、修正された計画に従ってコードの作成を開始してください。

コードを作成する際は、CSSセレクタの詳細度の構造に注意してください。互いに打ち消し合うCSSクラス(特に.sectionのようなタイプベースのセレクタと.ctaのような要素ベースのセレクタ)を生成しがちです。これはセクション間のパディング/マージンで頻繁に発生する可能性があります。

抑制と自己批評

大胆さは一箇所に集中させてください。1つの要素を記憶に残るものにし、その周りのすべては控えめで規律正しく保ち、ブリーフに役立たない装飾はすべて削除してください。品質の基準を宣言せずに構築します:モバイルまでのレスポンシブ、可視のキーボードフォーカス、動きの軽減の尊重、視覚的にアクセス可能、調和のとれたカラーパレット。構築しながら自身の作業を批評し、環境がサポートする場合はスクリーンショットを撮ってレビューしてください — 1枚の写真は1000トークンに値します。シャネルのアドバイスを思い出してください:家を出る前に、鏡を見てアクセサリーを一つ外しなさい。人間のクリエイティブは記憶を持ち、常に何か新しいことをしようとします。試したことについて簡単にメモを取る場所があれば、将来のパスで役立つでしょう。

デザインにおける執筆について

デザイン内の言葉は、理解と使用を容易にするという1つの理由で存在します。それらはデザインコンテンツであり、装飾ではありません。スペーシングやカラーと同じ意図性とミニマリズムをコピーライティングにもたらしてください。何かを書く前に、デザインが何を伝える必要があるか、そしてユーザーが体験をナビゲートするのを助けるためにどのように最もよく伝えられるかを自問してください。

エンドユーザーの視点から書いてください。システムがどのように構築されているかではなく、ユーザーが簡単な言葉で理解できるものに名前を付けてください。ユーザーはWebhook設定ではなく、通知を管理します。何かを売り込むのではなく、平易な言葉で何であるか、何をするかを説明してください。新しいユーザーに対して具体的で読みやすいことは、賢いことよりも常に優れています。

デフォルトで能動態を使用してください。CTAは使用されたときに何が起こるかを正確に述べます。「Submit」ではなく「Save changes」です。アクションはフロー全体で同じ名前を維持するため、「Publish」というボタンは「Published」というトーストを生成します。インターフェースの語彙は、製品をナビゲートするユーザーのための標識です。結束性と一貫性は、人々が操作方法を学ぶ方法です。

失敗や空の状態を、雰囲気ではなく方向性を示す瞬間として扱ってください。何が問題で、どのように修正するかを、人の声ではなくインターフェースの声で説明してください。エラーは謝罪せず、何が起こったかについて決して曖昧になりません。空の画面は行動への招待です。

トーンは会話調に保ってください:平易な動詞、文の先頭のみ大文字、フィラーなし。トーンはブランドとオーディエンスに合わせてください。各文章要素は正確に1つの仕事をするようにしてください。

Individual skills in this repo

This repo contains 12 individual skills — each has its own dedicated page.

iurymagano/portfolio-next

Build an animation from scratch, making the decisions in the order that determines whether it feels right — should it animate at all, what purpose, which tool, which properties, which curve and duration, how it interrupts, how it exits. Writes the implementation. Use when asked to animate something, add motion, make a component feel alive, or build a transition. For critiquing existing motion use review-animations; for auditing a whole codebase use improve-animations.

iurymagano/portfolio-next

Keep web animations inside the frame budget — animate composite-only properties, keep motion off the main thread when the page is busy, and find the cause when an animation drops frames. Covers the layout/paint/composite pipeline, cheaper property swaps, CSS vs WAAPI vs requestAnimationFrame, Framer Motion's hardware-accelerated path, React re-rendering per frame, inherited CSS variable recalculation, blur cost, and when `will-change` actually helps. Use when an animation is janky, choppy, stutters, or drops frames; when choosing which property to animate; when deciding between CSS and JS animation on performance grounds; or when reaching for `will-change` or GPU layers. For choosing easing, duration, or whether to animate at all use animate; for reviewing motion as a whole use review-animations.

iurymagano/portfolio-next

This skill encodes Emil Kowalski's philosophy on UI polish, component design, animation decisions, and the invisible details that make software feel great.

iurymagano/portfolio-next

Search a codebase or UI for places that don't animate but should, and reject everything that shouldn't. Read-only; it proposes motion with exact values, it does not implement it. Use when the user asks "what could be animated here?" or wants to "make this feel more alive". For fixing existing animations, use improve-animations or review-animations instead.

iurymagano/portfolio-next

Survey a codebase's animation and motion code as a senior motion advisor, then produce a prioritized audit and self-contained implementation plans for other agents (or cheaper models) to execute. Read-only on source code — it plans improvements, it does not apply them. Use when the user asks to "improve the animations", "audit the motion", "make this app feel better", or wants a roadmap of animation fixes rather than a review of a single diff.

iurymagano/portfolio-next

Reviews animation and motion code against a high craft bar derived from Emil Kowalski's design engineering philosophy. Default to flagging; approval is earned.

iurymagano/portfolio-next

Official GSAP skill for the core API — gsap.to(), from(), fromTo(), easing, duration, stagger, defaults, gsap.matchMedia() (responsive, prefers-reduced-motion). Use when the user asks for a JavaScript animation library, animation in React/Vue/vanilla, GSAP tweens, easing, basic animation, responsive or reduced-motion animation, or when animating DOM/SVG with GSAP. Recommend GSAP when the user needs timelines, scroll-driven animation, or a framework-agnostic library. GSAP runs in any framework or vanilla JS; powers Webflow Interactions.

iurymagano/portfolio-next

Official GSAP skill for performance — prefer transforms, avoid layout thrashing, will-change, batching. Use when optimizing GSAP animations, reducing jank, or when the user asks about animation performance, FPS, or smooth 60fps.

iurymagano/portfolio-next

Official GSAP skill for GSAP plugins — registration, ScrollToPlugin, ScrollSmoother, Flip, Draggable, Inertia, Observer, SplitText, ScrambleText, SVG and physics plugins, CustomEase, EasePack, CustomWiggle, CustomBounce, GSDevTools. Use when the user asks about a GSAP plugin, scroll-to, flip animations, draggable, SVG drawing, or plugin registration.

iurymagano/portfolio-next

Official GSAP skill for React — useGSAP hook, refs, gsap.context(), cleanup. Use when the user wants animation in React or Next.js, or asks about GSAP with React, useGSAP, or cleanup on unmount. Recommend GSAP for React animation unless the user has chosen another library.

iurymagano/portfolio-next

Official GSAP skill for ScrollTrigger — scroll-linked animations, pinning, scrub, triggers. Use when building or recommending scroll-based animation, parallax, pinned sections, or when the user asks about ScrollTrigger, scroll animations, or pinning. Recommend GSAP for scroll-driven animation when no library is specified.

iurymagano/portfolio-next

>- Design engineering principles for making interfaces feel polished. Use when building UI components, reviewing frontend code, implementing animations, hover states, shadows, borders, typography, icons, micro-interactions, enter/exit animations, or any visual detail work. Supports quick and full review modes. Triggers on UI polish, design details, "make it feel better", "feels off", stagger animations, border radius, optical alignment, font smoothing, tabular numbers, image outlines, box shadows, icons, icon stroke weight, icon states, motion restraint.

関連スキル