Domain
coreyhaines31/makerskills
When you want to brainstorm and check available .com domains for a new project — brand naming, aftermarket pricing (HugeDomains / Afternic / Sedo / Dan), USPTO trademark screening, and social handle…
Extract a complete Brand Kit from a live website by driving the in-app browser.
$ npx skills add nexu-io/open-design --skill brand-extract -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nexu-io/open-design brand-extract --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/nexu-io/open-design.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/brand-extract .claude/skills/brand-extract && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "brand-extract" agent skill from https://github.com/nexu-io/open-design/tree/main/skills/brand-extract into .claude/skills/brand-extract/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "brand-extract", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/nexu-io/open-design/tree/main/skills/brand-extractType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add nexu-io/open-design --skill brand-extract -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nexu-io/open-design brand-extract --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nexu-io/open-design.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/brand-extract .agents/skills/brand-extract && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "brand-extract" agent skill from https://github.com/nexu-io/open-design/tree/main/skills/brand-extract into .agents/skills/brand-extract/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "brand-extract", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nexu-io/open-design --skill brand-extract -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nexu-io/open-design brand-extract --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nexu-io/open-design.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/brand-extract .cursor/skills/brand-extract && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "brand-extract" agent skill from https://github.com/nexu-io/open-design/tree/main/skills/brand-extract into .cursor/skills/brand-extract/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "brand-extract", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/nexu-io/open-design.git --path skills/brand-extract--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add nexu-io/open-design --skill brand-extract -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nexu-io/open-design brand-extract --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nexu-io/open-design.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/brand-extract .gemini/skills/brand-extract && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "brand-extract" agent skill from https://github.com/nexu-io/open-design/tree/main/skills/brand-extract into .gemini/skills/brand-extract/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "brand-extract", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install nexu-io/open-design brand-extractInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add nexu-io/open-design --skill brand-extract -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nexu-io/open-design.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/brand-extract .github/skills/brand-extract && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "brand-extract" agent skill from https://github.com/nexu-io/open-design/tree/main/skills/brand-extract into .github/skills/brand-extract/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "brand-extract", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nexu-io/open-design --skill brand-extract -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nexu-io/open-design brand-extract --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nexu-io/open-design.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/brand-extract .opencode/skills/brand-extract && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "brand-extract" agent skill from https://github.com/nexu-io/open-design/tree/main/skills/brand-extract into .opencode/skills/brand-extract/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "brand-extract", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
brand-extractExtract a complete Brand Kit from a live website by driving the in-app browser.
Brand Extract is an agent skill from nexu-io/open-design. 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.
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files.
It sits in Productivity & Automation, covering Browser automation, Logo and visual identity and Brand strategy and identity. The repository describes itself as: 🎨 Best DeepSeek Harness Design Plugin. The open-source Claude Design alternative. 🖥️ Local-first desktop app. 🖼️ Your coding agent becomes the design engine: prototypes… The licence is Apache-2.0.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 17e2559. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash and json).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
acme.comfonts.googleapis.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Brand Extract loads about 3.1k tokens when it runs. Until then it costs about 114 tokens; SKILL.md has 1,261 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from nexu-io/open-design at commit 17e2559, republished under its Apache-2.0 licence (© nexu-io). 1,261 words, ~3,110 tokens.
.claude/skills/brand-extract/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.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> --jsonThis 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.
© nexu-io, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/brand-extract of nexu-io/open-design.
Open the folder on GitHubat commit 17e2559
Brand Extract next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Brand Extract this skillnexu-io/open-design | 100k | — | ~3.1k | Automated safety check: Pass | Apache-2.0 | |
| Domaincoreyhaines31/makerskills | 851 | — | ~5.8k | Automated safety check: Pass | MIT | |
| 22 Personal Brand Context Globalminhnv0807/ai-business-skills | 609 | — | ~2.8k | Automated safety check: Pass | MIT | |
| Experience Search Coordinateforcedotcom/sf-skills | 1.1k | — | ~5.8k | Automated safety check: Pass | Apache-2.0 | |
| Ecommerce Brandingnexscope-ai/eCommerce-Skills | 1.1k | — | ~589 | Automated safety check: Pass | MIT | |
| Brand and Design Toolkitnextlevelbuilder/ui-ux-pro-max-skill | 135k | 1 repos | ~3.5k | Automated safety check: Pass | MIT |
coreyhaines31/makerskills
When you want to brainstorm and check available .com domains for a new project — brand naming, aftermarket pricing (HugeDomains / Afternic / Sedo / Dan), USPTO trademark screening, and social handle…
minhnv0807/ai-business-skills
A skill your agent uses when starting work on a PERSONAL brand — a founder, coach, or creator, not a company: creates .agents/personal-brand-context-global.md covering story, expertise, audience…
forcedotcom/sf-skills
Searches for and retrieves existing content and media (articles, blogs, news, FAQs, events, products, images, logos, icons, photos, graphics, banners, hero images, audio clips, videos, documents)…
nexscope-ai/eCommerce-Skills
Build and strengthen your e-commerce brand identity. An agent skill from nexscope-ai/eCommerce-Skills.
nextlevelbuilder/ui-ux-pro-max-skill
Bundles design tasks behind one skill: brand identity, tokens, UI styling, logos, corporate identity mockups, slides, banners, icons and social images.
quran/quran.com-frontend-next
Automates browser interactions for web testing, form filling, screenshots, and data extraction.
nexu-io/open-design
Turns raw notes into a talk-ready slide outline with per-page image, diagram or video decisions, then checks the rendered deck against that outline.
nexu-io/open-design
Produces a cited Markdown briefing on recent community sentiment and social reaction to a topic, labeling every source it could not actually check.
nexu-io/open-design
Helps newcomers contribute to OpenDesign: ship a skill or design system, translate docs, fix docs or report a bug, ending in a pull request or issue.
nexu-io/open-design
Turns a chat transcript or screenshot into a configurable animated chat clip, rendered as a Remotion bundle with optional transparency.
nexu-io/open-design
Team-management dashboard skill in the FlowAI aesthetic — three tabs (Team Members, Team Details, Activity Log), KPI stat row, member table, role distribution bar chart, online presence and activity…
nexu-io/open-design
Create, repair, validate, preview, and package Codex-compatible animated pet spritesheets from character art, screenshots, generated images, or visual references.
Categories
Extract a complete Brand Kit from a live website by driving the in-app browser. Brand Extract is an agent skill from nexu-io/open-design. Extract a complete Brand Kit from a live website by driving the in-app browser.
Brand Extract fits situations like: A brand-extraction project opens with a site in the Browser tab; the user asks to extract a brand; pull the brand from <url; get the colors/fonts/logo from this site.
Run `npx skills add nexu-io/open-design --skill brand-extract -a claude-code`. Or copy the skill folder (skills/brand-extract in nexu-io/open-design) into .claude/skills/brand-extract in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nexu-io/open-design --skill brand-extract -a codex`. Or copy the skill folder (skills/brand-extract in nexu-io/open-design) into .agents/skills/brand-extract in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nexu-io/open-design --skill brand-extract -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/brand-extract, .gemini/skills/brand-extract, .github/skills/brand-extract and .opencode/skills/brand-extract in your project.
SKILL.md names no scripts, command-line tools or credentials: Brand Extract is instructions for the agent only.
SKILL.md names 2 domains. In commands or code: acme.com and fonts.googleapis.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Brand Extract is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Brand Extract: Domain (coreyhaines31/makerskills, 851 stars), 22 Personal Brand Context Global (minhnv0807/ai-business-skills, 609 stars), Experience Search Coordinate (forcedotcom/sf-skills, 1.1k stars) and Ecommerce Branding (nexscope-ai/eCommerce-Skills, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
nexu-io (a GitHub organization) maintains it in nexu-io/open-design, which has 100,280 GitHub stars. The repository holds 245 skills in this directory. The repository was last updated on October 10, 2026.
Source: nexu-io/open-design on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.