Skills pluto-pair
📦

pluto-pair

Medium Risk ⚙️ External commands

Connect Claude to Pluto.jl Notebooks

Scientific computing workflows require interactive notebooks, but switching between Codex and Pluto.jl breaks concentration. This skill bridges Claude Code with live Pluto.jl servers so you can query notebook state, inspect reactive bindings, and export results without leaving your coding flow.

Supports: Claude Codex Code(CC)
⚠️ 65 Poor
1

Download the skill ZIP

2

Upload in Claude

Go to Settings → Capabilities → Skills → Upload skill

3

Toggle on and start using

Test it

Using "pluto-pair". What notebooks are running?

Expected outcome:

Found 2 Pluto.jl servers:
- Port 1234: 'Neural Network Training' (running for 2 hours)
- Port 5678: 'Data Visualization' (idle for 15 minutes)

Using "pluto-pair". Show bonds in notebook on port 1234

Expected outcome:

Active @bind controls:
- learning_rate: 0.001
- batch_size: 64
- epochs: 100
- optimizer: "Adam"

Using "pluto-pair". Export notebook on port 1234

Expected outcome:

Successfully exported to /tmp/neural-net.html (1.2 MB)
Open this file in any browser to view the interactive notebook.

Security Audit

Medium Risk
v1 • 4/24/2026

Evaluated 14 static findings from SKILL.md. The 13 backtick execution patterns are documentation examples showing Ruby API calls for MCP tools, not actual command injection vulnerabilities. The weak cryptographic algorithm at line 3 appears in context of notebook server authentication, which is a local-only operation with no network exposure. Risk level set to medium due to external command presence, but all patterns are benign in context.

1
Files scanned
29
Lines analyzed
3
findings
1
Total audits

High Risk Issues (1)

Weak Cryptographic Algorithm Documentation
Line 3 references a weak cryptographic algorithm. Upon evaluation, this appears in the context of notebook server authentication documentation, not active code using insecure cryptography. The authentication is local-only between Codex and Pluto.jl servers on the same machine.
Medium Risk Issues (1)
Ruby Backtick Syntax in Documentation
SKILL.md contains 11 instances of Ruby backtick syntax. These are documentation examples showing MCP tool usage patterns, not executable code. The backticks reference MCP server commands for Pluto.jl integration.

Detected Patterns

MCP Protocol Usage for Notebook Control
Audited by: claude

Quality Score

38
Architecture
100
Maintainability
87
Content
50
Community
50
Security
91
Spec Compliance

What You Can Build

Debug Reactive Julia Notebooks

When a Pluto.jl notebook produces unexpected results, use this skill to inspect all @bind controls, see their current values, and trace how reactive dependencies propagate through the notebook.

Automate Parameter Sweeps

Run parameter sweeps by setting bond values programmatically. Codex can loop through different configurations, reading results after each run to determine next steps.

Export Notebooks for Sharing

After refining a notebook through interactive development, export it to standalone HTML so colleagues can view it without installing Julia or Pluto.jl.

Try These Prompts

Find Running Notebooks
What Pluto.jl notebooks are running on this machine?
Inspect Reactive State
Show me all the @bind controls and their current values in the notebook at port 1234.
Set Parameters
Set the learning_rate bond to 0.001 and the batch_size bond to 64 in the notebook on port 1234.
Export for Sharing
Export the notebook from port 1234 to a standalone HTML file at /tmp/analysis.html.

Best Practices

  • Start your Pluto.jl notebooks before invoking Codex commands that need to attach to them
  • Use descriptive notebook titles since they appear in the server list for easier identification
  • Close notebooks when done to free system resources, especially on memory-constrained machines

Avoid

  • Do not try to set bond values that conflict with notebook validation logic; the notebook will revert changes
  • Avoid attaching to notebooks while they are executing long-running computations; wait for idle state
  • Do not use this skill to modify notebook source code directly; use it only for reading state and setting bonds

Frequently Asked Questions

What is Pluto.jl?
Pluto.jl is a reactive notebook environment for Julia. Unlike traditional notebooks, Pluto cells automatically re-run when their dependencies change, making it excellent for exploratory computation and teaching.
How does this skill connect to notebooks?
The skill uses Model Context Protocol (MCP) tools to communicate with a local PlutoPair server. You must install and run the PlutoPair MCP server for this skill to function.
Can I modify notebook source code with this skill?
No. This skill can only read notebook state and set @bind bond values. To modify code, you must edit the notebook file directly using a text editor or the Pluto.jl interface.
Why are some notebooks not showing up in discovery?
Notebooks must be started with Pluto.run() to become discoverable. Notebooks opened in a browser without starting the server programmatically will not appear in the server list.
Is this skill safe to use with sensitive data?
Yes. All communication happens locally between Codex and Pluto.jl on the same machine. No data is transmitted over the network except for local network discovery of other Pluto servers.
What happens if I set an invalid bond value?
Pluto.jl validates all bond assignments. If you set an invalid value, the notebook will reject it and revert to the previous value. Check the validation rules in the notebook source code.

Developer Details

File structure

📄 SKILL.md