Skip to content

galokme/mixmatter

v2.2.0MIT

Source-aware AI art direction that reconstructs existing images into contemporary print-driven compositions.

MixMatter

AI art direction and source-aware visual reconstruction for existing imagery.

MixMatter is an open-source Agent Skill that takes a photograph you supply, decides what must survive, and rebuilds it into a bold, flat, print-driven composition: selective photography, visible halftone or duotone, flattened graphic fields, tactile torn-paper collage, and modernist hierarchy.

Photography is source material, not sacred material.

Reconstruct, do not decorate.

Preserve semantic identity, not visual completeness.

It runs anywhere Agent Skills load (Claude, Claude Code, ChatGPT, Codex) and needs no MCP server, account, or separate backend. The host model does the image understanding and, where available, the image generation.

Install

Claude Code

/plugin marketplace add galokme/MixMatter
/plugin install mixmatter@mixmatter

Or copy the skill folder directly:

git clone https://github.com/galokme/MixMatter.git
mkdir -p ~/.claude/skills && cp -r MixMatter/skills/mixmatter ~/.claude/skills/

Claude.ai and the Claude apps

Zip the skill folder so that mixmatter/SKILL.md sits at the top of the archive:

git clone https://github.com/galokme/MixMatter.git
cd MixMatter/skills && zip -r ../../mixmatter-skill.zip mixmatter

Then upload mixmatter-skill.zip under Settings → Capabilities → Skills and switch it on.

ChatGPT and Codex

The repository is also an OpenAI plugin (plugin.json, .codex-plugin/plugin.json). For local Codex testing:

codex plugin marketplace add galokme/MixMatter --ref main

Other Agent Skills hosts

npx skills add galokme/MixMatter --skill mixmatter

Use

Attach a photograph and ask in plain language:

Process this image with MixMatter.
用 MixMatter 處理這張圖,不要加任何文字。
Make this flatter and more graphic with MixMatter. Keep the main subject and the tower silhouette.
Keep this crop. Reduce the tearing and make the right side quieter.
Try another direction from the original image — more restrained and planar.

In Claude Code you can also call it explicitly with /mixmatter:mixmatter.

If the host can generate or edit images, MixMatter produces the image. If it can only read images (for example, a Claude conversation without an image tool), MixMatter returns a concise, source-specific brief you can paste into your image model instead of pretending to render.

How it works

MixMatter's runtime is the v1 visual baseline in skills/mixmatter/SKILL.md. For every source it silently:

  1. Identifies structural anchors: the 1–3 structures that make the scene recognizable (a tower silhouette, a coastline curve, a window grid, identity-critical signage).
  2. Disassembles the photo into meaningful components rather than treating it as one intact image.
  3. Recomposes them into a new hierarchy through crop, scale shift, overlap, displacement, and compressed depth.
  4. Reassigns visual states: some regions stay photographic, some become printed (halftone or duotone), some graphic (flat fields and silhouettes), some collaged.
  5. Reduces and hierarchizes, so the result has dominant, secondary, and quiet zones.

Color is derived from the source (roughly 3–6 families), not from a fixed MixMatter palette, so unrelated images produce materially different results.

You can steer three things in ordinary language: direction (what to amplify or suppress), structure (how far the original composition may be broken), and intensity (how strongly the print and collage treatment appears). Revisions keep what already works; alternatives start again from the original source.

Source-text policy

MixMatter adds zero new text by default.

  • Source text is content: it may be kept, cropped, obscured, fragmented, or reduced to texture.
  • Identity-critical wording (a station name, a storefront) is preserved faithfully where feasible.
  • Source text is never translated, duplicated into a bilingual layout, rewritten, or replaced with guessed wording or pseudo-text.
  • If you supply exact wording, only that wording is added.

Showcase

The ten canonical v1 before/after plates live in examples/showcase/. They are kept at full resolution so halftone structure and paper edges stay inspectable; click a plate to open the original.

See examples/README.md for what to look for and the media rights note.

Research layer

The 2.0 research documents describe a staged art-direction model (READ → UNDERSTAND → PROTECT → DIRECT → RECONSTRUCT → MATERIALIZE → CRITIQUE → REVISE), preservation contracts, and a 40-image regression benchmark. They are kept for design reference and evaluation. They are not runtime authority: since 2.1.1 the v1 visual runtime in skills/mixmatter/ is the only behavior hosts load.

  1. docs/MIXMATTER_2_RUNTIME.md
  2. docs/system/MIXMATTER_ART_DIRECTION_POLICY.md
  3. docs/system/MIXMATTER_CORE_CONSTITUTION.md
  4. docs/system/MIXMATTER_REGRESSION_BENCHMARK.md
  5. docs/system/MIXMATTER_SYSTEM_SCHEMA.yaml
  6. docs/system/MIXMATTER_TOOL_SPEC.md
  7. docs/system/MIXMATTER_VISUAL_GRAMMAR.md

Evaluation

Repository structure

MixMatter/
├── skills/mixmatter/            # canonical runtime (what every host loads)
│   ├── SKILL.md
│   └── references/
│       ├── mixmatter-v1.md      # master generation prompt
│       └── quality-rubric.md
├── SKILL.md                     # root entry point that points to the canonical skill
├── prompt/mixmatter-v1.md       # mirror of references/mixmatter-v1.md
├── eval/                        # rubric mirror and host test plan
├── plugin.json                  # portable / OpenAI manifest
├── .codex-plugin/plugin.json    # Codex compatibility manifest
├── .claude-plugin/              # Claude Code plugin + marketplace
├── .agents/plugins/             # Codex development marketplace
├── docs/                        # 2.0 research layer (reference only)
├── examples/showcase/           # canonical before/after plates
├── submission/openai/           # OpenAI review materials
└── assets/                      # icons

CI checks that every manifest carries the same version, that the mirrors match the packaged copies byte for byte, and that retired names do not reappear.

Status

Version: 2.2.0 · Runtime: v1 visual baseline (v1.0.2 text policy) · Architecture: Skills-only

See CHANGELOG.md.

Author

Created by Fan Jiale / Galok: galok.me/mixmatter · support

License

MIT for the MixMatter skill text, prompt system, documentation, and related project materials. See LICENSE. The MixMatter and Galok names and marks are not licensed for implied endorsement; see BRAND.md.

Showcase image rights may depend on their original provenance. See examples/README.md.