cli-anything-drawio
Command-line interface for Drawio - A CLI harness for **Draw.io** — create, edit, and export diagrams from the command line....
What this skill does
# cli-anything-drawio A CLI harness for **Draw.io** — create, edit, and export diagrams from the command line. ## Installation This CLI is installed as part of the cli-anything-drawio package: ```bash pip install cli-anything-drawio ``` **Prerequisites:** - Python 3.10+ - drawio must be installed on your system ## Usage ### Basic Commands ```bash # Show help cli-anything-drawio --help # Start interactive REPL mode cli-anything-drawio # Create a new project cli-anything-drawio project new -o project.json # Run with JSON output (for agent consumption) cli-anything-drawio --json project info -p project.json ``` ### REPL Mode When invoked without a subcommand, the CLI enters an interactive REPL session: ```bash cli-anything-drawio # Enter commands interactively with tab-completion and history ``` ## Command Groups ### Project Project management: new, open, save, info. | Command | Description | |---------|-------------| | `new` | Create a new blank diagram | | `open` | Open an existing .drawio project file | | `save` | Save the current project | | `info` | Show detailed project information | | `xml` | Print the raw XML of the current project | | `presets` | List available page size presets | ### Shape Shape operations: add, remove, move, resize, style. | Command | Description | |---------|-------------| | `add` | Add a shape to the diagram | | `remove` | Remove a shape by ID | | `list` | List all shapes on a page | | `label` | Update a shape's label text | | `move` | Move a shape to new coordinates | | `resize` | Resize a shape | | `style` | Set a style property on a shape | | `info` | Show detailed info about a shape | | `types` | List all available shape types | ### Connect Connector operations: add, remove, style. | Command | Description | |---------|-------------| | `add` | Add a connector between two shapes | | `remove` | Remove a connector by ID | | `label` | Update a connector's label | | `style` | Set a style property on a connector | | `list` | List all connectors on a page | | `styles` | List available edge styles | ### Page Page operations: add, remove, rename, list. | Command | Description | |---------|-------------| | `add` | Add a new page | | `remove` | Remove a page by index | | `rename` | Rename a page | | `list` | List all pages | ### Export Export operations: render to PNG, PDF, SVG. | Command | Description | |---------|-------------| | `render` | Export the diagram to a file | | `formats` | List available export formats | ### Session Session management: status, undo, redo. | Command | Description | |---------|-------------| | `status` | Show current session status | | `undo` | Undo the last operation | | `redo` | Redo the last undone operation | | `save-state` | Save session state to disk | | `list` | List all saved sessions | ## Examples ### Create a New Project Create a new drawio project file. ```bash cli-anything-drawio project new -o myproject.json # Or with JSON output for programmatic use cli-anything-drawio --json project new -o myproject.json ``` ### Interactive REPL Session Start an interactive session with undo/redo support. ```bash cli-anything-drawio # 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-drawio --project myproject.json export render output.pdf --overwrite ``` ## 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-drawio project info -p project.json # JSON output for agents cli-anything-drawio --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 ## 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
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.