Communityコーディング&開発github.com

Ship to Show

プロトタイプをポートフォリオ用ケーススタディに変換する7フェーズのフレームワーク。アニメーションビデオ、バイリンガルナラティブ、統合パックを生成します。

Ship to Show とは?

Ship to Showは、コードまたはプロトタイプファイルを入力として、完全なケーススタディをポートフォリオサイトに公開するまでを自動化する7フェーズのフレームワークです。React、Vue、HTML、Figma出力など様々な形式のプロトタイプに対応し、設計思想の明確化(CADRER)、プロジェクトの構造化とローカル実行環境の構築(STRUCTURER)、5つのユーザーストーリーに沿ったプロトタイプの拡充(ENRICHIR)、PuppeteerとFFmpegを用いたフレーム制御可能な動画生成(FILMER)、バイリンガル(FR/EN)のケーススタティブ作成(RACONTER)、GitHubとVercelへのデプロイと統合パックの生成(EMPAQUETER)、そしてポートフォリオサイトへの公開(PUBLIER)を実行します。各フェーズは具体的な成果物を生成しながら順次進行し、完了までに約2時間30分を要します。AIエージェント(Claude Codeなど)が対話的に実行することを想定して設計されており、開発者が自身の作品を魅力的かつプロフェッショナルに文書化するのを支援します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/marcus-clay/design-skills/tree/main/skills/ship-to-show

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

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

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

ドキュメント

Ship to Show は何をしますか?

プロトタイプをポートフォリオケーススタディに変換する7フェーズのフレームワーク。

このスキルをいつ使うか

  • ユーザーがプロトタイプ(React、Vue、HTML、Figma出力)を持っていて、それを文書化したい場合
  • ユーザーがポートフォリオ用のケーススタディを作成したい場合
  • ユーザーがインターフェースのデモンストレーションビデオを作成したい場合
  • ユーザーがプロトタイププロジェクトを自分のサイトに公開したい場合

事前確認事項

開始前に、以下のツールがインストールされていることを確認します:

node --version && npm --version && ffmpeg -version | head -1 && git --version && gh --version && vercel --version

ツールが不足している場合は、インストールコマンド(macOS)を案内します:

  • Node.js: brew install node
  • FFmpeg: brew install ffmpeg
  • Git: brew install git
  • GitHub CLI: brew install gh、その後 gh auth login
  • Vercel CLI: npm i -g vercel

7つのフェーズ

1. CADRER       →  セクター、ユーザー、問題、設計の視点を特定
2. STRUCTURER   →  プロトタイプをローカルで実行可能にする
3. ENRICHIR     →  不足しているユーザーストーリーを追加し、5本のビデオを生成可能にする
4. FILMER       →  Puppeteer + FFmpeg でビデオを生成
5. RACONTER     →  ナラティブ構造とキャプションを備えたケーススタディを作成
6. EMPAQUETER   →  GitHub、Vercel、自己完結型統合ファイル
7. PUBLIER      →  ポートフォリオサイトに統合

フェーズは順番に実行します。各フェーズは具体的な成果物を生成してから次のフェーズに進みます。フェーズを圧縮しないでください。


フェーズ1:CADRER(15分)

入力:コードファイルまたはプロトタイプ 出力:case-study.md(v1)、CLAUDE.md、プロジェクトメモリー

アクション

  1. プロトタイプのソースコードを読む
  2. 以下を特定する:
    • 事業セクターと市場コンテキスト
    • ターゲットユーザー(役割、使用コンテキスト、プレッシャー)
    • 対処する問題(できれば重要な数字を使って)
    • 既存の主要機能
    • 設計の視点(プロトタイプがテストする仮説)
  3. ナラティブ見出しを含む1500文字のエグゼクティブサマリーを作成する
  4. プロジェクトのポジショニングを記載したCLAUDE.mdを作成する
  5. 完全なコンテキストを含むメモリーファイルを作成する

チェックリスト

  • セクターが特定された
  • ユーザーが説明された(役割、コンテキスト、プレッシャー)
  • 問題が数字を使って明確化された
  • 設計の視点が明示された
  • エグゼクティブサマリーが作成された
  • CLAUDE.mdが作成された

フェーズ2:STRUCTURER(10分)

入力:生のコードファイル 出力:localhostで動作するプロジェクト

アクション

  1. 検出された依存関係を含むpackage.jsonを作成する
  2. ビルドツールを設定する(Vite推奨)
  3. Tailwind CSSが使用されている場合は設定する
  4. index.htmlとエントリーポイントを作成する
  5. npm installを実行する
  6. localhostで起動する

注意点

プロジェクトがネットワークファイルシステム(Google Drive、Dropbox、OneDrive)上にある場合は、起動前にローカルにコピーします。ファイルウォッチャーはリモートファイルシステムでは機能しません。

チェックリスト

  • npm installがエラーなく完了した
  • npm run devでサーバーが起動する
  • ブラウザにプロトタイプが表示される
  • コンソールエラーがない

フェーズ3:ENRICHIR(30〜45分)

入力:動作するプロトタイプ + フレーミング 出力:完全なユーザーストーリーを備えた撮影可能なプロトタイプ

アクション

  1. 撮影可能な5つのユーザーストーリーを特定する:
    • 全体ビュー / トリアージ(受信トレイ、フィルタリング、選択)
    • 主要機能(製品の主要なインタラクション)
    • 意思決定とフィードバック(アクション、確認、影響)
    • エッジケース(誤検知、エラー、迅速なケース)
    • 完全なフロー(連続した操作、セッションメトリクス)
  2. 各ユーザーストーリーに不足しているインタラクションをリストアップする
  3. 不足しているインタラクションを実装する
  4. ケースごとに多様なデータを追加する
  5. シミュレートされた統合(Slack、メール、CRM、エクスポート)を追加する
  6. マイクロインタラクション(アニメーション、必要に応じてサウンドフィードバック)を追加する

チェックリスト

  • 5つのユーザーストーリーが特定され、機能する
  • 各ケースに異なるデータが設定されている
  • シミュレートされた統合が表示可能
  • 各ユーザーストーリーが10〜20秒で撮影可能である

フェーズ4:FILMER(30分)

入力:定義されたユーザーストーリー + 動作するプロトタイプ 出力:5〜8本のMP4ビデオ、5枚のPNGスクリーンショット

アクション

  1. ビデオパイプラインの構造を作成する:
video-scenes/
├── capture.js
├── scenes/
│   ├── shared/
│   │   ├── design-tokens.css
│   │   ├── animations.css
│   │   └── components.css
│   ├── 01-scene.html
│   └── ...
└── output/
  1. プロトタイプからデザイントークンを抽出する(色、フォント、スペーシング、ボーダー半径)
  2. 共有CSSアニメーションを作成する(fadeIn、slideUp、scaleIn、stagger、typing)
  3. 各シーンについて、以下の内容を含むHTMLファイルを作成する:
    • CSSコメント内の時間的ストーリーボード
    • フレーム単位で制御可能なCSSタイムラインアニメーション
    • プロトタイプのインターフェースを再現するマークアップ
  4. Web Animations APIを使用した制御機能を持つcapture.js(Puppeteer + FFmpeg)を作成する
  5. すべてのビデオをレンダリングする
  6. 実際のプロトタイプから5枚のRetinaスクリーンショットをキャプチャする

重要なテクニック:フレームごとの制御

// すべてのアニメーションを一時停止
document.getAnimations({ subtree: true }).forEach(a => a.pause());

// 各フレームで、時間を進める
document.getAnimations({ subtree: true }).forEach(a => {
  a.currentTime = currentTimeMs;
});

ビデオ仕様

  • 1920x1080
  • 30 fps
  • H.264(MP4)+ WebM(オプション)
  • 黒背景(#0a0a0a)
  • フォント:Inter(Google Fonts)
  • 動画時間:8〜20秒

チェックリスト

  • すべてのビデオがMP4でレンダリングされた
  • プレビューがアクセス可能(ローカルHTTPサーバー)
  • Retinaスクリーンショットがキャプチャされた
  • 視覚品質が確認された

フェーズ5:RACONTER(20分)

入力:フレーミング + ビデオ + ユーザーストーリー 出力:case-study.md(FR)、case-study-en.md(EN)

アクション

  1. 以下のナラティブ構造でケーススタディを作成する:

    • ヘッダー(タイトル、サブタイトル、カテゴリ、著者)
    • ヒーロー画像(全幅)
    • 実験の意図(個人的なコンテキスト、3段落)
    • 基礎となるインサイト(数字を使った問題)
    • ビデオ:Before/After(または比較)
    • デザインの問い(指針となる原則)
    • ビデオ:データフロー / アーキテクチャ
    • 機能ごとのセクション(テキスト + ビデオ + キャプション)
    • 学び(転用可能なメカニズム)
    • スタック + リンク
  2. 各ビデオにはキャプションを付ける:

    • 太字のタイトル(ビデオが示すもの)
    • フラストレーション: ユーザーの問題
    • ベネフィット: 提供される価値
  3. コンテキストのないビデオグリッドは使用しない。各ビデオには独自のナラティブが必要。

  4. FR版とEN版を作成する

トーン

実験を共有する実践者として。製品を宣伝する販売者ではない。タイトルは具体的で専門的に(くだけた言葉は使わない)。構造を明確に:問題、メカニズム、示唆。

チェックリスト

  • 完全なFRケーススタディ
  • 完全なENケーススタディ
  • 各ビデオにフラストレーション/ベネフィットのキャプションがある
  • 転用可能なメカニズムを含む学びのセクション
  • セクションタイトルがナラティブで専門的

フェーズ6:EMPAQUETER(15分)

入力:以前のフェーズのすべての成果物 出力:GitHubリポジトリ、Vercelプロトタイプ、PORTFOLIO-INTEGRATION.md

アクション

  1. .gitignoreを作成する(node_modules、dist、.env、frames)
  2. gitリポジトリを初期化し、構造化されたコミットを行う
  3. GitHubにプッシュする(公開リポジトリ)
  4. プロトタイプをVercelにデプロイする(本番環境)
  5. 自己完結型のPORTFOLIO-INTEGRATION.mdを作成する:
    • プロジェクトのYAMLメタデータ
    • アセットコピーコマンド
    • ケーススタディの完全な内容(セクションごと)
    • アセットインベントリ(ビデオ、スクリーンショット、位置)
    • ビデオフォーマット(autoplay/loop/muted/playsinline)
    • キャプションフォーマット
    • 公開チェックリスト

チェックリスト

  • GitHubリポジトリが作成され、プッシュされた
  • プロトタイプがVercelにデプロイされた
  • 自己完結型のPORTFOLIO-INTEGRATION.mdが作成された
  • ファイルがポートフォリオプロジェクトにコピーされた

フェーズ7:PUBLIER(変動)

入力:ポートフォリオプロジェクト内のPORTFOLIO-INTEGRATION.md 出力:サイトに公開されたプロジェクトページ

アクション

このフェーズは、ポートフォリオプロジェクト内の別のセッションで実行します。プロンプト:

PORTFOLIO-INTEGRATION.mdを読み、私のサイト上のプロジェクトとしてケーススタディを実装してください。
このファイルには、アセット、コンテンツ、ページ構造、
ビデオとキャプションのフォーマットに関するすべての指示が含まれています。

チェックリスト

  • アセットがポートフォリオプロジェクトにコピーされた
  • プロジェクトページが作成された
  • ビデオがautoplay/loop/mutedで設定された
  • 各ビデオの下にキャプションがある
  • og:imageが設定された
  • FR版とEN版がある
  • プロトタイプとGitHubへのリンクが機能する

まとめ

フェーズ所要時間成果物
1. Cadrer15分case-study v1、CLAUDE.md
2. Structurer10分localhostプロジェクト
3. Enrichir30〜45分撮影可能なプロトタイプ
4. Filmer30分ビデオ + スクリーンショット
5. Raconter20分case study FR/EN
6. Empaqueter15分GitHub、Vercel、パック
7. Publier変動ポートフォリオページ
合計約2時間30分完全なケーススタディ公開

Individual skills in this repo

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

brand-system

Système de marque sobre et éditorial, fourni comme marque par défaut : palette bleue sur fond clair, typographie Inter, dégradé doux, boutons en pilule, cartes à ombre légère, icônes Phosphor. Appliquer à tout livrable (présentation, document, page, artefact web) quand aucune autre charte n'est donnée, ou s'en servir comme modèle à remplacer par la charte d'un projet. À combiner avec `slides` (mises en page) et `pptx` (génération du fichier). Déclencher dès qu'on demande une mise en forme soignée, une identité visuelle, des tokens de design, ou un livrable client à l'aspect professionnel.

card-illustrations

Use when asked for an illustration, a thumbnail or a card picture for a card in a grid of content, such as a library of resources (guide, template, deck, article), when a set of cards needs one consistent treatment, or when product screenshots are shared as a reference for card illustrations. Two modes, "noir et blanc" (ink accent) or "accent couleur" (ten-hue palette), chosen by the argument or the wording of the request.

direction-design

Aide à tenir une position de responsable design : cadrer les besoins de conception à l'échelle d'une feuille de route plutôt que d'un seul sujet, planifier les bonnes instances et revues, et construire l'argumentaire qui permet de défendre un point de vue design et de peser dans un arbitrage, y compris dans une organisation pilotée par la direction technique. Déclencher dès qu'il faut préparer une feuille de route design, décider quelles instances créer ou faire évoluer, ou construire un argumentaire pour défendre une position dans un arbitrage ou une négociation de priorité.

drawing-animated-diagrams

Use when a page needs an explanatory diagram (process, timeline, flow, structure, before/after) as an SVG React component that draws itself as it scrolls into view, in a minimalist ink-and-grey style, for a Next.js or React site. Also when asked for a "diagramme animé", "schéma qui se dessine".

marker-sketch

Dessine n'importe quelle idée, description, flux, architecture, organisation, wireframe ou scène sous forme de croquis au feutre sur papier à points (SVG noir, blanc, gris, ombres portées, un accent rare), de façon rapide et toujours avec la même construction. Quatre modes, Croquis (réponse directe), Live (réunion, atelier, échange oral), Atelier (schéma dense, mise en page automatique), Interactif (évolution maintenant, ensuite, plus tard, éléments déplaçables, formes qui changent). À utiliser dès qu'on demande un schéma, diagramme, flow, croquis, sketch, illustration, wireframe, maquette rapide, carte mentale, vue d'ensemble dessinée, "montre-moi", "dessine", "visualise", "schématise", ou une illustration animée ou interactive d'une évolution. Utiliser même si l'utilisateur ne parle pas de style : ce style est le défaut.

personal-os

OS personnel avec Claude Code. À utiliser pour créer ou faire évoluer un second cerveau (un « brain »), un dossier de fichiers Markdown qui sert de mémoire et de tableau de bord à Claude Code. Déclencher quand on veut structurer son travail, traiter une inbox (comptes rendus, transcriptions, notes), mettre en place des règles d'ingestion, des agents, des commandes ou des vues générées, préparer un 1:1, tenir un registre de décisions, ou propager un changement dans tous ses contenus.

signal-research

Scans current signals across UI/UX, product design, design strategy, AI-assisted workflows, the design toolchain, B2B/B2G/SaaS design, AI regulation and process automation, then generates content angles calibrated to the user's own positioning. Use when the user asks for content ideas, wants to know what is trending or debated in design, product or AI, needs an editorial plan, or names a topic to write about (search first, then differentiate).

slides

Système de création de présentations et de slides : tokens de design, catalogue de quinze mises en page, structure narrative et conventions de rédaction des titres. Appliquer à tout output de type deck, pitch, présentation client, keynote, support de formation ou rapport visuel. Déclencher dès que la demande implique des slides, un deck, une présentation PowerPoint, Google Slides, ou tout support visuel multi-pages. Prend la priorité sur une skill de génération de fichiers (pptx) pour les choix visuels et stylistiques : celle-ci gère la technique, slides gère les tokens, la structure narrative et les mises en page.

socle

Framework de création de projet digital en 5 étapes : Structurer, Outiller, Construire, Livrer, Élargir. Appliquer systématiquement au démarrage de tout nouveau projet web, app, SaaS, ou outil interne. Déclencher dès que l'utilisateur mentionne un nouveau projet, un MVP, un prototype, un produit à construire, une app à développer, ou demande comment organiser le développement d'un produit. Également pertinent quand l'utilisateur a une idée de produit et veut passer à la réalisation, ou quand il se demande par où commencer. Ce skill prend la priorité sur les approches ad-hoc ou les scaffoldings improvisés.

ux-et-design-thinking

Apporte un regard de méthodologie UX, de cycle de design et de design thinking sur un parcours, un écran ou une proposition de conception : logique Jobs-to-be-Done, ergonomie d'interface, cohérence de parcours (customer journey), avec prise de hauteur plutôt que jugement esthétique. Déclencher dès qu'on demande un avis de conception, qu'on veut challenger un écran ou un parcours, ou qu'on réfléchit à une approche méthodologique UX.

関連スキル