Herramientas internas · TT
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.
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?
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.
$ 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
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.
Pegá el comando en tu terminal. Se baja solo, no necesitás instalar nada antes.
Se abre el navegador, entrás con tu cuenta @growketing.com. Una vez.
Baja tus skills. Después podés correr tools sync para equipar la máquina y mcp status para ver conexiones.
App de escritorio · macOS
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.
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?
Nada de copiar carpetas ni pedir zips. Skills, catálogo de tools y MCPs salen del mismo hub.
Recibís exactamente las skills de tu rol. Ni de más, ni de menos.
Cambió una skill en el hub, corrés
sync
y baja solo eso. Rapidísimo.
Login con tu cuenta de Google. Tus permisos los decide el sistema, no tu compu.
Claude Code, opencode y codex leen las mismas skills y pueden recibir los mismos MCPs. Una sync, todas listas.
Si tenés skills propias instaladas a mano, las respeta. Solo toca las que maneja él.
Comandos clave
El CLI separa contenido, herramientas y conexiones para que cada acción sea explícita.
sync
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
Revisa brew, binarios y auth/config de CLIs como gh, opencode, uv, jq, rg, gog, codex o claude. No toca nada.
mcp status
Diagnostica MCPs por app, entorno y credenciales. Después usás mcp token, add o sync según el caso.
clients list
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
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.
$ 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.
$ 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
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.
Read-only. Ve si tenés brew, gh, node, uv, opencode, jq y rg; opcionalmente versiones y auth.
Instala lo que falte con confirmación. Si falta Homebrew, puede bootstrappearlo antes.
Agregá gog, codex, claude, basecamp, notion o Meta Ads CLI cuando las necesites.
Un paso más
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.
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.
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.
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.
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.
Gestión de campañas + reporting de la Marketing API. Developer token de la MCC + service account (ADC).
gkt-skills-hub mcp add google-ads # pedile a TT el dev token (MCC) + el SA JSON mcp token google-ads --cred developer_token mcp token google-ads --cred adc --file sa.json mcp token google-ads --cred project_id --token <ID> source ~/.gkt-skills-hub/mcp-env.sh
Necesita uv (uvx) + Python ≥3.12.
El JSON del SA queda 600 en
creds/; el config sólo guarda el path.
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 (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 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 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).
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:
$ 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
[email protected]) para que te
sumen con tu rol. En cuanto te agregan, corrés
sync de nuevo y listo.
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.
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.
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.
sync --force si querés que la
reemplace).
sync y aparecen las skills nuevas (y se
van las que ya no te corresponden). No hace falta
reinstalar nada.
~/.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.
gkt-skills-hub login --device: te
da un código para meter en google.com/device desde
cualquier otro dispositivo. El resto es igual.