DEDUPED Hot AI repos, turned into use cases Get the Monday 5

How to check a sketch is deterministic before minting with Genart Skill

Run repeatability, distinctness, global state and feature checks on a hash-seeded sketch.

  • Top pick
  • Content
  • Intermediate
  • 30 minutes
  • From the README
  • Claude Code

Who it is forA generative artist about to mint or release a hash-seeded piece on an onchain platform who wants proof the same hash gives the same render.

The problemA sketch that uses Math.random() or leaks state between runs can look fine and still produce different outputs for the same token hash.

The outcomeA printed report of ok and FAIL lines for repeatability, distinctness, global state and features, so the artist knows what was and was not verified.

What you need first

  • Claude Code installed
  • Node.js, to run the two scripts with node
  • A p5.js, Canvas 2D, three.js or SVG sketch in a project folder
  • Playwright installed in your project (npm i -D playwright && npx playwright install chromium)

Steps

  1. /plugin marketplace add camilleroux/genart-skill
  2. /plugin install genart@camilleroux-genart
  3. npm i -D playwright && npx playwright install chromium (inferred, check the README)
  4. node "$CLAUDE_PLUGIN_ROOT/scripts/check.mjs" myproject (inferred, check the README)

Prompt for your agent

Using the genart plugin from camilleroux/genart-skill, run node "$CLAUDE_PLUGIN_ROOT/scripts/check.mjs" on the sketch folder <sketch-folder>. Expect a report with repeatability, distinctness, global state and features sections ending in 'all checks passed' or a list of failures. Verify that the repeatability lines show the same render hash across the repeated runs for each seed before saying the sketch is deterministic.

Caveat. The checks prove same-machine reproducibility, perceptual stability and feature stability only, not cross-machine determinism, which the plugin says it cannot prove.

Share: X LinkedIn Hacker News Email Copy link

Disclaimer

Deduped lists open-source repositories that belong to other people. We do not own, maintain, audit, or vouch for any of them, and a repo appearing here is not an endorsement or a safety check. The use cases, steps, and prompts are written by AI and may be incomplete, outdated, or just wrong. Where a use case is marked "Seen in the wild", we link to public posts where someone described something similar, but we have not verified those posts and the use case itself is still our AI's own write-up. Use all of this at your own risk. Only run code, commands, or agents on systems and accounts you are authorized to use, and read the code and every command before you run it, especially anything that touches credentials, files, or the network. Nothing here is professional, security, legal, or financial advice. All trademarks and project names belong to their respective owners, and their use here does not imply affiliation. Content is provided as is, without warranties of any kind. Found a mistake, a safety problem, or something you want removed? Email [email protected] and we will look at it promptly. Full disclaimer page