# Extension Profiles {#extension-profiles}

> Crea conjuntos separados de extensiones para investigar, programar, revisar o cualquier otro tipo de trabajo.

Un Extension Profile es un conjunto con nombre de plugins instalados y skills independientes. Tú eliges qué incluye cada perfil. Por ejemplo:

- **Investigación:** solo extensiones para navegar, consultar documentación y trabajar con fuentes.
- **Código:** plugins y skills para implementar cambios y escribir pruebas.
- **Revisión:** otro conjunto para revisar cambios antes de entregarlos.

Son ejemplos que puedes crear, no perfiles predefinidos. Un perfil propio carga solo las extensiones seleccionadas; no recibe las de otros perfiles.

Los perfiles no están ligados a un proyecto concreto. Puedes pasar de investigación a programación en el mismo espacio de trabajo o reutilizar un perfil global en varios espacios. También puedes guardar una definición dentro del espacio si quieres mantenerla junto al proyecto.

Los perfiles seleccionan extensiones, no el agente ni el modelo activo. Los perfiles de agente, permisos, reglas del sandbox, credenciales y versiones de plugins tienen sus propios ajustes.

Abre `/extensions` para crear un perfil. El editor guiado permite instalar plugins mientras preparas el conjunto y muestra lo que se añadirá o eliminará antes de aplicarlo. Los plugins instalados desde este editor permanecen inactivos hasta ese último paso. El navegador de Plugins tiene otra [acción para instalar y activar](/es-ES/guide/plugins#manage-plugins-in-the-tui).

## Usa menos tokens de entrada {#use-fewer-input-tokens}

Las definiciones de herramientas ocupan espacio en el contexto del modelo. Dejar un plugin fuera del perfil también deja fuera sus herramientas, incluidas las de sus servidores MCP. Un conjunto menor envía menos definiciones al modelo, reduce los tokens de entrada y puede disminuir el coste por uso.

El perfil también limita las skills que aparecen en el catálogo del modelo. Clarvis normalmente presenta primero sus nombres y descripciones, sin cargar las instrucciones completas de todas ellas en el prompt.

No hay un ahorro fijo: el coste final también depende del modelo, de la caché de prompts y del resto de la conversación. Las herramientas nativas y los MCP configurados fuera de los plugins siguen sus propios ajustes.

## Empieza con el perfil integrado {#start-with-the-builtin-default}

`builtin:default` es el perfil integrado. No se puede editar directamente:

- `enabledPlugins` selecciona instalaciones exactas por `{ scope, source, name }`;
- los plugins activos aportan todos sus agentes, skills, servidores MCP, servicios de capacidades y hooks;
- las herramientas que anuncian esos MCP quedan disponibles para todos los agentes efectivos de nuevas ejecuciones, sin editar el perfil de agente guardado;
- están disponibles los cuatro directorios de skills independientes con su prioridad existente.

Crea un perfil propio para elegir un conjunto que no herede la lista de plugins integrada.

## Compón y selecciona en la TUI {#compose-and-select-in-the-tui}

Abre `/extensions` y pulsa Intro. El editor recorre cinco pasos:

1. elegir si la selección es local a este espacio o el valor global por defecto;
2. editar un perfil, copiar el conjunto actual o empezar uno vacío;
3. buscar en marketplaces, instalaciones exactas de plugins y skills independientes desde un único selector;
4. revisar todos los agentes, skills de plugins, skills independientes, servidores MCP, hooks y ejecutables de capacidades;
5. comprobar las altas y bajas, aprobar código del proyecto si es necesario y aplicar para reconectar.

<figure class="tui-shot">
  <img src="/images/tui/environment-step-1-scope.svg" width="14064" height="7536" alt="Editor de Extension Profile que pregunta si la selección será global o local al espacio de trabajo" loading="lazy" decoding="async" />
  <figcaption><strong>Paso 1: ámbito.</strong> Decide dónde se guardará la selección antes de editar la definición.</figcaption>
</figure>

<figure class="tui-shot">
  <img src="/images/tui/environment-step-2-definition.svg" width="14064" height="7536" alt="Editor de perfiles con opciones para editar la definición activa, clonarla o empezar una vacía" loading="lazy" decoding="async" />
  <figcaption><strong>Paso 2: definición.</strong> Edita, clona o empieza una lista de permisos vacía.</figcaption>
</figure>

<figure class="tui-shot">
  <img src="/images/tui/environment-step-3-picker.svg" width="14064" height="7536" alt="Selector de extensiones con marketplaces, plugins instalados y skills independientes" loading="lazy" decoding="async" />
  <figcaption><strong>Paso 3: extensiones.</strong> Busca en un único inventario y selecciona instalaciones o skills exactas.</figcaption>
</figure>

<figure class="tui-shot">
  <img src="/images/tui/environment-step-4-capabilities.svg" width="14064" height="7536" alt="Revisión de agentes, skills, servidores MCP, hooks y ejecutables del perfil en preparación" loading="lazy" decoding="async" />
  <figcaption><strong>Paso 4: capacidades.</strong> Revisa todo el contenido ejecutable, no solo los nombres de plugins.</figcaption>
</figure>

<figure class="tui-shot">
  <img src="/images/tui/environment-step-5-delta.svg" width="14064" height="7536" alt="Vista previa de activación con todas las aportaciones que entrarán en la selección activa" loading="lazy" decoding="async" />
  <figcaption><strong>Paso 5: cambios exactos.</strong> Confirma antes de guardar, reconectar y activar el conjunto para nuevas ejecuciones.</figcaption>
</figure>

El paso 3 mantiene el borrador en memoria. Intro añade o quita un plugin instalado o una skill independiente. En una fila de marketplace, primero pregunta por `.agents/plugins` o `.clarvis/plugins`, instala el plugin y prepara esa instalación exacta. La instalación es inmediata, pero nada se activa hasta el paso 5. Escape retrocede un nivel; si hay cambios, Clarvis pregunta antes de descartarlos.

Aplicar guarda el perfil y lo selecciona en una operación. Si han cambiado el perfil, la selección o los archivos instalados desde la revisión, Clarvis pide una vista previa nueva. El conjunto se aplica a futuras ejecuciones; el trabajo en curso conserva el original. Seleccionar un plugin incluye todos sus hooks.

Durante la instalación, el guardado o la reconexión, el pie muestra el paso y el tiempo transcurrido. Espera a que termine antes de cambiar otra opción.

Desde `/extensions`, pulsa `e` para abrir el navegador de diagnóstico y selección. Muestra el perfil activo, su huella, el origen de la selección, los recuentos instalados y activos, las aportaciones resueltas y los problemas. Pulsa `/` para buscar definiciones e Intro para abrir los detalles desplazables de la selección.

| Tecla | Acción                                                                                           |
| ----- | ------------------------------------------------------------------------------------------------ |
| `w`   | Revisar los cambios y usar el perfil solo en este espacio.                                       |
| `g`   | Revisar los cambios y establecer una selección global o integrada como valor global por defecto. |
| `n`   | Iniciar el editor guiado para un perfil nuevo.                                                   |
| `e`   | Configurar la definición o personalizar una copia de `builtin:default`.                          |
| `x`   | Borrar la selección local y revisar la alternativa que se utilizará.                             |
| `d`   | Eliminar el perfil propio inactivo seleccionado, con confirmación.                               |
| `r`   | Actualizar definiciones y diagnósticos.                                                          |

La vista previa avanzada enumera cada plugin, skill, servidor MCP y hook que entra o sale. El pie mantiene visibles `y` para aplicar y `n` para cancelar. Nada cambia antes de pulsar `y`.

Las vistas previas siguen la misma prioridad que la activación. Si una selección local ya tiene prioridad sobre la global, cambiar el valor global muestra el mismo perfil efectivo y ningún cambio activo. La vista previa queda vinculada a ambos documentos de selección; si alguno cambia antes de confirmar, se exige una nueva revisión.

Usa el editor para añadir o quitar plugins y skills independientes. Un plugin se selecciona entero: sus agentes, skills, MCP, hooks y servicios entran o salen juntos.

## Escribe una lista completa de extensiones {#author-a-complete-allow-list}

Una lista de permitidos, o _allow-list_, contiene todo lo que puede cargar el perfil. Una extensión instalada que no aparezca permanece inactiva.

Las definiciones globales se guardan en `~/.clarvis/extension-profiles/<name>.json`. Las del espacio de trabajo se guardan en `<workspace>/.clarvis/extension-profiles/<name>.json` y pueden incluirse en Git.

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

`plugins` y `skills` son listas completas, no añadidos a `builtin:default`. Las referencias de plugins identifican el ámbito (`global` o `workspace`) y el origen (`agents` para `.agents/plugins`, `clarvis` para `.clarvis/plugins`); nunca se sustituyen por otra instalación del mismo nombre. Las referencias de skills identifican ámbito (`user` o `workspace`) y origen (`agents` o `clarvis`). Un perfil global solo puede referirse a plugins globales y skills del usuario. Uno del espacio puede combinar los cuatro inventarios de plugins.

Las definiciones no heredan. Clona un perfil si necesitas una variante.

## Entiende la selección y el uso compartido {#understand-selection-and-sharing}

Clarvis resuelve el perfil activo en este orden:

1. `--extension-profile` para este proceso;
2. selección local del espacio de trabajo;
3. selección global por defecto;
4. `builtin:default`.

Usa un selector con ámbito cuando sea importante:

```bash
clarvis --extension-profile global:research
clarvis --extension-profile workspace:project -p "Review this change"
```

Un nombre sin ámbito busca primero en el espacio de trabajo y después en el ámbito global. `--extension-profile` no guarda la elección y, mientras está activo, el proceso no puede sobrescribir su selección local o global.

Las definiciones del espacio se pueden compartir, pero la elección activa siempre es estado local de la máquina. Por tanto, clonar un repositorio no activa su perfil automáticamente.

## Diagnostica la confianza y los cambios de archivos {#diagnose-trust-and-drift}

Un perfil puede estar `ready`, `degraded` o `invalid`:

- un plugin o una skill ausente queda visiblemente inactivo y produce `degraded`;
- una definición o selección inválida produce `invalid`, sin recurrir a un perfil por defecto más amplio;
- un perfil con un plugin del repositorio sin aprobar está `degraded`, aunque los plugins globales seleccionados siguen activos.

Tras mostrar el campo de mensaje inicial, Clarvis calcula la huella de todos los plugins instalados del espacio, aunque no estén seleccionados. Una aprobación cubre ese inventario exacto al cambiar de perfil. Si cambia cualquier byte o permiso de ejecución incluido en la huella, hace falta otra revisión; editar solo la lista del perfil no la invalida. Los plugins globales son instalaciones del operador y no necesitan una segunda aprobación del espacio. Si rechazas, se abre Extensions para quitar aportaciones no deseadas. `/workspace-trust` permite revisar o revocar después.

<figure class="tui-shot">
  <img src="/images/tui/workspace-trust-review.svg" width="14064" height="7536" alt="Diálogo de confianza con la huella exacta del inventario de plugins y sus aportaciones ejecutables" loading="lazy" decoding="async" />
  <figcaption>La revisión identifica la huella y el inventario ejecutable exactos antes de aprobar.</figcaption>
</figure>

Clarvis se niega a aprobar o revocar la confianza durante una ejecución, antes de modificar el registro. En reposo, esa decisión recompone el perfil seleccionado o las partes de `builtin:default` procedentes del espacio antes de la siguiente ejecución.

Clarvis conserva una copia fija del conjunto resuelto, llamada _snapshot_. Su huella identifica los manifiestos, definiciones MCP y hooks, revisión del código, archivos de agentes, instrucciones y recursos de skills y aprobación de confianza. Si cambia un archivo seleccionado, bloquea accesos posteriores hasta que `/reconnect` cargue y verifique el nuevo conjunto.

Las ejecuciones, trazas y turnos registran el identificador del perfil y la huella. Si recuperas una sesión con otro conjunto, Clarvis te avisa.

## Consulta también {#see-also}

- [Visión general de extensiones](/es-ES/guide/extensions)
- [Plugins](/es-ES/guide/plugins)
- [Skills](/es-ES/guide/skills)
- [Ámbitos y confianza](/es-ES/explanation/scopes-and-trust)
- [Referencia de extensiones](/es-ES/reference/extensions)
- [Comandos](/es-ES/reference/commands)

---

[HTML canónico](https://clarvis.dev/es-ES/guide/extension-profiles)

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

