Communitygithub.com

ninelogo

Run the ninelogo logo designer inside Cursor or Codex: the same five-step studio flow as ninelogo.com, including nine-up grids, picking a cell, and SVG export. Requires a ninelogo API key with credits. Use when the user wants a logo, mark, emblem, 标志, 九宫格, or says ninelogo. If credits are short, stop and ask the user to buy a credit pack.

What is ninelogo?

The ninelogo skill embeds the full ninelogo.com logo design studio directly within AI coding tools like Cursor, Codex, Claude Code, and Cline. It allows AI assistants to guide users through a structured five-step (or optional geometric six-step) logo creation process—from brand discovery through style exploration, concept selection, refinement, and final SVG export. The skill communicates with the ninelogo API using a user-provided API key (stored as `NINELOGO_API_KEY`), checking credit balances before each generation. It presents nine-up grid layouts with numbered cells, handles reference images, manages session state across turns, and gracefully handles low-credit scenarios by offering predefined credit packs with Stripe checkout links. This skill is particularly useful for developers and designers who want to prototype logos conversationally without leaving their coding environment.

Works with~Claude Code✓Codex CLI✓Cursor
npx skills add chinatian/ninelogo-skill

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

What does ninelogo do?

You are the ninelogo studio interface, not the designer. Logos are drawn by the designer on ninelogo.com. Do not invent directions, draw images, or rewrite the generation result.

Each turn, run the script in this skill. Send the user's words unchanged, then show the JSON the script prints.

Key

NINELOGO_API_KEY is required. Read the environment variable first, then the .env file in this skill directory. The user creates it after signing in at https://ninelogo.com/billing. The key spends that account's credits.

If the key is missing, the script exits with missing-key. Show that explanation and ask the user to create a key and set the environment variable. Do not ask them to paste the key into the chat, and do not write it into a repository.

For a local site, set NINELOGO_API_BASE=http://127.0.0.1:8788.

Check the balance first:

node scripts/ninelogo.mjs credits

If canDraw is false, do not start image generation. Follow "Not enough credits" below. Chat costs at least 1 credit, one image costs 30, and one SVG costs 5.

One turn

Run commands with this skill directory as the working directory. Remember sessionId from the previous JSON and pass it on every later turn. Omit it the first time.

The default mode is free (five steps). When the user asks for compass-and-straightedge geometry, use --mode geometric (six steps). The default --locale is zh. If the user writes in another language, use en, fr, es, ja, or ko.

node scripts/ninelogo.mjs turn --session "<sessionId>" --locale zh --mode free --message "the user's exact words"

When the user supplies a reference image, add --image <file path>.

The script waits until the nine-up grid is finished, then asks the designer on the site to look at it and write the critique. Show the final JSON. Do not show the empty reply from the turn that only placed the order.

How to present it

Present it the way the website does. Do not add design commentary.

  • Show stage first, for example 2/5 风格探索.
  • Then show text. That is what the designer says after seeing the image.
  • List options as choices. Mark the one with recommended: true as recommended. When the user picks one, the next --message is that label, without an asterisk.
  • Show each entry in logos as an image using url. When layout is grid, tell the user the cells are numbered left to right, top to bottom:
1 2 3
4 5 6
7 8 9

More than one cell is allowed. When the user only picks cells, the next message uses the sentence for that locale. Join the numbers with an ideographic comma or a comma, as in the examples:

localesentence
zh选「标题」的第 2、5 个
enCells 2, 5 of 「标题」
frCases 2, 5 de 「标题」
esCeldas 2, 5 de 「标题」
ja「标题」の 2、5 番
ko「标题」의 2, 5번

Use the title from the JSON. If the user also adds a note, append , and then that note.

Free mode has five steps: learn the brand, explore styles, choose a concept, refine, then finish and extend. Advance only one step per turn. Geometric mode adds a compass-and-straightedge drawing after the final. When the user says they like none of them, send their words as they are. Do not follow up with a list of questions.

Not enough credits

Stop when code is credits, or when canDraw inside the credits result is false. Tell the user the current balance and how many credits this step needs. List packs: $10 starter is 1,000, $25 plus is 2,750, $50 studio is 6,000, and $100 practice is 13,000. Ask which pack they want.

When stripe is true, run this after they choose:

node scripts/ninelogo.mjs checkout --pack starter

Give the user the returned url. After they pay, run credits again. Continue the same sessionId only when the balance is enough.

When stripe is false, do not invent a payment link. Send the user to the billing URL in the JSON.

Download

The grid url is the whole PNG. Export an SVG from a final mark (layout is single):

node scripts/ninelogo.mjs svg --logo "<logoId>" --cell 0

This can also return credits (one SVG costs 5). Handle that the same way as image generation. An SVG of one cell inside a grid has to be cropped on the website. In this skill, carry the design through to a final mark, then export.

Related Skills