Communitygithub.com

VXerys/brand-from-codebase

マーケティング動画、バナー、ソーシャル投稿で製品の実際のブランドと主張を使用する必要がある場合に、brand.md を作成・更新したり、実際のUI(Webサイト、Flutterアプリのスクリーンショット)を動画に取り込むため、またはストーリーボードのすべての主張にソース参照が必要な場合に使用します。

brand-from-codebase とは?

このスキルは、製品のソースコードリポジトリをブランドの唯一の信頼できる情報源として扱い、マーケティング資材で使用するための厳密なブランド情報抽出と維持管理を実現します。具体的には、リポジトリからブランドキットを `marketing-videos/<brand>/brand.md` ファイルに一度抽出します。各値には必ずソースファイルと行番号 (`file:line`) が付与され、ファイルは抽出時のコミットハッシュを記録するため、次回はスキャンし直すのではなく、差分のみを更新することで最新状態にリフレッシュできます。これにより、マーケティング担当者や動画制作チームは、常に製品の実際のブランドカラー、フォント、ロゴ、そして検証済みの主張(機能、価格、CTAなど)のみを使用し、架空の情報や古い情報、誤ったクレームを排除できます。このスキルは特にClaude Codeやその他のコーディングエージェント向けに設計されており、厳密な `brand.md` コントラクトに従って、ブランドの整合性を保ちながら効率的にマーケティング制作を支援します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/VXerys/claude-code-hq/tree/main/.claude/skills/brand-from-codebase

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

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

ドキュメント

Brand from codebase (コードベースからのブランド抽出)

概要

製品リポジトリがブランドに関する唯一の信頼できる情報源です。ブランドキットは marketing-videos/<brand>/brand.md に一度抽出され、すべての値にはそのソース file:line が付与されます。また、ファイルは読み取った時点のリポジトリコミットを記録するため、再読み取りではなくリフレッシュが可能です。

brand.md コントラクト

以下のセクションをこの順序で記述します。すべての値の末尾には、ソースとして (path:line) を付けます。

  1. Sources (ソース): リポジトリパス、ブランチ、リポジトリごとの git rev-parse --short HEAD、抽出日、およびパイプラインゲート G1 が読み取ってキットが古くなったことを検出するためのリポジトリごとの機械可読ブロック:
    ```refresh
    repo: <product-repo>
    ref: HEAD
    commit: c8fb26e
    paths: src/data/content.ts src/app/globals.css public/brand
    ```
    
    repo は D:\Projects 配下のフォルダ名です。git を使用していないリポジトリの場合は、ref と commit の代わりに mtime: <ISO date> を使用します。
  2. Identity (アイデンティティ): 製品名、一行でのポジショニング、タグライン、トーン(コピーファイルを引用し、言い換えないこと)。
  3. Color tokens (カラートークン): まずセマンティックブランドトークン(--color-brand-*、primary、AppColors.primary)を、次に補助トークンを記述します。サーフェス(landing vs app)ごとに異なる場合は、サーフェスごとに1つのテーブルを作成します。
  4. Typography (タイポグラフィ): サーフェスごとに記述します。ランディングページのフォントはアプリのフォントと異なることがよくあります。ルートレイアウトと、セクションレベルの fonts.ts の両方を確認します。
  5. Logos and imagery (ロゴと画像): ファイルパス、実際の製品レンダリングかストックフォトか(ストックフォトを実際のユーザーとして提示してはいけません)、およびそのライセンスまたはクレジットファイル。
  6. Allowed claims (許可される主張): 機能、モード、価格、CTAラベル、URL、連絡先。各項目は直接引用し、ソースを明記します。サンプルデータは SAMPLE(ダミー数値でのレンダリング)とマークし、動画で「Contoh」とラベル付けできるようにします。
  7. Forbidden claims (禁止される主張): もっともらしく聞こえるがソースがないものすべて:ユーザー数、収益、評価、推薦の言葉、パートナーロゴ、「terpercaya」、「#1」。
  8. Capture targets (キャプチャ対象): 本番環境とステージング環境のURL、キャプチャする価値のあるルート、アプリのスクリーンショットフォルダ、Play StoreのURL。
  9. Ambiguities (曖昧な点): 重複または競合するトークン、サイトとアプリで異なるコピー、他の場所のブリーフで使用されているがコードが矛盾している値。これらをユーザーにリストアップし、黙って解決しないでください。

抽出チェックリスト

探すもの一般的な場所
コピー、CTA、価格src/data/content.ts、src/content/*.ts、ランディングセクションコンポーネント、RELEASE_NOTES.md、docs/features/
Webトークンglobals.css @theme / :root、tailwind.config.*、palette.ts
Flutterトークンlib/core/constants/app_colors.dart、app_text_styles.dart、pubspec.yaml のフォント
フォントapp/layout.tsx (next/font)、セクション fonts.ts、pubspec.yaml
ロゴpublic/brand/、docs/brand/、assets/icons/brand/
URLsrc/ 全体で grep -rn "https://<brand-domain>"、metadataBase、site.ts、利用規約ページ

値を宣言して見つからないとする前に検索してください:ドメイン、CTAテキスト、トークン名を src/ 全体でgrepします。

.env*、.mcp.json、google-services.json、キーストア、および鍵やトークンはスキップします。それらの値をbrand.mdにコピーしないでください。

ソースリポジトリがチェックアウトされていない場合(クラウドセッション)

ゲートG1は brand_repo_absent を情報として報告し、G2はリポジトリの代わりにbrand.md内の正確な引用に対してすべての主張を検証します(claim_verified_brand_kit)。これは、brand.mdがコピーを path:line 付きで逐語的に引用している場合にのみ機能します。したがって、引用は文字通りに抽出し、決して言い換えないでください。brand.mdのリフレッシュにはリポジトリが必要です。ラップトップで行うか、製品リポジトリをクラウドセッションに追加し、MV_PROJECTS_ROOT をその親フォルダに設定してください。

リフレッシュルール

ゲートG1は、すべてのリフレッシュブロックに対して git -C <repo> log --oneline <commit>..<ref> -- <paths> を実行し、何か変更があった場合に brand_stale で失敗します。修正するには、変更されたファイルのみを再読み取りし、それらの行を更新し、ブロック内の commit を更新します。git以外のリポジトリは、ファイルの更新日時を mtime と比較します。

実際のUIのキャプチャ

プロダクトサーフェス方法
ライブWebサイト本番URLからのHyperFrames Webサイトキャプチャ(product-launch-video ルートでこれを行います)。ステージングは、ユーザーが機能が未リリースであると明示した場合のみ。
ローカル開発サーバーユーザーが未リリースの画面を要求した場合のみ。その画面をブリーフ内で未リリースとラベル付けします。
Flutterアプリ既存の実際のスクリーンショット(サイト screens/、Play Storeアセット)またはエミュレーターのスクリーンショット。デバイスフレームに配置します。
小さなアニメーション要素(CTAボタン、統計カード)brand.mdのトークンを使用してHTMLで再構築します。存在しない画面を発明しないでください。

ストーリーボードの主張参照

STORYBOARD.md内のすべての画面上の主張には、brand.mdのソースが付与されます。例: "Biaya layanan 2%" (<product-repo>/src/data/content.ts:212)。ソースのない主張はストーリーボードから削除され、緩和されません。

よくある間違い

  • 見つけた最初のネイビー(--navy-main)をセマンティックブランドトークン(--color-brand-navy)の代わりに選んでしまう。セマンティック名を優先し、もう一方を曖昧な点としてリストアップしてください。
  • ランディングページの動画にアプリのフォントを使用する、またはその逆。
  • 1つのファイルだけを確認した後でURLが「見つからない」と宣言する。
  • ストックフォトを顧客であるかのように表示する。

Individual skills in this repo

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

関連スキル