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 Deepnote app project, notebook, or workspace data.
npx skills add https://github.com/openai/plugins --skill deepnote-links
Use this skill to build user-facing Deepnote web links from Deepnote app tool data. Prefer links grounded in get_me, list_projects, search, and get_notebook responses instead of guessing from names alone. Every project and notebook link built from Deepnote app data must include the UTM parameters below.
get_me when workspace-aware links are useful. Use workspace.id and workspace.slug; do not use OAuth tokens, user email, or other auth details in links or summaries.list_projects or search. Use the project id, name, and slug if the app response exposes one.get_notebook when possible. Use the notebook id, name, and parent project data.When linking after a creation workflow, use the resource IDs returned by the write tools as the source of truth:
create_notebook returned a notebook, build the notebook link for that returned notebook ID. Do not substitute the first notebook on the project or the default notebook created by create_project.create_project created a project and no separate create_notebook call was made, use the default notebook created with the project only when a notebook link is needed for that active notebook.create_notebook result are present, the later create_notebook result is the notebook to link unless the user explicitly asks for the default notebook.get_notebook for the target notebook ID or use the known project ID from the creation workflow before constructing the link.Use the production web origin https://deepnote.com for Deepnote app links. Do not derive the web origin from API or tool hosts.
Prefer workspace-scoped links when get_me returns both workspace.slug and workspace.id:
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:
project link = {origin}/project/{projectSegment}
notebook link = {origin}/project/{projectSegment}/notebook/{notebookSegment}
Use the most canonical segment available:
slug, use it.{slugifiedName}-{id}.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:
Subject Tracker + 0508fc64-b2c8-4982-b6a0-2590c94b6000
=> Subject-Tracker-0508fc64-b2c8-4982-b6a0-2590c94b6000
folder/notebook 10% + a1b2c3d4
=> folder-notebook-10percent-a1b2c3d4
/{encodeURIComponent(filePath)}.#anchor./app/{authorSlug}/{projectSegment} or /streamlit-apps/{streamlitAppId} when Deepnote app data explicitly exposes the published author slug or Streamlit app ID.For every project and notebook link built from Deepnote app data, add OpenAI attribution query parameters:
https://deepnote.com/<path>?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content={notebook_id}&utm_term={tool_name}
Use these values exactly; braces mark placeholders and are not part of the final URL:
utm_source=openaiutm_medium=mcputm_campaign=openaimcputm_content={notebook_id}utm_term={tool_name}For notebook links, set utm_content to the notebook ID. For project-only links, set utm_content to the project ID; when a project link represents a specific notebook's parent project, use that notebook ID instead.
Set utm_term to the Deepnote app tool or workflow that produced or grounded the link, such as list_projects, search, get_notebook, or workspace_summary. Use lowercase snake_case values and URL-encode if needed.
For links to newly created notebooks, set utm_content to the created notebook ID and prefer utm_term=create_notebook; use utm_term=get_notebook when a follow-up get_notebook call provided the fields needed to construct the link.
Add UTM parameters before any URL fragment. Use ? when the URL has no existing query string, otherwise use &. Preserve non-UTM query parameters if they already exist, and replace any existing utm_source, utm_medium, utm_campaign, utm_content, or utm_term values instead of duplicating them.
Return Markdown links with human-readable labels:
[Project Name](https://deepnote.com/workspace/workspace-slug-workspace-id/project/project-id?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=project-id&utm_term=list_projects)
[Notebook Name](https://deepnote.com/workspace/workspace-slug-workspace-id/project/project-id/notebook/notebook-id?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=notebook-id&utm_term=get_notebook)
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.
A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).
Extracts and analyzes competitors' ads from ad libraries (Facebook, LinkedIn, etc.) to understand what messaging, problems, and creative approaches are working. Helps inspire and improve your own ad campaigns.
Identifies high-quality leads for your product or service by analyzing your business, searching for target companies, and providing actionable contact strategies. Perfect for sales, business development, and marketing professionals.
Analyzes your recent Claude Code chat history to identify coding patterns, development gaps, and areas for improvement, curates relevant learning resources from HackerNews, and automatically sends a personalized growth report to your Slack DMs.
Complete App Store Optimization (ASO) toolkit for researching, optimizing, and tracking mobile app performance on Apple App Store and Google Play Store
NGS analysis toolkit. BAM to bigWig conversion, QC (correlation, PCA, fingerprints), heatmaps/profiles (TSS, peaks), for ChIP-seq, RNA-seq, ATAC-seq visualization.
Materials science toolkit. Crystal structures (CIF, POSCAR), phase diagrams, band structure, DOS, Materials Project integration, format conversion, for computational materials science.
Transforms vague UI ideas into polished, Stitch-optimized prompts. Enhances specificity, adds UI/UX keywords, injects design system context, and structures output for better generation results.
Take openai/deepnote-links from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.