Skinning: my Lua Code explained
To begin skinning, download one of the skins packages already published, for example, TattooSkin Fire.

First you will want to rename the folder, the lua and the toc to your own skin name. Then open the toc and change the title, author and file name to the names appropriate for your project.

Note that your new skin and your graphics will not load unless you entirely restart WoW. WoW reads all addon names, and all file paths to the graphics, when it first loads, and does not refresh the Addon list or the graphics without a full restart of WoW.


------------------------------
Minimap Borders

To add a border for the minimap, look at this code section:
Code:
local loadedTattooMinimap = IsAddOnLoaded("TattooMinimap") 
if loadedTattooMinimap then

	TattooMinimap:RegisterMMBorder("Fire",{
		MinimapBorder = {
			RoundTexture = [[Interface\Addons\TattooSkinFire\media\fireminimapround]],
			SquareTexture = [[Interface\Addons\TattooSkinFire\media\fireminimapsquare]],
		},
	})

end
"Fire" is the name of this border in the minimap configuration menu. You will need to edit the file path to link to your round and square minimap graphics. That's it.

If you are including a minimap border in your skin, do not change or delete any lines except for the name and file paths.

If you do not have a minimap border to include in your skin, you may delete this entire code section.

------------------------------

Backgrounds

To add background panels, look at this code section:

Code:
local loadedTattoo = IsAddOnLoaded("Tattoo") 
if loadedTattoo then

Tattoo:RegisterBorder("Fire",{
	HealBorder = {
		LeftTexture = [[Interface\Addons\TattooSkinFire\media\firehealleft]],
		RightTexture = [[Interface\Addons\TattooSkinFire\media\firehealright]],
	},
	DPSBorder = {
		LeftTexture = [[Interface\Addons\TattooSkinFire\media\firedpsleft]],
		RightTexture = [[Interface\Addons\TattooSkinFire\media\firedpsright]],
	},
	TankBorder = {
		LeftTexture = [[Interface\Addons\TattooSkinFire\media\firetankleft]],
		RightTexture = [[Interface\Addons\TattooSkinFire\media\firetankright]],
	},
})


Tattoo:RegisterTransparency("Fire",{
	HealBackground = {
		LeftTexture = [[Interface\Addons\TattooSkinFire\media\firehealbgleft]],
		RightTexture = [[Interface\Addons\TattooSkinFire\media\firehealbgright]],
	},
	DPSBackground = {
		LeftTexture = [[Interface\Addons\TattooSkinFire\media\firedpsbgleft]],
		RightTexture = [[Interface\Addons\TattooSkinFire\media\firedpsbgright]],
	},
	TankBackground = {
		LeftTexture = [[Interface\Addons\TattooSkinFire\media\firetankbgleft]],
		RightTexture = [[Interface\Addons\TattooSkinFire\media\firetankbgright]],
	},
})

end
Where it says "Register Border", you create the upper layer of your background panels. Where it says "RegisterTransparency", you create the lower layer of your background panels.

"Fire" is again the name which will appear in the configuration menu. I strongly recommend naming your minimap, borders and transparencies with matching names, so a user can easily find them and use them all together.

Again, you will want to edit the file paths. Each skin set is 12 graphics: the left and right half for Healing, DPSing and Tanking, each of which may have 2 layers. If you don't wish to create 12 graphics, you can make the file paths the same, like so:

Code:
local loadedTattoo = IsAddOnLoaded("Tattoo") 
if loadedTattoo then

Tattoo:RegisterTransparency("Fire",{
	HealBackground = {
		LeftTexture = [[Interface\Addons\TattooSkinFire\media\dpsbgleft]],
		RightTexture = [[Interface\Addons\TattooSkinFire\media\dpsbgright]],
	},
	DPSBackground = {
		LeftTexture = [[Interface\Addons\TattooSkinFire\media\dpsbgleft]],
		RightTexture = [[Interface\Addons\TattooSkinFire\media\dpsbgright]],
	},
	TankBackground = {
		LeftTexture = [[Interface\Addons\TattooSkinFire\media\dpsbgleft]],
		RightTexture = [[Interface\Addons\TattooSkinFire\media\dpsbgright]],
	},
})

end
This example shows the absolute minimum number of graphics you could include in a skin - the left and right side of a background.

There are currently no other options to include in your skin; the user has control of the opacity and the coloring.

------------------------------

Please see the page on graphics too; there are highly specific requirements on dimensions, for your graphics files to work!