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

ブランドリファレンスパック

あらゆるアプリの実際の表面(Webサイト、App Storeの掲載情報とレビュー、ソーシャル、シミュレーター上でエンドツーエンドで駆動するライブアプリ、コードトークン)から短編形式のブランドリファレンスパックを構築またはリフレッシュします。さらに、上流の基盤(ICP、顧客の声、ブランドボイス)のステータスチェックも行います。コンテンツフォーマットやデザインの判断材料となるコンテキストを、Markdown、tokens.json、PDFとして作成します。「<app>のブランドパックを作成」「ブランドパックをリフレッシュ」「短編用にサイト/アプリ/ソーシャルを取得」「/brand-reference-pack」などのユースケースに使用します。

ブランドリファレンスパック とは?

このスキルは、アプリの既存ブランドを体系的に記録し、コンテンツ制作やデザイン決定のための基盤となる「ブランドリファレンスパック」を作成します。目的は新たなフックやスクリプトを作ることではなく、アプリの現在の状態を客観的に観察・記録することです。対応プラットフォームはClaude Codeで、Webサイト、App Store、ソーシャルメディアといった公開サーフェス、実際のアプリをシミュレーター上で操作して得られるライブアプリの画面、そしてコードリポジトリから抽出したトークン(色、タイポグラフィ、シェイプなど)を組み合わせます。また、理想的な顧客プロファイル(ICP)、顧客の声、ブランドボイスの各基盤が存在するか確認し、実際のサーフェスと一致するかをチェックします。最終的に、これらすべての情報をマークダウン形式のパック、構造化トークンJSON、およびPDFレポートとして出力します。生成されたパックは、その後のスクリプト作成やデザイン作業の唯一の情報源として利用できます。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jamesisbuilding/App-Building-Skills/tree/main/skills/brand-reference-pack

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

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

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

ドキュメント

ブランドリファレンスパック は何をしますか?

パックはコンテキストであり、コンテンツではありません。 ブランドがすでに持っているもの(オーディエンス、ボイス、ビジュアルランゲージ、トークン、そして各主張の根拠となる画面やコピー)を記録します。これにより、後でフォーマット、スクリプト、デザインの判断をそれに基づいて行うことができます。パックにフック、スクリプト、シリーズは含めません。ソースがそれらを示唆する場合は、そのソースをメモし、決定はオープンのままにしておきます。

位置づけ:

上流(戦略) ──→ このスキル(観測されたブランド) ──→ 下流(フォーマット、スクリプト、リール)
ICP · VOC · ブランドボイス   サーフェスが表示/示すもの     スクリプト→リール、シェーダーラボ

このスキルはICP、顧客の声、ブランドボイスを確立しません。上流の成果物を見つけ、サーフェスをそれらと照合し、それぞれを確認済み / 推測 / 欠落としてマークします(パック§0)。ギャップは上流に戻します。ここでごまかさないでください。

ファイル:

  • template.md: パックのセクション構造。
  • scripts/: 汎用のキャプチャおよびレンダリングヘルパー。
  • apps/<app>/: アプリごとのフォルダ。URL、フローレシピ、癖、プロダクションルール、PDFレイアウトを含みます。
    • 最初に apps/<app>/README.md を読んでください。 新しいアプリの場合は、インテイク時に作成します。

以下のコマンドはこのスキルフォルダ(.claude/skills/brand-reference-pack/)からの相対パスで記述されており、出力パスはコマンドを実行する場所からの相対パスです。プロジェクトルートから実行し、scripts/ の前にスキルパスを付けてください。pack_pdf.py はスキルからの相対パスで設定を解決します。

0. インテイク(AskUserQuestion 1回、新規アプリのみ)

以下を収集します:

  • アプリ名
  • WebサイトURL
  • ソーシャルハンドル
  • App Store IDと国(該当する場合はPlayパッケージID)
  • アプリの実行方法:シミュレータービルド、TestFlight、ウェブアプリ、エミュレーター
  • コードリポジトリのパス(ある場合)
  • 既存のブランド、ICP、またはリサーチドキュメント
  • コアとなるフロー
  • プロダクションで禁止されていること
  • 出力フォルダ

回答を apps/<app>/README.md に書き込みます。

1. 基盤チェック(ICP、VOC、ブランドボイス)

各基盤について、上流の成果物(wikiやdocsフォルダ、リサーチデッキ、ブランドブック)を探します。

  • ICP: データまたはリサーチに裏付けられた、定義されたターゲット顧客。その確信度とサンプルサイズをメモします。
  • 顧客の声: インタビュー、レビュー、サポート、コミュニティからの顧客自身の言葉。ブランド自身のサイトにある推薦文は弱い証拠としてのみカウントされます。これらは厳選されています。
  • ブランドボイス: 文書化されたボイスガイドまたはコピールール。

それぞれをパックの§0テーブルに記録します。ステップ2~5を通じて、ライブサーフェスが成果物と一致するかを確認します。不一致は「未決定事項」に移動します。成果物が欠落している場合は、その旨を記載し、それを補完する上流の作業を指定します。サーフェスから基盤をでっち上げないでください。

2. 公開サーフェス(可能な限り並行して)

すべての主張には refs/ 内のファイルが必要です。

Webサイト:

node scripts/site.mjs <url> <brand>/refs/web

これにより、デスクトップとモバイルのフルスクリーンショットとヒーロースクリーンショット、さらに site-styles.json(フォント(フォントホストIDの背後にある実際の名前を含む)、色、画像、リンク、ページテキスト)が保存されます。フルページショットを約4つの部分に分割して読み取ります。

App Store:

node scripts/store.mjs <id> <brand>/refs/store [country]

これにより、掲載情報(公式のポジショニング)、ストアのスクリーンショット、および生のVOC素材としてのレビューが保存されます。

ソーシャル(内蔵ブラウザ内):

  • オプションのCookieは拒否します。
  • グリッド:各投稿の画像 src と alt を収集し、キャンバスに描画してページを置き換え、スクリーンショットを撮ります。
  • キャプション:各投稿ページの og:description を同一オリジンフェッチします。
  • ログアウト状態では、約12投稿しか取得できません。その旨を記載し、リールが重要な場合は、ユーザーにログインまたはエクスポートを依頼します。
  • リールを取得できる場合は、そのペース、キャプションスタイル、オーディオをメモします。
  • すべてを refs/<platform>/ に書き込みます。

既存のドキュメント: Exploreサブエージェントを使用して、オーディエンス、約束、用語、ボイスルール、主張をファイル引用付きで統合します。

3. コードトークン(リポジトリがある場合)

Exploreサブエージェントを使用して、アプリが使用するフレームワークのテーマを見つけます:

  • Flutter ThemeData と色定数
  • Tailwind config
  • CSS 変数
  • iOS アセットカタログ
  • Android colors.xml

また、フォント、半径、モーションの慣習、シェーダー、ロゴファイル、注目すべきUIコピーもカバーします。16進数は自分でスポットチェックします。色の役割、タイプスケール(1080×1920にスケーリング)、シェイプ、モーション、キャンバスを使用して tokens.json を書き込みます。

アプリ内コピー: UIコードからすべてのユーザー向け文字列を、ファイル:行とともにそのまま抽出し、ペルソナブレイン(ステップ7)に渡します:

python3 scripts/app_copy.py <src root> <persona>/raw/app-copy/app-copy-<date>.md <ui dirs/files…>

(Flutter: app/lib に pages widgets constants models enums main.dart; 他のスタックの場合は --ext=.tsx など。)ログ、キー、IDはフィルタリングされます。それでも、出力をざっと見て、ブレインに入る前に秘密情報がないか確認します。

4. ライブアプリウォーク

最も豊富な情報源です。ここで製品の実際のビジュアルおよびバーバル文法が現れます。

  • 最初に同意を得る: ランニングがプロダクションに書き込むもの(アカウント、アセスメント回答、生成レポート、完了)を正確に述べ、同意を得ます。ユーザーはすべてのサインアップとログインを行います。決して認証情報を入力したり、購読したり、AIコーチにメッセージを送信したりしないでください。
  • 監視と記録: シミュレーターパネル(mcp__Claude_Code_iOS_Simulator__control attach)をアタッチします。
    • バックグラウンドで xcrun simctl io <UDID> recordVideo --codec=h264 --force <file> を開始します。
    • サインイン中は停止し、その後新しいものを開始します。トリミングが不要になります。
    • pkill -INT -f recordVideo で停止します。
  • 座標ではなくアクセシビリティラベルで操作する: UDID=… OUT=<brand>/refs/app scripts/ui.sh tree|shot|label|tap|swipe|hold。
    • 新しい画面ごとに、その見出しにちなんでショットを撮ります。
    • アニメーションとCMSコピーが落ち着いてから撮影します。行がレンダリングされていない場合は「キャプチャされていません」とします。
    • ステージごとにコンタクトシート(PIL、数行)を作成し、各PNGではなくそれを読み取ります。
  • アプリのレシピ apps/<app>/README.md に従います。遭遇した新しい癖をそこに追加します。
  • オーディオ: シミュレーター録画にはオーディオがありません。アプリに音声やオーディオがある場合は、ユーザーにソースファイルを依頼します。
  • その後:
    • スクリーンショットをキャプチャ順に番号を付け直します。
    • refs/app-flow-sheet.jpg を構築します。
    • 録画を圧縮します: scale=540:-2,fps=30,crf 26。

5. パックを書く

template.md を <brand>/README.md に埋め込みます。

  • 見たものだけを引用します。
  • サーフェス間で不一致がある場合、最新のライブサーフェスが作業用のデフォルトとなり、不一致は「未決定事項」に移動します。
  • §0はステップ1から来ます。

6. 検証

新しいサブエージェントに、あなたの結論ではなく、READMEと refs/ フォルダを渡します。引用されたすべての行、16進数、主張をファイルと照合し、ソースのないものをリストアップするように依頼します。ハンドバックの前に各項目を修正またはマークします。

7. 出力

  • PDF: apps/<app>/pdf.json を書き込みます(GetAheadのものをコピー: カバー、フォント、アクセント、tokens.json を指すパレットグループ、見本行、スクリーンショットページ)。次に以下を実行します:
    python3 scripts/pack_pdf.py apps/<app>/pdf.json
    
    結果を pdftoppm -r 40 のコンタクトシートとして確認します。
  • ドキュメント: プロジェクトにwikiやdocsがある場合は、パックを独自の規則に従ってそこに保存します(ページ、インデックス、ログ、それが置き換えるページの矛盾フラグ)。
  • ペルソナブレイン: プロジェクトにペルソナブレインがある場合(例: persona/、スクリプト生成が話すブランド=人ブレイン)、アプリウォークのキャプチャをその raw/app-run-<date>/ にコピーし、アプリ内コピーを raw/app-copy/ にコピーします(ユーザーの同意を得て: raw/ はユーザーのものです)。その後、ブレイン自身のインゲストワークフロー(その CLAUDE.md)を実行します: ソースページ、コンセプトページ、アプリの行をそのまま使用したカード再構築。パックはブランドの見た目を記録し、ブレインはその話し方を記録します。スクリプトはブレインを利用します。
  • 送信: PDFとREADMEをSendUserFileで送信します。
  • 報告:
    • プロダクションに書き込まれたもの
    • キャプチャされなかったもの
    • 基盤のステータス
    • 未決定事項

Individual skills in this repo

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

app-icon-design

Create, revise, and audit app icons using Apple's Human Interface Guidelines, with a clear visual identity and production-ready deliverables.

app-keyword-research

Validate an app idea against the App Store before building it. Turns the idea into search phrases, measures demand (App Store autocomplete) and competition (current top-10 apps) for each, ranks keywords by opportunity, and maps which apps own the market. Use when the user wants keyword research, ASO, "is there demand for…", "who are the competitors for…", "what should we call it / which keywords", or to validate or compare app ideas.

app-offer

Designs one opinionated "Grand Slam Offer" for any app idea, new or already shipped, by running Alex Hormozi's $100M Offers method adapted to app stores. It covers the market and niche, the commodity check, a value-equation audit, the problem inventory, delivery vehicles, the trimmed value stack, pricing and tiers, scarcity, urgency, bonuses, the guarantee, naming, the paywall per placement, the onboarding fast win, a test plan and a ship plan. It works within App Store and Google Play rules. For a shipped app it reads the code and notes first and produces a before/after. Use it when the user says "/app-offer", "run app-offer on <idea>", "make a grand slam offer for my app", "Hormozi my app", "price my app" or "design my paywall offer", or asks how to package, price, name, guarantee or paywall an app. It writes offer/grand-slam-offer.md (or ./<app-slug>-grand-slam-offer.md for a new idea).

deep-work

Timekeeper and scribe for the user's own timeboxed build session, default 90 min, also 1h / 1.5h / 2h (Orient, Build, Verify, Harden, Close, scaled to the block). Use when the user says "start a session", "deep work", "90 min block", "work block", or invokes /deep-work. Subcommands: status, park <note>, close, abort.

new-app-info

Builds the information pack Apple asks for when App Review replies "We need additional information to better understand the app". It covers all six required items: (1) a screen recording on a physical device, as a shot list the user records; (2) the app's purpose and target audience; (3) setup and main features, with any login credentials or sample files; (4) the external services the app uses; (5) regional differences; (6) regulated industry or protected third-party material. It also runs Apple's "Prevent common issues" checks. Every answer comes from the app's own code (accounts, user-generated content, in-app purchases, SDKs, locales, screen-capture blocking, data deletion). It reads the connected iPhone's iOS version and checks it is the latest. It ends by telling the user to paste the reply into App Review Information → Notes. Use it when the user pastes that App Review message, says "/new-app-info", "we got rejected, they want more info", "answer App Review", or "make the App Store review pack". It w...

reel-motion-graphics

Turn a script or concept into an on-brand 9:16 explainer reel (luxury tech, warm sand on near-black, glassmorphism, CSS 3D, Bodoni + Instrument Sans) built in HyperFrames, with the animation above the fold and the presenter's talking head below. Use when the user gives a script, transcript, paper summary or concept and asks for a reel, motion graphics, an animated explainer or "the same style as the upcycling reel". Produces a HyperFrames project, a rendered MP4 and a live artifact player.

関連スキル