Community编程与开发github.com

品牌参考包

为任何应用从其实时表面——网站、App Store 列表和评论、社交媒体、真实应用(在模拟器上端到端驱动)及其代码标记——构建或刷新一个短格式品牌参考包,并附带上游基础(理想客户画像、客户声音、品牌声音)的状态检查。生成内容格式和设计决策所依据的上下文,输出为 Markdown、tokens.json 和 PDF。适用于“为 <应用> 构建品牌包”、“刷新品牌包”、“捕获网站/应用/社交媒体以生成短格式内容”、“/brand-reference-pack”。

品牌参考包 是什么?

这是一个用于构建或刷新短格式品牌参考包的 AI 助手技能。它旨在通过为开发者或 AI 代理用户提供一个结构化的“上下文”而非“内容”包,记录品牌已有的样子(受众、声音、视觉语言、标记以及每个声明所来源的屏幕和文案),以便后续可以基于此做出格式、脚本和设计决策。该技能支持对应用的多个真实表面进行自动捕获和分析,包括网站、App Store 列表与评论、社交媒体页面、模拟器上的真实应用以及代码仓库中的主题标记。它同时执行上游基础(理想客户画像、客户声音、品牌声音)的状态检查,将每个表面与这些基础进行核对,并标记为“已验证/推断/缺失”。输出包括一个结构化的 Markdown 文档、一个 tokens.json 文件(包含颜色角色、类型比例等)和一个 PDF。该技能设计用于 Claude Code 等环境,通过模拟器集成实现端到端的应用驱动,并使用子代理进行代码探索和事实核查。

兼容平台✓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 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

品牌参考包 是做什么的?

这个包是上下文,而不是内容。 它记录品牌已有的样子(受众、声音、视觉语言、标记以及每个声明所来源的屏幕和文案),以便后续可以基于此做出格式、脚本和设计决策。包内不包含钩子、脚本或系列。如果某个来源建议了一个,请注明来源并保持决策开放。

位置关系:

上游(策略)────────→ 此技能(观察到的品牌)────→ 下游(格式、脚本、短视频)
理想客户画像 · 客户声音 · 品牌声音    表面表达的内容       脚本到短视频、着色器实验室

此技能不建立理想客户画像、客户声音或品牌声音。它找到上游工件,根据它们检查表面,并将每个标记为已验证 / 推断 / 缺失(包 §0)。差距返回上游;不要在这里掩盖它们。

文件:

  • template.md:包的章节结构。
  • scripts/:通用的捕获和渲染辅助脚本。
  • apps/<app>/:每个应用一个文件夹,包含其URL、流程配方、 quirks、生产规则和PDF布局。
    • 首先阅读 apps/<app>/README.md。 对于新应用,在初始阶段创建它。

以下命令相对于此技能文件夹(.claude/skills/brand-reference-pack/)编写,输出路径相对于您运行它们的位置。从项目根目录运行,并用技能路径前缀 scripts/。pack_pdf.py 相对于技能解析其配置。

0. 初始阶段(仅新应用,一个 AskUserQuestion 轮次)

收集:

  • 应用名称。
  • 网站URL。
  • 社交媒体账号。
  • App Store ID 和国家(如果适用,Play 包 ID)。
  • 如何运行应用:模拟器构建、TestFlight、Web 应用或仿真器。
  • 代码仓库路径(如果有)。
  • 现有的品牌、理想客户画像或研究文档。
  • 哪个流程是核心流程。
  • 生产中哪些是禁止的。
  • 输出文件夹。

将答案写入 apps/<app>/README.md。

1. 基础检查(理想客户画像、客户声音、品牌声音)

对于每个基础,找到上游工件:Wiki 或文档文件夹、研究演示文稿、品牌手册。

  • 理想客户画像: 由数据或研究支持的定义目标客户。记录其置信度和样本量。
  • 客户声音: 来自访谈、评论、支持或社区的客户自己的话。品牌自己网站上的推荐仅算作弱证据:它们是经过策划的。
  • 品牌声音: 书面声音指南或文案规则。

将每个记录在包的 §0 表中。在步骤 2-5 中,检查实时表面是否与工件匹配。不匹配项放入开放式决策。如果某个工件缺失,请说明并指出填补它所需的上游工作;不要从表面凭空捏造基础。

2. 公开表面(尽可能并行)

每个声明都需要在 refs/ 中有一个文件。

网站:

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

这会保存桌面和移动端的完整页面截图和 hero 截图,以及 site-styles.json,其中包含字体(包括字体宿主 ID 背后的真实名称)、颜色、图片、链接和页面文本。将完整页面截图切成大约 4 部分以便阅读。

App Store:

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

这会保存列表(官方定位)、商店截图以及作为原始客户声音材料的评论。

社交媒体(在内置浏览器中):

  • 拒绝可选的 Cookie。
  • 网格:收集每个帖子的图片 src 和 alt,将其绘制到画布上,用其替换页面并截图。
  • 标题:同源抓取每个帖子页面 → og:description。
  • 未登录状态下,您只能获得大约 12 个帖子。请说明,如果短视频重要,要求用户登录或导出。
  • 如果您获得短视频,记录其节奏、标题风格和音频。
  • 将所有内容写入 refs/<platform>/。

现有文档: 使用 Explore 子代理综合受众、承诺、术语、声音规则和声明,并附上文件引用。

3. 代码标记(如果有仓库)

使用 Explore 子代理找到应用所使用的任何框架的主题:

  • Flutter ThemeData 和颜色常量
  • Tailwind 配置
  • CSS 变量
  • iOS 资源目录
  • Android colors.xml

还要覆盖字体、圆角、动效约定、着色器、Logo 文件和显著的 UI 文案。亲自抽查十六进制颜色。编写 tokens.json,包含颜色角色、类型比例(缩放到 1080×1920)、形状、动效和画布。

应用内文案: 从 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 中的应用配方。 将遇到的任何新 quirks 添加回其中。
  • 音频: 模拟器录制没有音频。如果应用有语音或音频,要求用户提供源文件。
  • 之后:
    • 按捕获顺序重新编号截图。
    • 构建 refs/app-flow-sheet.jpg。
    • 压缩录制文件:scale=540:-2,fps=30,crf 26。

5. 编写包

将 template.md 填充为 <brand>/README.md。

  • 只引用您看到的内容。
  • 如果表面之间存在分歧,最新的实时表面是工作默认值,分歧放入开放式决策。
  • §0 来自步骤 1。

6. 验证

将 README 和 refs/ 文件夹交给一个全新的子代理,不要告知您的结论。要求它对照文件检查每行引用的文案、十六进制颜色和声明,并列出任何没有来源的内容。在交回之前,修复或标记每个项目。

7. 输出

  • PDF: 编写 apps/<app>/pdf.json(复制 GetAhead 的:封面、字体、强调色、指向 tokens.json 的调色板组、字体样本行、截图页面)。然后运行:
    python3 scripts/pack_pdf.py apps/<app>/pdf.json
    
    将结果作为 pdftoppm -r 40 联系表检查。
  • 文档: 如果项目有 Wiki 或文档,将包按照其自身的约定归档到那里(页面、索引、日志、在其取代的页面上的冲突标记)。
  • 角色大脑: 如果项目有一个(例如 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.

相关技能