cursor-reveal-hero について
Web アプリの柔らかなカーソルトレイル画像表示を、構築、修復、調整、検証するスキルです。既存のプロジェクト構成を尊重しながら、Canvas 合成、ポインター処理、調整項目、ブラウザ確認を案内します。
主な機能
- 01構築・修復・調整・検証モード
- 02Canvas によるレイヤー画像合成
- 03マウス・タッチ・ペン対応
- 04エフェクト調整項目
- 05ブラウザのスモークテストと目視確認
活用シーン
- 01既存アプリへのカーソル表示効果の追加
- 02マスクや画像読み込みの問題修正
- 03トレイルの調整と表示確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ sergekostenchuk/ ui-ux-agent-skill-system --skill cursor-reveal-heroインストール後、Claude Code で/cursor-reveal-heroを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlassets/vanilla-template/index.htmlscript.jsstyles.cssreferences/browser-validation.mdcanvas-compositing.mdtuning-and-failure-modes.mdscripts/smoke-check-reveal.mjs詳細
Cursor Reveal Hero
ベース画像を常に表示し、フェードするマスクを通してのみ表示画像を現す、ソフトなカーソルトレイルエフェクトの作成や修正にこのスキルを使用します。
基本の式:
final = baseImage + revealImage * softCursorTrailMask
モード
build:既存のアプリ、またはバニラテンプレートからエフェクトを一から作成します。repair:画像の読み込み、マスクの合成、ポインター操作、スライダー、フェード、リサイズ、キャッシュの動作不良を診断します。tune:意図した見た目に合わせて、半径、ぼかし、フェード、強度、不透明度、モメンタムを調整します。validate:ブラウザー/Canvasのチェックを実行し、スクリーンショットを確認します。
ワークフロー
- 2つの画像レイヤーが一致しているかユーザーが判断できない場合は、まず
$image-layer-alignment-validatorを使用します。 - プロジェクトのスタックを特定します。既存のフレームワークとアセットパイプラインを優先してください。
- バニラ実装の場合は、
assets/vanilla-template/をコピーして画像パスを置き換えます。 - ページは実際のリビール領域に集中させます。依頼がない限り、マーケティング文言、ヒーローテキスト、無関係なコンテンツは追加しないでください。
references/canvas-compositing.mdに沿ってCanvasの構成を実装します。- 調整用に、半径、ぼかし、フェード、強度、不透明度、モメンタムを直接操作できるコントロールを追加します。
- 開発ビルドでは、必要に応じて
window.revealSettingsとマスクを消去する関数を公開します。 - ブラウザーのターゲットを利用できる場合は、ローカルURLに対して
scripts/smoke-check-reveal.mjsを実行します。 - 変更したファイル、現在の調整値、検証結果を正確に報告します。
実装ルール
- 表示用Canvasを1つ使用し、マスクと表示レイヤーにはオフスクリーンCanvasを使用します。
- CSSサイズを固定したまま、デバイスピクセル比に合わせたスケールで描画します。
- ポインターイベントを使用し、マウス、タッチ、ペン入力に対応します。
- 硬いホバー円ではなく、ソフトな放射状グラデーションを使用します。
destination-outで古いマスクの内容をフェードさせます。destination-inでマスクを表示レイヤーに適用します。- マスクを適用した表示レイヤーを描画する前に、毎フレームベースレイヤーを描画します。
- コントロール値が変更されたら、蓄積したマスクを消去します。これにより、古いトレイルが調整の妨げになりません。
- 静的ファイルがキャッシュされている場合は、キャッシュバスターのクエリ文字列を更新するか、ハードリフレッシュします。
よくある修正対象
- スライダーは動くのに設定が変わらない:
inputとchangeをバインドし、textContentを更新して、設定の更新後にマスクを消去します。 - リビールが硬い拡大鏡のように見える:ぼかし、半径、フェードの滑らかさを上げ、表示が目立ちすぎる場合は不透明度を下げます。
- トレイルが消えない:フェードを強めるか、マスクCanvasに
destination-outが適用されていることを確認します。 - 表示画像が常に見える:
globalCompositeOperation、マスクのリセット、表示Canvasの消去順を確認します。 - Canvasがぼやける:DPRのスケーリングとリサイズ処理を修正します。
- リサイズ後にエフェクトが動作しなくなる:すべてのCanvasのバッキングストアを再構築し、再描画します。
安全性とプライバシー
- 外部での生成、ホスティング、分析をユーザーが明示的に依頼しない限り、画像アセットはローカルに保持します。
- エフェクトの調整中に、元のベース画像や表示画像を上書きしないでください。
- プロジェクトですでに使用されており、ユーザーがその方針を希望している場合を除き、エフェクトに分析機能、リモートトラッキング、サードパーティのランタイム依存関係を追加しないでください。
- ブラウザーで検証する際は、ローカルURLとファイルURLを優先します。ユーザーが対象範囲を明示的に指定しない限り、認証が必要な本番ページや非公開の本番ページを自動操作しないでください。
検証と評価
- URLを利用できる場合は、
scripts/smoke-check-reveal.mjsを使用します。 - 自動チェック後にスクリーンショットまたは実際のページを確認します。スモークテストの成功だけでは、見た目の品質は保証されません。
- コントロールを変更した場合は、スライダーの動作を手動で確認します。
- ビューポートのリサイズ後と、キャッシュバスターの変更後に再テストします。
リソース
- コアのレンダーループを実装または修復する前に、
references/canvas-compositing.mdを読んでください。 - 操作感を調整したり、コントロールの問題を診断したりする際は、
references/tuning-and-failure-modes.mdを読んでください。 - 最終的なビジュアルチェックの前に、
references/browser-validation.mdを読んでください。 - 単体で動作する HTML/CSS/JS のスターターとして、
assets/vanilla-template/をコピーしてください。 - ローカル URL を利用できる場合は、ブラウザーでの確認結果を得るために
scripts/smoke-check-reveal.mjsを実行してください。
コメント
Markdown 対応