deepnote/agent-plugins/deepnote-links

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Use when a task asks for Deepnote URLs, links, project links, notebook links, workspace links, share links, UTM/campaign links, or when a Deepnote response should include clickable links built from MCP project, notebook, or workspace data.

Install

npx vskill@latest install deepnote/agent-plugins/deepnote-links

SKILL.md

Deepnote Links

Use this skill to build user-facing Deepnote web links from MCP data. Prefer generate_project_url, then links grounded in get_me, list_projects, search, and get_notebook responses. Every project and notebook link must include the UTM parameters below.

Server-Generated Links

Use generate_project_url as the preferred source for a single project or notebook URL, then append the UTM parameters below. Fall back to the manual URL shapes when the tool is unavailable, when building many links from one list_projects or search response, or when a workspace link is needed.

Do not retry Project not found or Notebook not found errors with guessed IDs. When both IDs are supplied, the notebook must belong to the project.

Inputs To Resolve

  1. Call get_me when workspace-aware links are useful. Use workspace.id and workspace.slug; do not use the API key name, bearer token, or user email in links or summaries.
  2. Resolve the project with list_projects or search. Use the project id, name, and slug if the MCP response exposes one.
  3. Resolve notebook links with get_notebook when possible. Use the notebook id, name, and parent project data.
  4. If the exact project or notebook is ambiguous, ask a short clarification or provide a compact candidate list with links only for unambiguous matches.

Links After Creation

Link the active notebook as defined by the Active Notebook Rule in deepnote-notebooks: the notebook returned by create_notebook when one was called, otherwise the default notebook of the project returned by create_project. If parent project data is missing for that notebook, call get_notebook for its ID or use the project ID from the creation workflow before building the link.

URL Shapes

Use the production web origin https://deepnote.com for Deepnote MCP links. Do not derive the web origin from API or MCP hosts.

Prefer workspace-scoped links when get_me returns both workspace.slug and workspace.id:

text
workspaceSlugWithId = {workspace.slug}-{workspace.id}
workspace link = {origin}/workspace/{workspaceSlugWithId}
project link = {origin}/workspace/{workspaceSlugWithId}/project/{projectSegment}
notebook link = {origin}/workspace/{workspaceSlugWithId}/project/{projectSegment}/notebook/{notebookSegment}

If workspace data is not available, use the non-workspace project route:

text
project link = {origin}/project/{projectSegment}
notebook link = {origin}/project/{projectSegment}/notebook/{notebookSegment}

Slug Segments

Use the most canonical segment available:

  1. If the MCP response exposes a slug, use it.
  2. Otherwise, for simple names, build a readable segment as {slugifiedName}-{id}.
  3. If exact slugification is uncertain, the name is missing, or the name has unusual characters, use the ID alone.

Deepnote project routing accepts UUID-only project segments, so {project.id} is the safest fallback. Notebook routing uses ID-only segments when a notebook name is not available, so {notebook.id} is the safest notebook fallback.

Deepnote's readable slugs are created with strict slugification: spaces become hyphens, / becomes -, unsafe characters are stripped or normalized, and case is preserved. Examples:

text
Subject Tracker + 0508fc64-b2c8-4982-b6a0-2590c94b6000
=> Subject-Tracker-0508fc64-b2c8-4982-b6a0-2590c94b6000
folder/notebook 10% + a1b2c3d4
=> folder-notebook-10percent-a1b2c3d4

Optional Suffixes

  • File paths, when exposed and requested, append after the project segment as /{encodeURIComponent(filePath)}.
  • Cell or block anchors append after the UTM query string as #anchor.
  • Only generate published app links such as /app/{authorSlug}/{projectSegment} when MCP data explicitly exposes the published author slug.
  • Use Streamlit URLs returned by create_streamlit_app or list_streamlit_apps; do not assemble them from an app ID.
  • Use static-site URLs returned by publish_static_site or get_project; never construct a static-site hostname.

UTM Parameters

Every project and notebook link gets these parameters. utm_source and utm_campaign depend on the host:

Hostutm_sourceutm_campaign
Codexcodexopenaimcp
Claude Codeclaude-codeclaudemcp
Claude Desktop or Coworkclaude-desktopclaudemcp
text
https://deepnote.com/<path>?utm_source={host_source}&utm_medium=mcp&utm_campaign={host_campaign}&utm_content={id}&utm_term={tool_name}
  • utm_content is the notebook ID for notebook links and the project ID for project links.
  • utm_term is the tool that produced the link, such as generate_project_url, list_projects, search, get_notebook, or create_notebook, or workspace_summary for links built by the workspace summary.

Response Style

Return Markdown links with human-readable labels. Shown here with Codex values; in Claude Code use utm_source=claude-code&utm_campaign=claudemcp instead:

markdown
[Project Name](https://deepnote.com/workspace/workspace-slug-workspace-id/project/project-id?utm_source=codex&utm_medium=mcp&utm_campaign=openaimcp&utm_content=project-id&utm_term=generate_project_url)
[Notebook Name](https://deepnote.com/workspace/workspace-slug-workspace-id/project/project-id/notebook/notebook-id?utm_source=codex&utm_medium=mcp&utm_campaign=openaimcp&utm_content=notebook-id&utm_term=generate_project_url)

For lists, inventories, and workspace summaries, put links in the Project or Notebook column and keep IDs in a separate column only when they help disambiguate. When a table has a Notebook column, hyperlink the notebook name itself. If a link cannot be built safely because workspace, project, or notebook data is missing, say which field is missing and how to resolve it.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/deepnote/agent-plugins/deepnote-links/badge)](https://verified-skill.com/skills/deepnote/agent-plugins/deepnote-links)

Something wrong with this skill or its page? Tell us.