¿Qué hace Personalizador de Antigravity (ag-customizer)?
Utiliza este skill para diseñar, estructurar, configurar, migrar y validar personalizaciones de Google Antigravity de forma autónoma, tanto a nivel de espacio de trabajo como global.
Matriz de Decisión Rápida
Determina qué mecanismo de personalización resuelve mejor el problema:
| Necesidad | Mecanismo | Ubicación del Archivo | Guía de Referencia |
|---|---|---|---|
| Enseñar al agente un runbook multi-paso, procedimiento o comando slash | Skill | .agents/skills/<name>/SKILL.md o ~/.gemini/antigravity/skills/<name>/SKILL.md | guia-skills.md |
| Imponer restricciones persistentes, estándares de codificación o reglas de estilo | Regla | .agents/rules/<name>.md, AGENTS.md o ~/.gemini/GEMINI.md | guia-reglas.md |
| Conectar servicios externos, bases de datos locales o herramientas personalizadas | Servidor MCP | .agents/mcp_config.json o ~/.gemini/config/mcp_config.json | guia-mcp.md |
| Interceptar eventos del ciclo de vida (controlar comandos, inyectar avisos, detener watchdog) | Hook de Ciclo de Vida | .agents/hooks.json o ~/.gemini/config/hooks.json | guia-hooks.md |
| Agrupar skills, reglas, hooks y MCP en un paquete compartible | Plugin | .agents/plugins/<name>/ o ~/.gemini/config/plugins/<name>/ | plugins-y-configs.md |
| Registrar rutas no estándar o compartir personalizaciones mediante VCS | Configuración JSON | .agents/skills.json o .agents/plugins.json | plugins-y-configs.md |
| Actualizar flujos de trabajo obsoletos a skills modernos de comando slash | Migración de Workflows | .agents/workflows/*.md -> .agents/skills/<name>/SKILL.md | migracion-workflows.md |
Flujos de Trabajo Operativos
1. Añadir un Nuevo Skill
- Determinar el Ámbito:
- Espacio de Trabajo:
.agents/skills/<name>/(incluido en el repositorio para uso del equipo). - Global:
~/.gemini/antigravity/skills/<name>/(disponible en todos los proyectos).
- Espacio de Trabajo:
- Estructurar el Directorio:
<raiz_personalizacion>/skills/<nombre-skill>/ ├── SKILL.md # Obligatorio: Punto de entrada con frontmatter YAML ├── scripts/ # Opcional: Scripts auxiliares (ejecutar con patrón --help) ├── references/ # Opcional: Manuales completos y documentación pesada └── examples/ # Opcional: Código de muestra o referencias de salida - Redactar el Frontmatter:
name: Minúsculas y con guiones (ej.nextjs-otel,docker-deploy). Esto también lo registra como comando slash (/<name>).description: 1-3 frases en tercera persona, indicando explícitamente qué hace el skill y frases/escenarios de activación específicos para que el agente lo active.
- Aplicar Divulgación Progresiva:
- Mantén el
SKILL.mdprincipal centrado estrechamente en la secuencia de pasos operativos y criterios de finalización. - Traslada el material de referencia profundo a archivos
references/<topic>.mdy enlácelos de forma relativa. - Consulta guia-skills.md para plantillas de estructura.
- Mantén el
- Verificación de Duplicación en Obsidian:
- Al actualizar o crear skills en este espacio de trabajo, refleja la carpeta del skill en
d:/Scripts/Obsidian/skills/<name>/según las directrices del repositorio.
- Al actualizar o crear skills en este espacio de trabajo, refleja la carpeta del skill en
2. Crear una Regla
- Determinar Ámbito y Formato:
- Regla de Espacio de Trabajo:
.agents/rules/<nombre-regla>.mdoAGENTS.mden la raíz del proyecto. - Regla Global:
~/.gemini/GEMINI.md.
- Regla de Espacio de Trabajo:
- Elegir Modo de Activación (para
.agents/rules/*.md):always_on: Se inyecta incondicionalmente en cada turno. Úsalo con moderación para preservar el contexto.model_decision: Se divulga cuando el agente determina la relevancia según la descripción.glob: Se activa automáticamente cuando se tocan o abren archivos coincidentes (ej.*.tsx,src/api/**/*.ts).manual: Solo se carga cuando se invoca explícitamente mediante@menciónen el chat (ej.@mi-regla.md).
- Redactar el Contenido:
- Mantente dentro del límite de 12.000 caracteres por archivo.
- Expresa los comportamientos deseados en positivo ("Haz X", "Estructura siempre Y") en lugar de prohibiciones negativas.
- Usa
@nombre-de-archivopara enlazar archivos de contexto complementarios si es necesario. - Consulta guia-reglas.md para la sintaxis completa y el frontmatter de activación.
3. Configurar un Servidor MCP
- Determinar Ubicación del Archivo:
- Espacio de trabajo:
<workspace>/.agents/mcp_config.json - Global:
~/.gemini/config/mcp_config.json
- Espacio de trabajo:
- Seleccionar Transporte:
- stdio (Ejecutable local):
{ "mcpServers": { "mi-servidor": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-sqlite", "app.db"], "env": { "SQLITE_READONLY": "true" } } } } - Remoto (SSE / HTTP Transmisible):
[!IMPORTANT] Usa siempre la clave
serverUrl. Las claves heredadasurlohttpUrlno son compatibles.{ "mcpServers": { "mi-remoto": { "serverUrl": "https://api.example.com/mcp/", "headers": { "Authorization": "Bearer TU_TOKEN" } } } }
- stdio (Ejecutable local):
- Autenticación:
- Credenciales de Aplicación por Defecto de Google:
"authProviderType": "google_credentials"(requieregcloud auth application-default login). - OAuth:
"oauth": { "clientId": "...", "clientSecret": "..." }con URI de redirecciónhttps://antigravity.google/oauth-callback.
- Credenciales de Aplicación por Defecto de Google:
- Filtrado de Herramientas:
- Deshabilitar herramientas temporalmente sin eliminar el servidor:
"disabledTools": ["comando_destructivo"]. - Consulta guia-mcp.md para configuraciones predefinidas.
- Deshabilitar herramientas temporalmente sin eliminar el servidor:
4. Configurar Hooks de Ciclo de Vida
- Archivo Objetivo:
.agents/hooks.json(o~/.gemini/config/hooks.json). - Eventos Compatibles:
PreToolUse: Coincide con nombres de herramientas (run_command,write_to_file,*) para controlar la ejecución (allow,deny,ask,force_ask) o sobrescribir argumentos superficialmente.PostToolUse: Auditar salida, ejecutar linters o formatear código después de que la herramienta se complete.PreInvocation: Inyectar contexto o instrucciones del sistema (injectStepsconephemeralMessage) antes de que el modelo procese el turno.PostInvocation: Forzar continuación (terminationBehavior: "force_continue") o detener.Stop: Inspeccionar finalización de tarea (terminationReason,fullyIdle) y devolverdecision: "continue"conreasonpara bloquear la salida prematura.
- Reglas del Contrato:
- La ejecución pasa contexto a través de stdin y recibe respuesta a través de stdout.
- Todas las claves de carga útil JSON usan camelCase (
conversationId,stepIdx,toolCall, etc.). - Los comandos se ejecutan de forma sincrónica y bloquean el bucle del agente hasta el tiempo de espera (por defecto 30s).
- Consulta guia-hooks.md para plantillas en Python, PowerShell y Bash.
5. Empaquetar un Plugin o Configuración Compartida por VCS
- Paquete de Plugin:
- Agrupa skills, reglas, hooks y servidores MCP relacionados en
.agents/plugins/<nombre-plugin>/. - Añade el manifiesto
plugin.json({"name": "mi-plugin"}). - Gestiona el estado de activación en
config.jsonbajo"plugins": { "<nombre-plugin>": { "enabled": true } }.
- Agrupa skills, reglas, hooks y servidores MCP relacionados en
- Configuraciones JSON (
skills.json/plugins.json):- Registra directorios externos o repositorios de equipo compartidos.
- Soporta
entries(rutas) yinherits(otras configuraciones) con filtros regexinclude_onlyyexclude. - Consulta plugins-y-configs.md para ejemplos de manifiestos completos.
6. Modernizar Flujos de Trabajo Heredados
- Inspecciona en busca de
.agents/workflows/*.mdo~/.gemini/config/workflows/*.mdobsoletos. - Extrae las instrucciones operativas y genera un
SKILL.mdequivalente con el frontmatter YAML adecuado. - Archiva el archivo original como
<nombre>.md.bak(preservación segura). - Consulta migracion-workflows.md para el runbook de migración automatizada.
Lista de Verificación de Validación
Antes de considerar completa cualquier personalización:
- Sintaxis JSON: Asegúrate de que todos los archivos
.jsonse analicen correctamente sin errores de sintaxis ni comentarios. - Verificación de Frontmatter: Verifica que
SKILL.mdcontenga frontmatter YAML válido connameydescriptiondescriptiva. - Presupuesto de Caracteres: Asegúrate de que los archivos Markdown de reglas estén dentro del límite de 12.000 caracteres.
- Conexión MCP: Verifica que los binarios de comando o las URL remotas existan y autentiquen.
- Contrato de Hook: Verifica que los scripts de hook acepten JSON camelCase en stdin y devuelvan JSON válido en stdout.
- Duplicación en Obsidian: Para skills en este espacio de trabajo, sincroniza la carpeta del skill creado con
d:/Scripts/Obsidian/skills/<name>/.