SuperAPI AI 工具集

appshot-core

设计与创作

查看项目

更新于 10-16 02:04

技能介绍

Appshot Core 是 Appshot 系列技能的基础参考技能,所有 Appshot 技能在执行前都应先阅读此技能。它定义了整个 Appshot 项目的架构规范、原语库、配置模式、设备预设和商店要求,并负责从目标项目中提取应用上下文信息。

用途

Appshot Core 主要用于为 Appshot 的视频和图片生成技能提供统一的项目上下文基础。它通过自动化的提取流程,从应用代码库中收集应用身份、品牌颜色、图标、商店元数据、ASO 关键词、应用分类、屏幕结构、导航模式、UI 设计语言、功能特性、核心操作循环、价值主张和主题模式等信息,并将这些信息缓存到项目根目录的 .appshot-context.json 文件中,供后续技能使用。

主要能力

架构定义

Appshot Core 定义了基于 Remotion 4.0 + React 18 + Tailwind CSS 3.4 的项目架构。配置仅定义应用元数据和品牌信息,场景为自定义 .tsx 文件而非配置条目。每个项目有一个编排器组件(如 FooPreview.tsx),通过 Remotion 的 <Sequence> 和 <SceneWrap> 来编排自定义场景。所有原语都通过从配置的 BrandColors 派生的 brand prop 实现品牌感知。

项目上下文自动注入

技能会自动注入项目上下文,包括包清单(package.json、pubspec.yaml 或 app.json)、应用颜色文件、应用图标、商店元数据和 README 摘要。

提取与上下文缓存

appshot-videos 和 appshot-images 都使用此提取流程。结果缓存到 .appshot-context.json,因此每个项目只需提取一次。在扫描前会检查缓存文件是否存在,如果存在则加载并向用户展示摘要,询问是否仍然正确或需要重新扫描。

框架检测

按顺序检查标记文件,在第一个匹配处停止。支持的框架包括:Expo/React Native(app.json、app.config.ts、app.config.js)、Flutter(pubspec.yaml)、iOS Swift(.xcodeproj/、.xcworkspace/、Package.swift)、Android Kotlin/Java(AndroidManifest.xml、build.gradle.kts、build.gradle)、Next.js(next.config.js 等)、SvelteKit(svelte.config.js)、Nuxt(nuxt.config.ts 等)、Astro(astro.config.mjs 等)、Remix(remix.config.js 等)、Vite(vite.config.ts 等)。如果都不匹配,则记录未检测到框架并继续,用户可以通过口头描述应用。

应用身份提取

针对不同框架从相应文件中提取应用名称、描述/标语、Bundle ID 等信息。例如 Expo/React Native 从 app.json 的 expo.name、expo.description、expo.ios.bundleIdentifier 等字段提取;Flutter 从 pubspec.yaml 的 name、description 提取;iOS 从 Info.plist 的 CFBundleDisplayName、CFBundleName、CFBundleIdentifier 提取;Android 从 strings.xml 的 app_name 和 AndroidManifest.xml 的 package 属性提取;Web 框架从 package.json 的 name、description 以及布局文件中的 metadata 提取。

品牌颜色提取

搜索颜色定义文件,读取每个框架的第一个匹配项。Expo/React Native 搜索 src/theme.ts、src/colors.ts、tailwind.config.js 等;Flutter 搜索 lib/theme.dart、lib/theme/colors.dart、lib/main.dart 等;iOS 搜索 .xcassets/Colors/**/.colorset/Contents.json、Theme.swift、Colors.swift 等;Android 搜索 colors.xml、themes.xml、Color.kt 等;Web 框架搜索 tailwind.config.js、globals.css、theme.* 等。查找命名颜色导出(primary、secondary、background、surface、accent、success、danger/error)、十六进制字符串、rgb() 值。

应用图标查找

根据框架在相应位置查找应用图标,如 Expo/RN 的 app.json 中 expo.icon 字段、Flutter 的 mipmap-xxxhdpi/ic_launcher.png、iOS 的 AppIcon.appiconset 中最大的 .png、Android 的 mipmap-xxxhdpi/ic_launcher.png、Web 的 public/favicon.svg 等。

功能与商店元数据提取

从 Fastlane 元数据文件(iOS 的 description.txt、full_description.txt、subtitle.txt、keywords.txt;Android 的 full_description.txt、short_description.txt)、README.md 前 80 行、CLAUDE.md 中提取功能描述和商店元数据。

ASO 关键词提取

Apple 和 Google 现在可以通过视觉智能读取截图和视频中的文本。提取关键词列表以便叠加文本能自然融入高价值搜索词。主要来源是 fastlane/metadata/en-US/keywords.txt(逗号分隔),这是开发者自己的关键词策略,作为权威列表使用。如果没有 Fastlane 关键词,则从 App Store 副标题、商店描述、功能名称和应用分类信号中派生 8-12 个候选关键词。输出按重要性排序的关键词列表,包含单个词和短语,最多 12 个。

应用分类推断

根据提取的关键词、描述和功能名称推断应用分类,支持的习惯追踪、健身、金融、生产力、社交、教育、健康、旅行、美食、SaaS、电商、开发者工具、内容/出版、AI/ML、社区等分类。如果没有明确匹配,则标记为未分类,由用户澄清。

深度分析

超越身份和颜色,理解应用实际功能。包括:屏幕清单(扫描导航文件发现所有屏幕)、导航界面提取(标签栏、导航标题、状态栏样式、Home 指示器)、页面/路由清单(Web 应用)、着陆页分析(英雄标题、副标题、功能区块、CTA 文本、定价结构)、功能分析(每个屏幕显示的数据、用户可执行的操作、视觉亮点)、UI 模式提取(边框圆角、间距节奏、排版、按钮样式、卡片样式、图标库、特殊 UI 元素)、价值主张/差异化(解决的问题、与竞品的区别、情感承诺)、核心操作循环(用户每次打开应用最频繁的操作、需要多少步骤、完成后得到什么反馈)、主题检测(是否支持亮/暗模式、默认主题、是否仅暗色主题)。

保存上下文

提取并确认后,将结果保存到项目根目录的 .appshot-context.json 文件中,包含版本、提取时间、应用信息、品牌颜色、分类、主题、导航结构、屏幕列表、页面列表、着陆页信息、UI 模式、功能列表、核心操作、价值主张、关键词、截图信息、商店描述和来源信息。

使用方式

Appshot Core 作为基础参考技能,在执行 appshot-videos 或 appshot-images 之前阅读。它定义了提取流程和缓存机制,后续技能会调用这些提取结果。用户无需直接调用此技能,而是在使用 Appshot 系列技能时自动生效。

适用场景

适用于需要为移动应用或 Web 应用生成营销视频和图片的场景。通过自动提取应用的设计语言、品牌颜色、导航结构和功能特性,确保生成的模拟界面与真实应用的外观一致,提高营销素材的可信度。

限制

该技能依赖于项目中的特定文件结构和命名约定来提取信息。如果项目结构不标准或缺少相关文件,提取结果可能不完整。对于无法检测到框架的项目,需要用户口头描述应用信息。ASO 关键词提取在没有 Fastlane 关键词文件时依赖派生逻辑,可能不如开发者自己的关键词策略准确。