Communitygithub.com

MacroCLI CLI

Wandelt GUI-Workflows in parametrisierbare, CLI-aufrufbare Makros um, die von KI-Agenten genutzt werden können.

Was ist MacroCLI CLI?

Das MacroCLI-Tool ermöglicht es KI-Agenten, komplexe GUI-Workflows über eine stabile, parametrisierte CLI auszuführen, ohne jemals direkt die grafische Oberfläche berühren zu müssen. Es unterstützt mehrere Ausführungs-Backends (native APIs, Dateitransformationen, semantische UI-Steuerung und vorkompilierte Makro-Wiedergabe), die automatisch basierend auf der Makro-Definition ausgewählt werden. Nützlich für Entwickler, die wiederkehrende Aufgaben automatisieren und Agenten mit sicheren, reproduzierbaren Makros ausstatten möchten. Die Installation erfolgt per pip, und die Nutzung umfasst Befehle wie `macro list`, `macro info`, `macro run` und `backends`, alle mit JSON-Ausgabe für programmatische Verarbeitung.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/HKUDS/CLI-Anything/tree/main/skills/cli-anything-macrocli

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht MacroCLI CLI?

Was es ist

Das MacroCLI konvertiert wertvolle GUI-Workflows in parametrisierbare, CLI-aufrufbare Makros. Agenten berühren die GUI nie direkt – sie rufen Makros über dieses stabile CLI auf, und die Laufzeitumgebung leitet die Ausführung an das beste verfügbare Backend weiter (natives Plugin/API, Dateitransformation, semantische UI-Steuerung oder vorkompilierte GUI-Makro-Wiedergabe).

Installation

cd macrocli/agent-harness
pip install -e .

Anforderungen: Python 3.10+, PyYAML, click, prompt-toolkit.

Kurzstart (für Agenten)

# 1. Anzeigen, welche Makros verfügbar sind
cli-anything-macrocli macro list --json

# 2. Parameter eines Makros anzeigen
cli-anything-macrocli macro info export_file --json

# 3. Trockentest, um Parameter ohne Nebenwirkungen zu prüfen
cli-anything-macrocli --dry-run macro run export_file \
    --param output=/tmp/test.txt --json

# 4. Ein Makro ausführen
cli-anything-macrocli macro run export_file \
    --param output=/tmp/result.txt --json

# 5. Anzeigen, welche Backends verfügbar sind
cli-anything-macrocli backends --json

Befehlsreferenz

Globale Flags

FlagBeschreibung
--jsonMaschinenlesbare JSON-Ausgabe auf stdout
--dry-runAlle Schritte simulieren, Nebenwirkungen überspringen
--session-id <id>Eine benannte Sitzung fortsetzen oder erstellen

macro-Gruppe

BefehlBeschreibung
macro listAlle verfügbaren Makros auflisten
macro info <name>Makro-Schema anzeigen (Parameter, Schritte, Bedingungen)
macro run <name> --param k=vEin Makro ausführen
macro dry-run <name> --param k=vOhne Nebenwirkungen simulieren
macro validate [name]Strukturelle Validierung
macro define <name>Ein neues Makro-YAML-Gerüst erstellen

session-Gruppe

BefehlBeschreibung
session statusSitzungsstatistiken anzeigen
session historyKürzliche Ausführungshistorie anzeigen
session saveSitzung auf Festplatte speichern
session listAlle gespeicherten Sitzungen auflisten

backends

cli-anything-macrocli backends --json
# Zeigt: native_api, file_transform, semantic_ui, gui_macro, recovery
# und ob jedes in der aktuellen Umgebung verfügbar ist.

Makro-Parameter

Parameter mit --param key=value übergeben. Für mehrere wiederholen:

cli-anything-macrocli macro run transform_json \
    --param file=/pfad/zu/daten.json \
    --param key=settings.theme \
    --param value=dark \
    --json

Ausgabeformat (--json)

Alle Befehle geben JSON aus, wenn --json gesetzt ist:

{
  "success": true,
  "macro_name": "export_file",
  "output": {
    "exported_file": "/tmp/result.txt"
  },
  "error": "",
  "telemetry": {
    "duration_ms": 312,
    "steps_total": 2,
    "steps_run": 2,
    "backends_used": ["native_api"],
    "dry_run": false
  }
}

Bei Fehlschlag ("success": false) das "error"-Feld lesen, um den Grund zu erfahren. Der Exit-Code ist bei Fehlschlag 1.

Ausführungs-Backends

Backends werden automatisch basierend auf der Makro-Schritt-Definition ausgewählt:

BackendAusgelöst durchAnwendungsfall
native_apibackend: native_apiSubprozess / Shell-Befehl
file_transformbackend: file_transformXML-, JSON-, Textdatei-Bearbeitung
semantic_uibackend: semantic_uiBarrierefreiheit / Tastaturkürzel
gui_macrobackend: gui_macroVorkompilierte Koordinatenwiedergabe
recoverybackend: recoveryWiederholungs- / Fallback-Orchestrierung

Makros schreiben

Makros sind YAML-Dateien in cli_anything/macrocli/macro_definitions/. Ein Gerüst erstellen mit:

cli-anything-macrocli macro define my_macro --output \
    cli_anything/macrocli/macro_definitions/beispiele/my_macro.yaml

Minimales Schema:

name: my_macro
version: "1.0"
beschreibung: Was dieses Makro tut.

parameters:
  output:
    type: string
    required: true
    beschreibung: Wohin die Ergebnisse geschrieben werden.
    beispiel: /tmp/result.txt

preconditions:
  - file_exists: /pfad/zu/eingabe

steps:
  - id: schritt1
    backend: native_api
    action: run_command
    params:
      command: [my-app, --export, "${output}"]
    timeout_ms: 30000
    on_failure: fail  # oder: skip, continue

postconditions:
  - file_exists: ${output}
  - file_size_gt: [${output}, 100]

outputs:
  - name: result_file
    pfad: ${output}

agent_hints:
  danger_level: safe  # safe | moderate | dangerous
  side_effects: [creates_file]
  reversible: true

Agenten-Nutzungsregeln

  1. Immer --json verwenden für programmatische Ausgabe.
  2. --dry-run verwenden, um Parameter zu validieren, bevor Makros mit Nebenwirkungen ausgeführt werden.
  3. success-Feld prüfen – nicht allein aus dem Exit-Code auf Erfolg schließen.
  4. error-Feld lesen, wenn success false ist – es erklärt den Fehler.
  5. macro info <name> verwenden, um Parameter zu entdecken, bevor macro run aufgerufen wird.
  6. Absolute Pfade für alle Dateiparameter verwenden.

Beispiel-Workflow

# Schritt 1: Was ist verfügbar?
cli-anything-macrocli macro list --json

# Schritt 2: Welche Parameter benötigt transform_json?
cli-anything-macrocli macro info transform_json --json

# Schritt 3: Sicher testen
cli-anything-macrocli --dry-run macro run transform_json \
    --param file=/tmp/config.json \
    --param key=theme \
    --param value=dark --json

# Schritt 4: Wirklich ausführen
cli-anything-macrocli macro run transform_json \
    --param file=/tmp/config.json \
    --param key=theme \
    --param value=dark --json

Version

1.0.0

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

cli-anything-adguardhome

>-

cli-anything-anygen

>-

cli-anything-audacity

>-

cli-anything-blender

>-

cli-anything-browser

Browser automation CLI using DOMShell MCP server. Maps Chrome

cli-anything-calibre

>-

cli-anything-ccswitch

CLI interface for CC Switch — manage AI coding tool configurations from the terminal

cli-anything-chromadb

>-

cli-anything-cloudanalyzer

Command-line interface for CloudAnalyzer — Agent-friendly harness for CloudAnalyzer, a QA platform for mapping, localization, and perception outputs. Supports 27 commands across 8 groups: point cloud evaluation, trajectory evaluation, ground segmentation QA, config-driven quality gates, baseline evolution, processing, visualization, and interactive REPL.

cli-anything-cloudcompare

Command-line interface for CloudCompare — Agent-friendly harness for CloudCompare, the open-source 3D point cloud and mesh processing software. Supports 41 commands across 9 groups: project management, session control, point cloud operations (subsample, filter, segment, analyze), mesh operations, distance computation (C2C, C2M), transformations (ICP, matrix), export (LAS/LAZ/PLY/PCD/OBJ/STL/E57), and interactive REPL.

cli-anything-comfyui

>-

cli-anything-dify-workflow

Wrapper for the Dify workflow DSL CLI. Create, inspect, validate, edit, and export Dify workflow files through a CLI-Anything harness.

cli-anything-drawio

>-

cli-anything-eez-studio

Use EEZ Studio from the command line: inspect and modify native .eez-project files, edit LVGL screens/widgets, manage SCPI commands, and invoke the real EEZ Studio backend for LVGL builds.

cli-anything-eth2-quickstart

>-

cli-anything-exa

>-

cli-anything-firefly-iii

Firefly III CLI - Personal finance management via CLI-Anything

cli-anything-freecad

Complete CLI harness for FreeCAD parametric 3D CAD modeler (258 commands). Covers ALL workbenches: Part (29 primitives + boolean + mirror + loft + sweep), Sketcher (26 cmds: geometry + constraints + editing), PartDesign (38 cmds: pad/pocket/groove/fillet/chamfer/patterns/hole/datum), Assembly (11 cmds), Mesh (16 cmds), TechDraw (15 cmds: views + dimensions + PDF/SVG), Draft (33 cmds: 2D shapes + arrays + transforms), FEM (12 cmds), CAM/CNC (10 cmds), Surface (6 cmds), Spreadsheet (7 cmds), Import (13 formats), Export (17 formats), Measure (12 cmds), Materials (21 presets). Headless FreeCAD export to STEP/IGES/STL/OBJ/DXF/PDF/glTF/3MF.

cli-anything-gimp

>-

cli-anything-godot

>-

Verwandte Skills