Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

cli-anything-gimp — Claude Code skill: what it does, how to install

Provides a stateful image editing CLI built on Pillow and GIMP for AI agents. It handles layers, drawing, and headless rendering without a GUI.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add HKUDS/CLI-Anything --skill cli-anything-gimp -a claude-code
Open on GitHub

What cli-anything-gimp does

This skill equips the agent with a command-line interface for multi-layer image editing. Projects persist as JSON files that store layer hierarchies, canvas settings, color modes, and DPI. The tool supports layer transformations, transparency adjustments, and filter effects. Drawing operations like text and rectangles stay in the project structure and execute when the file renders.

Setup requires Python 3.10 or newer along with the cli-anything-gimp package from pip. While native GIMP batch rendering is recommended, compositions still render fine via Pillow when GIMP is absent. The CLI provides interactive REPL navigation and an undo history of up to 50 steps. Passing the --json flag formats terminal output for programmatic consumption by AI agents.

Always inspect the exported output image directly rather than trusting the saved project JSON. Deferred text and rectangle operations only show their visual layout during rendering, so automated verification requires looking at the generated file.

What it helps with

  • manipulate multi-layer graphic compositions without opening a GUI
  • add text and shapes onto specific layers with coordinate offsets
  • batch render image projects through headless CLI commands
  • inspect image histograms and verify referenced media assets

Example prompts for the agent

  • Create a new image project with cli-anything-gimp and import a background layer from file.
  • Adjust the offset of layer 0 and render the composition to output.png.
  • Add a text overlay on layer 0 and export the final image using the Pillow path.

How to install cli-anything-gimp

1Skills CLI (Vercel)

npx skills add HKUDS/CLI-Anything --skill cli-anything-gimp -a claude-code

2Manually: put the files in place

~/.claude/skills/cli-anything-gimp/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/cli-anything-gimp/

From the same set18

The whole set →
cli-hub-meta-skill HKUDS A skill that gives agents a catalog of professional command-line tools built for AI. Search, install, and run CLIs for video, design, AI, and development without leaving your editor. Claude Code CX Codex Cursor +1 5,300installs cli-anything HKUDS Builds a Python harness with Click commands for any GUI application or repository. Generates REPL, tests, and docs following the CLI-Anything methodology. Claude Code CX Codex Cursor +1 2,100installs cli-anything-blender HKUDS A skill that adds a stateful command-line interface for editing Blender 3D scenes. Use it when an agent needs to assemble a scene, assign materials, or render a frame without manual clicking. Claude Code CX Codex Cursor +1 941installs cli-anything-obsidian HKUDS Manage an Obsidian vault from the terminal: read, create, search, and update notes or run editor commands. It suits agents that need to work without the GUI. Claude Code CX Codex Cursor +1 917installs cli-anything-notebooklm HKUDS Experimental harness to manage Google NotebookLM through a local CLI. It lets agents list notebooks, query sources, generate artifacts, and download files. Claude Code CX Codex Cursor +1 801installs cli-anything-libreoffice HKUDS Skill for creating and editing Writer, Calc, and Impress documents from the CLI without a GUI. Produces real ODF files (ZIP with XML) — useful when an AI agent needs to assemble a report, spreadsheet, or presentation programmatically. Claude Code CX Codex Cursor +1 669installs cli-anything-drawio HKUDS A command-line harness over Draw.io: the skill hands your agent commands to build a diagram step by step and export it to PNG, PDF or SVG. Claude Code CX Codex Cursor +1 666installs cli-anything-freecad HKUDS Turns FreeCAD into a scriptable CLI for your agent: 258 commands for primitives, sketches, PartDesign features and headless export. Claude Code CX Codex Cursor +1 643installs

Similar

libraries-dev Jakubantalik Selects and integrates Libraries.dev React UI effects for AI interfaces, covering loaders, voice glows, animated borders, and bot avatars. Claude Code CX Codex Cursor +1 991installs create-game-assets gamedev-skills A skill that carries a game's art from style brief and asset manifest to alpha checks and contact sheets. Handy once sprites start drifting out of style. Claude Code CX Codex Cursor +1 6,400installs shadcn-svelte vercel-labs Pre-built definitions and implementations of 36 shadcn components for json-render apps. Built on Svelte 5 and Tailwind CSS. Claude Code CX Codex Cursor +1 1,100installs photo-abstract-editorial ZzzLc0405 Turns a single photograph into a vertical diptych with an untouched upper image and an abstract lower panel. Generates a minimalist poster with a short title. Claude Code CX Codex Cursor +1 737installs qa-test-planner softaworks Turns a feature description into a test plan, manual test cases, a regression suite or a bug report. Fires only when you name it: qa-test-planner. Claude Code CX Codex Cursor +1 4,300installs frontend-design official anthropics This skill guides intentional visual design for new interfaces and redesigns. Use it when a generic generated UI is not enough. Claude Code Claude.ai 1,025,790installs grill-me Matt Pocock grill-me interviews you about a plan or design to expose gaps and sharpen decisions. Use it before implementation starts. Claude Code 1,424,476installs design-taste-frontend Leonxlnx This skill directs the design of public pages and work screens, then checks the result in a browser through screenshots. Use it when an interface feels generic or unfinished. Claude Code CX Codex Cursor +1 673,100installs

Questions about cli-anything-gimp

How to install cli-anything-gimp in Claude Code?

Run npx skills add HKUDS/CLI-Anything --skill cli-anything-gimp -a claude-code to add the skill. You also need to install the CLI package by running pip install cli-anything-gimp.

What does cli-anything-gimp do?

It provides a stateful CLI for image manipulation built on Pillow with optional GIMP batch rendering. Agents can manage layers, alter canvas properties, and render compositions without a GUI.

Is a local GIMP installation required?

No, GIMP is not strictly required. It is recommended for native batch rendering, but the tool falls back to built-in Pillow rendering whenever GIMP is missing.

Source text

SKILL.md · Apache-2.0
---
name: "cli-anything-gimp"
description: >-
  Command-line interface for Gimp - A stateful command-line interface for image editing, built on Pillow. Designed for AI agents and pow...
---

# cli-anything-gimp

A stateful command-line interface for image editing, built on Pillow. Designed for AI agents and power users who need to create and manipulate images without a GUI.

## Installation

This CLI is installed as part of the cli-anything-gimp package:

```bash
pip install cli-anything-gimp
```

**Prerequisites:**
- Python 3.10+
- gimp is recommended for native batch rendering, but layered compositions can
  still render through the built-in Pillow path when GIMP is unavailable or when
  deferred `draw` operations are present


## Usage

### Basic Commands

```bash
# Show help
cli-anything-gimp --help

# Start interactive REPL mode
cli-anything-gimp

# Create a new project
cli-anything-gimp project new -o project.json

# Run with JSON output (for agent consumption)
cli-anything-gimp --json project info -p project.json
```

### REPL Mode

When invoked without a subcommand, the CLI enters an interactive REPL session:

```bash
cli-anything-gimp
# Enter commands interactively with tab-completion and history
```


## Command Groups


### Project

Project management commands.

| Command | Description |
|---------|-------------|
| `new` | Create a new project |
| `open` | Open an existing project |
| `save` | Save the current project |
| `info` | Show project information |
| `profiles` | List available canvas profiles |
| `json` | Print raw project JSON |


### Layer

Layer management commands.

| Command | Description |
|---------|-------------|
| `new` | Create a new blank layer |
| `add-from-file` | Add a layer from an image file |
| `list` | List all layers |
| `remove` | Remove a layer by index |
| `duplicate` | Duplicate a layer |
| `move` | Move a layer to a new position |
| `set` | Set a layer property (name, opacity, visible, mode, offset_x, offset_y); negative offsets are accepted naturally |
| `flatten` | Flatten all visible layers |
| `merge-down` | Merge a layer with the one below it |


### Canvas

Canvas operations.

| Command | Description |
|---------|-------------|
| `info` | Show canvas information |
| `resize` | Resize the canvas (without scaling content) |
| `scale` | Scale the canvas and all content proportionally |
| `crop` | Crop the canvas to a rectangle |
| `mode` | Set the canvas color mode |
| `dpi` | Set the canvas DPI |


### Filter Group

Filter management commands.

| Command | Description |
|---------|-------------|
| `list-available` | List all available filters |
| `info` | Show details about a filter |
| `add` | Add a filter to a layer |
| `remove` | Remove a filter by index |
| `set` | Set a filter parameter |
| `list` | List filters on a layer |


### Media

Media file operations.

| Command | Description |
|---------|-------------|
| `probe` | Analyze an image file |
| `list` | List media files referenced in the project |
| `check` | Check that all referenced media files exist |
| `histogram` | Show histogram analysis of an image |


### Export Group

Export/render commands.

| Command | Description |
|---------|-------------|
| `presets` | List export presets |
| `preset-info` | Show preset details |
| `render` | Render the project to an image file; deferred draw ops are applied at render time |


### Session

Session management commands.

| Command | Description |
|---------|-------------|
| `status` | Show session status |
| `undo` | Undo the last operation |
| `redo` | Redo the last undone operation |
| `history` | Show undo history |


### Draw

Drawing operations (applied at render time).

| Command | Description |
|---------|-------------|
| `text` | Draw text on a layer (by converting it to a text layer) |
| `rect` | Draw a rectangle (stored as drawing operation) |




## Examples


### Create a New Project

Create a new gimp project file.

```bash
cli-anything-gimp project new -o myproject.json
# Or with JSON output for programmatic use
cli-anything-gimp --json project new -o myproject.json
```


### Interactive REPL Session

Start an interactive session with undo/redo support.

```bash
cli-anything-gimp
# Enter commands interactively
# Use 'help' to see available commands
# Use 'undo' and 'redo' for history navigation
```


### Export Project

Export the project to a final output format.

```bash
cli-anything-gimp --project myproject.json export render output.png --overwrite
```

### Layered Composition Workflow

For overlay-heavy compositions:

```bash
cli-anything-gimp --project poster.gimp-cli.json layer set 0 offset_x -48
cli-anything-gimp --project poster.gimp-cli.json layer set 0 offset_y 24
cli-anything-gimp --project poster.gimp-cli.json draw text --layer 0 --text "Launch Night" --x 96 --y 120 --size 72 --color "#f6f1e8"
cli-anything-gimp --project poster.gimp-cli.json export render output.png --overwrite
```

Notes:
- `layer set` now accepts negative `offset_x` and `offset_y` values in both command mode and REPL mode.
- `draw text` and `draw rect` are render-time operations. Treat the exported image, not only the project JSON, as the thing to review.
- For projects with deferred draw ops, expect the Pillow render path to be the stable default even if GIMP is installed.


## State Management

The CLI maintains session state with:

- **Undo/Redo**: Up to 50 levels of history
- **Project persistence**: Save/load project state as JSON
- **Session tracking**: Track modifications and changes

## Output Formats

All commands support dual output modes:

- **Human-readable** (default): Tables, colors, formatted text
- **Machine-readable** (`--json` flag): Structured JSON for agent consumption

```bash
# Human output
cli-anything-gimp project info -p project.json

# JSON output for agents
cli-anything-gimp --json project info -p project.json
```

## For AI Agents

When using this CLI programmatically:

1. **Always use `--json` flag** for parseable output
2. **Check return codes** - 0 for success, non-zero for errors
3. **Parse stderr** for error messages on failure
4. **Use absolute paths** for all file operations
5. **Verify outputs exist** after export operations
6. **Review rendered outputs** after offset, draw, blend-mode, or filter changes instead of trusting saved project state alone

## More Information

- Full documentation: See README.md in the package
- Test coverage: See TEST.md in the package
- Methodology: See HARNESS.md in the cli-anything-plugin

## Version

1.0.0

© HKUDS · Apache-2.0 · HKUDS/CLI-Anything

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor