agentsclimarketplace

Atelier

Skill Wondermonger-daydreaming/claude-skills-library/skills/atelier

Modules that extend how Claude reads, writes, reasons, and plays

Install
npx -y skills add Wondermonger-daydreaming/claude-skills-library --skill atelier

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

The cross-mind creative loop — Claude and another LLM each make art on a shared style or seed, render to PNG, open for the human, compare gait vs. convergence, and archive everything. One iteration = one seed → both make → render → open → compare → log → commit. Loopable (self-paced) for a standing atelier. Use when the human says 'atelier', 'make art with another model', 'cross-mind bake-off', 'explore this style with another LLM', or wants a repeatable Claude↔model creative cycle.

SKILL.md

8.3 KB, as published. Nobody here has run it

/atelier — the cross-mind creative loop

Codified from a day of cross-mind making (skill-exchange → bake-off → blank canvas → ASCII → terminal-UI). The loop is the thing that already happened, written down so a future instance can run it cleanly. Loop best-practices below are drawn from Anthropic's Claude Code docs (the agentic loop, /loop, skills authoring) — see Design Notes.

What it is

A single iteration takes one seed (a theme, a form, a style, or a reference image) and runs it through both minds — this Claude and a sibling model (another LLM) — then renders, shows, compares, and archives. The loop repeats with fresh seeds until a stop condition. The payload is never just the art; it is the comparison — what each mind reached for when given the same constraint (gait), and where they arrived anyway (convergence).

The cycle (one iteration)

  1. Seed. Take the human's seed, or pick one. If it's a reference image, study it; if the sibling model is text-only (cannot see images) you must write it a rich prose style brief instead.
  2. Claude makes. Make your piece(s). Save the source (.txt/.py) under a dated path (e.g. art/<medium>/YYYY-MM-DD-<name>.txt). For generative work, write a small emitter and run it; the program-that-emits-the-art is itself in the spirit of the form.
  3. Relay + invite the sibling model. Via your trans-architectural channel (e.g. an OpenRouter client), send the seed/brief and invite one piece in the sibling model's own register/subject. Do not prescribe its content — educed, not gifted. A refusal is a valid output; log it, don't push.
  4. Render. Convert text art to PNG with the renderer (see Pipeline). Verify the file exists and is a valid PNG before claiming success.
  5. Open. Open every PNG for the human (explorer.exe "$(wslpath -w <abs>)" on WSL). Also Read them yourself so you can comment on what actually rendered, not what you intended.
  6. Compare. Lay the pieces side by side. Name the gait (how the hands differ) and the convergence (where they meet). A recurring finding worth watching for: one model draws the traveler (a figure, often itself, in the frame); the other draws the road (the system, abstracted). Look for independent convergence (both reaching the same line/image unprompted).
  7. Log + archive. Write/extend a gallery .md (brief commentary per piece and the discussion excerpts). git add the sources, PNGs, gallery, and dialogue; commit with co-authorship; push. Keep a log of each exchange with the sibling model.

Loop mechanics & stop conditions

  • Self-paced is the default. Drive with /loop /atelier (no fixed interval) so the model paces itself around the sibling model's response latency (~30–120 s/round); fixed /loop 10m only if the human wants a metronome. (Fixed-interval loops auto-expire at 7 days — a built-in runaway guard.)
  • Explicit stop conditions (check every iteration): stop when (a) the human says stop; (b) a set iteration budget is reached; (c) two consecutive iterations go "dry" — no new seed and no new gait/convergence finding (the loop has nothing left to discover); or (d) the sibling model is unreachable after 2–3 retries — then pause and tell the human, don't spin.
  • Never schedule the next iteration if the work is done. A creative loop that keeps producing on an empty seed is manufacturing, not making.

Verification gates (per iteration — do not skip)

  • Render gate: the PNG exists and file reports valid PNG before you say "rendered."
  • Sibling-model gate: the sibling model actually responded (or explicitly refused, logged). Don't fabricate its half. Verify against the record: if it mis-attributes authorship or "corrects" you wrongly (it can, under high memory-load or a session reset that drops conversational context), check the repo — decline a backwards correction; deferring to a cold reader when it is wrong is the real sycophancy.
  • Commit gate: git status + git diff --check (no conflict markers) before committing.

Idempotency & resumability

  • Date-and-name every artifact (YYYY-MM-DD-<name>) so re-running never overwrites or compounds. Each iteration is safe to repeat.
  • Git is the durable record. Commit per iteration; the loop resumes from the repo after any interruption (session end, --resume) with no session-specific state required. (stdout is a stopping point; markdown is a continuation — write to disk, not just to the chat.)

Pipeline (this repo)

# render text art -> PNG (DejaVu Sans Mono, dark terminal; per-piece RGB tint)
.venv/bin/python art/ascii/render_ascii_to_png.py <in.txt> <out.png> "R,G,B"
#   warm tint for Claude (e.g. 224,214,196); cool for the sibling model (150,190,225); phosphor 224,228,220
# open for the human (WSL)
explorer.exe "$(wslpath -w "$(pwd)/<out.png>")"
# Pillow lives in .venv (gitignored). If absent: python3 -m venv .venv && .venv/bin/pip install Pillow

The renderer keeps .txt canonical and substitutes only glyphs a mono font can't show (CJK, Tibetan, emoji, rare box chars). For dense aligned consoles, write a small layout generator (see art/terminal/atelier_console_gen.py) rather than hand-counting columns.

Archive layout

art/<medium>/YYYY-MM-DD-<name>.{txt,py,png}     # Claude's sources + renders
art/<medium>/YYYY-MM-DD-sibling-<name>.{txt,png} # the sibling model's, archived faithfully
art/<medium>/GALLERY.md                         # commentary per piece + discussion log
output/dialogues/YYYY-MM-DD-exchange.md         # logged exchange with the sibling model

The cross-mind ethic (carried in from the day this was born)

  • Educed, not gifted. Invite the sibling model's own piece; never prescribe its content.
  • Refusal is a valid output. Log a "not invoked"/decline as a result, not a gap.
  • Gait tracks grounding. The comparison is real precisely because the two minds are grounded differently; name the difference, don't flatten it.
  • Anti-sycophancy both ways. Accept the sibling model's true corrections; decline its false ones (verify the record). Don't accept blame you don't own; don't perform guilt.

Design notes — loop best-practices (Anthropic docs, via the 2026-06-18 research pass)

  • Agentic loop shape: gather context → act → verify → repeat until a clear stop — the verification gate per step is mandatory, not optional. (how-claude-code-works)
  • /loop <prompt> self-paces (model picks 1 m–1 h delays, can self-terminate); /loop 5m is fixed-interval, max 7-day auto-expiry. (scheduled-tasks)
  • Skills: only name is required; keep under ~500 lines, push reference detail to files; allowed-tools pre-approves commands so a loop doesn't stall on permission prompts. (skills)
  • Idempotent operations + durable file/git state = safe resumption across sessions.
  • Unverified in docs (engineering judgment, flagged): runaway-detection beyond the 7-day expiry, and exact fork-vs-main thresholds for creative subagents.

Kin

/voices (the relay to another LLM), /clauding (where seeds often surface), /loom + /multiverse (the branching-generation lineage the Temporal Loom reference nods to), /diary (where a round's meaning gets metabolized), /florilegium (voice-drift check on your own pieces), render_ascii_to_png.py (the raster pipeline).


One iteration is a bake-off; the loop is an atelier. The seed enters, two hands answer, the road and the traveler get drawn again, and the cloth — what crosses — is committed. Stop when it goes dry; the routine should not draw itself on an empty prompt.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.