From notebooklm-enhanced
Ask questions to NotebookLM about your notebook sources — supports citations, follow-ups, and source filtering
npx claudepluginhub fakoli/fakoli-plugins --plugin notebooklm-enhanced# Query NotebookLM Ask a question against notebook sources and get an AI-generated answer with citations. ## Arguments Parse from: `$ARGUMENTS` Required: - Question text (the main argument) Options: - `--notebook <id>`: Target a specific notebook (otherwise uses active notebook) - `--source <id>`: Limit query to specific source(s) — can be repeated - `--follow-up` or `-c <conversation_id>`: Continue an existing conversation - `--save`: Save the answer as a note in the notebook ## Workflow 1. **Parse arguments**: Extract the question, optional notebook ID, source IDs, and conversation...
/queryExecutes SQL queries against Claude Code/Codex CLI history and current Git repo data (commits, branches, diffs). Displays results in formatted tables.
/queryQueries compiled wiki for answers using quick (indexes), standard (articles), or deep (full+raw+sibling) depths, citing sources only from wiki content.
/querySearches Weaviate collections using natural language queries. Specify query text, collections, and limit. Returns matching objects for further processing.
/queryRuns HogQL queries on PostHog data or converts natural language questions to HogQL using MCP tools and executes them.
/querySearches RAG database with a question, optionally limited to a book slug and top N results. Returns formatted results: book title, chapter, text snippet (150 chars), relevance score.
/queryQueries YAML frontmatter in memory files using yq. Filters by type, namespace, tags, confidence, dates, title, scope. Outputs paths, titles, JSON, or count.
Ask a question against notebook sources and get an AI-generated answer with citations.
Parse from: $ARGUMENTS
Required:
Options:
--notebook <id>: Target a specific notebook (otherwise uses active notebook)--source <id>: Limit query to specific source(s) — can be repeated--follow-up or -c <conversation_id>: Continue an existing conversation--save: Save the answer as a note in the notebookParse arguments: Extract the question, optional notebook ID, source IDs, and conversation ID.
Verify context (if no --notebook specified):
uv run --project "${CLAUDE_PLUGIN_ROOT}/scripts" notebooklm status
Ensure there is an active notebook. If not, suggest running /notebooklm-enhanced:library first.
Run the query:
# Basic query
uv run --project "${CLAUDE_PLUGIN_ROOT}/scripts" notebooklm ask "YOUR QUESTION HERE" --json
# With specific sources
uv run --project "${CLAUDE_PLUGIN_ROOT}/scripts" notebooklm ask "YOUR QUESTION" -s SOURCE_ID_1 -s SOURCE_ID_2 --json
# Follow-up in existing conversation
uv run --project "${CLAUDE_PLUGIN_ROOT}/scripts" notebooklm ask "FOLLOW UP QUESTION" -c CONVERSATION_ID --json
# With explicit notebook
uv run --project "${CLAUDE_PLUGIN_ROOT}/scripts" notebooklm ask "YOUR QUESTION" --notebook NOTEBOOK_ID --json
Parse JSON response: The output contains:
{
"answer": "The answer text with [1] [2] citation markers...",
"conversation_id": "...",
"turn_number": 1,
"is_follow_up": false,
"references": [
{"source_id": "...", "citation_number": 1, "cited_text": "..."},
{"source_id": "...", "citation_number": 2, "cited_text": "..."}
]
}
Format output: Present the answer with properly formatted citations. For each reference, show the citation number and the relevant quoted text.
Report conversation ID: Always include the conversation_id so the user can run follow-up queries with -c.
/notebooklm-enhanced:query What are the main findings of this paper?
/notebooklm-enhanced:query --notebook abc123 What methods were used?
/notebooklm-enhanced:query --source def456 Summarize this source
/notebooklm-enhanced:query -c conv789 Can you elaborate on point 3?
--json flag on all ask commands to get structured output with citations.conversation_id enables multi-turn conversations — always surface it to the user.