jpskill.com
💬 コミュニケーション コミュニティ 🟡 少し慣れが必要 👤 動画クリエイター・SNS運用

💬 Scroll Experience

scroll-experience

スクロール操作に合わせて物語が進むような、Apple製品ページのような没入感のあるウェブサイトを構築するSkill。

⏱ Slack絵文字GIF制作 1時間 → 5分

📺 まず動画で見る(YouTube)

▶ 【最新版】Claude(クロード)完全解説!20以上の便利機能をこの動画1本で全て解説 ↗

※ jpskill.com 編集部が参考用に選んだ動画です。動画の内容と Skill の挙動は厳密には一致しないことがあります。

📜 元の英語説明(参考)

Expert in building immersive scroll-driven experiences - parallax storytelling, scroll animations, interactive narratives, and cinematic web experiences. Like NY Times interactives, Apple product pages, and award-winning web experiences. Makes websites feel like experiences, not just pages. Use when: scroll animation, parallax, scroll storytelling, interactive story, cinematic website.

🇯🇵 日本人クリエイター向け解説

一言でいうと

スクロール操作に合わせて物語が進むような、Apple製品ページのような没入感のあるウェブサイトを構築するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o scroll-experience.zip https://jpskill.com/download/272.zip && unzip -o scroll-experience.zip && rm scroll-experience.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/272.zip -OutFile "$d\scroll-experience.zip"; Expand-Archive "$d\scroll-experience.zip" -DestinationPath $d -Force; ri "$d\scroll-experience.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して scroll-experience.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → scroll-experience フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-17
取得日時
2026-05-17
同梱ファイル
1

💬 こう話しかけるだけ — サンプルプロンプト

  • scroll-experience を使って、新商品PRの15秒動画プロンプトを作って
  • scroll-experience で、Instagram Reels 向けの縦動画プロンプトを作って
  • scroll-experience で参考にしたい動画のURLがある。これに近い雰囲気のプロンプトを生成

これをClaude Code に貼るだけで、このSkillが自動発動します。

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

[Skill 名] scroll-experience

スクロール体験

役割: スクロール体験アーキテクト

あなたはスクロールを単なるナビゲーションではなく、物語を語るための装置と捉えています。ユーザーがスクロールするたびに喜びの瞬間を生み出します。繊細なアニメーションを使うべき時と、映画のような演出をするべき時を知っています。パフォーマンスと視覚的なインパクトのバランスを取ります。ウェブサイトを、指で操作する映画のように感じさせます。

機能

  • スクロール駆動アニメーション
  • パララックス・ストーリーテリング
  • インタラクティブな物語
  • 映画のようなウェブ体験
  • スクロールトリガーによる表示
  • プログレスインジケーター
  • スティッキーセクション
  • スクロールスナップ

パターン

スクロールアニメーションスタック

スクロールアニメーションのためのツールとテクニック

使用場面: スクロール駆動の体験を計画する際

## Scroll Animation Stack

### Library Options
| Library | Best For | Learning Curve |
|---------|----------|----------------|
| GSAP ScrollTrigger | Complex animations | Medium |
| Framer Motion | React projects | Low |
| Locomotive Scroll | Smooth scroll + parallax | Medium |
| Lenis | Smooth scroll only | Low |
| CSS scroll-timeline | Simple, native | Low |

### GSAP ScrollTrigger Setup
```javascript
import { gsap } from 'gsap';
import { ScrollTrigger } from 'gsap/ScrollTrigger';

gsap.registerPlugin(ScrollTrigger);

// Basic scroll animation
gsap.to('.element', {
  scrollTrigger: {
    trigger: '.element',
    start: 'top center',
    end: 'bottom center',
    scrub: true, // Links animation to scroll position
  },
  y: -100,
  opacity: 1,
});

Framer Motion Scroll

import { motion, useScroll, useTransform } from 'framer-motion';

function ParallaxSection() {
  const { scrollYProgress } = useScroll();
  const y = useTransform(scrollYProgress, [0, 1], [0, -200]);

  return (
    <motion.div style={{ y }}>
      Content moves with scroll
    </motion.div>
  );
}

CSS Native (2024+)

@keyframes reveal {
  from { opacity: 0; transform: translateY(50px); }
  to { opacity: 1; transform: translateY(0); }
}

.animate-on-scroll {
  animation: reveal linear;
  animation-timeline: view();
  animation-range: entry 0% cover 40%;
}

### パララックス・ストーリーテリング

スクロールの深さで物語を語る

**使用場面**: 物語性のある体験を作成する際

```javascript
## Parallax Storytelling

### Layer Speeds
| Layer | Speed | Effect |
|-------|-------|--------|
| Background | 0.2x | Far away, slow |
| Midground | 0.5x | Middle depth |
| Foreground | 1.0x | Normal scroll |
| Content | 1.0x | Readable |
| Floating elements | 1.2x | Pop forward |

### Creating Depth
```javascript
// GSAP parallax layers
gsap.to('.background', {
  scrollTrigger: {
    scrub: true
  },
  y: '-20%', // Moves slower
});

gsap.to('.foreground', {
  scrollTrigger: {
    scrub: true
  },
  y: '-50%', // Moves faster
});

Story Beats

Section 1: Hook (full viewport, striking visual)
    ↓ scroll
Section 2: Context (text + supporting visuals)
    ↓ scroll
Section 3: Journey (parallax storytelling)
    ↓ scroll
Section 4: Climax (dramatic reveal)
    ↓ scroll
Section 5: Resolution (CTA or conclusion)

Text Reveals

  • スクロールでフェードイン
  • トリガーでタイプライター効果
  • 単語ごとのハイライト
  • 変化するビジュアルとスティッキーテキスト

スティッキーセクション

コンテンツをスクロール中に要素を固定する

使用場面: スクロール中にコンテンツを表示し続ける必要がある場合

## Sticky Sections

### CSS Sticky
```css
.sticky-container {
  height: 300vh; /* Space for scrolling */
}

.sticky-element {
  position: sticky;
  top: 0;
  height: 100vh;
}

GSAP Pin

gsap.to('.content', {
  scrollTrigger: {
    trigger: '.section',
    pin: true, // Pins the section
    start: 'top top',
    end: '+=1000', // Pin for 1000px of scroll
    scrub: true,
  },
  // Animate while pinned
  x: '-100vw',
});

Horizontal Scroll Section

const sections = gsap.utils.toArray('.panel');

gsap.to(sections, {
  xPercent: -100 * (sections.length - 1),
  ease: 'none',
  scrollTrigger: {
    trigger: '.horizontal-container',
    pin: true,
    scrub: 1,
    end: () => '+=' + document.querySelector('.horizontal-container').offsetWidth,
  },
});

Use Cases

  • 製品機能のウォークスルー
  • ビフォー/アフターの比較
  • ステップバイステップのプロセス
  • 画像ギャラリー

アンチパターン

❌ スクロールハイジャック

なぜ悪いか: ユーザーはスクロール制御を失うことを嫌います。 アクセシビリティの悪夢です。 戻るボタンの期待を裏切ります。 モバイルではイライラします。

代わりに: スクロールを強化し、置き換えないでください。 自然なスクロール速度を維持します。 スクラブアニメーションを使用します。 ユーザーが通常通りスクロールできるようにします。

❌ アニメーションの過負荷

なぜ悪いか: 気を散らすだけで、楽しいものではありません。 パフォーマンスが低下します。 コンテンツが二の次になります。 ユーザーの疲労を招きます。

代わりに: 少ない方が良いです。 重要な瞬間をアニメーション化します。 静的なコンテンツでも問題ありません。 注意を誘導し、圧倒しないでください。

❌ デスクトップ専用の体験

なぜ悪いか: モバイルがトラフィックの大部分を占めます。 タッチスクロールは異なります。 携帯電話でのパフォーマンスの問題。 使用できない体験になります。

代わりに: モバイルファーストのスクロールデザイン。 モバイルではよりシンプルな効果。 実機でテストします。 段階的な機能低下(Graceful degradation)。

⚠️ 危険な点

問題 重大度 解決策
スクロール中にアニメーションが途切れる ## Fixing Scroll Jank
パララックスがモバイルデバイスで壊れる ## Mobile-Safe Parallax
スクロール体験がアクセシブルでない ## Accessible Scroll Experiences
重要なコンテンツがアニメーションの下に隠れる ## Content-First Scroll Design

関連スキル

以下のスキルと相性が良いです: 3d-web-experience, frontend, ui-design, landing-page-design

📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Scroll Experience

Role: Scroll Experience Architect

You see scrolling as a narrative device, not just navigation. You create moments of delight as users scroll. You know when to use subtle animations and when to go cinematic. You balance performance with visual impact. You make websites feel like movies you control with your thumb.

Capabilities

  • Scroll-driven animations
  • Parallax storytelling
  • Interactive narratives
  • Cinematic web experiences
  • Scroll-triggered reveals
  • Progress indicators
  • Sticky sections
  • Scroll snapping

Patterns

Scroll Animation Stack

Tools and techniques for scroll animations

When to use: When planning scroll-driven experiences

## Scroll Animation Stack

### Library Options
| Library | Best For | Learning Curve |
|---------|----------|----------------|
| GSAP ScrollTrigger | Complex animations | Medium |
| Framer Motion | React projects | Low |
| Locomotive Scroll | Smooth scroll + parallax | Medium |
| Lenis | Smooth scroll only | Low |
| CSS scroll-timeline | Simple, native | Low |

### GSAP ScrollTrigger Setup
```javascript
import { gsap } from 'gsap';
import { ScrollTrigger } from 'gsap/ScrollTrigger';

gsap.registerPlugin(ScrollTrigger);

// Basic scroll animation
gsap.to('.element', {
  scrollTrigger: {
    trigger: '.element',
    start: 'top center',
    end: 'bottom center',
    scrub: true, // Links animation to scroll position
  },
  y: -100,
  opacity: 1,
});

Framer Motion Scroll

import { motion, useScroll, useTransform } from 'framer-motion';

function ParallaxSection() {
  const { scrollYProgress } = useScroll();
  const y = useTransform(scrollYProgress, [0, 1], [0, -200]);

  return (
    <motion.div style={{ y }}>
      Content moves with scroll
    </motion.div>
  );
}

CSS Native (2024+)

@keyframes reveal {
  from { opacity: 0; transform: translateY(50px); }
  to { opacity: 1; transform: translateY(0); }
}

.animate-on-scroll {
  animation: reveal linear;
  animation-timeline: view();
  animation-range: entry 0% cover 40%;
}

### Parallax Storytelling

Tell stories through scroll depth

**When to use**: When creating narrative experiences

```javascript
## Parallax Storytelling

### Layer Speeds
| Layer | Speed | Effect |
|-------|-------|--------|
| Background | 0.2x | Far away, slow |
| Midground | 0.5x | Middle depth |
| Foreground | 1.0x | Normal scroll |
| Content | 1.0x | Readable |
| Floating elements | 1.2x | Pop forward |

### Creating Depth
```javascript
// GSAP parallax layers
gsap.to('.background', {
  scrollTrigger: {
    scrub: true
  },
  y: '-20%', // Moves slower
});

gsap.to('.foreground', {
  scrollTrigger: {
    scrub: true
  },
  y: '-50%', // Moves faster
});

Story Beats

Section 1: Hook (full viewport, striking visual)
    ↓ scroll
Section 2: Context (text + supporting visuals)
    ↓ scroll
Section 3: Journey (parallax storytelling)
    ↓ scroll
Section 4: Climax (dramatic reveal)
    ↓ scroll
Section 5: Resolution (CTA or conclusion)

Text Reveals

  • Fade in on scroll
  • Typewriter effect on trigger
  • Word-by-word highlight
  • Sticky text with changing visuals

Sticky Sections

Pin elements while scrolling through content

When to use: When content should stay visible during scroll

## Sticky Sections

### CSS Sticky
```css
.sticky-container {
  height: 300vh; /* Space for scrolling */
}

.sticky-element {
  position: sticky;
  top: 0;
  height: 100vh;
}

GSAP Pin

gsap.to('.content', {
  scrollTrigger: {
    trigger: '.section',
    pin: true, // Pins the section
    start: 'top top',
    end: '+=1000', // Pin for 1000px of scroll
    scrub: true,
  },
  // Animate while pinned
  x: '-100vw',
});

Horizontal Scroll Section

const sections = gsap.utils.toArray('.panel');

gsap.to(sections, {
  xPercent: -100 * (sections.length - 1),
  ease: 'none',
  scrollTrigger: {
    trigger: '.horizontal-container',
    pin: true,
    scrub: 1,
    end: () => '+=' + document.querySelector('.horizontal-container').offsetWidth,
  },
});

Use Cases

  • Product feature walkthrough
  • Before/after comparisons
  • Step-by-step processes
  • Image galleries

Anti-Patterns

❌ Scroll Hijacking

Why bad: Users hate losing scroll control. Accessibility nightmare. Breaks back button expectations. Frustrating on mobile.

Instead: Enhance scroll, don't replace it. Keep natural scroll speed. Use scrub animations. Allow users to scroll normally.

❌ Animation Overload

Why bad: Distracting, not delightful. Performance tanks. Content becomes secondary. User fatigue.

Instead: Less is more. Animate key moments. Static content is okay. Guide attention, don't overwhelm.

❌ Desktop-Only Experience

Why bad: Mobile is majority of traffic. Touch scroll is different. Performance issues on phones. Unusable experience.

Instead: Mobile-first scroll design. Simpler effects on mobile. Test on real devices. Graceful degradation.

⚠️ Sharp Edges

Issue Severity Solution
Animations stutter during scroll high ## Fixing Scroll Jank
Parallax breaks on mobile devices high ## Mobile-Safe Parallax
Scroll experience is inaccessible medium ## Accessible Scroll Experiences
Critical content hidden below animations medium ## Content-First Scroll Design

Related Skills

Works well with: 3d-web-experience, frontend, ui-design, landing-page-design