graniet/kheish/jupyter-live-kernel
Claude Code and agent skill by graniet/kheish
- community
Checking that the SKILL.md file is still in the repository.
'Use a live Jupyter kernel for stateful, iterative Python execution via
Install
npx vskill@latest install graniet/kheish/jupyter-live-kernelSKILL.md
Kheish Compatibility
This skill is repo-local and stays inactive until explicitly activated.
When the original instructions refer to legacy tool names, use these Kheish mappings:
terminal=>bashweb_extract=>web_fetch, plusweb_searchwhen discovery is neededsearch_files=>grep_searchandglob_searchbrowser_*tools require a browser-capable surfaced tool or MCP; if none is available, use the closest available surface and say so explicitly
When the instructions mention local helper files, resolve them from ${KHEISH_SKILL_DIR}.
Jupyter Live Kernel (hamelnb)
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.
When to Use This vs Other Tools
| 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 Kheish 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.
Prerequisites
- uv must be installed (check:
which uv) - JupyterLab must be installed:
uv tool install jupyterlab - A Jupyter server must be running (see Setup below)
Setup
This imported skill does not bundle the external hamelnb helper repository. Keep the helper checkout separate from Kheish and point SCRIPT at that checkout:
If not cloned yet:
Starting JupyterLab
Check if a server is already running:
If no servers found, start one:
Note: Token/password disabled for local agent access. The server runs headless.
Creating a Notebook for REPL Use
If you just need a REPL (no existing notebook), create a minimal notebook file:
Write a minimal .ipynb JSON file with one empty code cell, then start a kernel session via the Jupyter REST API:
Core Workflow
All commands return structured JSON. Always use --compact to save tokens.
1. Discover servers and notebooks
2. Execute code (primary operation)
State persists across execute calls. Variables, imports, objects all survive.
Multi-line code works with $'...' quoting:
3. Inspect live variables
4. Edit notebook cells
5. Verification (restart + run all)
Only use when the user asks for a clean verification or you need to confirm the notebook runs top-to-bottom:
Practical Tips from Experience
- First 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
--pathgo 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
enameandevalue
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.
Timeout Defaults
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.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/data-science/jupyter-live-kernel/SKILL.md
Popularity
- Repository stars
- 217
- Repository forks
- 18
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/graniet/kheish/jupyter-live-kernel)