Codex Plugins: cómo instalar, crear y distribuir capacidades
Aprende
qué son los Plugins de Codex,
cómo instalarlos
y cómo crear tus propios paquetes reutilizables
combinando
Skills,
servidores MCP,
hooks,
recursos
y configuración.
Veremos
el directorio universal,
/plugins,
Marketplaces locales,
plugin.json,
mcp.json,
$plugin-creator,
autenticación,
permisos,
seguridad
y distribución
para proyectos
y equipos.
¿Qué es un Plugin de Codex?
Un Plugin de Codex es un paquete instalable que distribuye capacidades reutilizables para ChatGPT y Codex. Puede incluir una o varias Skills, servidores MCP, hooks del ciclo de vida, recursos gráficos y configuración adicional. La idea es empaquetar workflows estables para que puedan instalarse sin copiar manualmente archivos, prompts, scripts o configuración entre proyectos.
Qué puede contener un Plugin
Skills
Workflows e instrucciones reutilizables.
MCP
Herramientas y servicios externos.
Hooks
Automatización del ciclo de vida de Codex.
Interfaz
Nombre, logos, screenshots y prompts iniciales.
Autenticación
Conexiones y OAuth para servicios externos.
Distribución
Marketplace, workspace o directorio público.
De workflow local a capacidad instalable
Diseña
Construye primero el workflow.
Extiende
Añade MCP o hooks si hacen falta.
Empaqueta
Crea el Plugin instalable.
Distribuye
Marketplace, equipo o catálogo público.
Plugin vs Skill: cuál es la diferencia
Diseña el workflow
Reúne instrucciones, scripts, referencias y recursos para una tarea.
Distribuye capacidades
Convierte Skills, MCP y otros recursos en un paquete instalable.
Si todavía estás perfeccionando un workflow personal, comienza con una Skill. Cuando quieras compartirlo, empaquetar varias Skills o conectarlo con un servicio externo, considera convertirlo en Plugin.
Un servidor MCP puede formar parte de un Plugin
| MCP | Plugin |
|---|---|
| Conecta herramientas | Empaqueta capacidades |
| Puede existir por sí solo | Puede incluir MCP |
| Expone tools | Puede añadir instrucciones para usarlas |
| Gestiona conexión/autenticación | Gestiona distribución e instalación |
| Puede devolver UI | Puede distribuir esa integración |
Dónde funcionan los Plugins actualmente
| Superficie | Plugins |
|---|---|
| ChatGPT web | Sí |
| ChatGPT escritorio | Sí |
| ChatGPT móvil | Sí, según disponibilidad del Plugin |
| Codex en escritorio | Sí |
| Codex CLI | Sí |
| Extensión Codex para IDE | No actualmente |
Aunque las Skills independientes sí pueden utilizarse en la extensión IDE, el sistema de Plugins no está soportado actualmente desde esa extensión.
ChatGPT y Codex comparten el mismo directorio público
Un Plugin público puede publicarse una sola vez y aparecer en las interfaces compatibles tanto de ChatGPT como de Codex.
El directorio puede mostrar diferentes fuentes:
Plugins proporcionados por OpenAI.
Plugins de tu espacio de trabajo.
Plugins personales.
Plugins instalados.
Cómo instalar un Plugin de Codex
Abre Plugins
Desde Codex en la aplicación de escritorio.
Busca el Plugin
Explora catálogo, workspace o marketplace personal.
Instálalo
Selecciona el control de instalación.
Conecta servicios
Autoriza MCP si el Plugin lo requiere.
Abre una sesión nueva
Las nuevas capacidades estarán disponibles desde el nuevo chat.
Explorar Plugins desde la terminal
/plugins
El explorador permite:
Instalar Plugins.
Desinstalarlos.
Activarlos.
Desactivarlos.
Cambiar entre marketplaces.
Las Skills y herramientas añadidas se incorporan a nuevos chats o nuevas sesiones de Codex CLI.
Controlar Plugins instalados desde el explorador
Dentro del explorador de Plugins de Codex CLI, los complementos se agrupan según su Marketplace.
En un Plugin ya instalado, puedes pulsar Espacio para habilitarlo o deshabilitarlo.
Plugins al iniciar Codex con una clave de API
Codex con autenticación mediante API key puede explorar y utilizar determinados Plugins compatibles.
Algunos necesitan mecanismos OAuth o conexiones asociadas al entorno de ChatGPT que no están disponibles en un flujo basado únicamente en una API key.
La forma rápida: $plugin-creator
Codex incluye una Skill especializada para generar la estructura inicial de un Plugin.
$plugin-creator
Ejemplo:
$plugin-creator
Crea un Plugin llamado
wordpress-dev-toolkit.
Debe incluir:
- una Skill de security review
- una Skill de debugging
- una Skill para releases
Quiero poder probarlo
desde un Marketplace personal.
No añadas MCP todavía.
Estructura creada por Plugin Creator
my-plugin/
├── .codex-plugin/
│ └── plugin.json
│
├── .mcp.json
├── .app.json
├── skills/
├── hooks/
├── scripts/
└── assets/
Plugin Creator
crea siempre
el manifiesto
de compatibilidad
.codex-plugin/plugin.json.
Los demás componentes
aparecen
cuando el Plugin
los necesita.
Plugin portátil con plugin.json en la raíz
Para nuevos paquetes
portátiles,
el formato
recomendado
utiliza
plugin.json
directamente
en la raíz
del Plugin.
my-plugin/
├── plugin.json
│
├── skills/
│ └── my-skill/
│ └── SKILL.md
│
├── mcp.json
│
├── hooks/
│
└── assets/
plugin.json raíz vs .codex-plugin/plugin.json
| Formato | Uso |
|---|---|
/plugin.json |
Formato portátil recomendado para nuevos Plugins |
/.codex-plugin/plugin.json |
Overlay de compatibilidad soportado por Codex |
El manifiesto
portátil
de la raíz
es la identidad
canónica
del paquete.
El archivo
dentro
de
.codex-plugin/
puede utilizarse
como fallback
de compatibilidad
para configuración
específica de Codex.
Crear manualmente un Plugin que solo contiene una Skill
wordpress-dev-toolkit/
├── plugin.json
│
└── skills/
└── wordpress-security-review/
└── SKILL.md
Ejemplo de plugin.json
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "wordpress-dev-toolkit",
"version": "1.0.0",
"description": "Reusable WordPress development and security workflows"
}
El
name
funciona
como identificador
del Plugin
y namespace
de sus componentes.
Manifiesto con información del desarrollador
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "wordpress-dev-toolkit",
"version": "1.0.0",
"description": "WordPress development workflows for Codex",
"author": {
"name": "Ciborg"
},
"homepage": "https://ciborg.cl/",
"repository": "https://github.com/example/wordpress-dev-toolkit",
"license": "MIT",
"keywords": [
"wordpress",
"security",
"debugging",
"development"
]
}
El formato portátil descubre automáticamente skills/
wordpress-dev-toolkit/
├── plugin.json
│
└── skills/
├── security-review/
│ └── SKILL.md
│
├── root-cause-debug/
│ └── SKILL.md
│
└── release-check/
└── SKILL.md
Cuando utilizas
un manifiesto
portátil reconocido,
las Skills
del directorio
raíz
skills/
se descubren
automáticamente.
mcp.json añade servidores al Plugin
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json",
"mcpServers": {
"docs": {
"type": "streamable-http",
"url": "https://example.com/mcp"
}
}
}
Un servidor MCP
que solo exista
en
localhost
no puede utilizarse
como endpoint
remoto público.
Para distribución
pública,
normalmente
debe existir
una URL HTTPS
accesible.
El usuario puede limitar las tools del servidor incluido
[plugins."wordpress-dev-toolkit".mcp_servers.docs]
enabled = true
default_tools_approval_mode = "prompt"
enabled_tools = [
"search"
]
[plugins."wordpress-dev-toolkit".mcp_servers.docs.tools.search]
approval_mode = "approve"
La configuración de Codex puede seguir limitando servidores y herramientas incluidas en un Plugin.
extensions.com.openai añade configuración específica
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "wordpress-dev-toolkit",
"version": "1.0.0",
"description": "WordPress development workflows",
"extensions": {
"com.openai": {
"interface": {
"displayName": "WordPress Dev Toolkit",
"shortDescription":
"Security, debugging and release workflows for WordPress",
"developerName":
"Ciborg",
"category":
"Development",
"capabilities": [
"Read",
"Write"
],
"websiteURL":
"https://ciborg.cl/",
"defaultPrompt": [
"Review this WordPress plugin for security issues.",
"Debug this WordPress error before modifying code."
],
"brandColor":
"#111827",
"composerIcon":
"./assets/icon.png",
"logo":
"./assets/logo.png"
}
}
}
}
Metadata que puede mejorar la ficha del Plugin
| Campo | Función |
|---|---|
displayName |
Nombre visible |
shortDescription |
Resumen breve |
longDescription |
Descripción extendida |
developerName |
Autor o empresa |
category |
Categoría |
capabilities |
Capacidades principales |
defaultPrompt |
Prompts sugeridos |
logo |
Logo del Plugin |
screenshots |
Capturas para presentación |
Un Plugin puede incluir automatización del ciclo de vida
wordpress-dev-toolkit/
├── plugin.json
│
├── skills/
│
└── hooks/
├── hooks.json
└── session_start.py
Si no defines otra ruta, Codex puede buscar de forma predeterminada:
hooks/hooks.json
Ejecutar código al iniciar una sesión
{
"hooks": {
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command":
"python3 ${PLUGIN_ROOT}/hooks/session_start.py",
"statusMessage":
"Loading plugin context"
}
]
}
]
}
}
Instalar un Plugin no significa confiar automáticamente en sus hooks
Codex no ejecuta automáticamente un hook no administrado únicamente porque el Plugin haya sido instalado o habilitado.
Los scripts reciben variables útiles:
PLUGIN_ROOT
PLUGIN_DATA
PLUGIN_ROOT
apunta
a la raíz
del Plugin instalado.
PLUGIN_DATA
apunta
a un directorio
escribible
para datos
del Plugin.
Prueba tus Plugins antes de publicarlos
Durante el desarrollo, puedes crear un Marketplace local o específico del repositorio.
Tu catálogo
~/.agents/plugins/marketplace.json
Compartido por repo
$REPO_ROOT/.agents/plugins/marketplace.json
Un Marketplace puede contener varios Plugins
Marketplace
├── wordpress-dev-toolkit
├── security-toolkit
├── release-toolkit
├── docs-toolkit
└── testing-toolkit
Puedes empezar con uno mientras pruebas y añadir nuevos Plugins progresivamente.
Añadir un Marketplace desde terminal
Repositorio GitHub
codex plugin marketplace add owner/repo
Rama específica
codex plugin marketplace add owner/repo --ref main
Marketplace local
codex plugin marketplace add ./local-marketplace-root
Comandos para administrar Marketplaces
# Listar
codex plugin marketplace list
# Actualizar todos
codex plugin marketplace upgrade
# Actualizar uno
codex plugin marketplace upgrade marketplace-name
# Eliminar
codex plugin marketplace remove marketplace-name
Distribuir Plugins internamente mediante GitHub
Un equipo puede mantener su propio repositorio de Plugins y utilizarlo como Marketplace para workflows internos.
company-agent-plugins/
├── .agents/
│ └── plugins/
│ └── marketplace.json
│
└── plugins/
├── backend-review/
├── security-review/
├── wordpress-toolkit/
└── release-manager/
convertir procesos técnicos repetitivos en herramientas instalables y versionadas en lugar de mantener prompts dispersos en documentos internos.
Codex instala una copia del Plugin
Los Plugins procedentes de Marketplaces locales pueden almacenarse en una caché administrada por Codex:
~/.codex/plugins/cache/
MARKETPLACE_NAME/
PLUGIN_NAME/
VERSION/
Para Plugins locales, la versión instalada puede cargarse desde la copia del cache, lo que hace importante reinstalar o actualizar durante las pruebas cuando cambias el paquete.
Plugin de Codex para desarrollo WordPress
wordpress-dev-toolkit/
├── plugin.json
│
├── skills/
│ ├── wordpress-security-review/
│ │ └── SKILL.md
│ │
│ ├── wordpress-debug/
│ │ └── SKILL.md
│ │
│ ├── woocommerce-review/
│ │ └── SKILL.md
│ │
│ └── wordpress-release/
│ └── SKILL.md
│
├── hooks/
│ └── hooks.json
│
├── scripts/
│ ├── php-check.py
│ └── plugin-package.py
│
└── assets/
├── icon.png
└── logo.png
wordpress-security-review
---
name: wordpress-security-review
description: Audit WordPress plugins for security vulnerabilities involving input validation, escaping, nonces, capabilities, SQL, AJAX and REST API permissions.
---
Review the selected WordPress code.
Check:
- sanitization
- escaping
- nonce verification
- capability checks
- REST permission callbacks
- prepared SQL
- AJAX authorization
- file operations
- credential exposure
Return:
- severity
- file
- line
- impact
- recommended fix
Revisa un Plugin antes de instalarlo
Revisa qué Skills instala.
Revisa servidores MCP y dominios externos.
Comprueba autenticación y scopes solicitados.
Revisa hooks y scripts ejecutables.
Comprueba qué datos puede leer o enviar.
Utiliza mínimo privilegio.
Instalar un Plugin no elimina el sandbox de Codex
Cuando una capacidad de un Plugin se ejecuta a través del host de Codex, siguen aplicándose el sandbox y la política de aprobaciones del host.
Además, los servicios externos mantienen sus propios:
Logins.
Roles.
Scopes.
Controles de acceso.
Los servicios externos mantienen sus propias políticas
Cuando un Plugin utiliza un servidor MCP externo, la información enviada mediante ese servicio queda sujeta también a sus términos y política de privacidad.
Cómo construir un Plugin de principio a fin
Define el caso de uso
Un problema repetible y concreto.
Crea la Skill
Valida primero el workflow.
Añade MCP si hace falta
Solo cuando necesites herramientas externas.
Añade hooks
Solo para automatización del ciclo de vida.
Crea plugin.json
Define identidad y metadata.
Crea un Marketplace local
Instala el paquete como lo haría un usuario.
Prueba chats reales
Comprueba activación, tools y permisos.
Distribuye
Equipo, marketplace privado o catálogo público.
Publicar un Plugin para ChatGPT y Codex
Cuando el paquete esté estable, puedes enviarlo al proceso de revisión de Plugins de OpenAI.
Una vez aprobado y publicado, puede aparecer dentro del directorio universal compartido por ChatGPT y Codex.
Primero pruébalo mediante un Marketplace local, valida las Skills, la autenticación, los MCP servers, los permisos y los casos de error.
Cuándo vale la pena crear un Plugin
Quieres distribuir un workflow a un equipo.
Quieres agrupar varias Skills relacionadas.
Quieres distribuir Skills junto con herramientas externas.
Necesitas versionar una capacidad completa.
Quieres una experiencia de instalación más sencilla.
Quieres ofrecer una capacidad a otros usuarios.
Cuándo una Skill es suficiente
Workflow local
Lo estás desarrollando y solo necesitas usarlo tú o un repositorio.
Producto instalable
La capacidad ya es estable y necesitas distribuirla.
Cómo encaja Plugin con el resto de Codex
Guías relacionadas
Documentación para Plugins de Codex
Plugins
Instalación, directorio y compatibilidad.
Ver documentación →Build Plugins
Plugin Creator, estructura y Marketplace.
Crear Plugins →Package Plugin
plugin.json, mcp.json, hooks y assets.
Ver empaquetado →Hooks
Eventos, scripts, confianza y seguridad.
Ver Hooks →FAQ sobre Codex Plugins
Un Plugin es un paquete instalable que puede distribuir Skills, servidores MCP, hooks y otros recursos reutilizables para ChatGPT y Codex.
Una Skill define un workflow reutilizable. Un Plugin empaqueta una o varias Skills y opcionalmente servidores MCP, hooks y recursos para distribuirlos e instalarlos como una unidad.
Sí. Los Plugins pueden incluir configuración de servidores MCP para conectar ChatGPT y Codex con herramientas y servicios externos.
Sí. Codex CLI incluye un explorador de Plugins que puedes abrir mediante /plugins para explorar, instalar, desinstalar, activar y desactivar Plugins.
Actualmente la extensión IDE de Codex no soporta el sistema de Plugins. Para explorar e instalar Plugins de Codex utiliza la aplicación de escritorio o Codex CLI.
Puedes utilizar $plugin-creator dentro de Codex para generar la estructura inicial, o crear manualmente un paquete portátil con plugin.json en la raíz y las Skills dentro de skills/.
Para nuevos paquetes portátiles, plugin.json se coloca en la raíz del Plugin. Codex también continúa soportando .codex-plugin/plugin.json como formato de compatibilidad para configuración específica.
Es un catálogo JSON que enumera Plugins disponibles para instalar. Puede existir a nivel personal, de repositorio, de equipo o como directorio público.
Sí. Los Plugins pueden distribuirse mediante fuentes de Marketplace privadas o repositorios Git para compartir workflows internos con un equipo.
Sí. Un Plugin puede incluir hooks del ciclo de vida de Codex. Por defecto, Codex puede buscar hooks/hooks.json dentro del Plugin, aunque la ruta también puede configurarse en el manifiesto.
No necesariamente. Instalar o activar un Plugin no marca automáticamente sus hooks como confiables. Codex puede omitirlos hasta que su definición haya sido revisada y marcada como confiable.
Sí, aunque la disponibilidad puede ser más limitada. Algunos Plugins necesitan flujos OAuth o conexiones que no están disponibles cuando Codex utiliza exclusivamente autenticación por API key.
Sí. ChatGPT y Codex comparten un directorio universal de Plugins públicos. Un Plugin aprobado puede publicarse una vez y aparecer en las interfaces compatibles de ambos productos.
Codex Automations: programa trabajos recurrentes con agentes
Ya sabes cómo empaquetar y distribuir capacidades mediante Plugins. Ahora veremos cómo ejecutar Codex automáticamente según horarios y workflows recurrentes, cómo combinar Automations con Skills y Plugins, y cómo crear rutinas para revisar repositorios, generar reportes o mantener proyectos de forma periódica.
Aprender Codex Automations →