Herramientas internas · TT

Tu entorno de IA, siempre al día.

Una sola herramienta para instalar y actualizar tus skills —con el contexto de tus clientes adentro—, preparar las tools de trabajo y configurar MCPs en Claude Code, opencode y codex. Sin copiar carpetas a mano. Sin pegar secretos en configs.

Un comando Skills · clientes · tools · MCPs Cero plaintext
Instalalo así
curl -fsSL https://skills-hub.growketing.io/install.sh | sh

El instalador se baja solo, detecta tu sistema y deja el comando listo para usar.

¿Qué es esto?

El que te arma la compu para laburar con IA.

Las skills son las capacidades que le dan superpoderes a tus asistentes de IA (analizar campañas, operar infra, armar reportes de marca…). gkt-skills-hub es el programita que te las instala y las mantiene actualizadas, suma las herramientas CLI base del equipo y deja conectados los MCPs que cada asistente necesita. Vos corrés comandos cortos; el resto queda ordenado y gobernado desde el hub.

gonza@growketing — gkt-skills-hub sync
$ gkt-skills-hub sync
Resolviendo skills para gonza-bourdieu…
Diff vs lo que tenés instalado:
  + growketing-design        (nueva)
  ~ gkt-tt-skills-hub        (0.1.0 → 0.2.0)
  - gkt-legacy-skill         (ya no es de tu rol)
Bajando lo que cambió (24 KB)…
Symlinks en ~/.claude/skills y ~/.agents/skills  ok
Listo. Instaladas: 1 · Actualizadas: 1 · Quitadas: 1

Cómo se usa

Tres pasos. Una sola vez.

Después del primer setup, mantenerte al día es correr sync cuando quieras. Tools y MCPs son flujos aparte para equipar la máquina y conectar datos.

1

Instalá

Pegá el comando en tu terminal. Se baja solo, no necesitás instalar nada antes.

curl …/install.sh | sh
2

Logueate

Se abre el navegador, entrás con tu cuenta @growketing.com. Una vez.

gkt-skills-hub login
3

Sincronizá

Baja tus skills. Después podés correr tools sync para equipar la máquina y mcp status para ver conexiones.

gkt-skills-hub sync

App de escritorio · macOS

Y arriba en la barra del Mac, un ojo siempre puesto.

En mac, el instalador te deja además una app de barra de menú: un thin client del CLI que refleja el estado de tus skills sin que hagas nada. Un vistazo arriba a la derecha y sabés si estás al día; un click y sincronizás. Cero tokens, cero llamadas a la API — todo lo resuelve el mismo gkt-skills-hub por debajo.

9:41
GKT Skills Hub
12 skills 12 ok
Todo al día
Estado 0 pendientes
growketing-design ok
gkt-tt-skills-hub ok
gkt-data-platform-explorer ok
gkt-client-balanz ok
y 8 más…
Clientes 8
Más…
CLI 0.4.19:41

Qué te dice el ícono

Al día todas tus skills sincronizadas.
Pendientes hay skills nuevas o cambiadas para bajar, con contador.
Sincronizando corriendo sync, con progreso.
Sin sesión un botón para entrar con tu cuenta.
CLI viejo te ofrece actualizar el CLI de un click.
Sin CLI te muestra cómo instalarlo.

Se instala sola con el install.sh en mac y se actualiza junto con el CLI — sin release aparte. Si no la querés, opt-out con GKT_SKILLS_HUB_NO_APP=1. Toda acción es un gkt-skills-hub <cmd> --json por debajo: cero lógica de negocio en la app.

¿Por qué usarlo?

Menos fricción, cero zips por Slack.

Cero config manual

Nada de copiar carpetas ni pedir zips. Skills, catálogo de tools y MCPs salen del mismo hub.

Solo lo que te toca

Recibís exactamente las skills de tu rol. Ni de más, ni de menos.

Siempre actualizado

Cambió una skill en el hub, corrés sync y baja solo eso. Rapidísimo.

Seguro por diseño

Login con tu cuenta de Google. Tus permisos los decide el sistema, no tu compu.

Funciona en tus tools

Claude Code, opencode y codex leen las mismas skills y pueden recibir los mismos MCPs. Una sync, todas listas.

No pisa lo tuyo

Si tenés skills propias instaladas a mano, las respeta. Solo toca las que maneja él.

Comandos clave

Todo lo que hay que saber.

El CLI separa contenido, herramientas y conexiones para que cada acción sea explícita.

sync

Tus skills al día

Instala, actualiza y limpia las skills que te corresponden por rol —incluido el contexto de tus clientes. Es el comando del día a día.

tools status

Tu máquina equipada

Revisa brew, binarios y auth/config de CLIs como gh, opencode, uv, jq, rg, gog, codex o claude. No toca nada.

mcp status

Datos conectados

Diagnostica MCPs por app, entorno y credenciales. Después usás mcp token, add o sync según el caso.

clients list

Tus clientes a mano

Mirá los clientes a los que tenés acceso y, con clients view, el detalle de uno: cuentas, conversiones, docs y skills. Solo lectura.

Contexto de cliente

Y el contexto de tus clientes, en tus mismas skills.

El hub ahora también te trae el contexto de cada cliente que manejás: las cuentas por plataforma (GA4, Google Ads, Meta Ads, Search Console, TikTok…) con sus IDs, las conversiones que importan y el índice de docs de marca y estrategia. Se sincroniza del Data Platform y te llega como una skill más: la baja el mismo sync y tu asistente la lee sola. Y para tenerlos a mano desde la terminal, sumamos gkt-skills-hub clients — list para ver tus clientes y view <slug> para el detalle de uno.

gonza@growketing — gkt-skills-hub sync
$ gkt-skills-hub sync
Resolviendo skills para gonza-bourdieu…
  + gkt-client-balanz     (contexto de cliente · nueva)
  + gkt-client-bplay      (contexto de cliente · nueva)
Bajando lo que cambió…
Symlinks en ~/.claude/skills y ~/.agents/skills  ok
Listo. Tu asistente ya conoce las cuentas, conversiones y docs de Balanz y BPlay.
gonza@growketing — gkt-skills-hub clients
$ gkt-skills-hub clients list
clientes de gonza@growketing
  balanz   Balanz   GA4, Google Ads, Meta Ads, GSC, TikTok   1 skill
  bplay    BPlay    GA4, Google Ads                          1 skill

$ gkt-skills-hub clients view balanz
Balanz (balanz) · activo
  cuentas por plataforma · 17 (✓ activas · ⏸ inactivas)
  conversiones · docs de Drive · skills del cliente
Sólo ves los clientes que te toca tu rol — si no tenés acceso, no aparece.

Quién ve qué lo decide tu rol, desde el mismo Sheet que reparte las skills: un analista recibe el contexto de sus clientes; un C-level, el de todos. El clients de la CLI es solo lectura y respeta ese acceso al pie de la letra: solo ves lo tuyo. El contexto base viaja con el bundle; lo sensible (márgenes, estrategia) se otorga aparte y explícito. Complementa al gkt-data-platform-explorer (datos en vivo) con contexto curado.

Tools

También prepara las CLIs base del equipo.

El grupo tools chequea e instala herramientas generales en mac vía Homebrew. El set baseline entra con sync; las recomendadas son opt-in. El CLI instala el binario y te dice qué auth o configuración falta terminar.

1

Chequeá

Read-only. Ve si tenés brew, gh, node, uv, opencode, jq y rg; opcionalmente versiones y auth.

gkt-skills-hub tools status
2

Instalá baseline

Instala lo que falte con confirmación. Si falta Homebrew, puede bootstrappearlo antes.

gkt-skills-hub tools sync
3

Sumá recomendadas

Agregá gog, codex, claude, basecamp, notion o Meta Ads CLI cuando las necesites.

gkt-skills-hub tools install gog

Un paso más

Y los MCPs, sin pegar secretos a mano.

Algunas skills necesitan un MCP server configurado en cada asistente. El grupo mcp ahora configura cualquier MCP: soporta bearer, headers, OAuth en el cliente y credenciales de proceso (incluidas credenciales-archivo tipo ADC). Hay dos tipos: internos (data-platform, odoo) que te asigna tu rol, y recomendados (Google Ads, GA4, Meta Ads, HubSpot) que sumás vos mismo con mcp add.

1

Diagnosticá

Read-only. Te dice, por MCP y por app, qué te falta, si el server está vivo (health) y si las credenciales requeridas están cargadas. No escribe nada.

gkt-skills-hub mcp status
2

Sumá y cargá

add deja la base de un recomendado. Tokens string van al Keychain; el ADC a un archivo 600. Para OAuth, el token lo maneja Claude, codex u opencode — no cargás nada.

gkt-skills-hub mcp add google-ads
gkt-skills-hub mcp token google-ads …
3

Sincronizá y activá

Escribe las configs de Claude, codex y opencode apuntando a env vars, headers u OAuth, nunca con secretos inline. Idempotente: no pisa lo que cargaste a mano.

gkt-skills-hub mcp sync
source ~/.gkt-skills-hub/mcp-env.sh

Recetas por MCP

Copiá y pegá. Cada recomendado se suma con mcp add y termina con sus credenciales (las de pago/datos las reparte TT). Los internos los configura tu rol.

ga4
Recomendado stdio · env · 2 creds

Google Analytics 4 (Admin + Data API, read-only). Service account con scope analytics.readonly.

gkt-skills-hub mcp add ga4
mcp token ga4 --cred adc --file sa.json
mcp token ga4 --cred project_id --token <ID>
source ~/.gkt-skills-hub/mcp-env.sh

Necesita uv (uvx) + Python ≥3.12. Comparte env var con google-ads, pero conviven sin pisarse (alias por-MCP).

meta-ads
Recomendado http · OAuth

Meta Ads (campañas, insights, catálogos). OAuth-en-cliente: no hay token que cargar.

gkt-skills-hub mcp add meta-ads
# autenticás con Meta OAuth
# en el browser la 1ra vez

En codex se prende experimental_use_rmcp_client solo.

hubspot-remote
Recomendado http · OAuth

HubSpot CRM remoto (deals, contactos, empresas). OAuth PKCE en el browser.

gkt-skills-hub mcp add hubspot-remote
# OAuth en el browser la 1ra vez

En Claude se agrega como custom connector (plan pago).

hubspot-local
Recomendado stdio · token

HubSpot local para agentes headless. Un private app token propio (Settings ▸ Private Apps).

gkt-skills-hub mcp add hubspot-local
mcp token hubspot-local --cred private_app_token

Necesita node ≥18 (npx).

data-platform · odoo
Interno · por rol http · bearer

Los MCP internos de Growketing. Un JWT por entorno (test/prod), que te habilita tu rol en el Sheet.

gkt-skills-hub mcp token data-platform --env test
mcp sync
source ~/.gkt-skills-hub/mcp-env.sh

El JWT lo pedís a TT (no cruza la API del hub).

Así se ve Google Ads de punta a punta:

gonza@growketing — gkt-skills-hub mcp add google-ads
$ gkt-skills-hub mcp add google-ads
  ✓ Agregué google-ads a claude, codex, opencode (stdio + env, sin plaintext)
  ℹ Falta cargar: developer_token, adc, project_id.
    Pedíselas a TT (infra-devops): Juani · Gonza.

$ gkt-skills-hub mcp token google-ads --cred developer_token
  Pegá el token (no se muestra): ********
  ✓ Guardado en Keychain.   ✓ Actualicé mcp-env.sh.

$ gkt-skills-hub mcp token google-ads --cred adc --file ~/Downloads/sa.json
  ✓ Copiado a ~/.gkt-skills-hub/creds/google-ads-default-adc.json (600).

$ gkt-skills-hub mcp token google-ads --cred project_id --token gkt-data-prod
  ✓ Guardado.   ✓ Actualicé mcp-env.sh.

$ source ~/.gkt-skills-hub/mcp-env.sh
$ gkt-skills-hub mcp status
  MCP / env           health   claude   codex    opencode
  google-ads          ● vivo   ✓ ok     ✓ ok     ✓ ok

Listo — el asistente ya opera Google Ads, con el service account guardado 600 y cero secretos pegados en configs.

A prueba de boludos

Preguntas que te vas a hacer.

Me dice 403 / "no estás registrado" +
Significa que tu email todavía no está dado de alta en la lista de accesos. Escribile a TT ([email protected]) para que te sumen con tu rol. En cuanto te agregan, corrés sync de nuevo y listo.
¿Necesito tener Python o uv instalado? +
Para instalar el hub, no. El instalador trae todo lo que necesita adentro. Si después usás tools sync, el propio CLI puede instalar uv como parte del baseline en mac. Ojo: Google Ads y GA4 corren como proceso local y necesitan uv (uvx) + Python ≥3.12; HubSpot local necesita node ≥18 (npx). El CLI te avisa si falta algo, no lo instala a la fuerza.
Quiero usar Google Ads, Meta o HubSpot, ¿cómo lo sumo? +
Son recomendados: los sumás vos con mcp add <nombre> (no esperan a tu rol). Si es OAuth (Meta, HubSpot remoto) terminás autenticando en el navegador. Si lleva credenciales (Google Ads, GA4, HubSpot local) las cargás con mcp token — el dev token de la MCC y el service account los reparte TT (infra-devops). Mirá las recetas de arriba: están listas para copiar.
¿Me pisa los MCPs que ya tengo configurados? +
No. Solo toca las entradas que escribió él mismo (las trackea en mcp-state.json) y deja un backup .gkt.bak. Si tenés un MCP con el mismo nombre puesto a mano, lo respeta y te avisa. Y ningún secreto queda en texto plano en los configs: van por env var o, para el ADC, a un archivo 600.
¿Me va a pisar las skills que ya tengo? +
No. Solo administra las skills que él mismo instaló. Si tenés alguna puesta a mano con el mismo nombre, te avisa y no la toca (podés forzarlo con sync --force si querés que la reemplace).
Me cambiaron de rol / me sumaron a un proyecto +
Cuando TT actualiza tu rol, vos corrés sync y aparecen las skills nuevas (y se van las que ya no te corresponden). No hace falta reinstalar nada.
¿Dónde quedan instaladas? +
Como accesos directos en ~/.claude/skills y ~/.agents/skills, que es donde las leen Claude Code, opencode y codex. El contenido real vive en un solo lugar ordenado y prolijo.
Estoy en un server por SSH, no tengo navegador +
Usá gkt-skills-hub login --device: te da un código para meter en google.com/device desde cualquier otro dispositivo. El resto es igual.