Borrowing it
Nothing to install: this file belongs to gridaco/nothing. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/gridaco/nothing/main/.agents/skills/io-svg/SKILL.mdgit clone --depth 1 https://github.com/gridaco/nothingWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/gridaco/nothing/io-svg)<a href="https://agentmods.dev/skills/gridaco/nothing/io-svg"><img src="https://agentmods.dev/badge/skills/gridaco/nothing/io-svg/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/gridaco/nothing/io-svg"><img src="https://agentmods.dev/badge/skills/gridaco/nothing/io-svg.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00108 | $0.01531 |
| Opus 5.5 | $0.00043 | $0.00612 |
| Sonnet 5.5 | $0.00022 | $0.00306 |
| Haiku 4.5 | $0.00011 | $0.00153 |
Grade A, and why
io-svg scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 171 lines — stays where its author put it; the contents beside it link to each section on GitHub.
SVG I/O — Rust SVG Import Pipeline
Crate: crates/grida/src/import/svg/
When to Use This Skill
- Adding support for new SVG elements or attributes
- Fixing SVG-to-Grida conversion bugs (wrong transform, wrong paint, etc.)
- Authoring new SVG test fixtures in
fixtures/test-svg/L0/ - Debugging cross-boundary codec failures (Rust encodes ≠ TS decodes)
- Understanding what SVG features are supported vs. dropped
- Investigating text import fidelity
Architecture
.svg bytes
→ usvg::Tree::from_data() — parse + resolve (third_party/usvg/)
→ packed_scene::* — usvg::Tree → Grida scene graph
→ pack::* — pack nodes into IPackedSceneDocument
→ io::archive::pack() — produce .grida ZIP
Key design: SVG import is Rust-only. There is no TypeScript path for SVG→Grida.
Cross-boundary status: the TS-side codec test (fbs-svg-cross-boundary.test.ts,
grida repo) was retired at the engine split — it reached across the repo seam
and consumed Rust-generated artifacts from this repo's gitignored
fixtures/test-svg/.generated/. Verification is now Rust-side (cargo test -p grida
round-trips). If TS-decode coverage is ever wanted again, it must be re-plumbed
deliberately (publishable artifact or in-repo wasm-decode test), not revived as-was.
Key Files
| Path | Role |
|---|---|
crates/grida/src/import/svg/packed_scene.rs |
Core conversion: usvg nodes → Grida nodes |
crates/grida/src/import/svg/pack.rs |
Packs converted nodes into scene document |
crates/grida/src/import/svg/from_usvg.rs |
High-level entry: bytes → scene |
crates/grida/src/formats/svg/sanitize.rs |
Pre-processing / sanitization |
crates/grida_dev/src/main.rs |
svg-to-grida subcommand |
fixtures/test-svg/L0/ |
Committed SVG fixtures |
fixtures/test-svg/.generated/ |
Gitignored, generated .grida outputs |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 171 lines · 108 tokens per session scan A 02965feaa71b
io-svg is a skill published in the GitHub repository gridaco/nothing (54 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 108 tokens to every session and 1,531 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
dup-classes
Verify whether generated Java classes duplicate openai-java models by comparing fields/types (names may differ). Use when checking for duplicate model coverage.
freya
Freya Rust GUI framework best practices, patterns, and conventions. Use when writing Freya components, hooks, elements, or working on a Freya project.
ax-rust-signature
Use when writing Rust code with axllm for string signatures, field descriptors, JSON schema output, validation, and typed tool argument shapes.
ax-rust-llm
Use when writing Rust code with axllm for using the generated Ax package, factory functions, package docs, examples, and API reference.
transform-model
Add a Hugging Face or local checkpoint to TensorRT-Model-Connect as a self-contained family, or extend the family that already owns it.
spec-driven-tests
Rebuild a package's unit test suite around a behavior specification (SPEC.md) derived from the implementation, with every test citing a numbered rule ID. Use when asked to do a spec-driven test rebuild, write a SPEC.md for a package, repeat the state or store spec process (PRs.