Creating your own add-ons
The two main types of add-ons that you might be interested in making are custom controls and external commands and functions (generally referred to as externals).
Custom controls
Custom controls are typically made of a group that holds many standard controls and a group script that manages the appearance and interactions of these controls. A custom control's functionality is entirely encapsulated within itself and doesn't affect its environment in any way. There is a tutorial on how to make such a custom control at:
http://lessons.runrev.com/m/4071/l/22272-custom-controls
If you intend to go on to make a nice custom palette, to make it easy to drag-and-drop your custom controls onto the card window, consider making it DropTools compatible. You would save yourself a significant amount of time solving the issue that DropTools already solves, and your custom controls would fit in with the other DropTools controls, making the screen less crowded with custom...