Skill v1.0.0
currentLLM-judged scan90/100version: "1.0.0" name: quiver-svg description: Generate, inspect, and vectorize SVG assets with the QuiverAI API. Use when Codex needs to create SVG logos, icons, illustrations, diagrams, or other vector graphics from text prompts, convert raster images such as PNG/JPEG/WebP into SVG, list Quiver models, or troubleshoot QuiverAI API requests using QUIVERAI_API_KEY.
Quiver SVG
Overview
Use QuiverAI to create production-ready SVGs from text prompts or raster images. Prefer the bundled REST helper when you need a repeatable command-line flow; use the Node SDK only inside projects that already use Node and want Quiver as an application dependency.
Authentication
- Never write API keys into skill files, repo files, shell history examples, or generated artifacts.
- Read the key from
QUIVERAI_API_KEYfirst. - If
QUIVERAI_API_KEYis not set, the helper reads the key from macOS Keychain servicecodex-quiver-ai. - Store a pasted key in Keychain only when the user explicitly asks for durable setup.
- Treat generated SVG as code before embedding it in an app: inspect it for unexpected scripts, external references, or oversized markup.
Quick Start
If the key is not configured yet, store it in macOS Keychain:
python3 /Users/rileybrown/.codex/skills/quiver-svg/scripts/quiver_svg.py configure-key
Then generate:
python3 /Users/rileybrown/.codex/skills/quiver-svg/scripts/quiver_svg.py generate \--prompt "Flat monochrome rocket icon, centered, clean geometry" \--out rocket.svg
For model discovery:
python3 /Users/rileybrown/.codex/skills/quiver-svg/scripts/quiver_svg.py models
For image vectorization:
python3 /Users/rileybrown/.codex/skills/quiver-svg/scripts/quiver_svg.py vectorize \--image-file input.png \--auto-crop \--out input-vectorized.svg
Workflow
- Confirm a key is configured with
key-statusbefore making API calls when auth is uncertain. - Use
modelswhen the user asks what Quiver can use or when model availability may matter. - Use
generatefor prompt-to-SVG tasks. Default toarrow-1.1; usearrow-1.1-maxwhen the user asks for highest quality or the asset is detail-sensitive. - Use
vectorizefor PNG, JPEG, or WebP to SVG. Manually crop tightly first when possible; otherwise pass--auto-crop. - Save SVG outputs as explicit files in the working directory or user-requested destination.
- Open or inspect the SVG after generation when quality, safety, or dimensions matter.
Prompting
Include the subject, style, palette, and composition. Put production constraints in --instructions.
Good prompt:
Minimal vector logo mark for a local courier app: folded paper route arrow forming a C, centered, no text, works at 24px.
Good instructions:
Use clean editable SVG structure, no raster images, no external URLs, balanced whitespace, two colors maximum.
Helper Script
The bundled script is at scripts/quiver_svg.py.
Commands:
models: callsGET /v1/models.generate: callsPOST /v1/svgs/generations.vectorize: callsPOST /v1/svgs/vectorizations.
Common options:
--model arrow-1.1or--model arrow-1.1-max--out path.svgfor one output or--out output-dirfor multiple outputs--raw-response response.jsonto keep Quiver response metadata--temperature,--top-p,--presence-penalty, and--max-output-tokenswhen sampling control is needed
For text generation, pass --reference-url for web-hosted reference images or --reference-file for local image references. Arrow 1.1 supports up to 4 references; Arrow 1.1 Max supports up to 16.
API Notes
Read references/quiver-api.md when you need endpoint details, model guidance, error handling, or parameter ranges.