Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/gridaco/nothing/linksnpx skills add gridaco/nothing --skill linksgit clone --depth 1 https://github.com/gridaco/nothingWhat 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 | $0.00071 | $0.00896 |
| Opus 5 | $0.00036 | $0.00448 |
| Sonnet 5 | $0.00014 | $0.00179 |
| Haiku 4.5 | $0.00007 | $0.00090 |
Grade A, and why
links 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 2d 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 — 62 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Links (engine repo)
A link is correct or broken at the surface it is rendered on, for that surface's audience — not where the text lives in the repo. Before you write any link: (1) where is this text rendered? (2) who reads it there? (3) when they click, where does it resolve from that host — and is that the thing you meant?
Surfaces in this repo
| Surface | Lives in | Audience |
|---|---|---|
| GitHub (repo browse) | everything — incl. docs/wg/** (also published by this repo's www/ docs app, which resolves the same .md-suffixed relative links; GitHub remains the canonical host) |
engine developers |
npm (npmjs.com) |
crates/grida-canvas-wasm package README |
package users |
| Raw / no host | IDE, stack traces, compiled output | whoever has it |
First-party hosts
| URL | What |
|---|---|
https://github.com/gridaco/nothing |
This repo. File → …/blob/main/<path>; dir → …/tree/main/<path>; main only, never a SHA |
https://github.com/gridaco/grida |
The product monorepo (editor, packages, service docs). Same file/dir forms |
https://grida.co |
The product · https://grida.co/docs = the product docs site (publishes grida's docs tree) |
Decision table
| Rendered in | Target | Use |
|---|---|---|
| anywhere in this repo | anything in this repo (crates, docs/wg, fixtures, format) | relative repo path — same host (GitHub) everywhere |
| anywhere in this repo | a grida-repo file/dir | absolute `https://github.com/gridaco/grida/blob |
| anywhere in this repo | a published grida docs page (staying clusters: platform, ai, …) | hosted URL https://grida.co/docs/<path> |
| npm package README | anything in-repo | absolute https://github.com/gridaco/nothing/blob/main/<path> — relative dies on npmjs.com |
| any | external | https://… as-is |
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.
- 2d ago First seen · 62 lines · 71 tokens per session scan A 3b3bfe7e1753
links is a skill published in the GitHub repository gridaco/nothing (43 stars, last pushed 2d ago), licensed Apache-2.0. It adds 71 tokens to every session and 896 once invoked, about $0.0004 per session on Opus 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
freya
Freya Rust GUI framework best practices, patterns, and conventions. Use when writing Freya components, hooks, elements, or working on a Freya project.
docs-svg-kit
Author SVG figures for Grida docs — diff-able, version-controlled vector diagrams embedded in doc pages instead of screenshots. Provides reusable primitives (selection chrome, size badges, anchor pins, resize cursors, click ripples), color/typography tokens, a starter template, and finished examples to crib from.…
editor-perf
Guides performance investigation, benchmarking, and optimization of the Grida Canvas web editor (TypeScript reducer, Immer, React hooks). Use when profiling reducer dispatch cost, diagnosing slow interactions (drag, resize, color change), writing or running editor benchmarks, instrumenting with PerfObserver, or…
sdk-seam
Discipline for the seam between two SDKs (or two sides of one contract) that the same hand writes. The failure mode: "we own both sides" produces dirty contracts no foreign reviewer would accept. The exercise: pretend the other side is FFI, IPC, or a network protocol you cannot rewrite. Spawn an adversarial subagent…
ai-models
Research, compare, and update AI model configurations. Covers text model tiers, image and video generation models, image tool models, pricing data sourcing, and provider-cost metering against prepaid org credit. Use when bumping model versions, adding new models, updating pricing, or auditing model specs against…
sdk-design
Doctrine for designing and evolving any SDK Grida ships — TypeScript, Rust, or otherwise. "SDK" here means a surface that crosses a foreign-or-foreign-treated boundary: published packages, separately-versioned consumers, FFI bindings, public-by-design modules. An SDK's job is to refuse; a strict, honest surface…