Skip to content

feat(autoskills): add interactive agent selection prompt#86

Open
damenordev wants to merge 1 commit into
midudev:mainfrom
damenordev:feat/interactive-agent-selection
Open

feat(autoskills): add interactive agent selection prompt#86
damenordev wants to merge 1 commit into
midudev:mainfrom
damenordev:feat/interactive-agent-selection

Conversation

@damenordev
Copy link
Copy Markdown

🎯 Qué resuelve esto

Cuando usas autoskills, el CLI detecta todos los agentes que tienes instalados (Claude Code, Cursor, Cline, Codex, etc.) y les instala los skills a todos de golpe. No hay forma de elegir.
Esto está bien si solo usas uno o dos, pero si tienes 10+ agentes instalados (como yo 😅), quizás no quieras instalar en todos.

✨ Qué cambia

Ahora aparece un prompt interactivo para elegir en qué agentes instalar, justo después de seleccionar los skills:
◆ Select skills to install (9 found)
❯ ◼ astrolicious › astro
◼ wshobson › typescript-advanced-types
...
◆ Select target agents (11 detected)
❯ ◼ claude-code
◼ cursor
◼ cline
◼ codex
◼ opencode
...
↑↓ move · space toggle · a all · n none · enter confirm (11/11)

🛠️ Cómo funciona

  • Se reutiliza el multiSelect() que ya existe en ui.ts (sin dependencias nuevas 🙌)
  • "universal" siempre se incluye, no se muestra en el prompt
  • Shortcut [n] none para deseleccionar todos rápido
  • Si el usuario deselecciona todos los agentes, solo se usa universal con un mensaje informativo

📋 Cuándo NO aparece el prompt

Situación Resultado
-y (auto-yes) Se salta el prompt, instala en todos (comportamiento actual)
-a cursor claude-code Usa los agentes pasados por flag, sin prompt
Solo 1 agente detectado Se selecciona automáticamente
Non-TTY (CI/CD) Selecciona todos (comportamiento actual del multiSelect)

📁 Archivos modificados

Solo un archivo: packages/autoskills/main.ts (+45 líneas, -4 líneas)

  • Nueva función selectAgents() — el prompt interactivo
  • Se llama después de selectSkills() y antes de installAll()
  • Los agentes seleccionados se pasan al installer y a la lógica de CLAUDE.md

✅ Tests

Los 55 tests existentes pasan sin cambios. No se agregaron tests nuevos porque la funcionalidad es interactiva (TTY) y los tests existentes cubren el dry-run y la detección de agentes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant