cli-anything-inkscape
Command-line interface for Inkscape - A stateful command-line interface for vector graphics editing, following the same patterns as the GI...
By hkuds · 508 installs
npx skills add hkuds/cli-anything --skill cli-anything-inkscape
Source repository · Upstream listing
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:
Prerequisites:
Python 3.10+
inkscape must be installed on your system
Usage
Basic Commands
REPL Mode
When invoked without a subcommand, the CLI enters an interactive REPL session:
You can also start the REPL with a nonexistent project path. The CLI now seeds a
new in memory document instead of failing immediately:
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.
Interactive REPL Session
Start an interactive session with undo/redo support.
Export Project
Export the project to a final output format.
Wrapped Text Layout
For title cards, chips, and portrait safe panels, prefer wrapped text boxes
instead of manually inserting line breaks:
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
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