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

cli-anything-inkscape — Claude Code skill: what it does

Stateful command-line interface skill for editing vector graphics in Inkscape, tracking project state in JSON, and manipulating SVG documents.

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

What cli-anything-inkscape does

This skill gives agents commands to manipulate SVG documents directly and track session state in JSON files. It handles shape creation and gradient styling. A dedicated --json flag formats command output specifically for agent parsing.

Running this tool requires Python 3.10+ and a local inkscape installation. Without Inkscape on your system, PDF rendering fails immediately. The session engine retains up to 50 undo levels, letting you roll back destructive vector edits safely.

What it helps with

  • create and modify SVG vector documents via JSON project files
  • add wrapped text blocks using box dimensions and line height
  • perform boolean operations like union and difference on paths
  • export projects to PNG, SVG, and PDF formats

Example prompts for the agent

  • Create a new Inkscape document named myproject.json and add a rectangle
  • Set up a wrapped text block with box dimensions in title.json
  • Export myproject.json to output.pdf using cli-anything-inkscape

How to install cli-anything-inkscape

1Skills CLI (Vercel)

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

2Manually: put the files in place

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

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

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

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 figma-create-new-file figma A skill that tells the agent how to create a Figma Design, FigJam or Slides file with the MCP create_new_file tool, including which plan and editor type to use. Claude Code CX Codex Cursor +1 3,400installs typeui-fundamentals typeui.sh Provides design principles for visual hierarchy, a 4-point spacing grid, typography, and WCAG rules. Useful when the project design system leaves a gap. Claude Code CX Codex Cursor +1 2,200installs 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-inkscape

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

Run npx skills add HKUDS/CLI-Anything --skill cli-anything-inkscape -a claude-code. You also need the underlying package from pip install cli-anything-inkscape.

What does cli-anything-inkscape do?

It supplies a stateful command-line interface for vector graphics manipulation, supporting SVG edits, layer management, and exports.

What prerequisites are required?

You must have Python 3.10+ and inkscape installed on your machine before running the tool.

Source text

SKILL.md · Apache-2.0
---
name: "cli-anything-inkscape"
description: >-
  Command-line interface for Inkscape - A stateful command-line interface for vector graphics editing, following the same patterns as the GI...
---

# cli-anything-inkscape

A stateful command-line interface for vector graphics editing, following the same patterns as the GIMP and Blender CLI harnesses. Directly manipulates SVG (XML) documents with a JSON project format for state tracking.

## Installation

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

```bash
pip install cli-anything-inkscape
```

**Prerequisites:**
- Python 3.10+
- inkscape must be installed on your system


## Usage

### Basic Commands

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

# Start interactive REPL mode
cli-anything-inkscape

# Create a new document
cli-anything-inkscape document new -o project.json

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

### REPL Mode

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

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

You can also start the REPL with a nonexistent project path. The CLI now seeds a
new in-memory document instead of failing immediately:

```bash
cli-anything-inkscape --project /abs/path/new-title.inkscape-cli.json
```


## Command Groups


### Document

Document management commands.

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


### Shape

Shape management commands.

| Command | Description |
|---------|-------------|
| `add-rect` | Add a rectangle |
| `add-circle` | Add a circle |
| `add-ellipse` | Add an ellipse |
| `add-line` | Add a line |
| `add-polygon` | Add a polygon |
| `add-path` | Add a path |
| `add-star` | Add a star |
| `remove` | Remove a shape by index |
| `duplicate` | Duplicate a shape |
| `list` | List all shapes/objects |
| `get` | Get detailed info about a shape |


### Text

Text management commands.

| Command | Description |
|---------|-------------|
| `add` | Add a text element; supports `--box-width`, `--box-height`, and `--line-height` for wrapped layouts |
| `set` | Set a text property (text, font-family, font-size, fill, box-width, box-height, line-height, etc.) |
| `list` | List all text objects |


### Style

Style management commands.

| Command | Description |
|---------|-------------|
| `set-fill` | Set the fill color of an object |
| `set-stroke` | Set the stroke color (and optionally width) of an object |
| `set-opacity` | Set the opacity of an object (0.0-1.0) |
| `set` | Set an arbitrary style property on an object |
| `get` | Get the style properties of an object |
| `list-properties` | List all available style properties |


### Transform

Transform operations (translate, rotate, scale, skew).

| Command | Description |
|---------|-------------|
| `translate` | Translate (move) an object |
| `rotate` | Rotate an object |
| `scale` | Scale an object |
| `skew-x` | Skew an object horizontally |
| `skew-y` | Skew an object vertically |
| `get` | Get the current transform of an object |
| `clear` | Clear all transforms from an object |


### Layer

Layer management commands.

| Command | Description |
|---------|-------------|
| `add` | Add a new layer |
| `remove` | Remove a layer by index |
| `move-object` | Move an object to a different layer |
| `set` | Set a layer property (name, visible, locked, opacity) |
| `list` | List all layers |
| `reorder` | Move a layer from one position to another |
| `get` | Get detailed info about a layer |


### Path Group

Path boolean operations.

| Command | Description |
|---------|-------------|
| `union` | Union of two objects |
| `intersection` | Intersection of two objects |
| `difference` | Difference of two objects (A minus B) |
| `exclusion` | Exclusion (XOR) of two objects |
| `convert` | Convert a shape to a path |
| `list-operations` | List available path boolean operations |


### Gradient

Gradient management commands.

| Command | Description |
|---------|-------------|
| `add-linear` | Add a linear gradient |
| `add-radial` | Add a radial gradient |
| `apply` | Apply a gradient to an object |
| `list` | List all gradients |


### Export Group

Export/render commands.

| Command | Description |
|---------|-------------|
| `png` | Render the document to PNG |
| `svg` | Export the document as SVG |
| `pdf` | Export the document as PDF (requires Inkscape) |
| `presets` | List export presets |


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




## Examples


### Create a New Project

Create a new inkscape project file.

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


### Interactive REPL Session

Start an interactive session with undo/redo support.

```bash
cli-anything-inkscape
# 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-inkscape --project myproject.json export pdf output.pdf --overwrite
```

### Wrapped Text Layout

For title cards, chips, and portrait-safe panels, prefer wrapped text boxes
instead of manually inserting line breaks:

```bash
cli-anything-inkscape --project title.json text add \
  --text "Real capture + Veo cold open + Gemini score + thumbnail plate" \
  --x 180 --y 470 --font-size 118 \
  --box-width 1180 --box-height 260 --line-height 1.05

cli-anything-inkscape --project title.json text set 0 box-width 980
cli-anything-inkscape --project title.json text set 0 line-height 1.15
```

Notes:
- `box-width` wraps long copy into multiple exported SVG `tspan` lines.
- `box-height` lets long copy fail safely instead of running off-canvas.
- Use wrapped text boxes for long-copy graphics before resorting to manual line breaking.


## 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-inkscape project info -p project.json

# JSON output for agents
cli-anything-inkscape --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. **Prefer wrapped text boxes** for headlines and variable-length copy so layouts remain stable across edits

## 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.1

© 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