Visit the company’s primary domain. Extract enough brand information that any future build work can match their visual identity without a second pass.
Find the primary logo. Most sites have it in <header> as an <img> or an SVG. Capture the absolute URL. If it’s an inline SVG, save the SVG markup to branding/logo.svg in the working directory.
If there’s a separate dark-mode logo, capture both.
Pull the CSS or inspect computed styles to find:
Express each as a hex code. If you can’t reach the CSS, take a screenshot and infer the dominant colours visually — note in the output that the values are inferred.
Identify the font stack:
<h1>, <h2>.<p>.Pull from CSS font-family declarations or <link> tags pointing at Google Fonts / Adobe Fonts.
Quote three representative sentences from the homepage. Pick:
These are your evidence of brand voice. Don’t paraphrase, copy verbatim.
In one sentence, describe the brand voice based on the samples. Examples:
This sentence informs the report’s writing style in phase 5.
Some companies link to a brand guide, press kit, or media kit. If you find one, capture the URL and any explicit colour codes / fonts they specify. These override your inferred values.
Write branding.json into the working directory:
{
"company_name": "...",
"domain": "https://...",
"logo": {
"primary_url": "...",
"dark_mode_url": "..." | null,
"svg_inline": true | false
},
"palette": {
"primary": "#......",
"secondary": "#......",
"background": "#......",
"text": "#......",
"source": "css" | "inferred-from-screenshot"
},
"fonts": {
"heading": "...",
"body": "...",
"mono": "..." | null
},
"voice": {
"samples": [
{ "kind": "headline", "text": "..." },
{ "kind": "value_prop", "text": "..." },
{ "kind": "body", "text": "..." }
],
"tone_summary": "..."
},
"guidelines_url": "..." | null,
"captured_at": "YYYY-MM-DDTHH:MM:SSZ"
}
Also update working memory with brand: mirroring the JSON structure so phase 5 can theme the report.
Tell the user:
Captured your branding. Primary colour [hex], heading font [font], voice reads as [tone summary]. The report I’m about to generate will use these. If any of them are wrong, tell me now and I’ll re-pull.
Then move to phase 4.