smalltalk-implementation-finder

Analyze Pharo Smalltalk method implementations across class hierarchies using MCP tools.

14|1|Updated Dec 11, 2025
One-click install
npx skills add https://github.com/mumez/smalltalk-dev-plugin --skill smalltalk-implementation-finder
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: smalltalk-implementation-finder
Source: https://github.com/mumez/smalltalk-dev-plugin/tree/main/skills/smalltalk-implementation-finder
Command: npx skills add https://github.com/mumez/smalltalk-dev-plugin --skill smalltalk-implementation-finder

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill simplifies the process of understanding how methods are implemented across Smalltalk's dynamic class hierarchies. It helps developers quickly find concrete implementations of abstract methods, learn common coding idioms, assess the impact of code changes, and identify refactoring opportunities, saving significant time in code exploration and maintenance.

Core Features & Use Cases

  • Abstract Method Analysis: Trace how abstract methods (subclassResponsibility) are implemented in subclasses.
  • Idiom Discovery: Learn common Smalltalk coding patterns (e.g., hash methods using bitXor:, initialize calling super).
  • Impact Assessment: Evaluate the scope of changes by identifying all implementors and callers of a method before modifying its signature.
  • Refactoring Identification: Pinpoint duplicate or similar implementations that can be consolidated for cleaner code.
  • Use Case: A developer needs to implement a printOn: method for a new class. This skill can show examples from Array and Dictionary, revealing the common pattern of using printOn: recursively for elements and separators, guiding the developer to an idiomatic solution.

Quick Start

Show me how the 'hash' method is typically implemented in Smalltalk classes.

Frequently Asked Questions about smalltalk-implementation-finder

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find all implementations of a method across Smalltalk class hierarchies?

Use search_implementors to enumerate all classes that implement a specific method. This reveals how abstract methods like `subclassResponsibility` are concretely implemented across the inheritance tree, enabling you to assess scope before making changes or learn common patterns.

What's the best way to discover common Smalltalk coding idioms and patterns?

Analyze method implementations across multiple classes using get_method_source to fetch and compare concrete implementations. Examining how methods like `hash` or `initialize` are implemented in `Array` and `Dictionary` reveals recurring patterns and coding conventions used throughout the codebase.

How do I assess the impact of refactoring a method before modifying its signature?

Identify all implementors of the method using search_implementors and all callers using search_references. Quantifying both sets helps you understand the scope of required changes and anticipate breaking points across the class hierarchy.

Can I identify duplicate or similar method implementations for consolidation?

Fetch source code for multiple implementors using get_method_source, then compare implementations to spot duplicates or near-identical logic. This pinpoints refactoring opportunities where similar implementations can be unified or moved to parent classes.

Does this work with Pharo Smalltalk projects?

Yes, this Skill is designed specifically for Pharo Smalltalk projects. It uses MCP tools to navigate Pharo's dynamic class hierarchies and analyze method implementations across inheritance chains.

What's required before I can start analyzing method implementations?

Access to a Pharo Smalltalk project with the MCP tools available: search_implementors, get_method_source, search_references, and eval. The Skill requires a loaded codebase to query against.