smalltalk

Review·Scanned 2/18/2026

This skill provides a CLI (smalltalk.py) to control Squeak/Cuis images over MCP (evaluate code, browse classes, define methods). It launches local binaries via subprocess.Popen (e.g., cmd = ["xvfb-run","-a", self.vm_path, self.image_path, "--mcp"]) and instructs git clone https://github.com/CorporateSmalltalkConsultingLtd/ClaudeSmalltalk.git.

from clawhub.ai·v3a423e5·19.4 KB·0 installs
Scanned from 1.0.1 at 3a423e5 · Transparency log ↗
$ vett add clawhub.ai/johnmci/smalltalkReview findings below

Smalltalk Skill

Execute Smalltalk code and browse live Squeak/Cuis images via MCP.

Prerequisites

Get the ClaudeSmalltalk repo first:

git clone https://github.com/CorporateSmalltalkConsultingLtd/ClaudeSmalltalk.git

This repo contains:

  • MCP server code for Squeak (MCP-Server-Squeak.st)
  • Setup documentation (SQUEAK-SETUP.md, CLAWDBOT-SETUP.md)
  • This Clawdbot skill (clawdbot/)

Setup

  1. Set up Squeak with MCP server — see SQUEAK-SETUP.md
  2. Configure Clawdbot — see CLAWDBOT-SETUP.md

Usage

# Check setup
python3 smalltalk.py --check

# Evaluate code
python3 smalltalk.py evaluate "3 factorial"
python3 smalltalk.py evaluate "Date today"

# Browse a class
python3 smalltalk.py browse OrderedCollection

# View method source
python3 smalltalk.py method-source String asUppercase

# List classes (with optional prefix filter)
python3 smalltalk.py list-classes Collection

# Get class hierarchy
python3 smalltalk.py hierarchy OrderedCollection

# Get subclasses  
python3 smalltalk.py subclasses Collection

# List all categories
python3 smalltalk.py list-categories

# List classes in a category
python3 smalltalk.py classes-in-category "Collections-Sequenceable"

# Define a new class
python3 smalltalk.py define-class "Object subclass: #Counter instanceVariableNames: 'count' classVariableNames: '' poolDictionaries: '' category: 'MyApp'"

# Define a method
python3 smalltalk.py define-method Counter "increment
    count := (count ifNil: [0]) + 1.
    ^ count"

# Delete a method
python3 smalltalk.py delete-method Counter increment

# Delete a class
python3 smalltalk.py delete-class Counter

Commands

CommandDescription
--checkVerify VM/image paths and dependencies
--debugDebug hung system (sends SIGUSR1, captures stack trace)
evaluate <code>Execute Smalltalk code, return result
browse <class>Get class metadata (superclass, ivars, methods)
method-source <class> <selector>View method source code
define-class <definition>Create or modify a class
define-method <class> <source>Add or update a method
delete-method <class> <selector>Remove a method
delete-class <class>Remove a class
list-classes [prefix]List classes, optionally filtered
hierarchy <class>Get superclass chain
subclasses <class>Get immediate subclasses
list-categoriesList all system categories
classes-in-category <cat>List classes in a category

Environment Variables

VariableDescription
SQUEAK_VM_PATHPath to Squeak/Cuis VM executable
SQUEAK_IMAGE_PATHPath to Smalltalk image with MCP server

Notes

  • Requires xvfb for headless operation on Linux servers
  • Uses Squeak 6.0 MCP server (GUI stays responsive if display available)
  • saveImage intentionally excluded for safety