# Julia Evaluation

> Activates when user asks to run, evaluate, or test Julia code in a persistent REPL session, or mentions Julia REPL, Julia session, or hot-reloading Julia changes. Use when this capability is needed.

- Skill: `tomevault-io/julia-evaluation` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/julia-evaluation`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/julia-evaluation/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/julia-evaluation

---


# Julia REPL — Behavioral Rules

Use the MCP tools (`eval`, `reset`, `pkg`, `activate`, `session`, `revise`, `log_viewer`, `info`) for interactive Julia work. Prefer `julia script.jl` via bash for one-shot scripts.

## Before Every Eval

Always display code in a readable julia code block BEFORE calling eval. The MCP permission prompt shows code as an escaped string which is unreadable.

## After Eval

MCP tool results are collapsed in Claude Code. For visual output (plots, heatmaps), tell the user to expand the tool result (Ctrl+O) to see it with full color — do NOT paste ANSI art into your message (it loses colors and streams token-by-token). For structured text (tables, matrices, DataFrames), paste in a fenced code block. Do not paste simple scalars or errors.

## Revise vs Reset

Prefer `revise` — it preserves session state. Only `reset` when required.

| Change | Action |
|--------|--------|
| Function/method body or signature | `revise(action="revise")` |
| Struct layout (Julia < 1.12) | `reset` required |
| Corrupted state / stuck code | `reset` required |

After editing `.jl` files, call `revise(action="revise")` to hot-reload (the PostToolUse hook may do this automatically).

## Error Recovery

| Error | Fix |
|-------|-----|
| `UndefVarError` | Re-run definition or check spelling |
| `MethodError` | Check argument types |
| `LoadError` | `pkg(action="add", packages="...")` |
| `cannot redefine` | `reset` (struct layout change) |
| Hung/infinite | `eval(code=..., timeout=5)` or `reset` |

## First Use

On first Julia use in a conversation, ask which environment to activate (current directory, specific path, or global).

## Capabilities

- Sessions persist variables, functions, and packages across evals
- Multiple named sessions provide isolated workers
- `timeout` parameter kills hung code and respawns the worker
- `max_output` prevents context overflow from large results
- `isolated=true` evals in a fresh module without polluting Main
- `ephemeral=true` evals in a disposable temporary session

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/samtalki) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-13 -->

