CKEDITOR.plugins.addExternal
is what you're looking for:
// Loads a plugin from '/myplugin/samples/plugin.js'.
CKEDITOR.plugins.addExternal( 'sample', '/myplugins/sample/' );
// Loads a plugin from '/myplugin/samples/my_plugin.js'.
CKEDITOR.plugins.addExternal( 'sample', '/myplugins/sample/', 'my_plugin.js' );
// Loads a plugin from '/myplugin/samples/my_plugin.js'.
CKEDITOR.plugins.addExternal( 'sample', '/myplugins/sample/my_plugin.js', '' );
Once the plugin is defined, you can use it, i.e. via config.extraPlugins
:
CKEDITOR.replace( 'editor1', {
extraPlugins: 'sample'
} );