A soul, or soul command, is a command that's largely useful for roleplaying or communication purposes. Some examples are: nod, smile, bing, dance, admire, fluff, zipzip, hug, slap, and timewarp. There are, however, hundreds more. You can see the list of souls in-game with "look soul" (or "look soul <string>" to see the list of souls starting with a certain string).
Usage and syntax
Each soul has a help file demonstrating syntax, defaults, and arguments (if "#" is listed as a possible argument, this means you can put in anything you want there). If a soul has multiple choices for arguments, you may use "?" to get a random argument (i.e. "beam ?" or "beam ? pinkfish").
You can also use "syntax <soul>" to see the syntax.
Most souls are targettable--they can be directed at other people. If a player is not earmuffing remote-soul and isn't in roleplaying mode, you can direct targettable souls at them even if they're not in the same room. NPCs, on the other hand, must be in the same room for you to target them with souls.
You can target multiple people at once with a soul by putting multiple names in, separated by commas and no spaces, like so:
Earmuffing multiple-soul will stop people from being able to include you in these.
Confusion with other commands
There are some commands that share a name with a soul command. These include:
To make sure you're using the soul version of it, you can preface it with "soul". Alternatively, to make sure you're not using the soul, you can preface it with "nosoul".
However, the MUD will generally pick the most appropriate version on its own. If you find yourself unexpectedly using the soul version, it may be because you can't use the other version--for example, you may not have enough gp, you may not be in combat with the target yet (as there is a slight delay between entering "kill" and actually being in combat with them), you may be directing the command at an invalid target (such as trying to serenade yourself on an instrument), or you may be using the wrong syntax.
Souls don't generally have a tangible effect on the target, although some npcs will react to some of them. For example, Kess of Sek's response to many souls is to attack the souler, and certain souls, when directed at Ankh-Morpork watchmen, can be criminal offenses (molesting or insulting an officer of the watch).
The "push" and "throw" souls also have the potential to change someone's position.
Using a soul also uses up a small number of social points.
Aside from being visible to the souler and the target, souls are also visible to anyone in the same room with anyone souling or being souled at. It is possible to use Pinkfish colour codes in your souls, but recipients will only register colour if they have the "output usercolour" option enabled. You can set a colour for (other people's) souls.