I'm using Hubot with Slack and I have already successfully integrated quite a few different NPM packages with it.
I'm considering developing some new functionalities but I'm not sure how to proceed.
How do I determine if what I need to do is properly accomplished by a Script? Or, when to use an NPM Package?
There's no difference.
On the official website: "Hubot / GitHub" as of December/15 we can see this description and links:
We also maintain a: repository of community Hubot scripts and an organization of community Hubot packages that you can add to your own robot.
The first link (https://github.com/github/hubot-scripts) links to a GitHub Repo called "github/hubot-scripts" and the second one links to a GitHub Organization called "Hubot Scripts" that is actually a collection of scripts.