mcpField
C
cli-anything-inkscape

cli-anything-inkscape

github.com/hkudsクリエイティブ・メディア57.6k617 回インストール5 週間前に更新
リポジトリ

cli-anything-inkscape について

cli-anything-inkscapeは、AIエージェントや上級ユーザー向けのベクター編集CLIです。SVGを直接操作してJSONでプロジェクト状態を管理し、図形の編集や書き出しを行えます。

主な機能

  1. 01ベクター図形の作成と編集
  2. 02折り返しボックス付きテキストの追加
  3. 03スタイルと変形の調整
  4. 04レイヤーとグラデーションの管理
  5. 05パスのブーリアン演算
  6. 06PNG、SVG、PDFへの書き出し

活用シーン

  1. 01コマンドでSVGグラフィックを作成
  2. 02見出しレイアウトに折り返しテキスト枠を設定
  3. 03エージェント処理向けに文書状態をJSONで出力

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/hkuds/cli-anything --skill cli-anything-inkscape

インストール後、Claude Code で/cli-anything-inkscapeを入力して読み込まれたか確認します。

詳細

cli-anything-inkscape

ベクターグラフィック編集のためのステートフルなコマンドラインインターフェースで、GIMP および Blender の CLI ハーネスと同じパターンに従っています。SVG(XML)ドキュメントを直接操作し、状態追跡のために JSON プロジェクト形式を使用します。

インストール

この CLI は cli-anything-inkscape パッケージの一部としてインストールされます:

pip install cli-anything-inkscape

前提条件:

  • Python 3.10+
  • inkscape がシステムにインストールされている必要があります

使用方法

基本コマンド
# 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 モード

サブコマンドなしで起動すると、CLI は対話型の REPL セッションに入ります:

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

存在しないプロジェクトパスを指定して REPL を開始することもできます。CLI は即座に失敗するのではなく、 新しいインメモリドキュメントをシードするようになりました:

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

コマンドグループ

Document

ドキュメント管理コマンド。

コマンド説明
new新しいドキュメントを作成します
open既存のプロジェクトを開きます
save現在のプロジェクトを保存します
infoドキュメント情報を表示します
profiles利用可能なドキュメントプロファイルを一覧表示します
canvas-sizeキャンバスサイズを設定します
unitsドキュメントの単位を設定します
json生のプロジェクト JSON を出力します
Shape

シェイプ管理コマンド。

コマンド説明
add-rect矩形を追加します
add-circle円を追加します
add-ellipse楕円を追加します
add-line線を追加します
add-polygon多角形を追加します
add-pathパスを追加します
add-star星形を追加します
removeインデックスでシェイプを削除します
duplicateシェイプを複製します
listすべてのシェイプ/オブジェクトを一覧表示します
getシェイプの詳細情報を取得します
Text

テキスト管理コマンド。

コマンド説明
addテキスト要素を追加します。折り返しレイアウト用に --box-width、--box-height、--line-height をサポートします
setテキストプロパティ(text、font-family、font-size、fill、box-width、box-height、line-height など)を設定します
listすべてのテキストオブジェクトを一覧表示します
Style

スタイル管理コマンド。

コマンド説明
set-fillオブジェクトの塗りつぶし色を設定します
set-strokeオブジェクトの線の色(およびオプションで幅)を設定します
set-opacityオブジェクトの不透明度(0.0〜1.0)を設定します
setオブジェクトに任意のスタイルプロパティを設定します
getオブジェクトのスタイルプロパティを取得します
list-properties利用可能なすべてのスタイルプロパティを一覧表示します
Transform

変形操作(移動、回転、拡大縮小、傾斜)。

コマンド説明
translateオブジェクトを移動します
rotateオブジェクトを回転します
scaleオブジェクトを拡大縮小します
skew-xオブジェクトを水平方向に傾斜させます
skew-yオブジェクトを垂直方向に傾斜させます
getオブジェクトの現在の変形を取得します
clearオブジェクトからすべての変形をクリアします
Layer

レイヤー管理コマンド。

コマンド説明
add新しいレイヤーを追加します
removeインデックスでレイヤーを削除します
move-objectオブジェクトを別のレイヤーに移動します
setレイヤープロパティ(name、visible、locked、opacity)を設定します
listすべてのレイヤーを一覧表示します
reorderレイヤーをある位置から別の位置に移動します
getレイヤーの詳細情報を取得します
Path Group

パスのブール演算。

コマンド説明
union2 つのオブジェクトの和集合
intersection2 つのオブジェクトの交差
difference2 つのオブジェクトの差分(A から B を引く)
exclusion2 つのオブジェクトの排他的論理和(XOR)
convertシェイプをパスに変換します
list-operations利用可能なパスのブール演算を一覧表示します
Gradient

グラデーション管理コマンド。

コマンド説明
add-linear線形グラデーションを追加します
add-radial放射状グラデーションを追加します
applyオブジェクトにグラデーションを適用します
listすべてのグラデーションを一覧表示します
エクスポートグループ

エクスポート/レンダリングコマンド。

コマンド説明
pngドキュメントを PNG にレンダリングします
svgドキュメントを SVG としてエクスポートします
pdfドキュメントを PDF としてエクスポートします(Inkscape が必要)
presetsエクスポートプリセットを一覧表示します
セッション

セッション管理コマンド。

コマンド説明
statusセッションのステータスを表示します
undo最後の操作を元に戻します
redo最後に元に戻した操作をやり直します
history元に戻す履歴を表示します

例

新しいプロジェクトの作成

新しい inkscape プロジェクトファイルを作成します。

cli-anything-inkscape document new -o myproject.json
# Or with JSON output for programmatic use
cli-anything-inkscape --json document new -o myproject.json
インタラクティブ REPL セッション

元に戻す/やり直しをサポートするインタラクティブセッションを開始します。

cli-anything-inkscape
# Enter commands interactively
# Use 'help' to see available commands
# Use 'undo' and 'redo' for history navigation
プロジェクトのエクスポート

プロジェクトを最終出力形式にエクスポートします。

cli-anything-inkscape --project myproject.json export pdf output.pdf --overwrite
折り返しテキストレイアウト

タイトルカード、チップ、縦向きでも安全なパネルには、手動で改行を挿入するのではなく、 折り返しテキストボックスを使用することをおすすめします。

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

注意:

  • box-width は長いテキストを複数のエクスポートされた SVG tspan 行に折り返します。
  • box-height により、長いテキストはキャンバスからはみ出す代わりに安全に失敗できます。
  • 長いテキストのグラフィックには、手動での改行に頼る前に折り返しテキストボックスを使用してください。

状態管理

CLI は次のようにセッション状態を維持します:

  • 元に戻す/やり直し: 最大 50 レベルの履歴
  • プロジェクトの永続化: プロジェクト状態を JSON として保存/読み込み
  • セッションの追跡: 変更と修正を追跡

出力形式

すべてのコマンドは 2 つの出力モードをサポートします:

  • 人間が読みやすい形式(デフォルト): テーブル、色、整形されたテキスト
  • 機械が読み取れる形式(--json フラグ): エージェントが利用するための構造化 JSON
# Human output
cli-anything-inkscape project info -p project.json

# JSON output for agents
cli-anything-inkscape --json project info -p project.json

AI エージェント向け

この CLI をプログラムから使用する場合:

  1. 必ず --json フラグを使用する - 解析可能な出力のため
  2. リターンコードを確認する - 0 は成功、非ゼロはエラー
  3. 失敗時は stderr を解析する - エラーメッセージのため
  4. すべてのファイル操作に絶対パスを使用する
  5. エクスポート操作後に出力が存在することを確認する
  6. 見出しや可変長のテキストには折り返しテキストボックスを優先する - 編集してもレイアウトが安定するため

詳細情報

  • 完全なドキュメント: パッケージ内の README.md を参照してください
  • テストカバレッジ: パッケージ内の TEST.md を参照してください
  • 方法論: cli-anything-plugin 内の HARNESS.md を参照してください

バージョン

1.0.1

コメント