Higgsfield Brandkit
Build a coherent identity and its requested applications. Treat supplied brand facts and official assets as fixed constraints.
Bootstrap
Resolve SKILL_ROOT to this skill's installed directory and create a durable project directory:
BRANDKIT_WORKDIR="${PWD}/brandkit"
BRANDKIT_STATE="${BRANDKIT_WORKDIR}/state.json"
mkdir -p "${BRANDKIT_WORKDIR}"
Read prerequisites. Check tools before the stage that needs them. Never install system packages without the user's permission.
If higgsfield is missing, install it only after permission:
curl -fsSL https://raw.githubusercontent.com/higgsfield-ai/cli/main/install.sh | sh
If higgsfield account status fails with an authentication or workspace error, ask the user to run higgsfield auth login or select a workspace, then wait.
Inspect live model contracts before paid generation:
higgsfield model get recraft_v4_1 --json
higgsfield model get seedream_v5_pro --json
higgsfield model get gpt_image_2 --json
CLI mapping
| Operation |
Command |
| Discover a model |
higgsfield model get <model> --json |
| Generate and poll |
higgsfield generate create <model> ... --wait --json |
| Resume a job |
higgsfield generate wait <job_id> --json |
| Upload a local asset |
higgsfield upload create <path> --json |
| Import website metadata |
higgsfield marketing-studio brand-kits fetch --url <url> --wait --json |
| Read/write approval state |
python3 "$SKILL_ROOT/scripts/brandkit.py" state ... |
| Render review boards |
python3 "$SKILL_ROOT/scripts/brandkit.py" preview ... |
| Inspect selected logo |
python3 "$SKILL_ROOT/scripts/brandkit.py" logo-inspect ... |
| Export logo files |
python3 "$SKILL_ROOT/scripts/brandkit.py" logo-export ... |
| Build a Brandbook |
python3 "$SKILL_ROOT/scripts/brandkit.py" brandbook-build ... |
Local image paths passed with --image are auto-uploaded. Keep HTML, SVG, PPTX, and PDF deliverables as local project files unless the user explicitly needs a hosted copy.
User-facing behavior
- Match the user's language. Keep Design Brain reasoning, prompts, state mechanics, scripts, model lookup, and QA internals private.
- Send at most one short status sentence per visible generation batch, then stay quiet until the result is ready.
- Ask one compact set of only unresolved blocking questions. Never repeat facts or force a complete identity questionnaire for a partial task.
- After each palette, logo, typography, or downstream review, stop and wait for ordinary user feedback.
- Never infer approval from silence, successful generation, or your own preference.
- Preserve exact user copy. Never invent positioning, values, claims, ingredients, prices, certifications, statistics, or regulatory content.
Core workflow
Classify the request.
apply-existing: use supplied official assets without redesigning them.
extend-partial: create only missing slots required by the requested output.
create-identity: create a new logo or identity only when explicitly requested.
Read state. Run:
python3 "$SKILL_ROOT/scripts/brandkit.py" state \
--state-file "$BRANDKIT_STATE" --action get_status
Local state is durable. Never paste, hand-edit, or recreate approvals when the state file exists.
Run intake and asset analysis. Read intake, asset analysis, state routing, and exact state payloads. Lock every user-declared official logo, palette, and typography slot immediately.
Create the Brand Lock. Read Brand Lock. Record exact spelling, official assets, colors, fonts, layout/shape rules, requested outputs, and forbidden treatments.
Require only the slots the output uses.
- logo-only → palette + logo for a new mark; official logo alone for an existing mark
- palette-only → palette
- typography-only → typography
- copy-free mockup/merch → logo; add palette only when color/application requires it
- text-bearing social/packaging/poster/signage → logo + palette + typography
- Brandbook/deck → logo + palette + typography
Build missing foundation slots. Read Design Brain, concept boards, inline reviews, and only the needed palette, logo, or typography module.
Continue the original request as soon as its required slots are approved. Never ask the user to choose scope again.
Load only the requested production module:
- mockups
- social graphics
- posters/banners
- packaging
- signage
- merchandise
- presentation decks
- Brandbooks
QA and approval. Read QA and iteration. Repair only the failing output. Save a downstream element only after explicit approval with its exact foundation dependencies.
New identity sequence
1. Palette
Render 2–3 exact palette options as deterministic HTML using preview payloads. Show PNG screenshots plus editable HTML files and wait. Persist the selected palette with approve_palette before logo generation.
2. SVG logo marks
Read logo prompt enhancer. Produce exactly three distinct symbol-only mechanisms and one Recraft prompt for each. Write each long prompt to a file and submit separately:
higgsfield generate create recraft_v4_1 \
--model_type vector \
--colors @"${BRANDKIT_WORKDIR}/logo-colors.json" \
--background_color '#F7F7F5' \
--aspect_ratio 1:1 \
--resolution 2k \
--wait --json < "${BRANDKIT_WORKDIR}/logo-candidate-1.txt"
Use the returned SVG URLs directly for review. After selection, inspect the exact SVG without altering it:
python3 "$SKILL_ROOT/scripts/brandkit.py" logo-inspect \
--source "<selected Recraft SVG URL or absolute local path>"
Persist the exact job ID, SVG URL, name, palette revision, and returned canonical geometry fingerprint with approve_logo.
3. Typography
Propose 2–3 unique display/body pairs using supplied fonts or verified Google Fonts. Render the real brand name and sample copy through the preview script. Persist only the selected pair with approve_typography.
Interactive flows always stop for palette, logo, and typography selections. Explicit no-question mode may choose and persist a palette, but it still shows all three SVG logo candidates and stops for the user's logo selection; exact brand marks are never self-approved.
Consistency invariants
- Reuse the same approved logo source everywhere. Never redraw an official or selected SVG when deterministic placement/export is possible.
- A generated logo depends on the palette revision used to create it. Changing that palette invalidates the generated logo and its dependents; changing typography does not invalidate the symbol mark.
- Changing a foundation slot invalidates only downstream elements that list that slot in
required_slots.
- Copy the same Brand Lock values into every related generation prompt: exact hex, font roles, shape language, placement, clear space, composition, and forbidden treatments.
- Use Recraft V4.1 vector mode only for new logo marks.
- Use Seedream as the primary photoreal mockup generator. Use GPT Image 2 only for the controlled stage that adds readable text or exact graphic details.
- Use local deterministic SVG/PPTX/HTML construction for exact copy and editable layouts. Do not ask an image model to fake editable files.
- Do not promise native Figma, Canva, PSD, AI, or EPS files.
Deterministic scripts
Create JSON input files under "$BRANDKIT_WORKDIR"; never interpolate user text directly into shell arguments.
python3 "$SKILL_ROOT/scripts/brandkit.py" preview \
--input "$BRANDKIT_WORKDIR/reviews.json" \
--output-dir "$BRANDKIT_WORKDIR/reviews"
python3 "$SKILL_ROOT/scripts/brandkit.py" logo-export \
--input "$BRANDKIT_WORKDIR/logo-export.json" \
--output-dir "$BRANDKIT_WORKDIR/logo"
python3 "$SKILL_ROOT/scripts/brandkit.py" brandbook-build \
--state-file "$BRANDKIT_STATE" \
--input "$BRANDKIT_WORKDIR/brandbook.json" \
--output-dir "$BRANDKIT_WORKDIR/brandbook"
For logo export, load logo export payloads. For Brandbooks, use the bundled builder only; never substitute an improvised PowerPoint or PDF generator after a deterministic contract failure.
Failure policy
- Retry a failed Recraft or image-generation request once with the same locked concept and corrected contract. Stop after the second equivalent failure.
- If preview or logo export fails twice, report the concrete error; never replace it with ad-hoc SVG rewriting.
- If the Brandbook template, font, or conversion contract fails, stop immediately. Do not produce a visually different fallback and call it canonical.
- If exact typography or official-logo fidelity cannot be preserved, disclose the limitation instead of claiming completion.
- Never expose raw auth tokens or credentials in files, logs, or chat.
Delivery
For Brandbooks, follow the strict response contract in brandbook: PPTX link/path, PDF link/path, and font-install warning only.
For other outputs return:
- The requested visual files and previews.
- A compact Brand Lock summary.
- Editable versus flattened format labels.
- Required-font/import limitations.
- Stable variant names for targeted revisions.
Reference index
- Prerequisites — stage-specific local dependencies and install commands.
- Intake — minimal questions and input routing.
- Asset analysis — official/reference classification and measurement.
- State routing and state payloads — persistent approvals.
- Brand Lock — canonical visual constraints.
- Design Brain — private art direction.
- Concept boards, preview payloads, and inline reviews — selection stages.
- Logo, logo prompt enhancer, and logo export payloads — SVG generation and deterministic variants.
- Palette and typography — foundation slots.
- Mockups, social graphics, posters/banners, packaging, signage, and merchandise — applications.
- Presentation decks and Brandbooks — editable documents.
- QA and iteration — preflight, repair, approval, and delivery manifest.
1---2name: higgsfield-brandkit3description: Create and extend complete visual brand systems through the Higgsfield CLI and bundled deterministic local tooling: palettes, SVG logo marks, typography, mockups, social graphics, packaging, signage, merchandise, posters, presentation decks, and editable PPTX/PDF brandbooks. Preserves official supplied assets, persists approvals locally, and regenerates only dependent outputs. Use when: "create a brand kit", "make a visual identity", "design a logo and brandbook", "apply this logo to branded assets", "make packaging or signage", or "extend our existing branding". Chain with higgsfield-generate for general image production and Marketing Studio brand-kits when importing website metadata for ads. NOT for unbranded image generation (use higgsfield-generate), product catalog photography (use higgsfield-product-photoshoot), website implementation (use higgsfield-websites), or native Figma/Canva/PSD/AI delivery.4---5
6# Higgsfield Brandkit
7
8Build a coherent identity and its requested applications. Treat supplied brand facts and official assets as fixed constraints.
9
10## Bootstrap
11
121. Resolve `SKILL_ROOT` to this skill's installed directory and create a durable project directory:
13
14 ```bash
15 BRANDKIT_WORKDIR="${PWD}/brandkit"
16 BRANDKIT_STATE="${BRANDKIT_WORKDIR}/state.json"
17 mkdir -p "${BRANDKIT_WORKDIR}"
18 ```
19
202. Read [prerequisites](references/prerequisites.md). Check tools before the stage that needs them. Never install system packages without the user's permission.
213. If `higgsfield` is missing, install it only after permission:
22
23 ```bash
24 curl -fsSL https://raw.githubusercontent.com/higgsfield-ai/cli/main/install.sh | sh
25 ```
26
274. If `higgsfield account status` fails with an authentication or workspace error, ask the user to run `higgsfield auth login` or select a workspace, then wait.
285. Inspect live model contracts before paid generation:
29
30 ```bash
31 higgsfield model get recraft_v4_1 --json
32 higgsfield model get seedream_v5_pro --json
33 higgsfield model get gpt_image_2 --json
34 ```
35
36## CLI mapping
37
38| Operation | Command |
39|---|---|
40| Discover a model | `higgsfield model get <model> --json` |
41| Generate and poll | `higgsfield generate create <model> ... --wait --json` |
42| Resume a job | `higgsfield generate wait <job_id> --json` |
43| Upload a local asset | `higgsfield upload create <path> --json` |
44| Import website metadata | `higgsfield marketing-studio brand-kits fetch --url <url> --wait --json` |
45| Read/write approval state | `python3 "$SKILL_ROOT/scripts/brandkit.py" state ...` |
46| Render review boards | `python3 "$SKILL_ROOT/scripts/brandkit.py" preview ...` |
47| Inspect selected logo | `python3 "$SKILL_ROOT/scripts/brandkit.py" logo-inspect ...` |
48| Export logo files | `python3 "$SKILL_ROOT/scripts/brandkit.py" logo-export ...` |
49| Build a Brandbook | `python3 "$SKILL_ROOT/scripts/brandkit.py" brandbook-build ...` |
50
51Local image paths passed with `--image` are auto-uploaded. Keep HTML, SVG, PPTX, and PDF deliverables as local project files unless the user explicitly needs a hosted copy.
52
53## User-facing behavior
54
55- Match the user's language. Keep Design Brain reasoning, prompts, state mechanics, scripts, model lookup, and QA internals private.
56- Send at most one short status sentence per visible generation batch, then stay quiet until the result is ready.
57- Ask one compact set of only unresolved blocking questions. Never repeat facts or force a complete identity questionnaire for a partial task.
58- After each palette, logo, typography, or downstream review, stop and wait for ordinary user feedback.
59- Never infer approval from silence, successful generation, or your own preference.
60- Preserve exact user copy. Never invent positioning, values, claims, ingredients, prices, certifications, statistics, or regulatory content.
61
62## Core workflow
63
641. **Classify the request.**
65 - `apply-existing`: use supplied official assets without redesigning them.
66 - `extend-partial`: create only missing slots required by the requested output.
67 - `create-identity`: create a new logo or identity only when explicitly requested.
682. **Read state.** Run:
69
70 ```bash
71 python3 "$SKILL_ROOT/scripts/brandkit.py" state \
72 --state-file "$BRANDKIT_STATE" --action get_status
73 ```
74
75 Local state is durable. Never paste, hand-edit, or recreate approvals when the state file exists.
763. **Run intake and asset analysis.** Read [intake](references/intake.md), [asset analysis](references/asset-analysis.md), [state routing](references/handoff.md), and [exact state payloads](references/state-payloads.md). Lock every user-declared official logo, palette, and typography slot immediately.
774. **Create the Brand Lock.** Read [Brand Lock](references/brand-lock.md). Record exact spelling, official assets, colors, fonts, layout/shape rules, requested outputs, and forbidden treatments.
785. **Require only the slots the output uses.**
79 - logo-only → palette + logo for a new mark; official logo alone for an existing mark
80 - palette-only → palette
81 - typography-only → typography
82 - copy-free mockup/merch → logo; add palette only when color/application requires it
83 - text-bearing social/packaging/poster/signage → logo + palette + typography
84 - Brandbook/deck → logo + palette + typography
856. **Build missing foundation slots.** Read [Design Brain](references/brandkit-design-brain.md), [concept boards](references/concept-boards.md), [inline reviews](references/inline-widgets.md), and only the needed [palette](references/palette.md), [logo](references/logo.md), or [typography](references/typography.md) module.
867. **Continue the original request** as soon as its required slots are approved. Never ask the user to choose scope again.
878. **Load only the requested production module:**
88 - [mockups](references/mockups.md)
89 - [social graphics](references/social-templates.md)
90 - [posters/banners](references/posters-banners.md)
91 - [packaging](references/packaging.md)
92 - [signage](references/signage.md)
93 - [merchandise](references/merchandise.md)
94 - [presentation decks](references/presentation-deck.md)
95 - [Brandbooks](references/brandbook.md)
969. **QA and approval.** Read [QA and iteration](references/qa-and-iteration.md). Repair only the failing output. Save a downstream element only after explicit approval with its exact foundation dependencies.
97
98## New identity sequence
99
100### 1. Palette
101
102Render 2–3 exact palette options as deterministic HTML using [preview payloads](references/preview-payloads.md). Show PNG screenshots plus editable HTML files and wait. Persist the selected palette with `approve_palette` before logo generation.
103
104### 2. SVG logo marks
105
106Read [logo prompt enhancer](references/logo-prompt-enhancer.md). Produce exactly three distinct symbol-only mechanisms and one Recraft prompt for each. Write each long prompt to a file and submit separately:
107
108```bash
109higgsfield generate create recraft_v4_1 \
110 --model_type vector \
111 --colors @"${BRANDKIT_WORKDIR}/logo-colors.json" \
112 --background_color '#F7F7F5' \
113 --aspect_ratio 1:1 \
114 --resolution 2k \
115 --wait --json < "${BRANDKIT_WORKDIR}/logo-candidate-1.txt"
116```
117
118Use the returned SVG URLs directly for review. After selection, inspect the exact SVG without altering it:
119
120```bash
121python3 "$SKILL_ROOT/scripts/brandkit.py" logo-inspect \
122 --source "<selected Recraft SVG URL or absolute local path>"
123```
124
125Persist the exact job ID, SVG URL, name, palette revision, and returned canonical geometry fingerprint with `approve_logo`.
126
127### 3. Typography
128
129Propose 2–3 unique display/body pairs using supplied fonts or verified Google Fonts. Render the real brand name and sample copy through the preview script. Persist only the selected pair with `approve_typography`.
130
131Interactive flows always stop for palette, logo, and typography selections. Explicit no-question mode may choose and persist a palette, but it still shows all three SVG logo candidates and stops for the user's logo selection; exact brand marks are never self-approved.
132
133## Consistency invariants
134
135- Reuse the same approved logo source everywhere. Never redraw an official or selected SVG when deterministic placement/export is possible.
136- A generated logo depends on the palette revision used to create it. Changing that palette invalidates the generated logo and its dependents; changing typography does not invalidate the symbol mark.
137- Changing a foundation slot invalidates only downstream elements that list that slot in `required_slots`.
138- Copy the same Brand Lock values into every related generation prompt: exact hex, font roles, shape language, placement, clear space, composition, and forbidden treatments.
139- Use Recraft V4.1 vector mode only for new logo marks.
140- Use Seedream as the primary photoreal mockup generator. Use GPT Image 2 only for the controlled stage that adds readable text or exact graphic details.
141- Use local deterministic SVG/PPTX/HTML construction for exact copy and editable layouts. Do not ask an image model to fake editable files.
142- Do not promise native Figma, Canva, PSD, AI, or EPS files.
143
144## Deterministic scripts
145
146Create JSON input files under `"$BRANDKIT_WORKDIR"`; never interpolate user text directly into shell arguments.
147
148```bash
149python3 "$SKILL_ROOT/scripts/brandkit.py" preview \
150 --input "$BRANDKIT_WORKDIR/reviews.json" \
151 --output-dir "$BRANDKIT_WORKDIR/reviews"
152
153python3 "$SKILL_ROOT/scripts/brandkit.py" logo-export \
154 --input "$BRANDKIT_WORKDIR/logo-export.json" \
155 --output-dir "$BRANDKIT_WORKDIR/logo"
156
157python3 "$SKILL_ROOT/scripts/brandkit.py" brandbook-build \
158 --state-file "$BRANDKIT_STATE" \
159 --input "$BRANDKIT_WORKDIR/brandbook.json" \
160 --output-dir "$BRANDKIT_WORKDIR/brandbook"
161```
162
163For logo export, load [logo export payloads](references/logo-export-payloads.md). For Brandbooks, use the bundled builder only; never substitute an improvised PowerPoint or PDF generator after a deterministic contract failure.
164
165## Failure policy
166
167- Retry a failed Recraft or image-generation request once with the same locked concept and corrected contract. Stop after the second equivalent failure.
168- If preview or logo export fails twice, report the concrete error; never replace it with ad-hoc SVG rewriting.
169- If the Brandbook template, font, or conversion contract fails, stop immediately. Do not produce a visually different fallback and call it canonical.
170- If exact typography or official-logo fidelity cannot be preserved, disclose the limitation instead of claiming completion.
171- Never expose raw auth tokens or credentials in files, logs, or chat.
172
173## Delivery
174
175For Brandbooks, follow the strict response contract in [brandbook](references/brandbook.md): PPTX link/path, PDF link/path, and font-install warning only.
176
177For other outputs return:
178
1791. The requested visual files and previews.
1802. A compact Brand Lock summary.
1813. Editable versus flattened format labels.
1824. Required-font/import limitations.
1835. Stable variant names for targeted revisions.
184
185## Reference index
186
187- [Prerequisites](references/prerequisites.md) — stage-specific local dependencies and install commands.
188- [Intake](references/intake.md) — minimal questions and input routing.
189- [Asset analysis](references/asset-analysis.md) — official/reference classification and measurement.
190- [State routing](references/handoff.md) and [state payloads](references/state-payloads.md) — persistent approvals.
191- [Brand Lock](references/brand-lock.md) — canonical visual constraints.
192- [Design Brain](references/brandkit-design-brain.md) — private art direction.
193- [Concept boards](references/concept-boards.md), [preview payloads](references/preview-payloads.md), and [inline reviews](references/inline-widgets.md) — selection stages.
194- [Logo](references/logo.md), [logo prompt enhancer](references/logo-prompt-enhancer.md), and [logo export payloads](references/logo-export-payloads.md) — SVG generation and deterministic variants.
195- [Palette](references/palette.md) and [typography](references/typography.md) — foundation slots.
196- [Mockups](references/mockups.md), [social graphics](references/social-templates.md), [posters/banners](references/posters-banners.md), [packaging](references/packaging.md), [signage](references/signage.md), and [merchandise](references/merchandise.md) — applications.
197- [Presentation decks](references/presentation-deck.md) and [Brandbooks](references/brandbook.md) — editable documents.
198- [QA and iteration](references/qa-and-iteration.md) — preflight, repair, approval, and delivery manifest.