# Referencia de extensiones {#extensions-reference}

> Consulta las rutas, los ajustes y las reglas de activación de cada tipo de extensión.

## Rutas y prioridad {#locations-and-precedence}

| Extensión             | Ruta personal                               | Ruta del espacio de trabajo               | Prioridad                                                                       |
| --------------------- | ------------------------------------------- | ----------------------------------------- | ------------------------------------------------------------------------------- |
| Ajustes               | `~/.clarvis/settings.json`                  | `.clarvis/settings.json`                  | El espacio de trabajo prevalece sobre los ajustes personales                    |
| Skills                | `~/.clarvis/skills/<name>/SKILL.md`         | `.clarvis/skills/<name>/SKILL.md`         | Prevalecen las skills de Clarvis del espacio de trabajo                         |
| Skills interoperables | `~/.agents/skills/<name>/SKILL.md`          | `.agents/skills/<name>/SKILL.md`          | Menor prioridad que las raíces de skills de Clarvis                             |
| Plugins de Clarvis    | `~/.clarvis/plugins/<name>/`                | `.clarvis/plugins/<name>/`                | Inventario exacto con `source: "clarvis"`                                       |
| Plugins compartidos   | `~/.agents/plugins/<name>/`                 | `.agents/plugins/<name>/`                 | Inventario exacto con `source: "agents"`                                        |
| Agentes               | `~/.clarvis/agents/<name>.md`               | `.clarvis/agents/<name>.md`               | El agente del espacio de trabajo sustituye al personal con el mismo nombre      |
| Extension Profiles    | `~/.clarvis/extension-profiles/<name>.json` | `.clarvis/extension-profiles/<name>.json` | Selección local del espacio de trabajo, seguida del valor global predeterminado |

Tanto `builtin:default` como los Extension Profiles propios resuelven cada plugin por su identidad exacta `{ scope, source, name }`. No se sustituye una referencia ausente por otra instalación. No se pueden seleccionar dos instalaciones con el mismo nombre porque sus espacios de nombres colisionan. Las aportaciones de los plugins tienen menor prioridad que los ajustes personales y del espacio de trabajo.

## Activación y confianza {#activation-and-trust}

| Elemento                               | Qué lo activa                                                                                  |
| -------------------------------------- | ---------------------------------------------------------------------------------------------- |
| Hook personal                          | Su presencia en el `settings.json` personal                                                    |
| Hook del espacio de trabajo            | Aprobación de la huella exacta del espacio de trabajo                                          |
| Servidor MCP personal                  | Su presencia en el `settings.json` personal                                                    |
| Servidor MCP del espacio de trabajo    | Aprobación de la huella exacta del espacio de trabajo                                          |
| Plugin global completo                 | Estar instalado y seleccionado por el Extension Profile activo                                 |
| Plugin del espacio de trabajo completo | Estar seleccionado y tener aprobado el inventario completo de plugins del repositorio          |
| Hook de un plugin                      | Su plugin completo está activo; no hay aprobación separada del hook                            |
| Entrada de marketplace                 | Nunca se activa por sí sola; la instalación explícita activa el plugin completo                |
| Agente del espacio de trabajo          | Aprobación de la huella exacta del espacio de trabajo                                          |
| Skill independiente                    | Se descubre en una raíz de skills; `user-invocable` controla si aparece como comando con barra |

La confianza del espacio de trabajo cubre los valores ejecutables o que eligen proveedores declarados por un repositorio: `hooks`, `mcpServers`, `enabledPlugins`, `marketplaces`, `memory.provider`, `plans.provider`, `tasks.provider`, los agentes del espacio de trabajo y todos sus plugins instalados, antes de seleccionar el Extension Profile. Hasta la aprobación, Clarvis excluye esos valores y plugins, y continúa con la configuración personal de confianza y los plugins globales seleccionados.

Una aprobación cubre el inventario exacto de plugins del espacio de trabajo aunque cambies de Extension Profile. Cambiar su contenido exige una nueva revisión. Las declaraciones de proveedores por suscripción son una excepción permanente: Clarvis las elimina de los ajustes del espacio de trabajo antes de combinarlos. La aprobación nunca permite controlar credenciales ni redirecciones. Configúralas globalmente; un espacio de trabajo solo puede seleccionar un modelo ya habilitado allí.

## Configuración guiada de Extensions en la TUI {#guided-extensions-setup-in-the-tui}

Escribe `/extensions` y pulsa Intro para abrir el panel. El editor guiado presenta cinco pasos:

| Paso | Decisión                                                                                         | Efecto persistente                                                                                                 |
| ---- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
| 1    | Selección local del espacio de trabajo o valor global predeterminado                             | Ninguno; prepara el ámbito de selección.                                                                           |
| 2    | Extension Profile existente, copia del activo o perfil vacío nuevo                               | Ninguno; prepara una definición completa y su revisión esperada.                                                   |
| 3    | Plugins del marketplace, instalaciones exactas y skills independientes                           | Una instalación confirmada del marketplace se guarda inmediatamente; la selección del perfil sigue en el borrador. |
| 4    | Agentes, skills de plugins, skills independientes, servidores MCP, hooks y ejecutables resueltos | Ninguno; crea una vista previa exacta y acotada.                                                                   |
| 5    | Todos los cambios de activación y la confianza del espacio de trabajo                            | Guarda de forma atómica la definición y la selección revisadas y vuelve a conectar.                                |

En el paso 3, busca plugins y skills en un único selector. Las fuentes `.agents` y `.clarvis` siguen separadas, también cuando contienen elementos con el mismo nombre. Intro añade, elimina o instala el elemento seleccionado; Escape termina la selección y conserva el borrador para revisarlo. Al instalar desde un marketplace, eliges `.agents/plugins` o `.clarvis/plugins`, y esa instalación se añade al borrador.

El paso 4 muestra todos los recursos que estarán disponibles. Un plugin se selecciona completo: sus skills, herramientas MCP, hooks y servicios no se pueden activar por separado.

El paso 5 aplica exactamente lo revisado. Si cambia la definición, el inventario, las selecciones o la aprobación de confianza, hace falta otra vista previa. No se puede aplicar durante una ejecución activa ni cuando `--extension-profile` fija la selección del proceso.

El pie muestra la operación actual y el tiempo transcurrido, sin estimar un porcentaje. Espera a que termine cada operación antes de continuar.

`/extensions` es la única entrada pública. Desde el panel puedes abrir el explorador de Extension Profiles para gestionar definiciones, selección, eliminación y diagnósticos de instantáneas; Plugins para navegar por colecciones de marketplaces, instalar, actualizar, desinstalar y componer perfiles; y MCP para ver herramientas, prompts y recursos conectados. En Plugins, usa izquierda/derecha para cambiar de colección, arriba/abajo para recorrer filas, `/` para buscar en la colección e Intro para abrir detalles y la acción explícita de instalar y activar.

## Definición de un Extension Profile {#extension-profile-definition}

Un Extension Profile se define con JSON estricto:

```json
{
  "schema_version": 1,
  "description": "Research",
  "plugins": [{ "scope": "global", "source": "agents", "name": "browser" }],
  "skills": [{ "scope": "user", "source": "clarvis", "name": "deep-research" }]
}
```

`plugins` y `skills` son listas completas de elementos permitidos. Los ámbitos de plugins son `global` o `workspace`, y las fuentes son `agents` o `clarvis`. Los ámbitos de skills independientes son `user` o `workspace`, con las mismas fuentes. Las definiciones globales solo pueden referenciar plugins globales y skills del usuario; las del espacio de trabajo pueden combinar los cuatro inventarios de plugins. Cada definición admite como máximo 1 MiB, 64 plugins y 256 skills independientes.

El perfil inmutable `builtin:default` no tiene archivo y activa las referencias exactas de `enabledPlugins`, además de todas las raíces estándar de skills. La prioridad de selección es: `--extension-profile` del proceso, selección local del espacio de trabajo en esta máquina, selección global en esta máquina y, por último, `builtin:default`. Las definiciones se pueden compartir; las selecciones se guardan en el estado de Clarvis, no en el repositorio.

Las vistas previas usan esa misma prioridad y vinculan ambos documentos de selección. Por eso, si una selección del espacio de trabajo ya tiene prioridad sobre la global, cambiar la global muestra el mismo Extension Profile efectivo. Un cambio simultáneo en cualquiera de las dos selecciones exige otra vista previa.

La huella resuelta cubre la definición, el estado, los problemas, la confianza aplicable, los manifiestos exactos de plugins y sus declaraciones complementarias, la procedencia de instalación y la revisión resuelta del código, los archivos de agentes, los cuerpos y recursos de skills empaquetadas y los de las skills independientes seleccionadas. Si cambia una aportación, se devuelve `unavailable` hasta volver a conectar, en lugar de consumir contenido nuevo bajo una huella antigua. Aprobar o revocar la confianza del espacio de trabajo devuelve `conflict` durante una ejecución activa. Si no hay ninguna, el conjunto de extensiones se recompone antes de la siguiente ejecución.

Actualizar o desinstalar una instalación exacta de un plugin seleccionado también devuelve `conflict` durante una ejecución. El inicio de otra ejecución no puede solaparse con ese cambio. Tras modificar un plugin seleccionado correctamente, el núcleo anterior devuelve `unavailable` para nuevas ejecuciones hasta volver a conectar.

## `settings.json` {#settings-json}

`settings.json` es estricto: rechaza los campos superiores desconocidos en lugar de ignorarlos. Estos son los campos relacionados con extensiones:

| Campo            | Formato                             | Finalidad                                           |
| ---------------- | ----------------------------------- | --------------------------------------------------- |
| `hooks`          | Lista de objetos de hook            | Comandos del ciclo de vida escritos por el operador |
| `mcpServers`     | Mapa de nombre de servidor a objeto | Conexiones MCP locales y remotas                    |
| `marketplaces`   | Lista de URL de Git                 | Catálogos adicionales que aparecen en Plugins       |
| `enabledPlugins` | `{ scope, source, name }[]` exactos | Lista de activación para `builtin:default`          |

### Objeto de servidor MCP {#mcp-server-object}

| Campo                  | Tipo                                     | Se aplica a   | Notas                                                                          |
| ---------------------- | ---------------------------------------- | ------------- | ------------------------------------------------------------------------------ |
| `type`                 | `stdio`, `http` o `sse`                  | Todos         | Predeterminado: `stdio`                                                        |
| `command`              | Cadena                                   | `stdio`       | Obligatorio                                                                    |
| `args`                 | Lista de cadenas                         | `stdio`       | Argumentos opcionales tras el comando                                          |
| `env`                  | Mapa de cadenas                          | `stdio`       | Admite interpolación de `${VAR}`                                               |
| `env_vars`             | Lista de cadenas                         | `stdio`       | Reenvía solo las variables del host indicadas                                  |
| `cwd`                  | Cadena                                   | `stdio`       | Directorio de trabajo opcional                                                 |
| `shared`               | Booleano                                 | `stdio`       | Reutiliza un proceso entre ejecuciones; desactiva las solicitudes interactivas |
| `url`                  | URL HTTP(S)                              | `http`, `sse` | Obligatoria                                                                    |
| `headers`              | Mapa de cadenas                          | `http`, `sse` | Admite interpolación de `${VAR}`                                               |
| `bearer_token_env_var` | Nombre de variable de entorno            | `http`, `sse` | Lee un token bearer sin guardar su valor                                       |
| `env_http_headers`     | Mapa de cabeceras a variables de entorno | `http`, `sse` | Lee del entorno los valores de las cabeceras indicadas                         |
| `oauth`                | Objeto                                   | `http`, `sse` | Configuración opcional de cliente, callback y metadatos                        |
| `resources`            | Booleano                                 | Todos         | Activado por defecto; `false` elimina las herramientas de recursos             |
| `startup_timeout_sec`  | Número positivo                          | Todos         | Espera de inicio por servidor; máximo de 3600 segundos                         |
| `tool_timeout_sec`     | Número positivo                          | Todos         | Espera de herramienta por servidor; máximo de 3600 segundos                    |
| `enabled_tools`        | Lista de cadenas                         | Todos         | Conserva solo las herramientas anunciadas indicadas                            |
| `disabled_tools`       | Lista de cadenas                         | Todos         | Elimina las herramientas indicadas después de aplicar la lista permitida       |
| `enabled` / `required` | Booleano                                 | Todos         | Activación del servidor y obligación de estar listo                            |

`stdio` prohíbe `url` y `headers`. Los transportes remotos prohíben `command`, `args`, `env` y `shared`.

`expandVariables` es verdadero por defecto y se aplica a `env` y `headers` escritos en la configuración. Las referencias explícitas a credenciales siguen resolviéndose aunque un plugin portable desactive la expansión general. `enabled_tools` y `disabled_tools` no pueden contener la misma herramienta.

Los servidores remotos HTTP/SSE pueden solicitar OAuth al conectarse, al descubrir el catálogo o en una petición posterior. Los hosts locales interactivos y `--print` abren la página de autorización, exigen HTTPS para todos los endpoints y redirecciones OAuth salvo HTTP de loopback, validan el estado, usan PKCE y repiten una vez la petición rechazada tras el callback. Las cabeceras MCP configuradas solo se aplican a las peticiones de recursos en el origen configurado; los intercambios OAuth no las heredan, ni siquiera en ese origen. Las cabeceras de autorización del SDK tienen prioridad.

Las credenciales se guardan en `~/.clarvis/state/mcp-oauth.json`, identificadas por espacio de trabajo, propietario y URL canónica del servidor; no son ajustes. Un host que no puede abrir el navegador informa de que la autorización interactiva no está disponible. En la TUI interactiva, una solicitud OAuth nunca mantiene abierta una ejecución del modelo: el servidor queda inactivo en esa ejecución, aparece un único aviso temporal sin secretos fuera de la conversación y la autorización completada queda disponible para una ejecución posterior.

### Objeto de hook {#hook-object}

| Campo                        | Tipo                      | Notas                                                                                                                   |
| ---------------------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| `event`                      | Nombre de evento          | Obligatorio                                                                                                             |
| `type`                       | `command` o `mcp_tool`    | Predeterminado: `command`                                                                                               |
| `command`                    | Cadena                    | Obligatoria en hooks de comandos                                                                                        |
| `command_windows`            | Cadena                    | Sustitución del comando específica de Windows                                                                           |
| `async`                      | Booleano                  | Ejecuta un hook de comando en segundo plano, salvo `run_end` / `SessionEnd`                                             |
| `status_message`             | Cadena                    | Metadatos de visualización acotados; no forman parte de la conversación                                                 |
| `additional_context_limit`   | Entero de 0 a 65536       | Reduce la salida capturada del comando                                                                                  |
| `plugin_root`, `plugin_data` | Rutas acotadas            | Normalmente las aporta el adaptador; se exportan mediante los alias `PLUGIN_*` y `CODEX_PLUGIN_*`, sin crear un sandbox |
| `server`, `tool`, `input`    | Destino y entrada MCP     | Destino obligatorio para `mcp_tool`; la entrada admite marcadores de eventos                                            |
| `match.tool`                 | Cadena o lista de cadenas | Nombre exacto o patrón con `*`; solo en eventos de herramientas                                                         |
| `match.args`                 | Mapa de cadenas           | Expresión regular JavaScript por argumento; todas deben coincidir; solo en eventos de herramientas                      |
| `timeout_ms`                 | Entero de 1 a 60000       | Tiempo de espera opcional                                                                                               |
| `on_failure`                 | `pass` o `deny`           | `deny` solo es válido en eventos de control; no se admite en `mcp_tool`                                                 |

Eventos:

| Clase                    | Eventos                                                                                                                             | Efecto                                              |
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- |
| Control                  | `pre_tool_use`, `post_tool_use`, `pre_finalize`, `pre_delegate_task`                                                                | Pueden permitir, aconsejar o denegar                |
| Observación              | `run_start`, `run_end`, `post_compact`, `subagent_start`, `subagent_complete`, `model_call_error`, `budget_exhausted`, `user_steer` | Su salida no puede bloquear la ejecución            |
| Contexto                 | `session_start`                                                                                                                     | Puede añadir contexto inicial fijado                |
| Contexto de compactación | `pre_compact`                                                                                                                       | Puede añadir contexto a esa pasada de resumen       |
| Observación de prompts   | `user_prompt_expansion`                                                                                                             | Observa un comando de skill invocado por el usuario |

Solo `pre_tool_use` puede sustituir los argumentos pendientes de una herramienta con un veredicto `rewrite`. Una fuente de ajustes o un plugin puede declarar hasta 64 hooks; una ejecución usa un máximo de 128 hooks combinados, con los del operador antes que los de plugins.

Un hook `mcp_tool` llama a un servidor ya conectado a la ejecución. No activa otros hooks de herramientas ni bloquea la ejecución si falla. Los hooks de comandos asíncronos comparten un límite de ocho procesos en segundo plano. `run_end` siempre espera a que terminen para no perder el comando durante el cierre.

Los payloads de hooks compatibles nombran las herramientas integradas con nombres externos como `Bash`, `Read` y `Skill`, y las MCP como `mcp__<server>__<tool>`. `CLARVIS_HOOK_TOOL` conserva el nombre interno de Clarvis; `CLARVIS_HOOK_TOOL_FULL_NAME` contiene el nombre MCP estable con puntos cuando existe.

## `SKILL.md` {#skill-md}

Cada skill es un directorio con un archivo `SKILL.md` que contiene una cabecera YAML y un cuerpo Markdown.

| Campo            | Obligatorio | Notas                                                                  |
| ---------------- | ----------- | ---------------------------------------------------------------------- |
| `name`           | Sí          | Letras, números, `.`, `_` y `-`; máximo de 128 caracteres              |
| `description`    | Sí          | Texto breve para descubrir la skill                                    |
| `agent`          | No          | Agente para invocaciones con barra; admite `<plugin>:<agent>`          |
| `version`        | No          | Metadatos de versión                                                   |
| `license`        | No          | Metadatos de licencia                                                  |
| `argument-hint`  | No          | Cadena o lista de cadenas que se muestra para el argumento del comando |
| `user-invocable` | No          | Predeterminado: `true`                                                 |
| `allowed-tools`  | No          | Metadatos de compatibilidad; no cambian los permisos de ejecución      |
| `tools`          | No          | Alias de `allowed-tools`                                               |

El cuerpo admite `$ARGUMENTS` o `{{args}}`. Los directorios de recursos habituales son `scripts`, `references`, `assets` y `examples`. Un directorio complementario `agents` contiene metadatos de presentación para el host y nunca se expone como recurso de la skill. Su primer archivo YAML también puede declarar entradas `dependencies.tools` de `type: mcp`; la skill se excluye de una ejecución si su conjunto MCP seleccionado no contiene ese servidor.

Los recursos de skills admiten hasta 8 MiB por archivo y 32 MiB en la instantánea que los contiene. Las lecturas dirigidas al modelo devuelven páginas de hasta 256 KiB y 50.000 caracteres decodificados. Ejecutar scripts auxiliares requiere autorización por directorio exacto de skill y sigue pasando por la revisión de comandos y el sandbox nativo.

## `plugin.json` {#plugin-json}

`plugin.json` es tolerante: Clarvis informa de los campos desconocidos, pero no actúa sobre ellos. `name` es el único campo obligatorio tras normalizarlo. Una instalación Git nativa lo usa como nombre de directorio; una estructura existente de otro host puede omitirlo, y Clarvis lo deduce del directorio de instalación. Ese directorio es siempre el espacio de nombres de ejecución controlado por el host.

Clarvis da prioridad a un `plugin.json` legible en la raíz que declare el esquema portable Agent Plugins. En su defecto, usa `.clarvis-plugin/plugin.json` si existe. Si no hay ninguna de esas formas autoritativas, examina el manifiesto de la raíz y los directorios con formato `.<host>-plugin/plugin.json`. Elige un único manifiesto legible con el mayor número de directivas compatibles; en caso de empate, prioriza la raíz y después el nombre. Nunca combina manifiestos.

| Campo                     | Tipo                                                   | Finalidad                                                        |
| ------------------------- | ------------------------------------------------------ | ---------------------------------------------------------------- |
| `name`                    | Identificador en minúsculas                            | Identidad y espacio de nombres del plugin                        |
| `version`                 | Cadena no vacía                                        | Versión opcional para mostrar                                    |
| `description`             | Cadena no vacía                                        | Resumen opcional                                                 |
| `author`                  | Cadena o `{ name, email?, url? }`                      | Autor opcional para mostrar                                      |
| `homepage` / `repository` | Cadena no vacía                                        | Enlaces opcionales del proyecto                                  |
| `license` / `keywords`    | Cadena / lista de cadenas                              | Metadatos opcionales para mostrar                                |
| `interface`               | Objeto de presentación acotado                         | Nombres, textos, enlaces, prompts, colores y recursos visuales   |
| `skills`                  | Directorio relativo o lista de directorios             | Colecciones o skills individuales; hasta cuatro raíces efectivas |
| `mcpServers`              | Mapa de servidores MCP o ruta relativa de documento    | Servidores aportados por el plugin                               |
| `hooks`                   | Lista de hooks, documento o ruta relativa de documento | Hooks aportados por el plugin                                    |
| `bootstrapSkill`          | Nombre de skill                                        | Inserta una skill de metodología del plugin antes de responder   |
| `capabilityExecutables`   | Mapa de capacidades a ejecutables                      | Servicios persistentes opcionales de capacidades                 |
| `capabilityRunPolicies`   | Mapa de políticas de skills de planes                  | `off`, `on` o `review` para ejecutar skills de plugins           |

Las rutas relativas se resuelven primero desde el directorio del manifiesto seleccionado y permanecen dentro de la raíz del plugin. Los directorios habituales de aportaciones son `agents/` y `skills/`. Si falta `mcpServers`, Clarvis prueba `.mcp.json` y después `mcp.json`. Si el manifiesto no aporta hooks, también lee `hooks/hooks.json`.

Los documentos de hooks compatibles organizados por evento pueden ir en línea, dentro de un objeto `hooks` o en una o varias rutas relativas. Al adaptar uno de esos documentos, un comando inicial como `./hooks/session-start.cmd` queda anclado a la raíz del plugin, mientras el directorio de trabajo del hook sigue siendo el espacio de trabajo. Las listas nativas de hooks de Clarvis se mantienen tal como se declararon.

Un archivo complementario `.mcp.json` de estilo Codex puede ser un mapa directo o incluirlo bajo `mcpServers` o `mcp_servers`. Las entradas que solo tienen URL se interpretan como HTTP; `http_headers` se convierte en `headers`; los campos OAuth compatibles en camelCase se normalizan a los campos snake_case del motor. Un manifiesto compatible de otro host puede traducir un valor completo y exacto de entorno stdio `${user_config.key}` solo si esa entrada de `userConfig` tiene `type: "string"`. Se convierte en `${DEST_ENV}` y lee el valor ya existente en el entorno del operador; no importa valores predeterminados ni metadatos de secretos. Una referencia insegura solo excluye el servidor MCP afectado.

### Declaración de ejecutable de capacidad {#capability-executable-declaration}

```json
{
  "capabilityExecutables": {
    "memory": {
      "command": "quality-memory",
      "args": ["serve"],
      "env": {
        "DATABASE_URL": "${DATABASE_URL}"
      },
      "timeout_ms": 30000,
      "platforms": {
        "win32": {
          "command": "quality-memory.exe"
        }
      }
    }
  }
}
```

`command` es obligatorio. `args` y `env` usan colecciones vacías por defecto, y `timeout_ms` vale 30000 milisegundos. Un servicio de capacidad permanece inactivo hasta que el Extension Profile activo selecciona el plugin y este se elige como proveedor de esa capacidad.

## `marketplace.json` {#marketplace-json}

Clarvis incluye `https://github.com/getclarvis/marketplace.git` como fuente del marketplace oficial. Está disponible sin añadirla a los ajustes, pero su catálogo solo se descarga al explorarlo; ninguno de sus plugins se instala, selecciona o aprueba automáticamente. Puedes añadir otras fuentes en `settings.json`.

Un repositorio de marketplace publica `marketplace.json` en su raíz:

| Campo raíz    | Obligatorio | Finalidad                                                    |
| ------------- | ----------- | ------------------------------------------------------------ |
| `name`        | No          | Identificador del catálogo; Clarvis proporciona uno si falta |
| `displayName` | No          | Título para mostrar                                          |
| `description` | No          | Resumen del catálogo                                         |
| `plugins`     | No          | Lista de entradas; vacía por defecto                         |

| Campo de entrada | Obligatorio | Finalidad                                                                    |
| ---------------- | ----------- | ---------------------------------------------------------------------------- |
| `name`           | Sí          | Identidad esperada del plugin instalado                                      |
| `source`         | Sí          | Cadena Git/local o descriptor `url`, `git-subdir`, `local` o `npm`           |
| `path`           | No          | Subdirectorio Git acotado para la sintaxis compatible de fuente como cadena  |
| `description`    | No          | Resumen de la entrada                                                        |
| `displayName`    | No          | Título del plugin para mostrar                                               |
| `homepage`       | No          | Página del proyecto                                                          |
| `category`       | No          | Agrupación visual                                                            |
| `policy`         | No          | Política de visualización de instalación y autenticación                     |
| `interface`      | No          | Metadatos acotados de editor, información legal, prompts, colores y recursos |

Los archivos de marketplace son tolerantes e informan de los campos desconocidos o con valores predeterminados. Se omite una entrada sin `name` o `source` utilizable. Las fuentes locales relativas que permanecen dentro de la ruta permitida se pueden instalar; los destinos que salen de ella o no se pueden resolver siguen visibles, pero sin acción de instalación. Los descriptores Git admiten como máximo un `ref` o un `sha` completo. Los descriptores npm admiten una versión segura opcional y un registro HTTPS sin credenciales. `AVAILABLE`, `INSTALLED_BY_DEFAULT`, `NOT_AVAILABLE`, `ON_INSTALL` y `ON_FIRST_USE` solo controlan la presentación: cargar un catálogo nunca instala ni autentica nada.

## Espacios de nombres {#namespaces}

| Aportación                 | Nombre efectivo                                                       |
| -------------------------- | --------------------------------------------------------------------- |
| Servidor MCP de ajustes    | `<server>`                                                            |
| Herramienta MCP de ajustes | `<server>.<tool>`                                                     |
| Servidor MCP de plugin     | `<plugin>:<server>`                                                   |
| Herramienta MCP de plugin  | `<plugin>:<server>.<tool>`                                            |
| Agente de plugin           | `<plugin>:<agent>`                                                    |
| Skill de plugin            | Nombre escrito en la skill; se aplica la prioridad habitual de skills |

## Véase también {#see-also}

- [Extension Profiles](/es-ES/guide/extension-profiles)
- [Hooks](/es-ES/guide/hooks)
- [Servidores MCP](/es-ES/guide/mcp-servers)
- [Skills](/es-ES/guide/skills)
- [Plugins](/es-ES/guide/plugins)
- [Marketplaces](/es-ES/guide/marketplaces)
- [Instalación y descargas](/es-ES/installation)

---

[HTML canónico](https://clarvis.dev/es-ES/reference/extensions)

[Índice de documentación](https://clarvis.dev/es-ES/llms.txt)

