Capture Brand
A brand capture is evidence gathering first and design synthesis second. Build
an auditable kit that is enough to create a basic brand-inspired page, without
pretending to be the brand or copying protected product flows.
Workflow
Resolve the brand. If the user gave only a name, identify the official
domain before gathering assets. If the name is ambiguous, ask or present the
top candidates instead of guessing.
Prefer official evidence. Use user-provided guidelines/assets first,
then official brand, media, press, design-system, and website sources. Label
third-party sources as fallback evidence.
Capture the web surface. For a URL, run:
scripts/capture_web_brand.py https://example.com --out brand-capture
The script saves raw HTML/CSS, candidate assets, sources.md, and
tokens.raw.json. Use it as evidence, not as the final judgement. It
fetches with urllib (no JS execution), so on SPA or CSS-in-JS sites the
captured HTML/CSS is thin - expect to lean on rendered screenshots and
devtools inspection instead. For
Wayback or other archive URLs, prefer clean replay URLs such as if_ for
screenshots and inspection, and treat normal replay pages as potentially
contaminated by archive toolbar assets.
Inspect screenshots. Render with a real browser - playwright-cli (or
the Playwright MCP tools when available) - at roughly 1280px-wide desktop
and 390px-wide mobile viewports. Capture at least desktop and mobile when
the final deliverable is visual. Note responsive layout patterns and avoid
overfitting to one viewport.
Normalise the kit. Convert raw evidence into tokens.json,
brand-brief.md, and a local assets/ set. Keep unreviewed downloads under
raw/assets/candidates/; put only selected, renamed assets in
assets/{logos,icons,images,screenshots}. Cite the source for every major
colour, font, logo, image, and style claim.
Hand off a page brief. If the user wants a page recreation, produce a
neutral brand-inspired layout brief or implementation. Do not copy
trust-sensitive flows (login, payment, checkout, … - full list in
references/safety.md).
Verify. Check files open, sources are traceable, tokens.json is valid
JSON, local asset paths exist, fonts are usable or have fallbacks, and the
final page reads as inspired by the brand rather than a pixel copy.
Output Contract
Create or update a brand-capture/ folder following the layout in
references/token-schema.md (Folder contract).
tokens.json is the compact handoff file. brand-brief.md explains what to
use, what to avoid, confidence levels, and source citations. verification.md
records checks run and any remaining unknowns.
Use these confidence labels:
confirmed: observed in official guidelines or current official website
likely: inferred from repeated official evidence
fallback: from third-party source or weak official signal
unknown: not found or too ambiguous to call
Evidence Rules
- Never rely on memory for current logos, colours, or typography.
- Never treat image search as authoritative.
- Never use a third-party logo when an official current asset is available.
- Keep raw captures separate from the final curated assets.
- Preserve original filenames where useful, but rename curated assets by role
(
logo-primary.svg, favicon-32.png, og-image.png).
- If the brand uses a paid or proprietary font, record it and choose legal
fallbacks unless the user supplies licensed files.
- If an API or third-party source is useful, check its current docs and terms
during the task; do not assume cached endpoint behaviour.
Boundaries
Allowed: mood, palette, typography direction, spacing/radius/elevation cues,
logo placement in neutral contexts, and simple page/component styling.
Constrain or refuse: deceptive clones, fake affiliation, credential capture,
payment/account flows, exact replicas, counterfeit goods, impersonation, and
use of marks in ways that imply endorsement. When the user likely owns the
brand or provides official assets, continue but still keep source notes.
References
| Need |
Read |
| Source priority, ambiguity, third-party services, citation rules |
references/source-priority.md |
| Token schema and final folder contract |
references/token-schema.md |
| Trademark, copyright, phishing, and exact-copy boundaries |
references/safety.md |
| Turning the kit into a basic page without cloning |
references/frontend-handoff.md |
| Forward-test prompts and expected behaviours |
references/evals.md |
1---
2name: capture-brand
3description: >-
4 Captures a brand kit from a company or product name, domain, URL, website, or
5 brand-guidelines link: official source resolution, logos, favicons, social
6 images, screenshots, colours, typography, visual style notes, design tokens,
7 and a basic on-brand page brief. Use when the user asks to copy, capture,
8 match, recreate, clone the vibe of, extract tokens/assets from, or make a
9 page feel on-brand from a web link or just a brand name. Not for phishing,
10 fake affiliation, counterfeit pages, or exact replicas of protected flows.
11---
12
13# Capture Brand
14
15A brand capture is evidence gathering first and design synthesis second. Build
16an auditable kit that is enough to create a basic brand-inspired page, without
17pretending to be the brand or copying protected product flows.
18
19## Workflow
20
211. **Resolve the brand.** If the user gave only a name, identify the official
22 domain before gathering assets. If the name is ambiguous, ask or present the
23 top candidates instead of guessing.
242. **Prefer official evidence.** Use user-provided guidelines/assets first,
25 then official brand, media, press, design-system, and website sources. Label
26 third-party sources as fallback evidence.
273. **Capture the web surface.** For a URL, run:
28
29 ```bash
30 scripts/capture_web_brand.py https://example.com --out brand-capture
31 ```
32
33 The script saves raw HTML/CSS, candidate assets, `sources.md`, and
34 `tokens.raw.json`. Use it as evidence, not as the final judgement. It
35 fetches with urllib (no JS execution), so on SPA or CSS-in-JS sites the
36 captured HTML/CSS is thin - expect to lean on rendered screenshots and
37 devtools inspection instead. For
38 Wayback or other archive URLs, prefer clean replay URLs such as `if_` for
39 screenshots and inspection, and treat normal replay pages as potentially
40 contaminated by archive toolbar assets.
414. **Inspect screenshots.** Render with a real browser - `playwright-cli` (or
42 the Playwright MCP tools when available) - at roughly 1280px-wide desktop
43 and 390px-wide mobile viewports. Capture at least desktop and mobile when
44 the final deliverable is visual. Note responsive layout patterns and avoid
45 overfitting to one viewport.
465. **Normalise the kit.** Convert raw evidence into `tokens.json`,
47 `brand-brief.md`, and a local `assets/` set. Keep unreviewed downloads under
48 `raw/assets/candidates/`; put only selected, renamed assets in
49 `assets/{logos,icons,images,screenshots}`. Cite the source for every major
50 colour, font, logo, image, and style claim.
516. **Hand off a page brief.** If the user wants a page recreation, produce a
52 neutral brand-inspired layout brief or implementation. Do not copy
53 trust-sensitive flows (login, payment, checkout, … - full list in
54 `references/safety.md`).
557. **Verify.** Check files open, sources are traceable, `tokens.json` is valid
56 JSON, local asset paths exist, fonts are usable or have fallbacks, and the
57 final page reads as inspired by the brand rather than a pixel copy.
58
59## Output Contract
60
61Create or update a `brand-capture/` folder following the layout in
62`references/token-schema.md` (Folder contract).
63
64`tokens.json` is the compact handoff file. `brand-brief.md` explains what to
65use, what to avoid, confidence levels, and source citations. `verification.md`
66records checks run and any remaining unknowns.
67
68Use these confidence labels:
69
70- `confirmed`: observed in official guidelines or current official website
71- `likely`: inferred from repeated official evidence
72- `fallback`: from third-party source or weak official signal
73- `unknown`: not found or too ambiguous to call
74
75## Evidence Rules
76
77- Never rely on memory for current logos, colours, or typography.
78- Never treat image search as authoritative.
79- Never use a third-party logo when an official current asset is available.
80- Keep raw captures separate from the final curated assets.
81- Preserve original filenames where useful, but rename curated assets by role
82 (`logo-primary.svg`, `favicon-32.png`, `og-image.png`).
83- If the brand uses a paid or proprietary font, record it and choose legal
84 fallbacks unless the user supplies licensed files.
85- If an API or third-party source is useful, check its current docs and terms
86 during the task; do not assume cached endpoint behaviour.
87
88## Boundaries
89
90Allowed: mood, palette, typography direction, spacing/radius/elevation cues,
91logo placement in neutral contexts, and simple page/component styling.
92
93Constrain or refuse: deceptive clones, fake affiliation, credential capture,
94payment/account flows, exact replicas, counterfeit goods, impersonation, and
95use of marks in ways that imply endorsement. When the user likely owns the
96brand or provides official assets, continue but still keep source notes.
97
98## References
99
100| Need | Read |
101|---|---|
102| Source priority, ambiguity, third-party services, citation rules | `references/source-priority.md` |
103| Token schema and final folder contract | `references/token-schema.md` |
104| Trademark, copyright, phishing, and exact-copy boundaries | `references/safety.md` |
105| Turning the kit into a basic page without cloning | `references/frontend-handoff.md` |
106| Forward-test prompts and expected behaviours | `references/evals.md` |