Para crear y utilizar un plugin en Phalcon 3.X primero tenemos que crear la carpeta plugins dentro de app y luego crear por ejemplo el AuthPlugin.php. La estructura básica dlel plugin sería la siguiente.

<?php
use Phalcon\Mvc\User\Plugin;

class AuthPlugin extends Plugin
{

	public function index()
	{
		die('Soy un plugin');	
	}

}

Ahora debemos decir a nuestro archivo config.php la ruta en la que se encuentran nuestros plugins.

'application' => [
        'appDir'         => APP_PATH . '/',
        'controllersDir' => APP_PATH . '/controllers/',
        'modelsDir'      => APP_PATH . '/models/',
        'migrationsDir'  => APP_PATH . '/migrations/',
        'viewsDir'       => APP_PATH . '/views/',
        'pluginsDir'     => APP_PATH . '/plugins/',
        'libraryDir'     => APP_PATH . '/library/'
    ]

A continuación deberemos registrar ese directorio en nuestro loader.php

$loader->registerDirs(
    [
        $config->application->controllersDir,
        $config->application->modelsDir,
        $config->application->pluginsDir,
    ]
)->register();

Y por último debemos ir al services.php e instanciar nuestro plugin para poder utilizarlo dónde queramos.

$di->set(
    'AuthPlugin',
    function() {
        $AuthPlugin = new AuthPlugin;
        return $AuthPlugin;
    }); 

Ahora ya podemos llamar al plugin con la siguiente linea de código en nuestros controladores:

$this->AuthPlugin->index();