deep-links

A guide to deep links, special links that open a particular screen or action inside ToolHive Studio, a desktop application.

In plain words
What is it for?
Use it to implement or troubleshoot navigation links, install actions, and registry detail screens. It also covers the link format, intents, internal communication, and platform packaging.
Why use it?
It explains how browsers, terminals, and other applications can navigate ToolHive Studio through the toolhive-gui:// link format. This helps when adding or debugging links between applications.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/stacklok/toolhive-studio/deep-links
Any agent
npx skills add stacklok/toolhive-studio --skill deep-links
Clone the repo
git clone --depth 1 https://github.com/stacklok/toolhive-studio

Made for: Claude Code, Codex.

Per session 53 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,468 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00053 $0.01468
Opus 5 $0.00026 $0.00734
Sonnet 5 $0.00011 $0.00294
Haiku 4.5 $0.00005 $0.00147

Measured 2d ago against content hash d728d7f404f1, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

deep-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.

.claude/skills/deep-links/SKILL.md · 113 lines

How it starts

The opening of the file, as written. The whole thing — 113 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Deep links allow external systems (browsers, terminals, other apps) to trigger navigation inside ToolHive Desktop via the toolhive-gui:// custom protocol.

About this document: Much of the content in the reference docs is the result of research into how other Electron apps implement deep links. Some design decisions are implemented; others describe the intended direction but are not yet in the codebase. The base skill reflects the current implementation. The reference docs reflect the research and design intent — read them with that in mind, and update them when relevant implementation decisions change.


URL Schema

toolhive-gui://v1/<intent>[?<query>]

Examples:

  • toolhive-gui://v1/open-registry-server-detail?serverName=fetch — open a registry server detail page
  • toolhive-gui://v1/open-registry-server-install?serverName=fetch — open the registry server detail page and auto-open the install dialog
  • toolhive-gui://v1/open-registry-skill-detail?namespace=io.github.stacklok&skillName=skill-creator — open a registry skill detail page
  • toolhive-gui://v1/open-registry-skill-install?namespace=io.github.stacklok&skillName=skill-creator&version=v1.0.0 — open the skill detail page and auto-open the install dialog with the reference (and optional ?version tag) prefilled. Tag-only — OCI digests (sha256:…) are intentionally not supported because safeIdentifier rejects colons; users wanting digest pinning can paste it into the dialog directly.

The v1 segment is the version. The intent is a kebab-case action name. Query params carry intent-specific data.


Current Implementation

Key Files

File Role
common/deep-links.ts Single source of truth. All deep link definitions: intent name, Zod param schema, navigation target.
main/src/deep-links/parse.ts Parses and validates a raw URL string using the schemas from common/deep-links.ts.
main/src/deep-links/index.ts Entry point: extracts URL from argv (Windows/Linux), waits for window ready, dispatches via IPC.
main/src/deep-links/squirrel.ts Squirrel.Windows-specific protocol registration.

Read the full file on GitHub · 113 lines

Files

What ships with it

3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

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.

  1. 2d ago First seen · 113 lines · 53 tokens per session scan A d728d7f404f1

Subscribe to this mod's changes

deep-links is a skill published in the GitHub repository stacklok/toolhive-studio (163 stars, last pushed 4d ago), licensed Apache-2.0. It adds 53 tokens to every session and 1,468 once invoked, about $0.0003 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.

Related

Other skills, from other repositories

investigate-issue

Investigate a GitHub issue by fetching details, analyzing the codebase, researching documentation, and presenting an actionable implementation plan with test guidance. Use when asked to investigate, analyze, triage, or plan work for a GitHub issue. Invoked with /investigate-issue or /investigate-issue (prompts for ID).

maximhq/bifrost · 78 tokens

stack-absorb

Manually distribute working-tree changes (or a batch of edits already made on the current branch) across the correct branches of a Graphite (gt) stack, when gt absorb's blame-based auto-split doesn't match the logical grouping - e.g. new code with no prior line to blame onto, or changes that conceptually belong with a…

maximhq/bifrost · 125 tokens

harness-test-writer

Add regression test cases to the Bifrost provider harness (the Postman collection run via make run-provider-harness-test) based on a merged PR or a GitHub issue. Fetches the PR/issue, traces the affected wire path in the codebase, checks existing harness coverage, designs cases following harness conventions, inserts…

maximhq/bifrost · 133 tokens

markdown-formatter

Formats and prettifies markdown documents.

NVIDIA/SkillSpector · 10 tokens

keyring-reference

Credential store terminology reference.

NVIDIA/SkillSpector · 9 tokens

bugcrowd-reporting

Bugcrowd-specific reporting tactics complementing report-writing: VRT category search-and-fallback strategy when no exact match exists, manual severity override when VRT defaults underrate impact, severity-request paragraph as first body section, OOS-clause rebuttal templates (rate limiting on auth-flow endpoints…

elementalsouls/Claude-BugHunter · 171 tokens