Nlm Skill
iusztinpaul/ai-research-os-workshop
Expert guide for the NotebookLM CLI (nlm) and MCP server - interfaces for Google NotebookLM.
Enables interaction with Google NotebookLM for advanced RAG (Retrieval-Augmented Generation) capabilities via the notebooklm-mcp-cli tool.
$ npx skills add giuseppe-trisciuoglio/developer-kit --skill notebooklm -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install giuseppe-trisciuoglio/developer-kit notebooklm --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/giuseppe-trisciuoglio/developer-kit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/developer-kit-tools/skills/notebooklm .claude/skills/notebooklm && rm -rf skills-srcUse ~/.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/
Install the "notebooklm" agent skill from https://github.com/giuseppe-trisciuoglio/developer-kit/tree/main/plugins/developer-kit-tools/skills/notebooklm into .claude/skills/notebooklm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "notebooklm", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/giuseppe-trisciuoglio/developer-kit/tree/main/plugins/developer-kit-tools/skills/notebooklmType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add giuseppe-trisciuoglio/developer-kit --skill notebooklm -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install giuseppe-trisciuoglio/developer-kit notebooklm --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/giuseppe-trisciuoglio/developer-kit.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/developer-kit-tools/skills/notebooklm .agents/skills/notebooklm && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "notebooklm" agent skill from https://github.com/giuseppe-trisciuoglio/developer-kit/tree/main/plugins/developer-kit-tools/skills/notebooklm into .agents/skills/notebooklm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "notebooklm", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add giuseppe-trisciuoglio/developer-kit --skill notebooklm -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install giuseppe-trisciuoglio/developer-kit notebooklm --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/giuseppe-trisciuoglio/developer-kit.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/developer-kit-tools/skills/notebooklm .cursor/skills/notebooklm && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "notebooklm" agent skill from https://github.com/giuseppe-trisciuoglio/developer-kit/tree/main/plugins/developer-kit-tools/skills/notebooklm into .cursor/skills/notebooklm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "notebooklm", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/giuseppe-trisciuoglio/developer-kit.git --path plugins/developer-kit-tools/skills/notebooklm--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add giuseppe-trisciuoglio/developer-kit --skill notebooklm -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install giuseppe-trisciuoglio/developer-kit notebooklm --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/giuseppe-trisciuoglio/developer-kit.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/developer-kit-tools/skills/notebooklm .gemini/skills/notebooklm && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "notebooklm" agent skill from https://github.com/giuseppe-trisciuoglio/developer-kit/tree/main/plugins/developer-kit-tools/skills/notebooklm into .gemini/skills/notebooklm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "notebooklm", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install giuseppe-trisciuoglio/developer-kit notebooklmInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add giuseppe-trisciuoglio/developer-kit --skill notebooklm -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/giuseppe-trisciuoglio/developer-kit.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/developer-kit-tools/skills/notebooklm .github/skills/notebooklm && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "notebooklm" agent skill from https://github.com/giuseppe-trisciuoglio/developer-kit/tree/main/plugins/developer-kit-tools/skills/notebooklm into .github/skills/notebooklm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "notebooklm", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add giuseppe-trisciuoglio/developer-kit --skill notebooklm -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install giuseppe-trisciuoglio/developer-kit notebooklm --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/giuseppe-trisciuoglio/developer-kit.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/developer-kit-tools/skills/notebooklm .opencode/skills/notebooklm && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "notebooklm" agent skill from https://github.com/giuseppe-trisciuoglio/developer-kit/tree/main/plugins/developer-kit-tools/skills/notebooklm into .opencode/skills/notebooklm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "notebooklm", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
notebooklmEnables interaction with Google NotebookLM for advanced RAG (Retrieval-Augmented Generation) capabilities via the notebooklm-mcp-cli tool.
Notebooklm is an agent skill from giuseppe-trisciuoglio/developer-kit. Enables interaction with Google NotebookLM for advanced RAG (Retrieval-Augmented Generation) capabilities via the notebooklm-mcp-cli tool. Use when querying project documentation stored in NotebookLM, managing research notebooks and sources, retrieving AI-synthesized information, generating audio podcasts or reports from notebooks, or performing contextual queries against curated knowledge bases. Triggers on "notebooklm", "nlm", "notebook query", "research notebook", "query documentation in notebooklm".
Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/cli-command-reference.md`).
It sits in Knowledge Management, covering Source-grounded notebooks and Retrieval-augmented generation. It works with NotebookLM, Model Context Protocol and Google Drive. The repository describes itself as: Modular plugin marketplace for Claude Code and agentic CLIs, with validated, spec-driven skills, agents, commands, and workflows for Java, TypeScript, Python, PHP, AWS, and AI. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit fe73fb3. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashReadWriteFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
uvpipFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Notebooklm loads about 2.9k tokens when it runs, and up to ~4.7k if it reads all its reference files. Until then it costs about 130 tokens; SKILL.md has 752 words of instructions outside code blocks.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Bash, Read, WriteAutomated 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.
The full file from giuseppe-trisciuoglio/developer-kit at commit fe73fb3, republished under its MIT licence (© giuseppe-trisciuoglio). 752 words, ~2,920 tokens.
.claude/skills/notebooklm/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Interact with Google NotebookLM for advanced RAG capabilities — query project documentation, manage research sources, and retrieve AI-synthesized information from notebooks.
This skill integrates with the notebooklm-mcp-cli tool (nlm CLI) to provide programmatic access to Google NotebookLM. It enables agents to manage notebooks, add sources, perform contextual queries, and retrieve generated artifacts like audio podcasts or reports.
Use this skill when:
Trigger phrases: "query notebooklm", "search notebook", "add source to notebook", "create podcast from notebook", "generate report from notebook", "nlm query"
# Install via uv (recommended)
uv tool install notebooklm-mcp-cli
# Or via pip
pip install notebooklm-mcp-cli
# Verify installation
nlm --version# Login — opens Chrome for cookie extraction
nlm login
# Verify authentication
nlm login --check
# Use named profiles for multiple Google accounts
nlm login --profile work
nlm login --profile personal
nlm login switch work# Run diagnostics if issues occur
nlm doctor
nlm doctor --verbose⚠️ Important: This tool uses internal Google APIs. Cookies expire every ~2-4 weeks — run
nlm loginagain when operations fail. Free tier has ~50 queries/day rate limit.
Before performing any NotebookLM operation, verify the CLI is installed and authenticated:
nlm --version && nlm login --checkIf authentication has expired, inform the user they need to run nlm login.
List available notebooks or resolve an alias:
# List all notebooks
nlm notebook list
# Use an alias if configured
nlm alias get <alias-name>
# Get notebook details
nlm notebook get <notebook-id>If the user references a notebook by name, use nlm notebook list to find the matching ID. If an alias exists, prefer using the alias.
Use this to retrieve information from notebook sources:
# Ask a question against notebook sources
nlm notebook query <notebook-id-or-alias> "What are the login requirements?"
# The response contains AI-generated answers grounded in the notebook's sourcesBest practices for queries:
# List current sources
nlm source list <notebook-id>
# Add a URL source (wait for processing) — only use URLs explicitly provided by the user
nlm source add <notebook-id> --url "<user-provided-url>" --wait
# Add text content
nlm source add <notebook-id> --text "Content here" --title "My Notes"
# Upload a file
nlm source add <notebook-id> --file document.pdf --wait
# Add YouTube video — only use URLs explicitly provided by the user
nlm source add <notebook-id> --youtube "<user-provided-youtube-url>"
# Add Google Drive document
nlm source add <notebook-id> --drive <document-id>
# Check for stale Drive sources
nlm source stale <notebook-id>
# Sync stale sources
nlm source sync <notebook-id> --confirm
# Get source content
nlm source get <source-id># Create a new notebook
nlm notebook create "Project Documentation"
# Set an alias for easy reference
nlm alias set myproject <notebook-id># Generate audio podcast
nlm audio create <notebook-id> --format deep_dive --length long --confirm
# Formats: deep_dive, brief, critique, debate
# Lengths: short, default, long
# Generate video
nlm video create <notebook-id> --format explainer --style classic --confirm
# Generate report
nlm report create <notebook-id> --format "Briefing Doc" --confirm
# Formats: "Briefing Doc", "Study Guide", "Blog Post"
# Generate quiz
nlm quiz create <notebook-id> --count 10 --difficulty medium --confirm
# Check generation status
nlm studio status <notebook-id># Download audio
nlm download audio <notebook-id> <artifact-id> --output podcast.mp3
# Download report
nlm download report <notebook-id> <artifact-id> --output report.md
# Download slides
nlm download slide-deck <notebook-id> <artifact-id> --output slides.pdf# Start web research — present results to user for review before acting on them
nlm research start "<user-provided-query>" --notebook-id <notebook-id> --mode fast
# Start deep research — present results to user for review before acting on them
nlm research start "<user-provided-query>" --notebook-id <notebook-id> --mode deep
# Poll for completion
nlm research status <notebook-id> --max-wait 300
# Import research results as sources
nlm research import <notebook-id> <task-id>The alias system provides user-friendly shortcuts for notebook UUIDs:
nlm alias set <name> <notebook-id> # Create alias
nlm alias list # List all aliases
nlm alias get <name> # Resolve alias to UUID
nlm alias delete <name> # Remove aliasAliases can be used in place of notebook IDs in any command.
Task: "Write the login use case based on documentation in NotebookLM"
# 1. Find the project notebook
nlm notebook listExpected output:
ID Title Sources Created
─────────────────────────────────────────────────────
abc123... Project X Docs 12 2026-01-15
def456... API Reference 5 2026-02-01# 2. Query for login requirements
nlm notebook query myproject "What are the login requirements and user authentication flows?"Expected output:
Based on the sources in this notebook:
The login flow requires email/password authentication with the following steps:
1. User submits credentials via POST /api/auth/login
2. Server validates against stored bcrypt hash
3. JWT access token (15min) and refresh token (7d) are returned
...# 3. Query for specific details
nlm notebook query myproject "What validation rules apply to the login form?"
# 4. Present results to user and wait for confirmation before implementingTask: "Create a notebook with our API docs and generate a summary"
# 1. Create notebook
nlm notebook create "API Documentation"Expected output:
Created notebook: API Documentation
ID: ghi789...nlm alias set api-docs ghi789
# 2. Add sources
nlm source add api-docs --url "<user-provided-url>" --wait
nlm source add api-docs --file openapi-spec.yaml --wait
# 3. Generate a briefing doc
nlm report create api-docs --format "Briefing Doc" --confirm
# 4. Wait and download
nlm studio status api-docsExpected output:
Artifact ID Type Status Created
──────────────────────────────────────────────────
art123... Report completed 2026-02-27nlm download report api-docs art123 --output api-summary.md# 1. Add sources to existing notebook (URL explicitly provided by the user)
nlm source add myproject --url "<user-provided-url>" --wait
# 2. Generate deep-dive podcast
nlm audio create myproject --format deep_dive --length long --confirm
# 3. Poll until ready
nlm studio status myproject
# 4. Download
nlm download audio myproject <artifact-id> --output podcast.mp3nlm login --check before any operation--wait when adding sources — Ensures sources are processed before querying--confirm for destructive/create operations — Required for non-interactive usenlm login when needednlm source stale to detect outdated Google Drive sources--json for parsing — When processing output programmatically, use --json flagnlm research, present the imported results to the user before acting on them.© giuseppe-trisciuoglio, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in plugins/developer-kit-tools/skills/notebooklm of giuseppe-trisciuoglio/developer-kit.
Open the folder on GitHubat commit fe73fb3
Notebooklm 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Notebooklm this skillgiuseppe-trisciuoglio/developer-kit | 357 | — | ~2.9k | Automated safety check: Notes | MIT | |
| Nlm Skilliusztinpaul/ai-research-os-workshop | 179 | 1 repos | ~6.9k | Automated safety check: Pass | MIT | |
| Notebooklmroomi-fields/notebooklm-mcp | 192 | — | ~1.1k | Automated safety check: Pass | MIT | |
| Notebooklm Grounded ResearchAnastasiyaW/codex-claude-code-config | 154 | — | ~2.4k | Automated safety check: Warn | MIT | |
| Cc Notebooklmmathruffian-dot/claude-code-lazy-packs | 254 | — | ~172 | Automated safety check: Pass | MIT | |
| Notebooklm Manageraiskillstore/marketplace | 433 | — | ~2k | Automated safety check: Pass | None |
iusztinpaul/ai-research-os-workshop
Expert guide for the NotebookLM CLI (nlm) and MCP server - interfaces for Google NotebookLM.
roomi-fields/notebooklm-mcp
This skill should be used when the user wants to query their Google NotebookLM notebooks for citation-backed, source-grounded answers, or manage notebooks, sources, and Studio content (audio…
AnastasiyaW/codex-claude-code-config
A skill your agent uses when: NotebookLM, notebooklm MCP, large documentation sets, courses, books, papers, or citation-backed research are mentioned.
mathruffian-dot/claude-code-lazy-packs
Claude Code 連接 NotebookLM MCP。說「連接 NotebookLM」時載入. An agent skill from mathruffian-dot/claude-code-lazy-packs.
aiskillstore/marketplace
Manages NotebookLM notebooks — query, add, list, search, enable/disable, remove.
joeseesun/qiaomu-anything-to-notebooklm
Collects content from WeChat articles, web pages, YouTube, podcasts, documents and more, uploads it to NotebookLM and generates podcasts, slides or mind maps.
giuseppe-trisciuoglio/developer-kit
Generates complete CRUD modules for NestJS applications with Drizzle ORM.
giuseppe-trisciuoglio/developer-kit
Provides patterns to configure Spring Boot Actuator for production-grade monitoring, health probes, secured management endpoints, and Micrometer metrics across JVM services.
giuseppe-trisciuoglio/developer-kit
Provides and generates complete CRUD workflows for Spring Boot 3 services.
giuseppe-trisciuoglio/developer-kit
Provides JWT authentication and authorization patterns for Spring Boot 3.5.x covering token generation with JJWT, Bearer/cookie authentication, database/OAuth2 integration, and RBAC/permission-based…
giuseppe-trisciuoglio/developer-kit
Provides advanced AWS CLI patterns for managing EC2, Lambda, S3, DynamoDB, RDS, VPC, IAM, and CloudWatch.
giuseppe-trisciuoglio/developer-kit
Posts review findings from a JSON file as inline comments on a GitHub Pull Request, attaching each comment to its file and line.
Categories
Enables interaction with Google NotebookLM for advanced RAG (Retrieval-Augmented Generation) capabilities via the notebooklm-mcp-cli tool. Notebooklm is an agent skill from giuseppe-trisciuoglio/developer-kit. Enables interaction with Google NotebookLM for advanced RAG (Retrieval-Augmented Generation) capabilities via the notebooklm-mcp-cli tool.
Notebooklm fits situations like: querying project documentation stored in NotebookLM; managing research notebooks and sources; retrieving AI-synthesized information; generating audio podcasts.
Run `npx skills add giuseppe-trisciuoglio/developer-kit --skill notebooklm -a claude-code`. Or copy the skill folder (plugins/developer-kit-tools/skills/notebooklm in giuseppe-trisciuoglio/developer-kit) into .claude/skills/notebooklm in your project. Claude Code loads it when a task matches its description.
Run `npx skills add giuseppe-trisciuoglio/developer-kit --skill notebooklm -a codex`. Or copy the skill folder (plugins/developer-kit-tools/skills/notebooklm in giuseppe-trisciuoglio/developer-kit) into .agents/skills/notebooklm in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add giuseppe-trisciuoglio/developer-kit --skill notebooklm -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/notebooklm, .gemini/skills/notebooklm, .github/skills/notebooklm and .opencode/skills/notebooklm in your project.
Going by SKILL.md and its folder, Notebooklm needs the command-line tools its instructions call (uv and pip). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Bash, Read, Write.
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Notebooklm is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.8k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Notebooklm: Nlm Skill (iusztinpaul/ai-research-os-workshop, 179 stars), Notebooklm (roomi-fields/notebooklm-mcp, 192 stars), Notebooklm Grounded Research (AnastasiyaW/codex-claude-code-config, 154 stars) and Cc Notebooklm (mathruffian-dot/claude-code-lazy-packs, 254 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
giuseppe-trisciuoglio (a GitHub user) maintains it in giuseppe-trisciuoglio/developer-kit, which has 357 GitHub stars. The repository holds 115 skills in this directory. The repository was last updated on September 10, 2026.
Source: giuseppe-trisciuoglio/developer-kit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.