Smalltalk Workspaces are also a very good environment for scripting. As an inspiration, here is an example of a typical task: I had to find all window-spec methods, which defined a maximum window size (which, by the way, is a bad thing to specify, and the task was to remove these). The following script did the job if finding them:
|sel l|
l := List new.
sel := #windowSpec.

(Smalltalk allImplementorsOf:sel) do:[:cls |
    |mthd specArray spec|
    mthd := cls compiledMethodAt:sel.
    (mthd hasResource:#canvas) ifTrue:[
	specArray := mthd valueWithReceiver:nil arguments:nil.
	spec := specArray decodeAsLiteralArray.
	spec window max notNil ifTrue:[
	    l add:mthd
	].
    ]
].
SystemBrowser browseMethods:l.