You shouldn’t need to mess with anything inside the .vmt file
The VMT file contains all the additional parameters for shaders and science stuff that I personally barely understand, just that inputting certain numbers makes things shiny.
It is the file that the model looks at, as it’s set within the modelling program. Inside of the .vmt it tells the model where the main texture is, so for example, if the texture was in a .vtf called “Worm”, the .vmt somewhere would tell the model that for the Diffuse texture, it should use “Worm”.
If the original model had a .vtf called worm, you could just call the re skinned texture worm also, and you wouldn’t need to touch a thing.
Remember, when content is brought into Garrysmod (TF2 stuff for example), it uses the game’s .gcf, but Garrysmod (And any source game for that matter) always loads stuff in the actual game files first. So if you put a sound file in the same format and location, but in the real files rather than the .gcf, the game will play the “real” one rather than the one from the .gcf.
Now, the problem you seem to be having is with where to put files.
In the .gcf for example, if you where to reskin the medic, you would go to:
“Tf/materials/models/player/medic” and you’d mess with the stuff in there, namely the main texture, medic_red.vtf or medic_blue.vtf (Or possibly both)
Now, if you where to copy both the .vtf and the appropriate .vmt file, you should end up with 2 files named the same but with different file types.
We can assume that the medic_red.vmt is looking at the medic_red.vtf, so there’s no need to touch it.
So, if you now do stuff with the actual texture in photoshop or what have you, you will end up with a nice altered texture and the same .vmt we started with. This should be fine.
If you need this new texture into garrysmod however, you’ll quickly find that Garrysmod is in fact, not a GCF, and it is also not TF2.
The place we got the texture from started with “TF”. This is the game name that source looks at before going into the standard “Models, Materials, Sounds” etc" file structure, and so everything before and including this part of the file path is redundant; It changes depending on what game it’s in and indeed, what drive you’re using etc.
Garrysmod is the game we’ll be using here, so instead of “TF” we’ll need to put the files in the right folders with that in mind.
Take the two files you might have, and put them into some folder that make up “materials/models/player/medic”, on your desktop or something. So you might end up having “Desktop/materials/models/player/medic”.
Then all you need to do is copy the “materials” folder to “Garrysmod/Garrysmod”, just as the TF2 folder has “Team fortress 2/TF”
Then if you boot up Garrysmod, you should hopefully have a nice shiny, visible Medic that looks different.
Of course, you can change all of this to reskin anything (Or anyone) in the game.