director-mode-lite
Use Claude Code like a Director, not a Programmer. MIT toolkit with Auto-Loop, guided setup, 27 commands, 14 agents, and 32 skills.
Source-grounded NotebookLM automation for terminals and AI agents. notebooklm-skill gives humans and MCP clients one consistent interface for Google NotebookLM.
$ npx -y skills add claude-world/notebooklm-skill --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
What's inside
Source-grounded NotebookLM automation for terminals and AI agents.
notebooklm-skill gives humans and MCP clients one consistent interface for Google
NotebookLM. It creates notebooks from URLs, raw text, and local files; asks grounded
questions with citation metadata; completes fast or deep web research; and generates
or downloads NotebookLM artifacts.
The project is built around notebooklm-py 0.7.x and includes:
This is an unofficial integration with NotebookLM's web API. Google can change the service, availability, quotas, or artifact behavior without notice.
The installer creates a dedicated virtual environment, installs Chromium, links five
commands into ~/.local/bin, and installs the Claude Code Skill using the standard
directory layout.
git clone https://github.com/claude-world/notebooklm-skill.git
cd notebooklm-skill
./install.sh
notebooklm-auth setup
notebooklm-skill list
Ensure ~/.local/bin is on PATH.
# Persistent virtual environment
python3 -m venv .venv
source .venv/bin/activate
python -m pip install notebooklm-skill
python -m playwright install chromium
notebooklm-auth setup
# Or run without a persistent install
uvx --from notebooklm-skill notebooklm-auth setup
uvx --from notebooklm-skill notebooklm-skill list
Direct upstream login is also available:
uvx --from notebooklm-py notebooklm login
Sessions are profile-aware. Select one with --profile NAME before a CLI
subcommand, or set NOTEBOOKLM_PROFILE.
To use the locally installed Google Chrome instead of bundled Chromium:
notebooklm-auth setup --browser chrome --fresh
All successful commands print structured JSON to stdout. Diagnostics go to stderr; authentication errors return exit code 4 and argument errors return exit code 2.
# Mixed-source ingestion with truthful per-source outcomes
notebooklm-skill create \
--title "Research" \
--sources https://example.com/article \
--files ./paper.pdf \
--text-sources "Interview notes" \
--strict
notebooklm-skill ask \
--notebook "Research" \
--query "Which conclusions have the strongest evidence?"
notebooklm-skill research \
--notebook "Research" \
--query "Recent independent evaluations" \
--mode deep --max-sources 10
notebooklm-skill generate \
--notebook "Research" \
--type slides --lang zh-TW \
--output ./output/deck.pptx --output-format pptx
notebooklm-skill list-artifacts --notebook "Research" --type slides
Commands resolve an exact ID, unique title, or unique title substring. Use IDs for
repeatable automation. Deletes require --yes; downloads refuse existing files or
symlinks unless an explicit safe overwrite is requested with --force.
| Type | Default download | Notes |
|---|---|---|
audio | M4A | deep-dive, brief, critique, or debate |
video | MP4 | explainer/brief and multiple visual styles |
cinematic | MP4 | cinematic video workflow |
slides | PDF or PPTX | |
report | Markdown | briefing, study guide, blog, or custom |
study-guide | Markdown | report shortcut |
quiz | JSON | JSON, Markdown, or HTML |
flashcards | JSON | JSON, Markdown, or HTML |
mind-map | JSON | immediate generation result |
infographic | PNG | orientation, detail, and style options |
data-table | CSV | structured extraction |
Use notebooklm-skill generate --help for the live option matrix. Long-running
generations support --no-wait, and later downloads can select --artifact-id.
notebooklm-pipeline research-to-article \
--sources https://example.com/a https://example.com/b \
--title "Evidence review" --audience "engineers"
notebooklm-pipeline research-to-social \
--files ./brief.pdf --platform linkedin --variants 3
notebooklm-pipeline batch-digest \
--rss https://example.com/feed.xml --max-entries 20 --qa-count 5
notebooklm-pipeline generate-all \
--files ./paper.pdf --types audio slides report mind-map \
--output-dir ./output --artifact-concurrency 2
trend-to-content requires the optional trend-pulse command. Pipelines return
drafts and local artifacts; they do not publish to social platforms or remote CMSs.
The default stdio transport is suitable for Claude Code, Cursor, and other MCP clients:
{
"mcpServers": {
"notebooklm": {
"command": "uvx",
"args": ["--from", "notebooklm-skill", "notebooklm-mcp"]
}
}
}
The 13 tools cover notebook CRUD, mixed sources, grounded chat, summaries, artifact
generation/list/download, full research lifecycles, research pipelines, and trend
research. Notebook deletion requires confirm=true.
Optional HTTP mode is deliberately loopback-only:
notebooklm-mcp --http --host 127.0.0.1 --port 8765
Do not expose it directly to a network. See SECURITY.md.
| Command | Purpose |
|---|---|
notebooklm-auth | Setup, verify, or clear a selected auth profile |
notebooklm-install-skill | Install SKILL.md for a user or project, with safe backups |
notebooklm-install-skill --scope project
notebooklm-auth --profile work verify
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e '.[dev]'
ruff check .
ruff format --check .
mypy scripts mcp_server
pytest --cov --cov-report=term-missing
python -m build
twine check dist/*
More detail: setup guide, Skill instructions, API compatibility notes, and changelog.
.devcontainer/
devcontainer.json
.env.example
.github/
CODEOWNERS
copilot-instructions.md
dependabot.yml
ISSUE_TEMPLATE/
bug_report.yml
config.yml
feature_request.yml
question.yml
workflows/
ci.yml
codeql.yml
release.yml
.gitignore
.mcp.json
AGENTS.md
CHANGELOG.md
docs/
SETUP.md
SETUP.zh-TW.md
examples/
research-to-article/
README.md
research-to-threads/
README.md
trend-to-content/
README.md
install.sh
LICENSE
MANIFEST.in
mcp_server/
__init__.py
server.py
tools.py
pyproject.toml
README.md
README.zh-TW.md
references/
api_surface.md
output_formats.md
pipeline_recipes.md
requirements.txt
scripts/
__init__.py
auth_helper.py
common.py
make_video.sh
notebooklm_client.py
pipeline.py
skill_installer.py
SECURITY.md
SKILL.md
tests/
__init__.py
conftest.py
test_auth_helper.py
test_client.py
test_common.py
test_mcp_server.py
test_mcp_tools.py
test_pipeline.py
test_skill_installer.pyUse Claude Code like a Director, not a Programmer. MIT toolkit with Auto-Loop, guided setup, 27 commands, 14 agents, and 32 skills.
FAQ
notebooklm-skill is a Claude Code plugin with 1 hand-picked skill for automation work, indexed on Flowy. Install it with the command on its page. It includes notebooklm-skill. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.