Agent skill

Links

by gridaco in gridaco/grida

Write any link or URL so it resolves where it is rendered, not where it lives in the repo.

Apache-2.0Auto-check passedDevelopment

Install Links

skills CLI
$ npx skills add gridaco/grida --skill links -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install gridaco/grida links --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/gridaco/grida.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/links .claude/skills/links && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
links
GitHub stars
2.7k
Token cost
~2.5k tokens
SKILL.md length
920 words
Files
1
Skills in repo
29
Repo updated
First seen
Licence
Apache-2.0

At a glance

Write any link or URL so it resolves where it is rendered, not where it lives in the repo.

  • Works in 3 steps: Where is this text rendered/hosted? (the… → Who is the audience there? → **When they click, where does it resolve…
  • Editing a link — in docs
  • SKILL.md covers Before you write any link,…, Surfaces (where text is…, Decision table (rendered host… and Grida URLs, plus 3 more sections
  • Calls git; reaches grida.co and github.com

What it does

Links is an agent skill from gridaco/grida. Write any link or URL so it resolves where it is rendered, not where it lives in the repo. Use when authoring or editing a link — in docs, source docstrings, READMEs (incl. npm-published), or product UI: docs cross-refs, "see SECURITY.md", universal // routes, GitHub URLs.

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Technical documentation. It works with GitHub and npm. The licence is Apache-2.0.

When your agent uses it

  • Editing a link — in docs
  • Source docstrings

Example prompts

  • “see SECURITY.md”
  • “/links”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Where is this text rendered/hosted? (the surface)
  2. Who is the audience there?
  3. **When they click, where does it resolve from that host — and is

What it can do on your machine

Read from SKILL.md and the folder at commit 165496f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • grida.co
    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Links loads about 2.5k tokens when it runs. Until then it costs about 71 tokens; SKILL.md has 920 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~71
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from gridaco/grida at commit 165496f, republished under its Apache-2.0 licence (© gridaco). 920 words, ~2,463 tokens.

Download SKILL.mdSave it as .claude/skills/links/SKILL.md (or your agent's skills folder).
name
links
description
Write any link or URL so it resolves where it is rendered, not where it lives in the repo. Use when authoring or editing a link — in docs, source docstrings, READMEs (incl. npm-published), or product UI: docs cross-refs, "see SECURITY.md", universal `/_/` routes, GitHub URLs.

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. The same path string is valid in one host and dead in another. This skill is the single source of truth for which form to use; docs/AGENTS.md defers here.

  1. Where is this text rendered/hosted? (the surface)
  2. Who is the audience there?
  3. When they click, where does it resolve from that host — and is that the thing you meant?

Question 3 is the one that must not break. Everything below is just the answer table.

Surfaces (where text is rendered)

SurfaceLives inAudience
Docs site (Docusaurus, grida.co/docs)docs/**users / contributors
GitHub (repo browse)source files, repo-root *.mddevelopers
npm (npmjs.com)published packages/*/README.mdpackage users
Product UI (grida.co app)editor/app/** strings/componentsproduct users
Raw / no hostIDE, stack trace, pasted, compiled outputwhoever has it

Decision table (rendered host → target → form)

Rendered inTargetUse
Docs siteanother docs pagerelative within /docs
Docs siterepo path outside /docsabsolute GitHub URL
Docs site / Product UIthe product / dashboard / editoruniversal route
Source codea docs pagehosted docs URL
Source codeanother source filerelative repo path
npm READMEanything in-repoabsolute (GitHub URL or grida.co)
Product UIa docs pagehosted docs URL (or universal route)
Repo-root *.md (GitHub)docs / sourcerelative works on GitHub but lands on raw .md; use the hosted docs URL when you mean the rendered doc
Anyexternalhttps://… as-is

Grida URLs

The only first-party hosts. Build every absolute link from these — if a link should be first-party but isn't one of these, it is wrong.

URLWhat
https://grida.coMain website (marketing / product root)
https://grida.co/docsDocs site (Docusaurus). docs/<path>.md → https://grida.co/docs/<path> (drop the docs/ prefix and the extension)
https://grida.co/_/<path>Universal route — resolves to the tenant path /:org/:project/... at runtime
https://github.com/gridacoThe GitHub org
https://github.com/gridaco/gridaThis repo. File → …/gridaco/grida/blob/main/<path>; dir → …/gridaco/grida/tree/main/<path>
https://github.com/gridaco/nothingThe engine repo (crates/, format/, engine docs/wg clusters, engine fixtures). File → …/blob/main/<path>; dir → …/tree/main/<path>; main only

Decision row for engine targets: any grida surface → an engine-repo path → absolute https://github.com/gridaco/nothing/blob|tree/main/<path>. Never relative (different repo), never grida.co/docs/wg/<engine-cluster>/… — the docs site no longer publishes the engine wg clusters (canvas, format, research, feat-2d/svg/css/paragraph/text-editing/…). A redirect shim keeps old published URLs alive; do not author new links through a redirect.

The forms (exact)

Universal route — any "open this in the product" link. https://grida.co/_/<path> (e.g. /_/dash, /_/connect/share). A stable shorthand resolved at runtime to the tenant path /:org/:project/.... Never hardcode /:org/:project/.... Defined in docs/wg/platform/universal-docs-routing.md; register new user-facing pages there so the /_/ alias resolves.

Hosted docs URL — source code / product UI / npm → a docs page. https://grida.co/docs/<path> where <path> drops the docs/ prefix and the extension: docs/wg/platform/billing/ai-credits.md → https://grida.co/docs/wg/platform/billing/ai-credits. Not a relative ../../docs/.... Why: it points at the canonical rendered doc and survives file moves, paste, and stack traces. (New convention — existing source uses relative links; migrate opportunistically, do not churn.)

Absolute GitHub URL — docs site / npm → a repo path outside the deployable root. File: https://github.com/gridaco/grida/blob/main/<path>. Directory: https://github.com/gridaco/grida/tree/main/<path>. Always main; never pin a commit or other branch SHA — the reader must land on current main. (A file URL requires /blob/main/; there is no shorter valid form.)

Relative — only within the same host. Docs→docs relative within /docs; source→source relative repo path. Correct precisely because it resolves in that host.

Show full SKILL.md (358 more words)Show less

Hard rules

  • Never link outside /docs from a docs page with a relative path. Only /docs/** is deployed; ../../crates/... 404s on the site — and crates/ now lives in gridaco/nothing, so such a link is wrong twice. Use the absolute GitHub URL of the owning repo. (Supersedes any older "use inline code" guidance.)
  • npm-published package READMEs (packages/* with "private": false): every in-repo reference must be absolute — relative paths die on npmjs.com.
  • Cross-host #fragment: GitHub and Docusaurus slugify headings differently. When the link crosses render hosts, link the page/file, not a guessed anchor. Use a fragment only if you can verify it in the target host's slug scheme.
  • Do not link from shipped docs to a draft: true, unpublished, or unlisted page — the target will not resolve on the site.
  • Never target generated or synced trees (apps/docs/docs/**, docs/@designto-code/**). Link the docs/** source or its hosted URL.
  • Source-code docstrings → docs: use the hosted docs URL. A relative ../../docs/... resolves on GitHub but lands on raw markdown and rots when the file moves.
  • No local-only references — clean them before commit. While working you will reference things that exist only on your machine: absolute machine paths (/Users/..., ~/...), /tmp and scratch dirs, untracked or gitignored files, prior local research, ~/.claude/plans/.... They resolve to nothing for anyone else and leak into docstrings, docs, comments, and PR text far more often than you'd expect. Before commit, delete them or replace with a committed path / public URL. Verify: if git ls-files / git check-ignore shows the target isn't tracked and it isn't a public URL, it does not exist for the audience. This is correctness, not hygiene.
  1. Name the render host (where this text is shown).
  2. Name the target's canonical host.
  3. Same host → relative is fine. Crossing hosts → use the target's canonical absolute form: grida.co/docs/... (a doc), grida.co/_/... (the product), or github.com/gridaco/grida/blob/main/... (a repo file).
  4. No commit/branch SHA pins — main only.
  5. No cross-host fragment guesses.
  6. Target is actually published (not draft/unlisted, not a generated/synced copy).
  7. Pre-commit gate: no local-only/untracked target — the referent exists for the audience, not just on your machine.

© gridaco, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/links of gridaco/grida.

Open the folder on GitHubat commit 165496f

Compare with similar skills

Links next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Links compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Links this skillgridaco/grida2.7k—~2.5kAutomated safety check: PassApache-2.0
Update .NET Supported OS Matrixdotnet/core22k—~4.1kAutomated safety check: PassMIT
Ccb GitHubSeemSeam/claude_codex_bridge3.5k—~4.9kAutomated safety check: PassCustom licence
README Badges and Headersjal-co/shieldcn916—~4.3kAutomated safety check: PassMIT
Releaseemanuelcasco/pi-mono-extensions106—~2.3kAutomated safety check: PassMIT
Opendocsioteverythin/OpenDocs233—~746Automated safety check: NotesMIT

Similar skills

  • Official

    Audits and updates the supported-os.json files for .NET releases, checking them against upstream lifecycle data and regenerating the markdown with the release-notes tool.

    22k GitHub stars~4.1k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Ccb GitHub

    SeemSeam/claude_codex_bridge

    Maintain this CCB project's GitHub-facing release and npm publication surface.

    3.5k GitHub stars~4.9k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Adds shadcn/ui-styled README badges, badge groups, download charts, header banners and sponsor or contributor grids using the shieldcn service.

    916 GitHub stars~4.3k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Release

    emanuelcasco/pi-mono-extensions

    Release a new version of pi-extensions: bump individual package versions (independent mode), update CHANGELOGs and READMEs, create per-package git tags, publish a GitHub release, and publish…

    106 GitHub stars~2.3k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Opendocs

    ioteverythin/OpenDocs

    Generates multi-format documentation (Word, PDF, PPTX, Markdown blog post, JIRA ticket, FAQ, changelog, LaTeX, social snippet, architecture diagram) from a GitHub README, npm package, local Markdown…

    233 GitHub stars~746 tokensUpdated 1 mo ago
    Documents & OfficeAuto-check: notes
  • Get API Docs with chub

    andrewyng/context-hub

    Fetches current documentation for third-party APIs and SDKs with the chub CLI before the agent writes code against them, instead of relying on remembered API shapes.

    14k GitHub starsUsed in 2 repos~775 tokens
    DevelopmentAuto-check passed

More from gridaco/grida

All 29 skills in this repo
  • Desktop

    gridaco/grida

    Grida Desktop Electron shell and release-impact work: BrowserWindow, preload, window.grida, menus, protocol/deep links, file associations, Forge, path-scoped bridge security, Electron-only UI bugs…

    2.7k GitHub stars~3.2k tokensUpdated yesterday
    Auto-check: notes
  • Io Figma

    gridaco/grida

    Guides work on the Figma I/O package (@grida/io-figma, packages/grida-canvas-io-figma/).

    2.7k GitHub stars~2.2k tokensUpdated yesterday
    Auto-check: notes
  • Opt Library

    gridaco/grida

    Set up, download, verify, and seed the optional Grida Library developer corpus into local Supabase.

    2.7k GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Vision

    gridaco/grida

    Query images with a local Ollama vision model without loading the image into the main agent context.

    2.7k GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • AI Models

    gridaco/grida

    Research, compare, and update shared AI model JSON for TypeScript, web, and Rust consumers.

    2.7k GitHub stars~5.7k tokensUpdated yesterday
    Auto-check passed
  • Agent System

    gridaco/grida

    Grida AI agent system work: @grida/daemon (DaemonServer, loopback HTTP perimeter, files/workspaces, secrets store, daemon discovery) and @grida/agent (the agent tenant: sessions, providers/BYOK…

    2.7k GitHub stars~3.4k tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Links

What does Links do?

Write any link or URL so it resolves where it is rendered, not where it lives in the repo. Links is an agent skill from gridaco/grida. Write any link or URL so it resolves where it is rendered, not where it lives in the repo.

When should I use Links?

Links fits situations like: editing a link — in docs; source docstrings.

How do I install Links in Claude Code?

Run `npx skills add gridaco/grida --skill links -a claude-code`. Or copy the skill folder (.agents/skills/links in gridaco/grida) into .claude/skills/links in your project. Claude Code loads it when a task matches its description.

How do I install Links in Codex?

Run `npx skills add gridaco/grida --skill links -a codex`. Or copy the skill folder (.agents/skills/links in gridaco/grida) into .agents/skills/links in your project. Codex loads it when a task matches its description.

Can I use Links in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gridaco/grida --skill links -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/links, .gemini/skills/links, .github/skills/links and .opencode/skills/links in your project.

What does Links need to run?

Going by SKILL.md and its folder, Links needs the command-line tools its instructions call (git).

Does Links access the network?

SKILL.md names 2 domains. In commands or code: grida.co and github.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Links safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Links use?

Links is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Links use?

About 2.5k tokens (SKILL.md is roughly 9.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Links?

Skills that share tags, products or a category with Links: Update .NET Supported OS Matrix (dotnet/core, 22k stars), Ccb GitHub (SeemSeam/claude_codex_bridge, 3.5k stars), README Badges and Headers (jal-co/shieldcn, 916 stars) and Release (emanuelcasco/pi-mono-extensions, 106 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Links?

gridaco (a GitHub organization) maintains it in gridaco/grida, which has 2,657 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 6, 2026.

Source: gridaco/grida on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.