@mcc IIRC npm link creates a symlink in your global node_modules dir (somewhere in /usr/local) to the pkg you are linking. that means then you can reference it elsewhere without it installing in to that folders node_modules. So, it kinda sidesteps workspaces.
for linking packages together, I've been using the file:$path method when they always live 'together' but not in the same workspace. But, if you're doing a test you may want to link so that you can use the version spec.