Skip to content

Repository files navigation

generate-brand-vi — geometric parts assembling into a brand system

generate-brand-vi

Parts in, brand out. One line of brand philosophy → VI rules → generation DAG → approved masters → product-ready files.

Agent Skill Python Dogfooded

English · 简体中文


🧩 Proof: this repo's brand was generated by this skill

Everything you see above — the logo, the hero banner, the social preview, the palette — was produced by pointing this skill at its own repository. The full paper trail is committed:

Artifact File
Visual identity rules resources/brand/visual-identity.md
Prompt source resources/brand/brand-image-spec.json
Exploration DAG resources/brand/brand-vi-exploration-dag.yaml
Post-approval production DAG resources/brand/brand-vi-production-dag.yaml
Approved raster masters resources/brand/approved/
Verified production logo resources/brand/processed/logo.svg
Asset inventory & consumption map resources/brand/brand-vi-inventory.md
Checksums, dependencies and QA resources/brand/brand-asset-manifest.json

That is the whole pitch: not "generate a logo," but leave behind a brand system another agent can pick up and extend — documented decisions, reproducible DAG, and clean approved/rejected hygiene.

Why this exists

Asking an agent to "make me a logo" produces a one-off image and a mess:

  • ❌ prompt-dump logos with no shape grammar, drifting on every regeneration
  • ❌ raster files pasted where the product needs SVG / ICNS / adaptive icons
  • ❌ rejected explorations left in the asset tree for future agents to consume
  • ❌ the visible logo replaced while compiled icons, favicons, and docs stay stale

This skill makes the agent behave like a brand engineer instead. It uses a composable A1-A6 foundations, B1-B13 traditional applications, and C1-C14 AI SaaS catalog: scene profiles provide a starting set, then modules are added or removed to match the organization's real surfaces.

  1. Read the existing system first — asset folders, icon build scripts, docs.
  2. Inventory every asset slot the product actually consumes.
  3. Harden philosophy into VI rules — shape grammar, palette, negative constraints.
  4. Compile parallel exploration DAGs — one symbol or one wordmark per image.
  5. Judge at a human gate before any candidate gets descendants.
  6. Compile post-approval production DAGs from canonical references.
  7. Convert and verify production formats — SVG, platform icons, fonts, templates.
  8. Integrate and reconcile — product consumers, manifest, checksums, legacy scans.

This repository's own identity is abstracted from its business scenario: a brand kit is literally a kit — standardized parts that assemble into one consistent identity across every surface. The logo is that story in one mark: four distinct geometric parts, the last tile snapping into place. This self-brand story is not a concept template for client work; client IP must be derived independently from that product's buyer and business scenario.

Install

Claude Code (personal skills directory):

git clone https://github.com/Nebutra/generate-brand-vi.git ~/.claude/skills/generate-brand-vi

Codex:

git clone https://github.com/Nebutra/generate-brand-vi.git ~/.codex/skills/generate-brand-vi

The interface metadata lives in agents/openai.yaml.

Built-in image-generation backend

Raster stages use the open-source generate-image backend through a bundled adapter. The adapter discovers a sibling/global install, uses mox by default, and lets the backend read global MOX_API_KEY configuration.

git clone https://github.com/TsekaLuk/generate-image.git ~/.claude/skills/generate-image
cd ~/.claude/skills/generate-image && uv sync

This is a one-time backend installation only. Existing global provider configuration such as MOX_API_KEY is reused automatically.

Preview cost without making a billed call, then execute after approval:

python3 scripts/run_brand_image_dag.py --repo .
python3 scripts/run_brand_image_dag.py --repo . --execute

60-second start

Inside your agent session, in any repo that needs a brand:

Use generate-brand-vi to design a visual identity for this project.
Philosophy: "<your one-line brand idea>"

Or seed the structure by hand first:

# inventory existing brand surfaces (old-brand migration)
python3 scripts/scan_brand_assets.py . --brand-term oldname --brand-term newname

# scaffold an optional profile, then make item decisions explicitly
python3 scripts/create_brand_vi_scaffold.py --brand MyProduct \
  --philosophy "one line that the whole identity must express" \
  --profile ai-saas \
  --require-item a1-01 \
  --require-item b2-05 \
  --require-item c1-04 \
  --external-handoff-item c14-05

Profiles seed optional item candidates; they do not silently require every child of a module. For larger scopes, edit brand-vi-scope.json, then compile only the plan/inventory/manifest layer with python3 scripts/compile_brand_vi_scope.py --repo . --force.

The agent fills the templates, runs the DAG with whatever image-generation tool is available, and promotes only approved masters into product paths. For a production request, brand-vi-production-plan.json is authoritative: mark rejection blocks only mark-dependent items while independent foundations and product-system deliverables continue. For trademark clearance, press proofs, supplier dielines, spatial engineering, construction drawings, and original audio rights, it produces an explicit external-handoff brief instead of claiming professional approval.

How the pipeline flows

graph TD
    A[Strategy evidence + operations] --> B[brand-image-spec.json]
    B --> C1[3+ isolated symbol directions]
    B --> C2[3+ isolated wordmark directions]
    C1 & C2 --> D[Collision review + human approval]
    D --> E1[Approved symbol]
    D --> E2[Approved wordmark]
    E1 & E2 --> F[Post-approval compiler]
    F --> G[Clean masters + lockups]
    G --> H1[Skins and applications]
    G --> H2[SVG/icons/fonts/templates]
    H1 & H2 --> I[Manifest + product consumption + QA]
Loading

Consistency is structural: exploration branches before convergence, then every downstream asset references a human-approved canonical master. Compilation reports freeze prompt and reference hashes.

What's inside

SKILL.md                     # the skill contract agents load
references/
  workflow.md                # decision gates, "water-shape" interpretation
  asset-taxonomy.md          # every slot a product consumes, with sizes
  generation-dag.md          # branch/gate/anchor/selective-rerun DAG patterns
  prompt-patterns.md         # prompt architecture + anti-slop constraints
  validation.md              # QA, integration, legacy-cleanup checks
  production-contract.md     # item-level completion and gate semantics
  production-routing.json    # module defaults + item overrides
  vi-deliverables.json       # A1-A6, B1-B13, C1-C14 catalog
  brand-asset-manifest.schema.json
  consumer-integration.md    # canonical package and repo consumption
  trends-2026.md             # rising/falling VI aesthetics, trend trackers
  design-theory.md           # strategy frameworks, DBA science, craft tests
  inspiration-sources.md     # stage-mapped galleries + brand-as-code ecosystem
scripts/
  scan_brand_assets.py       # inventory brand files & text hits in any repo
  create_brand_vi_scaffold.py   # neutral approved/generated/processed scaffold
  compile_brand_vi_scope.py     # safely compile edited item-level scope
  compile_brand_image_dag.py    # stable prompt + reference compiler
  validate_brand_asset_manifest.py
  update_brand_asset_state.py   # state, checksum, plan sync, invalidation
subskills/extend-wordmark-font/ # wordmark-derived A-Z/a-z production workflow
resources/brand/             # this repo's own kit — a live worked example

Guardrails baked in

  • Never leave rejected explorations in product-consumable paths.
  • Never ship a one-off raster where the product needs real vectors.
  • Never replace the visible logo while compiled assets stay stale.
  • Never import a landing-page aesthetic into operational software uninvited.
  • Never count a valid API response as an accepted asset.
  • Never treat an empty manifest or non-terminal plan as a delivered VI.

Show your kit

Ran this skill on your project? Open an issue with a screenshot of your approved/ masters and your one-line philosophy — the best kits get linked here as worked examples. If the skill saved you a design cycle, a ⭐ helps other agents' humans find it.

About

Universal Codex skill for creating brand systems, VI, image-generation DAGs, and product-ready brand assets.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages