Skip to content
Automation
Skill

/cli-anything-gimp

Command-line interface for Gimp - A stateful command-line interface for image editing, built on Pillow. Designed for AI agents and pow...

From plugin
cli-anything
47k72 skills5 commands
Install
$ npx -y skills add HKUDS/CLI-Anything --skill cli-anything-gimp --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/cli-anything-gimp

Context preview

The summary Claude sees to decide when to auto-load this skill.

Command-line interface for Gimp - A stateful command-line interface for image editing, built on Pillow. Designed for AI agents and pow...

SKILL.md

cli-anything-gimp.SKILL.md
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:

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

# 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:

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.

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.

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.

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

Layered Composition Workflow

For overlay-heavy compositions:

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
# 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 parseab

Read more
Ships withcli-anything

"CLI-Anything: Making ALL Software Agent-Native" -- CLI-Hub: https://clianything.cc/

Get the whole plugin