Use when modifying a Genie-backed Pharo project through the live MCP server on localhost:8087; includes project ownership, image read/change/test/save workflow, and first steps for new user projects.
日本語の概要は準備中です。原文の説明を表示しています。
Refactor messy Pharo code safely through the genie MCP tools, working from the live image (no files). Use for renames, method extraction, moving behavior, or general cleanup of existing code.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Refactoring = change structure without changing behavior. The proof that
behavior is unchanged is a green test suite before AND after. All reads and
writes go through the genie MCP tools; there are no files. Change code only
via define_method / define_class / rename_class / remove_method /
eval, and read every change back to confirm it.
Green baseline. Run run_test on the relevant class/package. If the code
you're about to touch has NO test coverage, STOP and write characterization
tests first (use the pharo-tdd skill) — you cannot refactor safely without
a safety net.
Map impact. Before any rename/move/extract, find every caller and implementor:
search_references / search_references_to_class — who uses itsearch_implementors — who else defines this selectorsearch_methods_like — similar code that may need the same change
Make a list. Every item gets updated in this same session.One small change. Make a single structured edit. Read changed methods
back with get_method_source.
Re-test. Run run_test (class, then package). Green → keep going.
Red → the trace shows what broke; fix or revert this one step before moving
on. Never batch unverified edits.
Repeat steps 3–4 in small increments until the cleanup is complete.
Done. Persist with save_image gated on the test package. Summarize the
before/after shape.
rename_class — it updates every code reference and
symbol literal via the refactoring engine. It does NOT touch string literals,
so fix stringly-typed names by hand; and in a test that renames a class, refer
to the old name as 'Foo' asSymbol, never #Foo, or the test rewrites its
own assertion and self-mangles.remove_method. Remove class: remove_class.define_method, repoint every
sender (from search_references), then remove_method the old one.pharo-tdd, not here.ShiftClassInstaller / define_class).まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Use when modifying a Genie-backed Pharo project through the live MCP server on localhost:8087; includes project ownership, image read/change/test/save workflow, and first steps for new user projects.
日本語の概要は準備中です。原文の説明を表示しています。
Rename Pharo methods safely through Genie's `rename_method` MCP refactoring tool. Use when a selector should be renamed while preserving behavior, updating senders and symbol references across the live image, including as one step in larger refactorings such as clarify API names, split responsibilities, or move behavior behind better messages.
日本語の概要は準備中です。原文の説明を表示しています。
Drive a Genie change test-first through the genie MCP tools, working entirely from the live image (no files). Use when adding behavior or fixing a bug in the image — anything where a test should lead.
日本語の概要は準備中です。原文の説明を表示しています。
Use when reviewing or refactoring code that pulls apart another object's private representation, such as raw limb/byte/slot access, slice constructors, or helper methods that expose internal storage. Guides agents to find representation envy and suggest moving behavior onto the object that owns the representation, using live-image Genie tools when working in Pharo.
日本語の概要は準備中です。原文の説明を表示しています。