I just started working on a new Firefox theme, it is actually just a modification of the existing one. I went through and de-saturated all of the icons in the default Firefox 3 theme. I have plans to eventually create my own icons and provide monochromed icons for some of the popular extensions.
Here are some screen shots:

It was all fairly simple to do, but ran into a bit of an issue after uploading it Mozilla’s official add-on page. A good resource is Mozilla’s own documentation, http://developer.mozilla.org/En/Creating_a_Skin_for_Firefox.
Basically all I had to do was grab Firefox’s default theme folder, usually located at FireFox\chrome\classic.jar, then you have to extract the items, it is basically just a zip folder, so you can use 7zip or winrar.
Then you’ll want to create a new folder somewhere else with the title of your theme, we’ll use BadAssTheme. Inside that folder you’ll want a chrome folder, copy the browser, communicator, global, help and mozapps folders from the classic theme into your new chrome folder, also copy the icon.png and preview.png files into your chrome folder. Create a content.rdf and install.rdf, follow the instructions in Mozilla’s documentation for what needs to be in those files. Go back up to the BadAssTheme folder, create a chrome.manifest file, and put a copy of the icon.png, preview.png, and install.rdf in here as well. I’ll get to what goes into the manifest next.
Once you have gone through and modified all of the images and css you want its time to package everything up. The way that seems most commonly used is to have an xpi in the chrome folder and then a jar for what is in the root level. So zip everything up in the chrome folder, rename the file from chrome.zip to chrome.xpi. Inside of the chrome.manifest you need to specify where the skin files are located inside of the xpi, for example:
skin browser BasAssTheme jar:chrome/chrome.xpi!/browser/
skin communicator BasAssTheme jar:chrome/chrome.xpi!/communicator/
skin global BasAssTheme jar:chrome/chrome.xpi!/global/
skin mozapps BasAssTheme jar:chrome/chrome.xpi!/mozapps/
skin help BasAssTheme jar:chrome/chrome.xpi!/help/
So now you should only have the xpi container in the chrome folder and a manifest, icon.png, preview.png, install.rdp in the BadAssTheme folder. Now zip everything in the BadAssTheme folder into a BadAssTheme.zip and rename to BadAssTheme.jar. You should be good to go now.
The issue I ran into with Mozilla’s theme website is that the download works on one of my computers but doesn’t on my other. The error I am getting is:
Firefox could not install the file at
https://addons.mozilla.org/en-US/firefox/downloads/file/37146/monochrome-0.4-fx.jar
because: Invalid file hash (possible download corruption)
-261
I am not sure if this is actually a bug in Firefox or with Mozilla’s hosting, because it work on one PC and not the other, they both have the same version of Firefox installed. Have not been able to find anything helpful through google. It does install properly if you download it manually and drag and drop it onto Firefox’s add-on manager, so who knows.
Source: http://code.google.com/p/monochrometheme
Theme: https://addons.mozilla.org/en-US/firefox/addon/8791