360 Secure SkillHub
360 安全技能中心

SF Symbol generator

读取 SVG 并校验 viewBox,计算路径边界并按 SF Symbols 模板边距居中,将路径注入 Ultralight/Regular/Black 模板,在资源目录中生成 <symbol-name>.symbolset 与 Contents.json。

svkozak
svkozak
热度 92.26
最近更新 2026-05-11 15:48:53
分类:开发依赖:代码执行 / 读写文件应用场景:文件转换 / 模板 / 品牌素材

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add sfsymbol-generator
Metadata
name
sfsymbol-generator
description
Generate an Xcode SF Symbol asset catalog .symbolset from an SVG. Use when you need to add a custom SF Symbol (build-time) by creating the symbolset folder, Contents.json, and SVG file.

SF Symbol Generator

Usage

You can override the default asset catalog location with SFSYMBOL_ASSETS_DIR.

Raw symbolset (no template injection)

./scripts/generate.sh <symbol-name> <svg-path> [assets-dir]
  • symbol-name: Full symbol name (e.g., custom.logo, brand.icon.fill).
  • svg-path: Path to the source SVG file.
  • assets-dir (optional): Path to Assets.xcassets/Symbols (defaults to Assets.xcassets/Symbols or SFSYMBOL_ASSETS_DIR).

Template-based symbolset (recommended)

./scripts/generate-from-template.js <symbol-name> <svg-path> [template-svg] [assets-dir]
  • template-svg (optional): SF Symbols template SVG to inject into (defaults to the first .symbolset SVG found in Assets.xcassets/Symbols, otherwise uses the bundled skill template).

Example

./scripts/generate-from-template.js pi.logo /Users/admin/Desktop/pi-logo.svg

Requirements

  • SVG must include a viewBox.
  • Use path-based shapes (paths are required; rects are supported and converted, but other shapes should be converted to paths).
  • Prefer filled shapes (no strokes) to avoid thin artifacts.

Workflow

  1. Validates the SVG path and viewBox.
  2. Computes path bounds and centers within the SF Symbols template margins.
  3. Injects the paths into the SF Symbols template (Ultralight/Regular/Black).
  4. Creates <symbol-name>.symbolset inside the asset catalog Symbols folder.
  5. Writes a matching Contents.json.