I think TECHNICALLY a shell chord is a triad for playing an extended chord like a 6th, normally 1-3-5-6 or a minor 7th, normally 1-b3-5-7, but dropping the fifth since it has no value in determining whether it's a major/minor or what kind of extension. So a 6th shell would be 1-3-6. A minor 7th shell would be 1-3b-7.
But I think of shell chords as substitutions for implying chords when you don't have enough strings or where the voicings would be awkward. So, for a ukulele, we have to do that for any extension higher than a 7th or a 6th because we don't have enough strings.
For instance a 9th is usually 1-3-5-b7-9, but that takes five strings. Most of us don't have five strings, so the first thing to drop is the fifth: 1-3-b7-9. That would still give the flavor of the 9th. A 6/9 chord should be 1-3-5-6-9. Again, we don't have enough strings, so 1-3-6-9 would be sufficient to give the flavor of the 6/9.
If the resulting four string chord would be too difficult to grab in context, you might have to eliminate another note and duplicate one. The next one to go would probably be the root since the third determine whether it's major or minor. The 7th or 6th determines whether it's a 7th (major,dominant) or 6th extension. And of course the extension - 9th, 10th, 11th.., needs to stay.
So, that's how I think of "shell" chords. I think of them as "incomplete" chords that imply a "bigger" chord that normally has more notes in it, but for technical or artistic reasons we have to leave out some of the notes.
I think some people might think of "power" or "five" (A5 etc.) as shell chords even though they are technically an interval and not a chord because you tend to play them as 1-5-1, 1-5-1-5, etc.
You have to make extensive use of shell chords to imply extended chords on three stringed instruments like the dulcimer. You end up playing "five" chords to imply either a major or minor often when playing in secondary keys. Five chords can work as either a major or minor since they are missing the third. Nice use for a "shell".