Communitygithub.com

MacroCLI CLI

GUIワークフローをパラメータ化されたCLI呼び出し可能なマクロに変換します。エージェントはこの安定したCLIを介してマクロを呼び出し、バックエンドが自動的に最適な実行方法を選択します。

MacroCLI CLI とは?

MacroCLI CLIは、GUIワークフローをパラメータ化されたCLIマクロに変換することで、エージェントが直接GUIを操作することなく、安定したインターフェースから複雑な処理を実行できるようにするスキルです。Python 3.10以上が必要で、マクロの一覧表示、パラメータの検査、ドライラン、実行などのコマンドを提供します。バックエンドは自動選択され、ネイティブAPI、ファイル変換、セマンティックUI制御、GUIマクロリプレイ、リカバリの5種類に対応しています。マクロはYAMLで定義され、すべての出力はJSON形式で取得できるため、エージェントによるプログラム的な利用に最適化されています。このスキルは、Claude Code、Cursor、CodexなどのAIエージェントが、複雑なGUI操作をスクリプト化し、再現性と安定性を確保するために使用できます。

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

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

MacroCLI CLI は何をしますか?

概要

MacroCLIは、価値のあるGUIワークフローをパラメータ化されたCLI呼び出し可能なマクロに変換します。エージェントはGUIに直接触れることなく、この安定したCLIを介してマクロを呼び出し、ランタイムが最適なバックエンド(ネイティブプラグイン/API、ファイル変換、セマンティックUI制御、またはプリコンパイルされたGUIマクロリプレイ)に実行をルーティングします。

インストール

cd macrocli/agent-harness
pip install -e .

要件: Python 3.10以上、PyYAML、click、prompt-toolkit。

クイックスタート(エージェント向け)

# 1. 利用可能なマクロを確認
cli-anything-macrocli macro list --json

# 2. マクロのパラメータを確認
cli-anything-macrocli macro info export_file --json

# 3. 副作用なしでパラメータを検証するドライラン
cli-anything-macrocli --dry-run macro run export_file \
    --param output=/tmp/test.txt --json

# 4. マクロを実行
cli-anything-macrocli macro run export_file \
    --param output=/tmp/result.txt --json

# 5. 利用可能なバックエンドを確認
cli-anything-macrocli backends --json

コマンドリファレンス

グローバルフラグ

フラグ説明
--json機械可読なJSON出力をstdoutに出力
--dry-runすべてのステップをシミュレートし、副作用をスキップ
--session-id <id>指定されたセッションを再開または作成

macro グループ

コマンド説明
macro list利用可能なすべてのマクロを一覧表示
macro info <name>マクロのスキーマ(パラメータ、ステップ、条件)を表示
macro run <name> --param k=vマクロを実行
macro dry-run <name> --param k=v副作用なしでシミュレート
macro validate [name]構造検証
macro define <name>新しいマクロYAMLのスキャフォールドを作成

session グループ

コマンド説明
session statusセッションの統計情報を表示
session history最近の実行履歴を表示
session saveセッションをディスクに保存
session list保存されたすべてのセッションを一覧表示

backends

cli-anything-macrocli backends --json
# 表示内容: native_api, file_transform, semantic_ui, gui_macro, recovery
# および現在の環境で利用可能かどうか

マクロパラメータ

パラメータは --param key=value で渡します。複数のパラメータは繰り返し指定します:

cli-anything-macrocli macro run transform_json \
    --param file=/path/to/data.json \
    --param key=settings.theme \
    --param value=dark \
    --json

出力形式(--json)

--json が設定されている場合、すべてのコマンドはJSONを出力します:

{
  "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
  }
}

失敗時("success": false)は、"error" フィールドに理由が記述されます。終了コードは失敗時に1になります。

実行バックエンド

バックエンドはマクロステップ定義に基づいて自動的に選択されます:

バックエンドトリガーユースケース
native_apibackend: native_apiサブプロセス/シェルコマンド
file_transformbackend: file_transformXML、JSON、テキストファイルの編集
semantic_uibackend: semantic_uiアクセシビリティ/キーボードショートカット
gui_macrobackend: gui_macroプリコンパイルされた座標リプレイ
recoverybackend: recovery再試行/フォールバックオーケストレーション

マクロの作成

マクロは cli_anything/macrocli/macro_definitions/ 内のYAMLファイルです。以下のコマンドでスキャフォールドを作成できます:

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

最小スキーマ:

name: my_macro
version: "1.0"
description: このマクロの説明。

parameters:
  output:
    type: string
    required: true
    description: 結果の書き込み先。
    example: /tmp/result.txt

preconditions:
  - file_exists: /path/to/input

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

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

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

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

エージェント使用ルール

  1. プログラム的な出力には常に --json を使用 します。
  2. 副作用のあるマクロを実行する前に --dry-run でパラメータを検証 します。
  3. success フィールドを確認 します — 終了コードだけで成功を判断しないでください。
  4. success が false の場合は error フィールドを読み ます — 何が失敗したか説明されています。
  5. macro run を呼び出す前に macro info <name> を使用してパラメータを確認 します。
  6. すべてのファイルパラメータには絶対パスを使用 します。

ワークフロー例

# ステップ1: 何が利用可能か?
cli-anything-macrocli macro list --json

# ステップ2: transform_json に必要なパラメータは?
cli-anything-macrocli macro info transform_json --json

# ステップ3: 安全にテスト
cli-anything-macrocli --dry-run macro run transform_json \
    --param file=/tmp/config.json \
    --param key=theme \
    --param value=dark --json

# ステップ4: 実際に実行
cli-anything-macrocli macro run transform_json \
    --param file=/tmp/config.json \
    --param key=theme \
    --param value=dark --json

バージョン

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

>-

関連スキル