solveitlisted
Install: claude install-skill algal/sparky
# SolveIt Dialog Tools
Manipulate **SolveIt dialogs** (similar to Jupyter notebooks) via CLI. A dialog contains **messages** (cells) of type `code`, `note` (markdown), `prompt` (AI prompt/response), or `raw`.
Every command takes a **dialog URL** as its first argument and returns **JSON to stdout**.
## Invocation
```bash
uv run {baseDir}/solveit_tools.py <command> [args...]
```
## Commands
### read_dialog — Read all messages
```bash
uv run {baseDir}/solveit_tools.py read_dialog "<url>"
```
Returns:
```json
{
"url": "...",
"name": "my-project/experiment",
"mode": "learning",
"messages": [
{"id": "_ea386899", "type": "note", "index": 0, "content": "# Title"},
{"id": "_f70704ce", "type": "code", "index": 1, "content": "1+1", "output": "2"},
{"id": "_b3796dd8", "type": "prompt", "index": 2, "content": "explain this", "output": "Sure..."}
]
}
```
Use `id` values to reference messages in other commands. The `output` field is omitted when empty.
### add_message — Add a new message
```bash
# Append a code cell at the end (default)
uv run {baseDir}/solveit_tools.py add_message "<url>" "print('hello')"
# Add a note before a specific message
uv run {baseDir}/solveit_tools.py add_message "<url>" "# Section 2" --type note --placement before --ref-id "_f70704ce"
# Add a prompt after a specific message
uv run {baseDir}/solveit_tools.py add_message "<url>" "explain the error above" --type prompt --placement after --ref-id "_f70704ce"
```
| Flag | Values