adapting-formats
Resizes an existing image ad into the other shapes it has to run in — reads the ad first, then regenerates it at each ratio with…
Analyzes a brand from its own website — its colours and fonts, the logo and imagery it uses, how it sounds, who it sells to, the claims it makes, and what it sells. Reads the site and its pictures with a vision model, and marks anything the site doesn't evidence as unconfirmed
Claude Code
$ npx -y skills add SupercmoHQ/superCMO-skills --skill analyzing-brand --agent claude-code
Codex
$ npx skills add SupercmoHQ/superCMO-skills --skill analyzing-brand -a codex -y
Cursor
$ npx skills add SupercmoHQ/superCMO-skills --skill analyzing-brand -a cursor -y
Gemini CLI
$ npx skills add SupercmoHQ/superCMO-skills --skill analyzing-brand -a gemini-cli -y
GitHub Copilot
$ npx skills add SupercmoHQ/superCMO-skills --skill analyzing-brand -a github-copilot -y
OpenCode
$ npx skills add SupercmoHQ/superCMO-skills --skill analyzing-brand -a opencode -y
Windsurf
$ npx skills add SupercmoHQ/superCMO-skills --skill analyzing-brand -a windsurf -y
name: analyzing-brand description: Analyzes a brand from its own website — its colours and fonts, the logo and imagery it uses, how it sounds, who it sells to, the claims it makes, and what it sells. Reads the site and its pictures with a vision model, and marks anything the site doesn't evidence as unconfirmed rather than guessing. Facts only — nothing is generated, planned or judged here. Use when a brand's guidelines, palette, typography, voice, tone or positioning need establishing, or when another skill needs the brand before it plans or generates. license: Apache-2.0 metadata: version: "0.4.0" category: creative summary: "Works out your brand from your website — your colours, fonts and logo, how you sound, who you sell to, what you sell, and the claims you stand behind. Anything your site doesn't actually say is written down as unconfirmed rather than invented, so the skills that plan and make your ads work from your real brand."
Analyze what a brand is from its **website**. Not for analyzing a single product's facts — that is `analyzing-products` skill.
Read `brand.md` in `./supercmo-company`. Where it already holds this brand, hand it back and stop — re-researching bills again and tells the user nothing new. Carry on where it's missing, where it's a different brand, or where the user asked to re-analyze. A request for a detailed run of a brand already saved is a re-analysis too: run Step 3 again for a fresh screenshot (its link doesn't last), then Step 4 in detailed mode with the hero photos from `brand.md`'s Assets, and patch only what they add.
| What you have | What to do | | --- | --- | | A brand website | Carry on. | | A product page — Amazon, Shopify, a single listing | Wrong skill. Hand it to `analyzing-products`, and say which you used. | | Nothing, or a URL that won't load | Ask for the website. A brand described from memory is invented, not read. | | No mode named, by the caller or the brief | Run quick mode. Don't ask: detailed mode runs only when the caller or the user asks for it. |
**When another skill runs this one** (onboarding, a campaign plan), ask the user nothing: report a missing website or a site that couldn't be read back to that skill, and skip Step 6's hand-over — the calling skill gives the one reply.
Call `url_extraction` with the homepage as the `url` and **no `prompt` or `schema`**. It returns the page's own text in `data.markdown`, and beside it `branding` — the colours, fonts and logo the page actually renders — and `screenshot`, a picture of the page as a visitor first sees it. Read the brand's identity off the text yourself, as `references/reading-the-brand.md` lays out: the brand's name, what it sells, the logo, the tagline, how it writes, who it sells to, what sets it apart, and the proof it offers for it. `metadata.title` and `metadata.description` are the brand's own words too: use them where the text is thin. Keep `branding` and the screenshot for Step 4.
The read failed when the call returns `ok: false`, or when Step 4 finds the page is an error, login or bot-check page rather than the brand's own site — never just because there is little text. Then say the site couldn't be read, and handle it as Step 2's URL that won't load. Where the text is short or empty but the screenshot shows the brand's site, carry on: take the name from `metadata.title`, add "What does this screen show for sale?" to the screenshot's prompt, and don't ask the user.
Both modes run this step; they differ only in how many photographs they read. What the pictures give you that the page's markup can't is the brand's **photography style** — the art direction other skills need to generate something that looks like it belongs to this brand — and a check on `branding`.
screenshot and up to 9 photographs as entries in `requests`, so they are read at once rather than one after another. **Give every entry its own `prompt`** — with `requests`, a prompt beside them is ignored. Each picture is read on its own and billed on its own; put the style together from what they have in common.
The screenshot's prompt asks, in this order:
1. Is this an error, login or bot-check page rather than the brand's own site? Yes or no. A yes is a failed read (Step 3): stop, and use nothing from this call. 2. The photography style, in about 120 words: what kind of shots these are (product-only, lifestyle, on-model), how they're lit, framed and set, who's cast and how they're styled, the colour grading and mood, and what recurs versus what's never in frame. 3. The colours `branding` lists, given with their roles: which are the brand's own, and which belong to something embedded on the page, like a video player or a chat widget? A colour that doesn't show on this first screen still counts as the brand's — the page uses it further down. Where `branding` has none, or none are the brand's, the colours the page visibly uses, as hex codes. And what colour is the page's background? 4. The main headline and the body text: is the headline set inside a picture, and how does each look?
A photograph's prompt asks only question 2.
Where there is no screenshot and no photograph, there is no photography style to record; say so.
Write `brand.md` into `./supercmo-company`, from what Step 3 extracted and what Step 4 saw, in the order below. Create the folder where it doesn't exist. **Where there is no evidence for a section, write `unconfirmed — needs user input` and move on — never invent a fact, a number, a colour or a claim.**
| Section | What goes in it | | --- | --- | | Name | The brand'
Open-source skills that empower any AI agent (Claude, Cursor, Hermes, etc.) to generate end-to-end marketing campaigns - UGC videos, ad videos, product photography and more.
Resizes an existing image ad into the other shapes it has to run in — reads the ad first, then regenerates it at each ratio with…
Audits the ads a company is running itself — what's live now, what it has already stopped, and which have run longest. Watches…
Normalizes a product into generation-ready facts — from an e-commerce URL (a clean description plus curated product images) or…
Clones an existing video ad — reads a supplied reference ad, keeps its structure, pacing, shots, camera and hook, and rebuilds it…
Makes a product ad video — a product showcase with no one on screen, or a story or lifestyle commercial where a presenter or…
Generates one photorealistic person as a single image — an AI actor, influencer, presenter or model. The image is reusable, so…
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use…
Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…
Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…
Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…