--- type: SOP asset_id: SOP-EL-WORX-PluginMarketplace-Onboarding-v01 version: v01 status: 🟡 Borrador — pendiente ratificación (L1) owner: Alex sherpa_owner: SherpaX de Alex ratificador: Victor Heredia fecha_creacion: 2026-07-09 intellbank: IB-EL-EmpowerLabs subbank: PB-EL-Project-Bank / PB-WORX-Worx proposito: Onboarding de cada colaborador al marketplace privado de plugins WORX con auto-update, y workflow de publicación del día a día. relacionados: - SPEC-EL-WORX-GitMarketplace-AutoUpdate-v01 (spec ejecutada) - TP-EL-PluginMarketplace-Handoff-v01 (handoff origen) tags: [SOP, plugins, marketplace, auto-update, onboarding, github, equipo] --- # SOP · Onboarding al Plugin Marketplace de EmpowerLabs ## Cómo conectarse al repo privado y recibir updates solos > **Repo:** `EmpowerlabsLLC/empowerlabs-plugins` (privado · GitHub) > **Marketplace:** `empowerlabs` · 4 plugins: worx-core, worx-empowerlabs, worx-wikix, worx-ultrasherpas > **Comprobado en máquina piloto (Alex) el 2026-07-09.** --- ## A. Onboarding por colaborador (una sola vez · ~10 min) ### A1 · Token de lectura 1. GitHub → Settings → Developer settings → **Fine-grained tokens** → Generate new token. 2. Resource owner: **EmpowerlabsLLC** · Only select repositories: `empowerlabs-plugins` · Permissions: **Contents: Read-only**. 3. Guárdalo en tu gestor de contraseñas. **Nunca** lo pegues en el vault ni en chats. ### A2 · Variable de entorno (PowerShell) ```powershell setx GITHUB_TOKEN "github_pat_XXXX" ``` - Aplica solo a ventanas **nuevas**: cierra todas las terminales después. - Verificación — PowerShell: `echo $env:GITHUB_TOKEN` · CMD: `echo %GITHUB_TOKEN%`. - ⚠️ El subproceso git de Claude solo hereda `GITHUB_TOKEN` — no sirven `GH_TOKEN`, `gh auth` ni SSH para el update en background. ### A3 · Configuración (`~/.claude/settings.json`) Fusiona este bloque (no borres lo que ya tengas): ```json { "extraKnownMarketplaces": { "empowerlabs": { "source": { "source": "github", "repo": "EmpowerlabsLLC/empowerlabs-plugins" }, "autoUpdate": true } }, "enabledPlugins": { "worx-core@empowerlabs": true, "worx-empowerlabs@empowerlabs": true, "worx-wikix@empowerlabs": true, "worx-ultrasherpas@empowerlabs": true } } ``` ### A4 · Antes de instalar lo nuevo, quita lo viejo (evita carpetas rogue) En `/plugin` (o Settings → Capabilities): desinstala el worx-wikix viejo (trae `/creawikidoc`), cualquier worx-empowerlabs todo-en-uno viejo, y el marketplace BOS si sigue agregado. ### A5 · Instalar y activar auto-update 1. Abre una terminal **nueva** (con el token) → `claude`. 2. Los 4 plugins se instalan solos al arrancar. Verifica: `/plugin` → **Installed**. 3. **GOTCHA #2:** ve a `/plugin` → **Marketplaces** → `empowerlabs` → confirma **"Auto-update enabled"**. Los marketplaces de terceros traen el auto-update **apagado por defecto**; si dice disabled, actívalo ahí. 4. Prueba: `/wx-arrancaroom` debe disparar y reconocerte. --- ## B. Cómo llegan los updates (comportamiento comprobado) - **GOTCHA #1 — patrón de doble arranque:** el update se **descarga en un arranque y se aplica al siguiente**. Si acaban de publicar una versión y no la ves, cierra y abre Claude Code una vez más. No es falla. - Update inmediato manual: `/plugin` → Marketplaces → `empowerlabs` → **Update marketplace** (o `/plugin marketplace update`). - **GOTCHA #3 — la app de escritorio es OTRO canal (vía comprobada):** el `settings.json` del CLI NO gobierna la app. En la app (Cowork/chat) la vía correcta es: **Customize → Plugins → Personal plugins → "+" → Add marketplace → "Add from a repository"** → `https://github.com/EmpowerlabsLLC/empowerlabs-plugins` → **autenticar GitHub cuando lo pida** (repo privado). NO subir los plugins como archivos sueltos — quedan congelados sin sync. El refresh aplica tras **reinicio completo de la app** (cerrar desde la bandeja, no solo la ventana). - **Nota Team/Enterprise:** si EmpowerLabs migra a plan Team, un owner puede distribuir el marketplace a toda la org centralizadamente (Organization settings → Plugins, con auto-update y plugins requeridos) — cero onboarding por persona. --- ## B2. Checklist por colaborador (vía app de escritorio — la ruta estándar del equipo) **Previo (lo hace Alex/infra):** - [ ] Pedir el usuario de GitHub del colaborador (si no tiene: cuenta gratuita en github.com con correo de EmpowerLabs). - [ ] GitHub → `EmpowerlabsLLC/empowerlabs-plugins` → Settings → Collaborators and teams → **Add people** → rol **Read**. - [ ] Confirmar que aceptó la invitación (llega por correo). **En la app de Claude del colaborador:** - [ ] Desinstalar plugins worx-* viejos (Customize → Plugins) — evita duplicados y carpetas rogue. - [ ] Customize → **Plugins** → Personal plugins → **"+"** → **Add marketplace** → **Add from a repository** → `https://github.com/EmpowerlabsLLC/empowerlabs-plugins`. - [ ] Autenticar GitHub cuando lo pida (con SU cuenta). - [ ] Instalar los 4 plugins del marketplace `empowerlabs`. - [ ] Cerrar la app por completo (bandeja) y reabrir. - [ ] Verificar: `/wx-arrancaroom` dispara y reconoce al operador. **Solo perfiles técnicos que usen Claude Code (CLI):** seguir además la sección A (PAT + `GITHUB_TOKEN` + `settings.json`). **Recordar al colaborador:** los updates aplican al **segundo arranque**; nunca instalar plugins como archivos sueltos. ## C. Workflow de publicación (quien edita los plugins) **Setup del rol publicador (una sola vez):** - [ ] Acceso **Write** al repo (lo asigna Alex en Collaborators). - [ ] Git instalado (Git for Windows) — Claude Code NO es obligatorio para publicar; solo para probar cambios antes del push (sección A). - [ ] Clonar **fuera del vault**: `git clone https://github.com/EmpowerlabsLLC/empowerlabs-plugins.git` en `~/dev/` (autenticar con su cuenta GitHub). **Ciclo de publicación:** 1. Edita SIEMPRE en el repo git (`~/dev/empowerlabs-plugins`) — **nunca** en el vault ni en el caché `.remote-plugins/`. 2. **Bump obligatorio** de `version` (SemVer) en el `plugin.json` del plugin que cambió. Push sin bump = nadie recibe nada. 3. `git add -A && git commit -m "bump: x.y.z" && git push`. 4. Confirma la Action **Validate Plugins** en verde (pestaña Actions del repo). 5. Avisa al equipo por el buzón si el cambio es relevante (recordar doble arranque / update de la app). ## D. Guardrails - El repo del marketplace **NUNCA** dentro del vault Intellibanks (la sync corrompe dotfolders). - Cada plugin: exactamente 1 `plugin.json`. El `marketplace.json` no lleva `version`. - `.gitignore` bloquea `*_json.md`, `archivo.*`, `.DS_Store`. - Tokens: solo lectura, por persona, jamás en el vault/chat. Si uno se expone, se revoca y regenera. ## NEXTs - [ ] Ratificación de Victor (L1). - [ ] A5/A6 del handoff: limpieza de carpetas rogue + borrar `EL-PluginMarketplace/` del vault (fuente ya es el repo git). - [ ] Probar `/wx-wikixcreadocaprende` → escribe a `IB-WikiX/` sin crear `LLM-Wiki/`. - [ ] Definir la vía de update para quienes operan solo en la app de escritorio (Cowork). ## CHANGELOG | Versión | Fecha | Cambio | |---|---|---| | v01 | 2026-07-09 | Creación tras ejecución completa de la SPEC en máquina piloto. Onboarding por colaborador, 3 gotchas comprobados (doble arranque, toggle auto-update por marketplace, app de escritorio como canal aparte), workflow de publicación y guardrails. |