{
  "name": "kitbitz_fetch",
  "description": "Copy chosen illustrations out of the local mirror into the work — projects/<name>/assets/kitbitz/ for one project's art, files/kit/svg/ for elements several projects reuse (that folder is what the video editor's kit panel lists). Writes a KITBITZ.md of credits beside them. Refuses any destination outside the workspace, caps each file at 2 MB and each call at 60 illustrations, and downloads a missing kit's artwork by itself.",
  "parameters": {
    "properties": {
      "ids": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "The asset ids printed by kitbitz_search or kitbitz_scene, e.g. [\"cypress-tree-91120599\"]. Up to 60 per call."
      },
      "into": {
        "type": "string",
        "description": "Workspace-relative destination folder, created if needed — projects/<name>/assets/kitbitz for a project's own drawings, files/kit/svg for reusable elements the video editor should list. Never absolute, never outside the workspace."
      }
    },
    "required": [
      "ids",
      "into"
    ]
  },
  "run": "NODE_BIN=\"$(command -v node || true)\"; if [ -z \"$NODE_BIN\" ]; then echo 'kitbitz_fetch: node not found on PATH' >&2; exit 2; fi; S=\"skills/kitbitz/tools/kitbitz_fetch/fetch.mjs\"; if [ ! -f \"$S\" ]; then echo 'kitbitz_fetch: fetch.mjs not found — this tool runs from an installed kitbitz skill folder (skills/kitbitz/)' >&2; exit 2; fi; exec \"$NODE_BIN\" \"$S\""
}
