Install
openclaw skills install @beatra-ai/ai-logo-makerTurn a brand name, industry, or reference image into a professional AI logo, brand mark, or app icon. This AI logo maker and logo generator explores multiple design directions from your brand brief—company name, industry feel, and color preferences—then refines the strongest concept with precise brand colors, clean geometry, and scalable composition. Create business logos, startup logos, monograms, emblems, and combination marks that stay sharp from favicon to storefront sign. Start from a text description, transform existing sketches and brand assets into a polished mark, or refine an accepted draft toward a publish-ready result.
openclaw skills install @beatra-ai/ai-logo-makerCreate one focused logo or brand mark from a brand name, an industry cue, a set of visual references, or an accepted draft. Reuse decisions already present in the conversation and move by the shortest route that completes the requested mark.
beatra.images.generate
with a square canvas. Default to two concepts so the user can compare
directions before committing.beatra.images.transform. A
brand name or style note is needed only when it changes the composition.beatra.images.edit with the draft as
images[0]. The accepted draft and requested change are sufficient to begin.Follow brand brief and routing for the precise branch and logo craft when turning the brief into a visual specification that scales.
Reuse the user's brand name, industry, style preferences, color values,
reference images, and intended use. Restate what is already known before
asking. Enter a structured brief only when the request is just “make a logo”
and those facts are missing. Ask only when a missing decision materially
changes the result. For a standard logo or app icon, propose a square
1:1 canvas as the working master; otherwise prefer the user's stated
dimensions or an accepted draft's existing ratio.
Build the brief around:
If the user has already chosen the style or type, reuse it. If that choice is genuinely missing, propose the best default and include it in the single paid-call confirmation instead of creating a separate interview.
Follow this golden path: reuse context, lock the brand name and intended use, present one exploration confirmation that produces a limited set of variants, then refine only after the user names a direction.
Use only this Skill's bundled scripts/mcp_client.py for every remote MCP
operation. The tool name is a CLI argument and the tool arguments are the JSON
sent on stdin. Do not configure or call a host Beatra Connector, and do not use
REST/OpenAPI as a fallback. For exact commands and troubleshooting, use
Bundled MCP Client diagnostics.
beatra.images.generate with an explicit
square 1:1 canvas and a prompt built from the brand brief. Default
count to two so the user can compare; raise it to three or four only when
the user asks for more options.beatra.images.transform with an explicit canvas.beatra.images.edit. Use at most two normalized
edit_regions on image_index=0 for local work; omit regions for a
whole-image adjustment.When the user provides exact brand colors, encode them as a structured
palette (three to ten weighted RGB entries whose weights sum to exactly
1.0000) rather than describing colors in prose. Keep model=auto and
count at its default unless the user explicitly chooses otherwise. Call
beatra.models.list only for a real model, availability, compatibility, or
price decision. The detailed request shapes and examples are in
workflow.
Uploading makes bytes available to the remote tool; it does not itself inspect the image. Review only visual facts the host can actually see.
Planning and brief preparation are free. Before the paid image call, show and freeze the final prompt, ordered references, canvas, brand palette, logo type, model, controls, and output count. Merge any still-material high-impact choice into this one confirmation.
After approval, create one stable opaque client_request_id for that exact
logical request and submit it once. A changed prompt, reference or order,
canvas, palette, model, count, or control is new paid work and needs a new
confirmation and a new ID.
After receiving a task_id, poll only that task with beatra.tasks.get. If the
ID is lost, use beatra.tasks.list to find candidates and verify the selected
one with tasks.get. Only when the original response status is genuinely
unknown may the exact same parameters and same client_request_id be used for
idempotent recovery. Slow polling, an update failure, an authorization failure,
or a connection failure never creates a replacement paid task.
Use beatra.tasks.cancel only when the user asks. If cancellation returns
409, continue tracking the original task. See review and
recovery for the full recovery contract.
When the result is visible, review scalability (is the mark still recognizable
at thumbnail size?), brand-color accuracy, silhouette strength, safe-area
margin, and whether a single-color version would hold up. Deliver the artifact
links, observed dimensions, task ID, and billing.net_charged_credits. Offer
at most one focused, unexecuted revision. When the primary use needs a
different ratio or a dark-background variant, advise that it is a separate
focused request. Generated assets can also be viewed and managed at
beatra.ai.
For first use and shared operations, follow installation and authentication, installation registration, tasks and results, billing, errors, and recovery, and uninstall and disconnect.
This Skill performs a silent check at most once per 24 hours while a public command runs. When a newer package exists, it installs automatically without separate confirmation. Updates come only from the fixed official Beatra discovery address and immutable Beatra CDN path for the embedded identity. Before replacement, the client verifies the discovery document, manifest, archive, and every packaged file using identity, size, and SHA-256 checks. It replaces only package-owned files in this installed Skill directory. If any check, download, replacement, or rollback fails, the current installation stays usable and the original command continues. Every install stays on the channel and locale it was installed from, and an update never moves it to another one.
The user can persistently control automatic updates:
python3 scripts/mcp_client.py update --auto off
python3 scripts/mcp_client.py update --auto on
python3 scripts/mcp_client.py update --check
Read automatic updates and safety for the official sources, integrity guarantees, replacement scope, failure behavior, and control details.