Agent skill

Open Notebook

by K-Dense-AI in K-Dense-AI/scientific-agent-skills

Organizes research with the self-hosted Open Notebook alternative to NotebookLM.

MITAuto-check passedAI & LLM Engineering

Install Open Notebook

skills CLI
$ npx skills add K-Dense-AI/scientific-agent-skills --skill open-notebook -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install K-Dense-AI/scientific-agent-skills open-notebook --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/K-Dense-AI/scientific-agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/open-notebook .claude/skills/open-notebook && rm -rf skills-src

Use ~/.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/

Facts

Skill name
open-notebook
GitHub stars
48k
Used in
1 other repo
Token cost
~2.8k tokens
SKILL.md length
1,100 words
Files
9 (incl. scripts, references)
Skills in repo
153
Repo updated
First seen
Licence
MIT

At a glance

Organizes research with the self-hosted Open Notebook alternative to NotebookLM.

  • Automating Open Notebook through its REST API
  • SKILL.md covers Overview, Quick Start, Core Features and Workflow and Environment Variables and…, plus 1 more section
  • Runs Python scripts from its folder; calls docker, curl and uv; reaches raw.githubusercontent.com; needs OPEN_NOTEBOOK_ENCRYPTION_KEY and OPEN_NOTEBOOK_PASSWORD
  • Configuring its local

What it does

Open Notebook is an agent skill from K-Dense-AI/scientific-agent-skills. Organizes research with the self-hosted Open Notebook alternative to NotebookLM. Supports source ingestion (PDFs, web pages, audio, video, and Office documents), cited document chat, text and vector search, notes, custom transformations, and multi-speaker podcasts. Use when automating Open Notebook through its REST API or configuring its local or cloud AI providers, including OpenAI, Anthropic, Google, Ollama, Groq, and Mistral.

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files, including scripts and reference files (for example `references/api_reference.md`, `references/architecture.md` and `references/configuration.md`). Compatibility notes: Requires a running Open Notebook backend and worker; Python 3.11+ with requests for bundled helpers. Docker Compose is the documented deployment option…

It sits in AI & LLM Engineering, covering Vector databases, Source-grounded notebooks and Podcasting. It works with Mistral AI, NotebookLM, Ollama and OpenAI. The repository describes itself as: Turn any AI agent into an AI Scientist. The 1 Agent Skills library for science, used by 250,000+ scientists worldwide. 177 ready-to-use validated skills plus 100+ scientific… The licence is MIT.

When your agent uses it

  • Automating Open Notebook through its REST API
  • Configuring its local
  • Cloud AI providers
  • Including OpenAI

Example prompts

  • “Use the open-notebook skill to organiz research with the self-hosted Open Notebook alternative to NotebookLM”
  • “/open-notebook”

Requirements

  • Python 3
  • Docker
  • A credential in OPEN_NOTEBOOK_ENCRYPTION_KEY
  • Compatibility (from SKILL.md): Requires a running Open Notebook backend and worker; Python 3.11+ with requests for bundled helpers. Docker Compose is the documented deployment option. Network access to the instance and any configured providers is required.

What it can do on your machine

Read from SKILL.md and the folder at commit 92ace75. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 4 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • docker
    • curl
    • uv

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • raw.githubusercontent.com

    Also links to:

    • arxiv.org
    • github.com
    • doi.org
    • export.arxiv.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • OPEN_NOTEBOOK_ENCRYPTION_KEY
    • OPEN_NOTEBOOK_PASSWORD
    • SURREAL_PASSWORD

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Requires a running Open Notebook backend and worker; Python 3.11+ with requests for bundled helpers. Docker Compose is the documented deployment option. Network access to the instance and any configured providers is required.

    From compatibility in the SKILL.md frontmatter.

Context cost

Open Notebook loads about 2.8k tokens when it runs, and up to ~13k if it reads all its reference files. Until then it costs about 112 tokens; SKILL.md has 1,100 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~112
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~13k

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.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated 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); the scripts in this folder are not scanned.

SKILL.md

The full file from K-Dense-AI/scientific-agent-skills at commit 92ace75, republished under its MIT licence (© K-Dense-AI). 1,100 words, ~2,838 tokens.

Download SKILL.mdSave it as .claude/skills/open-notebook/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.
name
open-notebook
description
Organizes research with the self-hosted Open Notebook alternative to NotebookLM. Supports source ingestion (PDFs, web pages, audio, video, and Office documents), cited document chat, text and vector search, notes, custom transformations, and multi-speaker podcasts. Use when automating Open Notebook through its REST API or configuring its local or cloud AI providers, including OpenAI, Anthropic, Google, Ollama, Groq, and Mistral.
compatibility
Requires a running Open Notebook backend and worker; Python 3.11+ with requests for bundled helpers. Docker Compose is the documented deployment option. Network access to the instance and any configured providers is required.
license
MIT
metadata.version
1.5
metadata.skill-author
K-Dense Inc.
metadata.last-reviewed
2026-09-30
metadata.upstream-version
1.14.0

Open Notebook

Overview

Open Notebook organizes sources, notes, and AI conversations into research notebooks. It supports several AI providers through Esperanto, full-text and vector search, custom transformations, and podcast generation with speaker profiles. Application storage is self-hosted; content sent to configured cloud models is not local-only.

This skill targets the latest published release observed on 2026-09-30, v1.14.0. Request/response contracts were checked against its official source and current main commit 3127f14ea9dbb519f0e4ddc64a0742ca644ba6ef. Bundled helpers have mocked HTTP regression tests; deployment, ingestion, and paid AI calls were not run against a live instance. Deployment and remote workflow examples are illustrative.

Quick Start

Installation

Use Docker Desktop/Engine with Compose. The upstream docker-compose file configures SurrealDB v2 and the lfnovo/open_notebook:v1-latest application image. It mounts ./notebook_data at /app/data and ./surreal_data at /mydata.

bash
curl --fail --location --output docker-compose.yml \
  https://raw.githubusercontent.com/lfnovo/open-notebook/v1.14.0/docker-compose.yml

Before starting, edit the downloaded Compose file: replace the literal OPEN_NOTEBOOK_ENCRYPTION_KEY=change-me-to-a-secret-string value, or change it to ${OPEN_NOTEBOOK_ENCRYPTION_KEY:?Set OPEN_NOTEBOOK_ENCRYPTION_KEY} and supply that variable. Exporting a shell variable alone does not replace the upstream literal. Retain the key across restarts; it encrypts provider credentials, not source documents. Set OPEN_NOTEBOOK_PASSWORD in the application's container environment when password protection is wanted; clients then send Authorization: Bearer <instance-password>. For a reproducible deployment, resolve and record an image digest; v1-latest moves.

bash
docker compose up -d
docker compose logs --tail=100 open_notebook
  • Web UI: http://localhost:8502
  • Backend: http://localhost:5055; API base: http://localhost:5055/api
  • Instance contracts: /docs, /redoc, /openapi.json

Source installation is also supported; it needs a separate processing worker. See configuration for persistence and provider setup.

Configure AI providers

In Manage → Models, add a configuration/credential, test it, discover models, and register the particular models needed. Assign chat and embedding defaults; assign speech models separately for transcription/podcasts. OpenAI, Anthropic, Google, Ollama, Groq, and Mistral have different modalities. Discover support from the instance's /api/models/providers; do not infer speech support from LLM support.

Credential discovery returns discovered[] with name and provider, often without a usable model_type. Registration requires models[] containing name, provider, and an explicitly chosen model_type. The four types are language, embedding, speech_to_text, and text_to_speech. They are not llm, stt, or tts. See the API reference and credential example.

Use the bundled helpers

Resolve this skill's directory and run from its scripts/ directory, or add that directory to the Python import path. Install requests in a dedicated environment, for example uv run --isolated --with requests python notebook_management.py --help. Each CLI only lists records; creation, AI calls, and deletion are explicit functions. Set OPEN_NOTEBOOK_URL to the backend origin (an existing /api suffix is also accepted). Set OPEN_NOTEBOOK_PASSWORD only if the instance requires authentication.

python
from notebook_management import create_notebook
from source_ingestion import add_text_source, wait_for_processing
from chat_interaction import build_context, create_chat_session, send_chat_message

notebook = create_notebook("Methods review", "Compare reported experimental designs")
source = add_text_source(
    notebook["id"], "Pilot study excerpt",
    "Illustrative study: 24 samples were randomized to two treatments.",
    process_async=True, embed=False,
)
wait_for_processing(source["id"])
built = build_context(notebook["id"], source_ids=[source["id"]], note_ids=[])
if not built["context"]["sources"]:
    raise RuntimeError("No source content was included")
session = create_chat_session(notebook["id"], "Methods discussion")
answer = send_chat_message(
    session["id"], "What design was reported? Cite the source and identify gaps.",
    built["context"],
)
ai_messages = [m for m in answer["messages"] if m["type"] == "ai"]

Core Features and Workflow

Notebooks and notes

Create a notebook with POST /api/notebooks and JSON name, description. Use POST /api/notes with content, optional title, notebook_id, and note_type="human" or "ai". A missing title on an AI note invokes a model. Notebook deletion removes notes and chat sessions; source deletion is controlled by delete_exclusive_sources. Inspect /delete-preview before intentional deletion.

Source ingestion

POST /api/sources takes form fields, including required type: link, upload, or text. Supply respectively url, multipart file, or content. Use notebooks as a JSON-encoded list in form data. async_processing and embed both default to false. The fields text and process_async do not implement these options. Use /api/sources/json for JSON bodies; the form endpoint does not accept arbitrary JSON.

Wait for /api/sources/{id}/status; a failed job must not flow into analysis as if it succeeded. Inspect full_text after extraction, especially for scanned PDFs, tables, and transcripts. Vector retrieval additionally needs embed=true, a default embedding model, and completed embeddings (embedded_chunks > 0). Source list pages are limited to 100; use iter_sources for a stable collection. It defaults to a 1,000-page cap and raises on repeated IDs, malformed pages, or an exhausted cap. Discard partial results after an error; raise max_pages explicitly if needed.

Context-aware chat

Call /api/chat/context with notebook_id and context_config, whose sources and notes maps associate IDs with "full content", "insights" (sources), or "not in context". An empty config includes all notebook items in short form; explicit empty maps select nothing. Review returned items and token_count. Send the returned context object to /api/chat/execute with session_id and message. It returns JSON {session_id, messages}; message fields include type (human/ai) and content. include_sources flags do not build context.

Show full SKILL.md (423 more words)Show less
Search and Ask

POST /api/search uses query, type="text" or "vector", limit (1–1000), search_sources, search_notes, and minimum_score (0–1, vector only). Read total_count, the returned-hit count rather than a corpus-wide total. On v1.14.0 search and Ask are global; sending unsupported source_ids/note_ids does not filter results. Main after v1.14.0 adds notebook scoping, but check the installed OpenAPI schema before relying on it. Use selected-source chat when scope must be guaranteed on the release API.

Ask requires question, strategy_model, answer_model, and final_answer_model with registered model record IDs, plus an embedding model. /api/search/ask/simple returns {answer, question}. /api/search/ask streams SSE, including error events.

Transformations and podcasts

Create transformations with name, title, description, prompt, and optional apply_default/model_id. Execute with transformation_id, input_text, optional model_id; read output. Treat generated findings as drafts and verify numerical claims and citations against the extracted source.

Podcast generation requires episode_profile and speaker_profile names, an episode_name, and explicit content or notebook_id. One speaker profile holds multiple speakers. It returns a job_id; poll its job with a deadline, and read result.episode_id on success before downloading episode audio. Review the script for unsupported scientific claims before sharing it. See worked examples.

Environment Variables and Architecture

OPEN_NOTEBOOK_ENCRYPTION_KEY belongs on the server; API clients do not need it. SURREAL_PASSWORD (not SURREAL_PASS) configures the database password. Preserve both database and /app/data, including uploads, podcasts, and SQLite chat state. The backend uses FastAPI, SurrealDB, LangChain/LangGraph, and Esperanto; the UI uses Next.js. Background jobs need the worker even when the API health check succeeds. See architecture.

Self-hosting controls application storage. Configured cloud LLM, embedding, transcription, speech, and extraction services can receive research content. For local-only processing, configure every relevant stage locally; a local chat model alone is insufficient. Reconcile extraction completeness, context membership, retrieval coverage, and source citations before using outputs as scientific evidence.

Citing Scientific Agent Skills

This skill is part of Scientific Agent Skills by K-Dense. If it materially contributed to a manuscript, report, presentation, or code release, add the paper to the references or software section and tell the user you did so:

Kassis, T., Agarwal, V., He, Y., Patel, D., & Brueckner, A. M. (2026). Scientific Agent Skills: A Library of Procedural Knowledge for Research Agents. arXiv:2609.00065. https://doi.org/10.48550/arXiv.2609.00065

Always cite the current version. The DOI and https://arxiv.org/abs/2609.00065 resolve to the latest arXiv version, so never append a version suffix such as v1. When network access is available, fetch https://arxiv.org/abs/2609.00065 (or http://export.arxiv.org/api/query?id_list=2609.00065) before writing the reference and take the author list, year, and version from that record. If the record lists a journal reference or publisher DOI, cite the published version instead.

© K-Dense-AI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 8 other files (scripts, references) in skills/open-notebook of K-Dense-AI/scientific-agent-skills.

  • SKILL.md
  • references/api_reference.md
  • references/architecture.md
  • references/configuration.md
  • references/examples.md
  • scripts/_common.py
  • scripts/chat_interaction.py
  • scripts/notebook_management.py
  • scripts/source_ingestion.py

Open the folder on GitHubat commit 92ace75

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in K-Dense-AI/scientific-agent-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Open Notebook 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.

Open Notebook compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Open Notebook this skillK-Dense-AI/scientific-agent-skills48k1 repos~2.8kAutomated safety check: PassMIT
Open Notebookagent-skills-hub/agent-skills-hub1123 repos~2.6kAutomated safety check: PassMIT
Facturasgustavoeenriquez/MakerAi212—~127Automated safety check: PassMIT
AI SDK Developmenttrypostit/trypost6911 repos~3.5kAutomated safety check: PassMIT
Model ResearcherIgorWarzocha/Opencode-Workflows122—~2.2kAutomated safety check: PassNone
Aider DelegateamElnagdy/delegate-skills2.3k2 repos~3kAutomated safety check: PassMIT

Similar skills

  • Open Notebook

    agent-skills-hub/agent-skills-hub

    Drives a self-hosted Open Notebook instance to organize sources into notebooks, chat with documents, generate notes and multi-speaker podcasts, and search across material.

    112 GitHub starsUsed in 3 repos~2.6k tokens
    Knowledge ManagementAuto-check passed
  • Facturas

    gustavoeenriquez/MakerAi

    Úsalo cuando el usuario pida redactar una factura, una cuenta de cobro o una nota de cobro.

    212 GitHub stars~127 tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • AI SDK Development

    trypostit/trypost

    TRIGGER when working with ai-sdk which is Laravel official first-party AI SDK.

    691 GitHub starsUsed in 1 repo~3.5k tokens
    AI & LLM EngineeringAuto-check passed
  • Model Researcher

    IgorWarzocha/Opencode-Workflows

    Add new/custom AI models to opencode.json. An agent skill from IgorWarzocha/Opencode-Workflows.

    122 GitHub stars~2.2k tokensUpdated 8 mo ago
    AI & LLM EngineeringAuto-check passed
  • Aider Delegate

    amElnagdy/delegate-skills

    Delegate a coding task to Aider (aider) as a background implementer, then review its diff and land it yourself.

    2.3k GitHub starsUsed in 2 repos~3k tokens
    AI & LLM EngineeringAuto-check passed
  • Perfup

    raullenchai/Rapid-MLX

    Autonomous performance optimization: research, PoC, benchmark, implement, review, PR

    4k GitHub stars~1.6k tokensUpdated today
    AI & LLM EngineeringAuto-check: notes

More from K-Dense-AI/scientific-agent-skills

All 153 skills in this repo
  • 13C Metabolic Flux Analysis

    K-Dense-AI/scientific-agent-skills

    Estimates reaction fluxes inside cells from steady-state carbon-13 labeling data with a bundled mfapy-based solver, and reports which fluxes the data pin down.

    48k GitHub starsUsed in 1 repo~3.2k tokens
    Auto-check passed
  • Analytical Method Validation Planner

    K-Dense-AI/scientific-agent-skills

    Plans, runs, and documents analytical method validation, verification, or transfer studies under ICH Q2(R2)/Q14, USP, ICH M10, CLSI EP, or ISO/IEC 17025.

    48k GitHub starsUsed in 1 repo~4.9k tokens
    Auto-check: notes
  • Cantera Ignition Delay

    K-Dense-AI/scientific-agent-skills

    Runs Cantera constant-volume or constant-pressure ignition simulations and reports temperature-based ignition delay with mechanism provenance and checks.

    48k GitHub starsUsed in 1 repo~2.2k tokens
    Auto-check passed
  • DiffDock Molecular Docking

    K-Dense-AI/scientific-agent-skills

    Predicts how small molecules bind to a protein with DiffDock, covering batch docking, pose ranking by confidence and checks on the results; not for binding affinity.

    48k GitHub starsUsed in 1 repo~3k tokens
    Auto-check: notes
  • HypoGeniC Hypothesis Generation

    K-Dense-AI/scientific-agent-skills

    Plans and audits runs of the HypoGeniC and HypoRefine packages, which propose hypotheses from labeled text datasets, with local checks before any model call.

    48k GitHub starsUsed in 1 repo~3.6k tokens
    Auto-check: notes
  • ISO Standards Readiness Evidence

    K-Dense-AI/scientific-agent-skills

    Organizes scope, controlled documents, risk files and traceability into draft evidence for human review against ISO 13485, 14971, 17025 and 15189.

    48k GitHub starsUsed in 1 repo~4.6k tokens
    Auto-check: notes

Questions about Open Notebook

What does Open Notebook do?

Organizes research with the self-hosted Open Notebook alternative to NotebookLM. Open Notebook is an agent skill from K-Dense-AI/scientific-agent-skills. Organizes research with the self-hosted Open Notebook alternative to NotebookLM.

When should I use Open Notebook?

Open Notebook fits situations like: automating Open Notebook through its REST API; configuring its local; cloud AI providers; including OpenAI.

How do I install Open Notebook in Claude Code?

Run `npx skills add K-Dense-AI/scientific-agent-skills --skill open-notebook -a claude-code`. Or copy the skill folder (skills/open-notebook in K-Dense-AI/scientific-agent-skills) into .claude/skills/open-notebook in your project. Claude Code loads it when a task matches its description.

How do I install Open Notebook in Codex?

Run `npx skills add K-Dense-AI/scientific-agent-skills --skill open-notebook -a codex`. Or copy the skill folder (skills/open-notebook in K-Dense-AI/scientific-agent-skills) into .agents/skills/open-notebook in your project. Codex loads it when a task matches its description.

Can I use Open Notebook in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add K-Dense-AI/scientific-agent-skills --skill open-notebook -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/open-notebook, .gemini/skills/open-notebook, .github/skills/open-notebook and .opencode/skills/open-notebook in your project.

What does Open Notebook need to run?

Going by SKILL.md and its folder, Open Notebook needs Python for the scripts in its folder, the command-line tools its instructions call (docker, curl and uv) and credentials named OPEN_NOTEBOOK_ENCRYPTION_KEY, OPEN_NOTEBOOK_PASSWORD and SURREAL_PASSWORD. Our summary lists: Python 3; Docker; A credential in OPEN_NOTEBOOK_ENCRYPTION_KEY. Compatibility (from SKILL.md): Requires a running Open Notebook backend and worker; Python 3.11+ with requests for bundled helpers. Docker Compose is the documented deployment option. Network access to the instance and any configured providers is required..

Does Open Notebook access the network?

SKILL.md names 5 domains. In commands or code: raw.githubusercontent.com; the agent is likely to contact it when it follows the instructions. As links in the text: arxiv.org, github.com, doi.org and export.arxiv.org. This is read from the text; nothing was executed.

Is Open Notebook safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Open Notebook use?

Open Notebook is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Open Notebook use?

About 2.8k tokens (SKILL.md is roughly 11k 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 11k tokens, read only when the agent opens those files.

What are the alternatives to Open Notebook?

Skills that share tags, products or a category with Open Notebook: Open Notebook (agent-skills-hub/agent-skills-hub, 112 stars), Facturas (gustavoeenriquez/MakerAi, 212 stars), AI SDK Development (trypostit/trypost, 691 stars) and Model Researcher (IgorWarzocha/Opencode-Workflows, 122 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Open Notebook?

K-Dense-AI (a GitHub organization) maintains it in K-Dense-AI/scientific-agent-skills, which has 48,215 GitHub stars. The repository holds 153 skills in this directory. The repository was last updated on October 5, 2026.

Source: K-Dense-AI/scientific-agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.