How to create a tool like the sculpt tool

How would I go about creating a tool for Blender? Essentially the user will click on it, and it would allow them to do modify the model in some way, much like the sculpt tool. It will also have an options panel.

Can I do this in Python, or do I have to look at the source code? Also, if I have to look at the source code (which is quite vast) is there any specific place I should have a look at?

I am a good programmer, so need to worry about that, but I am not too familiar with Blender’s API.

Thanks in advance!

Most of your questions will be answered by this :
http://www.blender.org/api/blender_python_api_2_75_release/contents.html

Any particular module I should look at?

If you want to create a custom sculpting functionality the plan is that you will have to be able to create a 1) Modal operator, 2) Change the position of the vertices, 3) Code some specific sculpting algorithms.

  1. Can be found here:
    Blender\2.75\scripts emplates_py\operator_modal.py

  2. Change position of vertices
    http://blenderscripting.blogspot.gr/2011/05/blender-25-python-printing-vertex.html
    http://blender.stackexchange.com/questions/6190/position-all-selected-vertices-to-the-same-place

  3. Sculpting algorithms
    You might try to see how the real sculpting works.
    https://github.com/dfelinto/blender-git/search?utf8=✓&q=sculpting

In a more simplified version you might try to see how real terrain rendering works and adapt these principles.
http://www.mbsoftworks.sk/index.php?page=tutorials&series=1&tutorial=24

Theoretically this is the approach I guess that it will take lots of time and personally I have never coded such tool. So good luck.