Solution 1:

[edited to reflect corrections in the comments]

It appears that shell came first, on the idea that if you were shelling something, you'd be more likely to be removing the shell than putting it on.

Though it's not found in the Oxford English Dictionary or Merriam-Webster, Dictionary.com does list de-shell as a related form to shell (transitive verb), and one can see by a search engine that deshell and de-shell are in some use.

I suspect that people use deshell because it reasonably fits the meaning of to remove the shell from – independently of shell (transitive verb), perhaps in environments where shell (transitive verb) is not used very frequently. Although at first glance it seems that they should be antonyms, by historical reasons they are used to mean the same thing.

From looking at the dictionaries, shell seems to have more prestige than deshell. By some loose Google searches, it appears that shell is more widely used than deshell.

Solution 2:

"Shelling" is the process of removing the shell/husk/pod from a nut or vegetable. I don't think that there is such a word as "deshell", but if there is, it means the same thing...sort of like "flammable" and "inflammable". They are not really ambiguous, just confusing.

Solution 3:

There is a general pattern of verbs, created from attributes which a object may possess or lack, to signify the addition or more commonly the removal of the attribute.

  • Shell can mean to fire shells at a military target, or to remove the shell from something that already has one.
  • Skin can mean (usually in a software or industrial design context) to add a decorative surface to something, or to remove the dermis or outer covering from something.
  • Husk, by contrast, can only mean to remove the outer covering from.
  • Limb is only used to mean remove the limbs from a tree.
  • Bone (apart from its slang meaning as a euphemism for "fuck") can mean to stiffen a structure by adding whalebone ribs to something, such as a skirt, but more commonly it means to remove the bones from a food animal.

Sometimes prefixing "de-" also results in a valid word that unambiguously means "removal": deshell, debone; sometimes it doesn't: dehusk and delimb are not valid words (at least not in any of the free online dictionaries I've checked.)
There are several others, and you can probably create your own and expect to be understood; however, if you're making up words and want to be unambiguous, you should probably play it safe and add "de-".