svg-precision について
svg-precision は、JSON のシーン仕様から SVG を生成し、検証や PNG プレビューの描画を行うスキルです。明示的な構築と出力チェックが必要な SVG 制作に適しています。
主な機能
- 01JSON シーン仕様から SVG を生成
- 02生成した SVG ファイルを検証
- 03PNG プレビューを描画
- 04描画画像を比較
- 05テンプレートとレイアウトレシピ
活用シーン
- 01アイコン、図表、UI モックアップの作成
- 02SVG 出力の構造上の問題を確認
- 03SVG を PNG プレビューとして表示
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ dkyazzentwatwa/ chatgpt-skills --skill svg-precisionインストール後、Claude Code で/svg-precisionを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/recipes.mdspec.mdscripts/requirements.txtself_test.pysvg_cli.pyscripts/examples/bar_chart.jsondiagram.jsonicon_check.jsontechnical_dim.jsonui_card.jsonscripts/svg_skill/__init__.pycore.pyrender.pyvalidate.py詳細
svg-precision
厳格な JSON 仕様(シーングラフ)から構造的に正しい SVG を生成し、検証して、必要に応じて PNG プレビューをレンダリングします。
簡単な手順
- ユーザーのリクエストを仕様 JSONに変換します(
references/spec.mdのテンプレートを使用します)。 - SVG を作成します:
python scripts/svg_cli.py build spec.json out.svg
- 検証します:
python scripts/svg_cli.py validate out.svg
- (任意)PNG プレビューをレンダリングします(CairoSVG が必要です):
python scripts/svg_cli.py render out.svg out.png --scale 2
仕様の設計ルール(精度向上のため)
canvas.viewBoxと明示的なcanvas.width/canvas.heightを必ず設定します。- 絶対座標を優先し、複雑さを軽減できる場合にのみ変換を使用します。
- 数値は適切な範囲に収めます。NaN/inf は使用せず、小数点以下 3~4 桁に丸めます。
- 再利用する項目は
defs(マーカー、グラデーション、clipPaths)に配置し、id で参照します。 - ビューアー間で予測可能な結果を得るには、必要な場合を除き、特殊なフィルターを避けます。
- テキストの表示はフォントやビューアーによって異なります。ピクセル単位で完全に一致させる必要がある場合は、テキストをリスク要因として扱い、図形を優先します。
同梱スクリプトの使用
CLI
python scripts/svg_cli.py build <spec.json> <out.svg>python scripts/svg_cli.py validate <svg>python scripts/svg_cli.py render <svg> <out.png> [--scale N]python scripts/svg_cli.py diff <a.svg> <b.svg> <diff.png> [--scale N](レンダリングして画像を比較します)
ライブラリとして使用(Python)
from svg_skill import build_svg, validate_svg
svg_text = build_svg(spec_dict)
report = validate_svg(svg_text)
リクエストが曖昧な場合
- SVG の種類を特定します:アイコン/図/チャート/UI/技術図。
references/spec.mdからテンプレートを選び、具体的な数値を入力します。- 寸法が不明な場合は、用途に合った既定値を選びます:
- アイコン:24x24 または 32x32
- UI モックアップ:1440x900 または 390x844(モバイル)
- チャート:800x450
- 図:1200x800
- 技術図面:単位(mm/in)と縮尺を指定します
参考資料
references/spec.md- スキーマと SVG の種類ごとにすぐコピーできるテンプレートreferences/recipes.md- 一貫してレンダリングされるレイアウトとスタイルのパターン
コメント
Markdown 対応