Nlm skill
Opinionated, cross-agent rules and skills for AI coding agents — one npx install into Cursor, Claude Code, Codex, OpenCode & Copilot.
npx -y skills add balacodeio/balakit --skill nlm-skillAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Expert guide for the NotebookLM CLI (nlm) and MCP server. Covers authentication, notebook management, source addition (URLs, YouTube, text, Drive, files), content generation (audio, video, report, quiz, flashcards, mind map, slides, infographic, data table), research, artifact management, and automation workflows. Progressive disclosure: body carries critical rules + decision tree + phase workflow; full command reference in references/. Triggers on "nlm", "notebooklm", "notebook lm", "podcast generation", "audio overview", or any NotebookLM automation task.
SKILL.md
6.6 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it
NotebookLM CLI & MCP Expert
Leading words: nlm, NotebookLM, audio overview, studio artifacts, progressive disclosure, phase separation, confirm-required, capture IDs, alias shortcuts, no REPL.
This skill provides comprehensive guidance for using NotebookLM via both the
nlm CLI and MCP tools. The body carries the critical rules, the tool
detection decision tree, and the 3-phase workflow. Depth lives in
references/ behind context pointers.
Tool Detection (CRITICAL — read first)
ALWAYS check which tools are available before proceeding:
- Check for MCP tools: Look for tools starting with
mcp__notebooklm-mcp__*. - If BOTH MCP tools AND CLI are available: ASK the user which they prefer.
- If only MCP tools are available: Use them directly (see references/mcp_tools.md).
- If only CLI is available: Use
nlmCLI commands via Bash (see references/command_reference.md).
has_mcp_tools = check_available_tools() # mcp__notebooklm-mcp__*
has_cli = check_bash_available() # Can run nlm commands
if has_mcp_tools and has_cli:
user_preference = ask_user()
else if has_mcp_tools:
use_mcp_tools()
else:
use_cli()
Critical Rules (read first)
- Always authenticate first: Run
nlm loginbefore any operations. - Sessions expire in ~20 minutes: Re-run
nlm loginif commands start failing with auth errors. - ⚠️ ALWAYS ASK USER BEFORE DELETE: Deletions are irreversible. Show what will be deleted and warn about permanent data loss.
--confirmis REQUIRED: All generation and delete commands need--confirm/-y(CLI) orconfirm=True(MCP).- Research requires
--notebook-id: The flag is mandatory, not positional. - Capture IDs from output: Create/start commands return IDs needed for subsequent operations.
- Use aliases:
nlm alias set <name> <uuid>simplifies long UUIDs. - Check aliases before creating:
nlm alias listfirst to avoid name conflicts. - DO NOT launch REPL: Never
nlm chat start— it opens an interactive REPL that AI tools cannot control. Usenlm notebook queryfor one-shot Q&A. - Output format: Default (no flags) = compact + token-efficient.
--quietcaptures IDs for piping.--jsononly when parsing fields. - Use
--helpwhen unsure:nlm <command> --helpshows options.
Phase 1 — Authenticate
- [ ] nlm login (launches browser, extracts cookies — primary method)
- [ ] nlm login --check (validate current session)
- [ ] If multi-account: nlm login --profile <name>; nlm login switch <name>
- [ ] If MCP only and auth fails: mcp__notebooklm-mcp__refresh_auth()
🛑 Checkpoint: Confirm authentication is valid before any other operation. Re-authenticate if session > 20 minutes old.
Phase 2 — Operate
- [ ] List/find notebook: nlm notebook list, or use an alias.
- [ ] Add sources: --url (web/YouTube), --text, --drive <doc-id>,
--file "/path" --wait.
- [ ] Research new sources: nlm research start "query" --notebook-id <id>
(--mode fast|deep, --source web|drive).
- [ ] Poll research: nlm research status <id> --max-wait 300.
- [ ] Import: nlm research import <id> <task-id> [--indices ...] [--cited-only].
- [ ] Manage aliases: nlm alias set|get|list|delete.
- [ ] Query sources: nlm notebook query <id> "question" (--source-ids to scope).
Pull references/command_reference.md for full CLI command signatures and options.
Phase 3 — Generate
- [ ] Pick artifact: audio | video | report | quiz | flashcards | mindmap |
slides | infographic | data-table.
- [ ] ALWAYS require --confirm (CLI) or confirm=True (MCP).
- [ ] Poll status: nlm studio status <nb-id>.
- [ ] Download: nlm download audio|video|report|slide-deck|quiz <nb-id>
--output <path>.
- [ ] Export to Docs/Sheets: nlm export docs|sheets <nb-id> <artifact-id>
--title "...".
- [ ] Delete artifact: nlm studio delete <nb-id> <artifact-id> --confirm
(ASK USER FIRST).
Pull references/command_reference.md for artifact-specific flags (formats, lengths, styles, orientations).
Reference Index
| File | Use it for |
|---|---|
| references/command_reference.md | Full CLI command signatures + all options for every nlm command |
| references/mcp_tools.md | Full MCP tool reference — every mcp__notebooklm-mcp__* tool with parameters |
| references/workflows.md | End-to-end workflow sequences (research → podcast, study materials, Drive sync, batch + cross-notebook) |
| references/troubleshooting.md | Detailed error recovery — every error, cause, and solution |
Quick Reference
nlm --help # List all commands
nlm <command> --help # Help for specific command
nlm --ai # Full AI-optimized documentation
nlm --version # Check installed version
Rate Limiting
Wait between operations to avoid rate limits:
- Source operations: 2 seconds
- Content generation: 5 seconds
- Research operations: 2 seconds
- Query operations: 2 seconds
What ships with it: 4 files
44.2 KB alongside SKILL.md
references/
- command_reference.md18.2 KB
- mcp_tools.md6.0 KB
- troubleshooting.md7.9 KB
- workflows.md12.0 KB
Gives 0 of the 12 instructions most automation workflows skills give in ~1.4k tokens
Counted across 745 of the 1,008 authors here whose files we hold, read 2026-08-07
- Write conventional commit messagesin 36 of 745, across 35 files
- Delete branches after mergein 30 of 745, across 21 files
- Make atomic commitsin 25 of 745, across 15 files
- Write minimal code to pass testsin 22 of 745, across 10 files
- Re-snapshot after navigation or DOM changesin 21 of 745, across 13 files
- Use try-catch for error handlingin 20 of 745, across 8 files
- Run tests before committingin 20 of 745, across 12 files
- Write tests before implementationin 20 of 745, across 8 files
- Configure branch protection rulesin 19 of 745, across 5 files
- Explain the why in commit messagesin 19 of 745, across 9 files
- Refactor code while tests remain greenin 19 of 745, across 6 files
- Interact with elements using refsin 19 of 745, across 11 files
Said here and by no other author read
- check available tools before proceeding
- ask user preference if both interfaces are available
- authenticate before any operations
- ask user before deleting anything
- pass confirm flag for generation and delete commands
- capture IDs from command output
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.