Skip to content
Back to skills

Art

ASecurity

Make game and app art using the official fal MCP, studio art direction, local capture and asset checks.

  • 1,531 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
ai-agentsnode

Works with

  • cli
  • mcp

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned November 7, 2026

npx -y skills add hashgraph-online/awesome-codex-plugins --skill art --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Art?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Art
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/hashgraph-online-art/badge)](https://www.skillsdirectory.com/skills/hashgraph-online-art)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: art
description: "Make game and app art using the official fal MCP, studio art direction, local capture and asset checks."
compatibility: Node 22 and the official fal plugin in the AI client. Local media processing uses ffmpeg and Chrome where needed.
metadata:
  providers: fal
---

# Art for this studio

Read the game's or app's style, codex and existing scene before writing a prompt.
Use its palette, shape language, materials, lighting and camera. Keep approved references
and the style revision. Covers must describe what the playable experience really offers.
A frame from the running game is free and often the best cover.

For generated art use fal's `recommend_model` or `search_models`, `get_model_schema`
and `get_pricing`, then `run_model`. Continue a pending request with `check_job` and
`get_job_result`. Use `upload_file` only as documented by the official plugin for references.
Set an explicit image count. Inspect the first result before any dependent generation.

Local `scripts/art.mjs` keeps `check`, `frame`, `cover`, `tile`, `fit` and `sheet`.
Use `cover <game> --from <image>` for a 1600×900 cover and game.json reference;
`fit <image> --out <file>` for phone-sized delivery. Check tile seams with a repeated
2×2 preview, transparency against light and dark, readability at phone size, and
compression after fitting. Do not replace an engine effect with a large image by default.

## Official generation workflow

The owner's AI uses the provider's official plugin/MCP in its own client. Homie never
asks for, stores, reads or prints provider credentials. Read the current provider
skill and discover its available tools and input schemas; host prefixes vary.
Connection instructions and verified sources: [official integrations](../studio-setup/references/OFFICIAL-MEDIA.md).
If tools are missing, connect that official plugin once in the client's browser flow.
Do not fall back to a Homie client, key file, environment key or CLI generation wrapper.

Before spending, state the model, count/duration, estimated cost and remaining approved
budget. Use the owner's existing authorization; ask only if the spend is outside it.
Record the request ID as soon as accepted. Poll that same request; never resubmit to
retry a slow job. Unknown cost is unknown, never zero. Provider billing is authoritative;
Homie's local receipt cannot enforce spending in another client.

## Place and prove the result

Download the completed tool's output using the AI client's file/download facilities.
Keep temporary signed URLs out of committed records. Keep the original in the studio's
art/job folder; put the optimized delivered asset beside its game/app, or in music/ or
videos/ for a published work. Record a receipt with these fields:

```json
{
  "provider": "fal",
  "tool": "run_model",
  "model": "exact endpoint returned by the provider",
  "requestId": "actual request ID",
  "prompt": "the actual prompt, including style constraints",
  "styleRevision": "revision from the studio's style",
  "rights": {"source": "provider/model terms URL", "checkedAt": "YYYY-MM-DD", "commercial": false, "note": "record the actual plan and permitted use"},
  "cost": {"status": "unknown"}
}
```

For ElevenLabs use its actual discovered tool and model, and its flow/session or request
identifier. A measured cost uses `{"status":"actual","amount":1,"unit":"credits"}`;
a quote uses `estimate`. Never claim commercial rights from the fact that generation
succeeded. Read the provider and model terms for the account's plan; record attribution,
reference-image permissions and any restrictions. Mark test fixtures `"fixture": true`.

Wire the delivered path into the scene or manifest, then run:

```sh
npx --no-install homie-studio media import --file <downloaded-file> --receipt <receipt.json> --out games/<id>/assets/<name> --used-by games/<id>/view.ts
```

This copies bytes, verifies a static reference, hashes the asset and records allowlisted
provenance in `media/provenance.json`. Reimporting the same output is idempotent; it
never generates or charges. Include each generation step's receipt for derived assets.
Run the scene and look/listen: a file and static reference are not proof that it renders
or plays. Report the placed path, usage evidence, rights and actual/estimated cost.

The toolkit’s `lib/media-workflows.mjs` declares this skill’s verified tool references.
Validate them against the host’s current tool inventory before execution; tool discovery
is required for generation capabilities that have no stable documented name.

Files in this skill

  • SKILL.md4.5 KB
  • agents/openai.yaml531 B
  • references/RIGHTS.md1.5 KB
  • scripts/art.mjs15 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.