Save Research Notebook
napjon/krisk
Convert a completed data-analysis conversation into evidence-backed, reproducible living research through the Krisk MCP server.
Use a live Jupyter kernel for stateful, iterative Python execution via hamelnb.
$ npx skills add RedWoodOG/Hermes-Desktop --skill jupyter-live-kernel -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install RedWoodOG/Hermes-Desktop jupyter-live-kernel --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/RedWoodOG/Hermes-Desktop.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/data-science/jupyter-live-kernel .claude/skills/jupyter-live-kernel && 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 "jupyter-live-kernel" agent skill from https://github.com/RedWoodOG/Hermes-Desktop/tree/main/skills/data-science/jupyter-live-kernel into .claude/skills/jupyter-live-kernel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jupyter-live-kernel", 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/RedWoodOG/Hermes-Desktop/tree/main/skills/data-science/jupyter-live-kernelType 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 RedWoodOG/Hermes-Desktop --skill jupyter-live-kernel -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install RedWoodOG/Hermes-Desktop jupyter-live-kernel --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RedWoodOG/Hermes-Desktop.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/data-science/jupyter-live-kernel .agents/skills/jupyter-live-kernel && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "jupyter-live-kernel" agent skill from https://github.com/RedWoodOG/Hermes-Desktop/tree/main/skills/data-science/jupyter-live-kernel into .agents/skills/jupyter-live-kernel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jupyter-live-kernel", 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 RedWoodOG/Hermes-Desktop --skill jupyter-live-kernel -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install RedWoodOG/Hermes-Desktop jupyter-live-kernel --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RedWoodOG/Hermes-Desktop.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/data-science/jupyter-live-kernel .cursor/skills/jupyter-live-kernel && 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 "jupyter-live-kernel" agent skill from https://github.com/RedWoodOG/Hermes-Desktop/tree/main/skills/data-science/jupyter-live-kernel into .cursor/skills/jupyter-live-kernel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jupyter-live-kernel", 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/RedWoodOG/Hermes-Desktop.git --path skills/data-science/jupyter-live-kernel--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 RedWoodOG/Hermes-Desktop --skill jupyter-live-kernel -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install RedWoodOG/Hermes-Desktop jupyter-live-kernel --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RedWoodOG/Hermes-Desktop.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/data-science/jupyter-live-kernel .gemini/skills/jupyter-live-kernel && 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 "jupyter-live-kernel" agent skill from https://github.com/RedWoodOG/Hermes-Desktop/tree/main/skills/data-science/jupyter-live-kernel into .gemini/skills/jupyter-live-kernel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jupyter-live-kernel", 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 RedWoodOG/Hermes-Desktop jupyter-live-kernelInstalls 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 RedWoodOG/Hermes-Desktop --skill jupyter-live-kernel -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/RedWoodOG/Hermes-Desktop.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/data-science/jupyter-live-kernel .github/skills/jupyter-live-kernel && 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 "jupyter-live-kernel" agent skill from https://github.com/RedWoodOG/Hermes-Desktop/tree/main/skills/data-science/jupyter-live-kernel into .github/skills/jupyter-live-kernel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jupyter-live-kernel", 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 RedWoodOG/Hermes-Desktop --skill jupyter-live-kernel -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install RedWoodOG/Hermes-Desktop jupyter-live-kernel --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RedWoodOG/Hermes-Desktop.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/data-science/jupyter-live-kernel .opencode/skills/jupyter-live-kernel && 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 "jupyter-live-kernel" agent skill from https://github.com/RedWoodOG/Hermes-Desktop/tree/main/skills/data-science/jupyter-live-kernel into .opencode/skills/jupyter-live-kernel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jupyter-live-kernel", 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.
jupyter-live-kernelUse a live Jupyter kernel for stateful, iterative Python execution via hamelnb.
Jupyter Live Kernel is an agent skill from RedWoodOG/Hermes-Desktop. Use a live Jupyter kernel for stateful, iterative Python execution via hamelnb. Load this skill when the task involves exploration, iteration, or inspecting intermediate results — data science, ML experimentation, API exploration, or building up complex code step-by-step. Uses terminal to run CLI commands against a live Jupyter kernel. No new tools required.
Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Data & Analytics, covering Jupyter notebooks. It works with Jupyter and Python. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit be46b39. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
uvgitcurlFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
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.
Jupyter Live Kernel loads about 1.4k tokens when it runs. Until then it costs about 95 tokens; SKILL.md has 479 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 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); files beside SKILL.md are not scanned.
The full file from RedWoodOG/Hermes-Desktop at commit be46b39, republished under its MIT licence (© RedWoodOG). 479 words, ~1,390 tokens.
.claude/skills/jupyter-live-kernel/SKILL.md (or your agent's skills folder).Gives you a stateful Python REPL via a live Jupyter kernel. Variables persist
across executions. Use this instead of execute_code when you need to build up
state incrementally, explore APIs, inspect DataFrames, or iterate on complex code.
| Tool | Use When |
|---|---|
| This skill | Iterative exploration, state across steps, data science, ML, "let me try this and check" |
execute_code | One-shot scripts needing hermes tool access (web_search, file ops). Stateless. |
terminal | Shell commands, builds, installs, git, process management |
Rule of thumb: If you'd want a Jupyter notebook for the task, use this skill.
which uv)uv tool install jupyterlabThe hamelnb script location:
SCRIPT="$HOME/.agent-skills/hamelnb/skills/jupyter-live-kernel/scripts/jupyter_live_kernel.py"If not cloned yet:
git clone https://github.com/hamelsmu/hamelnb.git ~/.agent-skills/hamelnbCheck if a server is already running:
uv run "$SCRIPT" serversIf no servers found, start one:
jupyter-lab --no-browser --port=8888 --notebook-dir=$HOME/notebooks \
--IdentityProvider.token='' --ServerApp.password='' > /tmp/jupyter.log 2>&1 &
sleep 3Note: Token/password disabled for local agent access. The server runs headless.
If you just need a REPL (no existing notebook), create a minimal notebook file:
mkdir -p ~/notebooksWrite a minimal .ipynb JSON file with one empty code cell, then start a kernel session via the Jupyter REST API:
curl -s -X POST http://127.0.0.1:8888/api/sessions \
-H "Content-Type: application/json" \
-d '{"path":"scratch.ipynb","type":"notebook","name":"scratch.ipynb","kernel":{"name":"python3"}}'All commands return structured JSON. Always use --compact to save tokens.
uv run "$SCRIPT" servers --compact
uv run "$SCRIPT" notebooks --compactuv run "$SCRIPT" execute --path <notebook.ipynb> --code '<python code>' --compactState persists across execute calls. Variables, imports, objects all survive.
Multi-line code works with $'...' quoting:
uv run "$SCRIPT" execute --path scratch.ipynb --code $'import os\nfiles = os.listdir(".")\nprint(f"Found {len(files)} files")' --compactuv run "$SCRIPT" variables --path <notebook.ipynb> list --compact
uv run "$SCRIPT" variables --path <notebook.ipynb> preview --name <varname> --compact# View current cells
uv run "$SCRIPT" contents --path <notebook.ipynb> --compact
# Insert a new cell
uv run "$SCRIPT" edit --path <notebook.ipynb> insert \
--at-index <N> --cell-type code --source '<code>' --compact
# Replace cell source (use cell-id from contents output)
uv run "$SCRIPT" edit --path <notebook.ipynb> replace-source \
--cell-id <id> --source '<new code>' --compact
# Delete a cell
uv run "$SCRIPT" edit --path <notebook.ipynb> delete --cell-id <id> --compactOnly use when the user asks for a clean verification or you need to confirm the notebook runs top-to-bottom:
uv run "$SCRIPT" restart-run-all --path <notebook.ipynb> --save-outputs --compactFirst execution after server start may timeout — the kernel needs a moment to initialize. If you get a timeout, just retry.
The kernel Python is JupyterLab's Python — packages must be installed in that environment. If you need additional packages, install them into the JupyterLab tool environment first.
--compact flag saves significant tokens — always use it. JSON output can be very verbose without it.
For pure REPL use, create a scratch.ipynb and don't bother with cell editing.
Just use execute repeatedly.
Argument order matters — subcommand flags like --path go BEFORE the
sub-subcommand. E.g.: variables --path nb.ipynb list not variables list --path nb.ipynb.
If a session doesn't exist yet, you need to start one via the REST API (see Setup section). The tool can't execute without a live kernel session.
Errors are returned as JSON with traceback — read the ename and evalue
fields to understand what went wrong.
Occasional websocket timeouts — some operations may timeout on first try, especially after a kernel restart. Retry once before escalating.
The script has a 30-second default timeout per execution. For long-running
operations, pass --timeout 120. Use generous timeouts (60+) for initial
setup or heavy computation.
© RedWoodOG, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/data-science/jupyter-live-kernel of RedWoodOG/Hermes-Desktop.
Open the folder on GitHubat commit be46b39
We found 6 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 5 other GitHub owners. This page covers the copy in RedWoodOG/Hermes-Desktop, which our catalogue first saw on October 7, 2026.
Jupyter Live Kernel 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 |
|---|---|---|---|---|---|---|
| Jupyter Live Kernel this skillRedWoodOG/Hermes-Desktop | 177 | 5 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Save Research Notebooknapjon/krisk | 117 | — | ~702 | Automated safety check: Pass | BSD-3-Clause | |
| Export ML Notebookprobabl-ai/skills | 138 | — | ~1.7k | Automated safety check: Pass | BSD-3-Clause | |
| Jupyter Live Kerneltaracodlabs/aiden | 852 | — | ~949 | Automated safety check: Pass | Apache-2.0 | |
| Bio Reporting Quarto ReportsGPTomics/bioSkills | 1.2k | 1 repos | ~2.4k | Automated safety check: Pass | MIT | |
| Marimobrycewang-stanford/Auto-Empirical-Research-Skills | 4.6k | — | ~2.8k | Automated safety check: Pass | Custom licence |
napjon/krisk
Convert a completed data-analysis conversation into evidence-backed, reproducible living research through the Krisk MCP server.
probabl-ai/skills
Write a jupytext percent %% Python file out as an .ipynb. An agent skill from probabl-ai/skills.
taracodlabs/aiden
Stateful Jupyter kernel — variables persist across cells (hamelnb)
GPTomics/bioSkills
Builds reproducible Quarto reports, presentations, and websites across R, Python, and Julia, with correct engine selection, cache-vs-freeze semantics, native cross-references, parameters, and…
brycewang-stanford/Auto-Empirical-Research-Skills
Reactive Python notebook system. An agent skill from brycewang-stanford/Auto-Empirical-Research-Skills.
ninehills/skills
Jupyter Notebook 创建与格式转换技能。当用户提到以下任何请求时必须使用:新建/创建 notebook、Jupyter notebook、.ipynb、jupytext、py:percent、 %% cell 格式、notebook 版本控制、paired notebook、notebook 转 Python、Python 转 notebook、用纯文本写…
RedWoodOG/Hermes-Desktop
Create hand-drawn style diagrams using Excalidraw JSON format.
RedWoodOG/Hermes-Desktop
Remove refusal behaviors from open-weight LLMs using OBLITERATUS — mechanistic interpretability techniques (diff-in-means, SVD, whitened SVD, LEACE, SAE decomposition, etc.) to excise guardrails…
RedWoodOG/Hermes-Desktop
Production pipeline for ASCII art video — any format. An agent skill from RedWoodOG/Hermes-Desktop.
RedWoodOG/Hermes-Desktop
A skill your agent uses when encountering any bug, test failure, or unexpected behavior.
RedWoodOG/Hermes-Desktop
A skill your agent uses when implementing any feature or bugfix, before writing implementation code.
RedWoodOG/Hermes-Desktop
Delegate coding tasks to Claude Code (Anthropic's CLI agent).
Categories
Use a live Jupyter kernel for stateful, iterative Python execution via hamelnb. Jupyter Live Kernel is an agent skill from RedWoodOG/Hermes-Desktop. Use a live Jupyter kernel for stateful, iterative Python execution via hamelnb.
Jupyter Live Kernel fits situations like: tasks that involve Jupyter notebooks.
Run `npx skills add RedWoodOG/Hermes-Desktop --skill jupyter-live-kernel -a claude-code`. Or copy the skill folder (skills/data-science/jupyter-live-kernel in RedWoodOG/Hermes-Desktop) into .claude/skills/jupyter-live-kernel in your project. Claude Code loads it when a task matches its description.
Run `npx skills add RedWoodOG/Hermes-Desktop --skill jupyter-live-kernel -a codex`. Or copy the skill folder (skills/data-science/jupyter-live-kernel in RedWoodOG/Hermes-Desktop) into .agents/skills/jupyter-live-kernel 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 RedWoodOG/Hermes-Desktop --skill jupyter-live-kernel -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/jupyter-live-kernel, .gemini/skills/jupyter-live-kernel, .github/skills/jupyter-live-kernel and .opencode/skills/jupyter-live-kernel in your project.
Going by SKILL.md and its folder, Jupyter Live Kernel needs the command-line tools its instructions call (uv, git and curl). Our summary lists: Python 3.
SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
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. Review the folder before installing.
Jupyter Live Kernel is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Jupyter Live Kernel: Save Research Notebook (napjon/krisk, 117 stars), Export ML Notebook (probabl-ai/skills, 138 stars), Jupyter Live Kernel (taracodlabs/aiden, 852 stars) and Bio Reporting Quarto Reports (GPTomics/bioSkills, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
RedWoodOG (a GitHub user) maintains it in RedWoodOG/Hermes-Desktop, which has 177 GitHub stars. The repository holds 62 skills in this directory. The repository was last updated on May 30, 2026.
Source: RedWoodOG/Hermes-Desktop on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.