使用Hyperframes的HTML模板制作复古像素风格的三场景视频,替换标题、标签和配色,同时保留场景转换节奏及可重复的动画时序。
- 制作像素风格的介绍视频
- 替换三场景视频中的内容
- 通过HTML预览场景转换
实测并整理公开网站的配色、字体、标志、图片和文风,制作品牌指南,并生成带有预览、可重复使用的设计系统。
Extract a complete Brand Kit from a live website by driving the in-app browser. Use when a brand-extraction project opens with a site in the Browser tab, or when the user asks to "extract a brand", "pull the brand from <url>", "get the colors/fonts/logo from this site", or build a brand/design system from a reference website. Pairs with the agent-browser tool for measurement and pauses for the user when an anti-bot wall blocks the page.
此技能在浏览器中查看公开网站,将配色、字体、标志、代表性图片和文风整理为品牌资料。它会实测页面结构和样式设置,而非仅凭视觉印象判断,并按背景、文字、强调色等用途分类颜色。它还会保存候选标志和大幅图片,生成供程序读取的brand.json及文字指南BRAND.md。
适合整理现有网站的品牌表达,或根据参考网站归纳设计标准。你可以通过brand.html查看整理进度。完成阶段还会生成明暗主题的设置值,以及落地页、幻灯片、邮件等形式的预览,供查看品牌元素的呈现效果。
需要具备应用内浏览器、agent-browser、od brand preview和od brand finalize的运行环境,并拥有文件写入权限。如果验证页面等阻碍浏览,会等待用户操作。使用已有品牌知识补充信息时,会注明信息来源于此。
本介绍由 AI(OpenAI Codex)根据公开的 SKILL.md 撰写。准确的规格请查看下方原文。
AI 仅根据 SKILL.md 的内容,从 4 个方面进行了评估。星标数和热度不计入评估。
总分按每项 A=25 分、B=15 分、C=5 分相加。 由 AI(OpenAI Codex)于 2026年10月20日 评估。仅供参考,安装前请同时查看原文。
安装前可以查看交给 AI 代理的指令内容。
Turn a live website into a complete, machine-consumable Brand Kit —
identity, semantic color palette, typography, voice — by measuring the real
page, not guessing from memory. This is the methodology behind a brand-extraction
project: the target site is open in a secondary in-app Browser tab, and you
drive it with the agent-browser tool.
brand.html)The extraction project opens with brand.html as the active tab — a
self-contained brand-kit page (template:
brand-extract/templates/brand-kit.html) that the daemon renders from
brand.json. The daemon pre-seeds it with a deterministic first paint — a
harvested logo, an approximate palette, font families, and a few cover images —
so it is NOT all-skeleton when it opens. Your job is to replace that seed with
measured truth and fill in the rest, progressively, so the user watches it
complete module by module. You never hand-edit it: you write brand.json, then
run od brand preview <brandId> and the daemon re-renders the page (the page
soft-reloads itself while extracting). Optimize for fast first paint and
progressive fill-in — write a partial brand.json and preview it the moment
you have a name, a couple of colors, and a logo, then preview again after each
field group rather than batching the whole kit to the end.
The trap to avoid: an LLM left alone regresses to the mean — Inter, an indigo accent, a purple gradient. That is off-brand for everyone. Every value you emit must trace to something you measured on the page.
Work in order. Skipping straight to writing brand.json is how off-brand,
hallucinated kits happen.
Use agent-browser against the selected browser tab (its URL/title are in
your run context — treat "this page" / "the site" as that tab):
agent-browser get url / get title to confirm the target.agent-browser snapshot before extracting anything.background, surface, foreground, muted, border, accent,
accent-secondary. The most frequent near-white/cream is usually the
background; the most frequent chromatic mid-saturation color is usually the
accent.@font-face names and font-family declarations for
display, body, and (if present) mono. Note weights actually used.logos/: the inline header/nav <svg> (write the
literal <svg>…</svg> markup verbatim to logos/header.svg — do not just
reference it), any <img> logo, apple-touch-icon, favicon, and
og:image. Fetch the asset URLs directly — never leave logo.primary
empty when the site has any mark. Set logo.primary to the best vector /
transparent lockup (SVG wordmark > apple-touch-icon > favicon > og:image)
and list the rest in logo.alternates; the kit page renders them as
switchable thumbnails. (The daemon auto-fetches a favicon/og:image fallback
into logos/ so the page is never logo-less, but that safety net is no
substitute for saving the real wordmark.)imagery/: the og:image/twitter:image social card, the
hero/banner art, the largest <img> (resolve the highest-res srcset /
<picture> source), CSS background-image hero blocks, product or app
screenshots, and illustration/photography samples. Filter by rendered
size — keep only big images (roughly ≥320px on the long edge) and drop
icons, sprites, logos, avatars, and tracking pixels. List them in
brand.json as imagery.samples (see shape below); the kit page renders
them as a clean labeled Images gallery (a thumbnail grid). Pick 6–8 varied,
on-brand images — never UI chrome or icons. (The daemon runs a deterministic
cover/hero-image fallback at finalize so the gallery is rarely empty, but
that safety net is no substitute for picking the real hero images.)fonts/.If the page is an anti-bot interstitial instead of the real site — Cloudflare
"Just a moment…", "Verify you are human", "Attention Required", DataDome,
PerimeterX, Incapsula — stop measuring and emit a <question-form> asking
the user to clear it by hand in the Browser tab:
<question-form id="cf-verify" title="Verify in the browser">
[
{
"id": "ready",
"type": "radio",
"label": "The site is behind a verification wall. Please complete the check in the Browser tab on the right, then choose Continue.",
"options": ["Continue — I cleared the wall", "Skip — extract from public knowledge instead"]
}
]
</question-form>
Then end the turn. When the user submits the form, re-run
agent-browser snapshot on the now-unblocked tab and resume measuring. Never
attempt to solve CAPTCHAs or bypass the wall yourself. If the user picks
"Skip", fall back to your knowledge of the brand's public identity and clearly
mark each such value (from brand knowledge) in its usage/notes.
Write brand.json into the project as soon as you have the name, a couple of
colors, and a logo candidate — do not wait for everything. Then run:
od brand preview <brandId>
This re-renders brand.html so the user immediately sees a real, on-brand page
forming. Then preview after each field group, do not batch to the end —
after you measure and add each of (a) colors, (b) typography/fonts, (c) logo
candidates, (d) cover/hero imagery samples, (e) voice & tone, (f) imagery /
layout posture, update brand.json and re-run od brand preview. Partial data
renders the filled modules with skeletons for the rest, which is exactly the
progressive "filling in" experience the user should watch.
brand.json — must parse as JSON, with this exact shape:
{
"name": "Acme",
"tagline": "one-line brand tagline",
"description": "2-3 sentences on what the company does",
"sourceUrl": "https://acme.com",
"logo": { "primary": "logos/<best candidate or null>", "alternates": ["logos/<others>"], "notes": "why this primary; usage" },
"colors": [
{ "role": "background", "hex": "#f5f4ed", "oklch": "oklch(96% 0.01 90)", "name": "Parchment", "usage": "page background" },
{ "role": "surface", "hex": "#ffffff", "oklch": "oklch(100% 0 0)", "name": "Card", "usage": "cards, panels" },
{ "role": "foreground", "hex": "#141413", "oklch": "oklch(17% 0.005 90)", "name": "Ink", "usage": "primary text" },
{ "role": "muted", "hex": "#87867f", "oklch": "oklch(60% 0.01 90)", "name": "Stone", "usage": "secondary text" },
{ "role": "border", "hex": "#e8e6dc", "oklch": "oklch(92% 0.01 90)", "name": "Hairline", "usage": "borders, dividers" },
{ "role": "accent", "hex": "#d97757", "oklch": "oklch(67% 0.13 40)", "name": "Terracotta", "usage": "CTAs, links" },
{ "role": "accent-secondary", "hex": "#3d7a4f", "oklch": "oklch(50% 0.09 150)", "name": "Moss", "usage": "success, secondary" }
],
"typography": {
"display": { "family": "Tiempos", "fallbacks": ["Georgia", "serif"], "weights": [400, 600], "notes": "headlines" },
"body": { "family": "Inter", "fallbacks": ["system-ui", "sans-serif"], "weights": [400, 500, 700], "googleFontsUrl": "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap" },
"mono": { "family": "JetBrains Mono", "fallbacks": ["monospace"], "weights": [400] }
},
"voice": { "adjectives": ["confident", "warm"], "tone": "how the brand speaks", "messagingPillars": ["pillar"], "vocabulary": { "use": ["words it uses"], "avoid": ["words it avoids"] } },
"imagery": {
"style": "one line", "subjects": ["typical subjects"], "treatment": "how images are treated", "avoid": ["clichés to avoid"],
"samples": [
{ "file": "imagery/hero.png", "kind": "hero", "caption": "Homepage hero" },
{ "file": "imagery/product.png", "kind": "product", "caption": "Product screenshot" }
]
},
"layout": { "radius": "12px", "borderWeight": "1px", "spacing": "8px baseline grid", "postureRules": ["3-5 observed posture rules"] }
}
Hard rules:
oklch() and say so in usage.family, put the closest Google Font first
in fallbacks, set googleFontsUrl, and note "stand-in for <face>".logos/<file> paths you saved; never pick a photographic
og:image as primary unless nothing else exists. Never leave logo.primary
empty when the site has any mark.imagery/
and reference them by their imagery/<file> path in imagery.samples; 6–8
varied, on-brand images filtered by rendered size — never icons or chrome.BRAND.md — a prose brand guide an autonomous design agent can follow
(visual theme, logo usage, color roles, typography, voice & tone, imagery,
component stylings, layout & spacing, depth, dos & don'ts, agent prompt guide).
Run the finalizer — it validates your brand.json, derives the
light/dark/compact design tokens and the brand-system artifacts (landing, deck,
poster, email, newsletter, form), and registers the brand as a reusable
user:<id> design system so it is selectable everywhere:
od brand finalize <brandId> --json
This self-hosts any Google Fonts you declared (so the Fonts specimen tiles —
a big "Ag" per family — and the kit render in the real typefaces), mirrors your
imagery/ samples into the brand so the Images gallery resolves, and
re-renders brand.html one last time with the status flipped to "Brand ready",
a Design system module (the live component kit
with a Light/Dark toggle plus the derived token chips — colorPrimary, fontSize,
borderRadius, …), and the six Brand Assets tiles (landing, deck, poster,
email, newsletter, form) lit up as live previews that each link to their full
system/artifacts/<kind>.html page. If finalize reports a validation error, fix
brand.json and run it again. Finish by pointing the user at the completed brand.html — the logo,
palette, typography, voice, and the assets they can now preview — and confirm
the brand was registered.
还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
使用Hyperframes的HTML模板制作复古像素风格的三场景视频,替换标题、标签和配色,同时保留场景转换节奏及可重复的动画时序。
为社交媒体广告和搜索广告撰写标题、说明及正文,并反复调整措辞。可用于准备广告文案备选版本,以及检查现有文案并考虑修改方案。
以深色背景和衬线字体制作时尚杂志风格的三页动态展示,结合文字逐步显现与章节转场,最终生成内嵌CSS和JavaScript的单个HTML文件。
通过浏览器查看页面,执行点击、输入、截图和信息提取。主要用于检查OpenDesign的本地预览,以及核查网页应用的运行情况与质量。
用于AI音乐专辑制作,涵盖概念构思、歌词初稿、曲目排序和导出,适合独立专辑实验或品牌音乐企划;完整制作流程需另行安装上游资源包。
使用p5.js,根据计算规则与随机数创作生成艺术。固定随机种子即可重现相同画面,适合制作海报、表现动感的静态图像和艺术构图草案。