Save Research Notebook
napjon/krisk
Convert a completed data-analysis conversation into evidence-backed, reproducible living research through the Krisk MCP server.
Stateful Jupyter kernel — variables persist across cells (hamelnb)
$ npx skills add taracodlabs/aiden --skill jupyter-live-kernel -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install taracodlabs/aiden 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/taracodlabs/aiden.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/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/taracodlabs/aiden/tree/main/skills/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/taracodlabs/aiden/tree/main/skills/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 taracodlabs/aiden --skill jupyter-live-kernel -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install taracodlabs/aiden jupyter-live-kernel --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/taracodlabs/aiden.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/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/taracodlabs/aiden/tree/main/skills/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 taracodlabs/aiden --skill jupyter-live-kernel -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install taracodlabs/aiden jupyter-live-kernel --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/taracodlabs/aiden.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/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/taracodlabs/aiden/tree/main/skills/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/taracodlabs/aiden.git --path skills/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 taracodlabs/aiden --skill jupyter-live-kernel -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install taracodlabs/aiden 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/taracodlabs/aiden.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/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/taracodlabs/aiden/tree/main/skills/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 taracodlabs/aiden 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 taracodlabs/aiden --skill jupyter-live-kernel -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/taracodlabs/aiden.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/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/taracodlabs/aiden/tree/main/skills/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 taracodlabs/aiden --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 taracodlabs/aiden jupyter-live-kernel --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/taracodlabs/aiden.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/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/taracodlabs/aiden/tree/main/skills/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-kernelStateful Jupyter kernel — variables persist across cells (hamelnb)
Jupyter Live Kernel is an agent skill from taracodlabs/aiden. Stateful Jupyter kernel — variables persist across cells (hamelnb)
Its SKILL.md is about 950 tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `skill.json`).
It sits in Data & Analytics, covering Jupyter notebooks. It works with Jupyter and Python. The repository describes itself as: Aiden — an autonomous AI agent and work engine built solo. It can operate your browser, terminal, files, apps, APIs, skills and tools, remember context, recover from failures… The licence is Apache-2.0.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 3704204. 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:
pipjupyterFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.
From 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 949 tokens when it runs. Until then it costs about 22 tokens; SKILL.md has 280 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 taracodlabs/aiden at commit 3704204, republished under its Apache-2.0 licence (© taracodlabs). 280 words, ~949 tokens.
.claude/skills/jupyter-live-kernel/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Run Python code in a persistent Jupyter kernel so that variables, imports, and state carry over between executions — exactly like working in a notebook, but from the CLI.
.ipynb notebook file from the command linepip install hamelnb
# or use jupyter directly
pip install jupyter# Start a persistent kernel session (keeps running between calls)
hamelnb start --name datasession
# Execute a code snippet in the named session
hamelnb run datasession "import pandas as pd; df = pd.read_csv('data.csv'); print(df.shape)"
# Execute next cell — df variable is still available
hamelnb run datasession "print(df.describe())"
# Stop session when done
hamelnb stop datasession# Run all cells in a notebook and save output
jupyter nbconvert --to notebook --execute analysis.ipynb --output analysis_out.ipynb
# Run and convert output to HTML for viewing
jupyter nbconvert --to html --execute analysis.ipynb --output report.htmlimport jupyter_client, queue
km = jupyter_client.KernelManager(kernel_name="python3")
km.start_kernel()
kc = km.client()
kc.start_channels()
kc.wait_for_ready(timeout=30)
def run_cell(code):
kc.execute(code)
outputs = []
while True:
try:
msg = kc.get_iopub_msg(timeout=10)
if msg["msg_type"] == "stream":
outputs.append(msg["content"]["text"])
elif msg["msg_type"] == "execute_result":
outputs.append(msg["content"]["data"].get("text/plain",""))
elif msg["msg_type"] == "status" and msg["content"]["execution_state"] == "idle":
break
except queue.Empty:
break
return "".join(outputs)
print(run_cell("import pandas as pd; df = pd.read_csv('data.csv'); df.shape"))
print(run_cell("df.describe()")) # df is still in scope!
km.shutdown_kernel()# Use run_cell from step 4 to inject values
run_cell("x = 42; y = [1, 2, 3]")
result = run_cell("print(x * 2, sum(y))")"Load sales.csv and show the top 10 rows, then plot revenue by month"
→ Use step 4: run cell 1 to load and preview the CSV, run cell 2 to group by month and show results — df persists between calls.
"Execute my analysis.ipynb notebook and give me the output"
→ Use step 3 with jupyter nbconvert --to notebook --execute.
"Explore the wine quality dataset — check correlations step by step" → Use hamelnb (step 2) to build up analysis iteratively with named session.
km.shutdown_kernel() when donenbconvert --execute re-runs all cells from scratch — it does not resume a previous statepip show hamelnb before use© taracodlabs, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/jupyter-live-kernel of taracodlabs/aiden.
Open the folder on GitHubat commit 3704204
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 skilltaracodlabs/aiden | 851 | — | ~949 | Automated safety check: Pass | Apache-2.0 | |
| Save Research Notebooknapjon/krisk | 117 | — | ~702 | Automated safety check: Pass | BSD-3-Clause | |
| Export ML Notebookprobabl-ai/skills | 138 | — | ~1k | Automated safety check: Pass | BSD-3-Clause | |
| Jupyter Live KernelRedWoodOG/Hermes-Desktop | 177 | 5 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Bio Reporting Quarto ReportsGPTomics/bioSkills | 1.2k | 1 repos | ~2.4k | Automated safety check: Pass | MIT | |
| Marimobrycewang-stanford/Auto-Empirical-Research-Skills | 4.5k | — | ~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
Convert a jupytext percent %% Python file into an executed .ipynb with cell outputs.
RedWoodOG/Hermes-Desktop
Use a live Jupyter kernel for stateful, iterative Python execution via 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、用纯文本写…
taracodlabs/aiden
Searches Google Flights for prices, schedules and availability through browser automation with URL-based queries, and stops short of booking.
taracodlabs/aiden
Delegates code generation, editing and explanation tasks to the OpenAI Codex CLI, with commands for interactive, auto-edit, question-only and model-specific runs.
taracodlabs/aiden
Searches Google Hotels through the agent-browser tool for prices, ratings, amenities and availability, building a search URL from the location and dates and reporting a results table.
taracodlabs/aiden
Generates dark-themed architecture, component, data-flow and network diagrams as self-contained HTML and SVG files that open in any browser.
taracodlabs/aiden
Aggregates holdings across Zerodha, Upstox and Angel One and normalizes order parameters into one format, with confirmation required before any routing.
taracodlabs/aiden
Searches arXiv by keyword, category, author or paper ID through its public API and downloads PDFs, with no API key needed.
Categories
Stateful Jupyter kernel — variables persist across cells (hamelnb). Jupyter Live Kernel is an agent skill from taracodlabs/aiden.
Jupyter Live Kernel fits situations like: tasks that involve Jupyter notebooks.
Run `npx skills add taracodlabs/aiden --skill jupyter-live-kernel -a claude-code`. Or copy the skill folder (skills/jupyter-live-kernel in taracodlabs/aiden) into .claude/skills/jupyter-live-kernel in your project. Claude Code loads it when a task matches its description.
Run `npx skills add taracodlabs/aiden --skill jupyter-live-kernel -a codex`. Or copy the skill folder (skills/jupyter-live-kernel in taracodlabs/aiden) 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 taracodlabs/aiden --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 (pip and jupyter). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. 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 Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 949 tokens (SKILL.md is roughly 3.8k 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 (RedWoodOG/Hermes-Desktop, 177 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.
taracodlabs (a GitHub organization) maintains it in taracodlabs/aiden, which has 851 GitHub stars. The repository holds 63 skills in this directory. The repository was last updated on September 13, 2026.
Source: taracodlabs/aiden on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.