I think this is standard practice for grunt plugins. Here's an example of a core contributed plugin. https://github.com/gruntjs/grunt-contrib-uglify/blob/master/Gruntfile.js

The gruntfile included with a plugin is really just for running tests. The actual task that is created and distributed is stored in the tasks directory.