# ๐๏ธ Mรณdulo Eliminar Skills - Celebrimbor
## Misiรณn
Eliminar skills instaladas de forma segura con confirmaciรณn del usuario.
---
## ๐ฏ Flujo de Eliminaciรณn
### Paso 1: Listar Skills Instaladas
**Usar mรณdulo 09-module-list.md** para mostrar skills disponibles:
```
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐๏ธ Eliminar Skill
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Skills instaladas actualmente:
๐ Global (2 skills):
1. php-pro
2. typescript-utils
๐ Local (1 skill):
3. php-symfony
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
```
---
### Paso 2: Seleccionar Skill a Eliminar
**Solicitar al usuario**:
```
ยฟQuรฉ skill deseas eliminar?
Introduce el nรบmero [1-3] o el nombre: _
```
**Validar**:
- Si nรบmero: verificar rango
- Si nombre: verificar que existe
**Capturar**:
```yaml
skill_to_remove:
name: "php-pro"
location: "global" # o "local"
path: "~/.claude/skills/php-pro"
```
---
### Paso 3: Confirmaciรณn Crรญtica
**โ ๏ธ IMPORTANTE**: Siempre pedir confirmaciรณn antes de eliminar.
**Mostrar detalles**:
```
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๏ธ Confirmar Eliminaciรณn
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Skill a eliminar: php-pro
Ubicaciรณn: Global (~/.claude/skills/)
Archivo: ~/.claude/skills/php-pro
Link real: ~/.agents/skills/php-pro/SKILL.md
โ ๏ธ Esta acciรณn NO se puede deshacer.
La skill dejarรก de estar disponible en TODOS tus proyectos
(es global).
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
```
Mostrar con `AskUserQuestion`:
```json
{
"questions": [{
"header": "Confirmar Eliminaciรณn",
"question": "ยฟEstรกs seguro de eliminar \"[nombre]\"? Esta acciรณn NO se puede deshacer.",
"multiSelect": false,
"options": [
{
"label": "๐๏ธ Sรญ, eliminar",
"description": "La skill dejarรก de estar disponible en Claude Code"
},
{
"label": "๐ซ Cancelar",
"description": "Volver sin hacer cambios"
}
]
}]
}
```
**Si elige Cancelar**: volver al menรบ sin ejecutar nada.
---
### Paso 4: Ejecutar Eliminaciรณn
**Opciรณn A: Usar npx skills remove** (Recomendado)
```bash
# Con Node.js >=18 y skills CLI
npx skills remove <skill-name>
```
**Ejemplo**:
```bash
source ~/.nvm/nvm.sh && nvm use 20 > /dev/null 2>&1
npx skills remove php-pro
```
**Output esperado**:
```
โ Removed skill: php-pro
โ Symlink removed: ~/.claude/skills/php-pro
โ Source removed: ~/.agents/skills/php-pro/
```
---
**Opciรณn B: Eliminaciรณn Manual** (Fallback)
Si `npx skills remove` no existe o falla:
```bash
# Eliminar symlink
rm ~/.claude/skills/php-pro
# Eliminar directorio real (si existe)
rm -rf ~/.agents/skills/php-pro/
```
**Para skills locales**:
```bash
# Local
rm ./.claude/rules/php-symfony.md
```
---
### Paso 5: Verificar Eliminaciรณn
**Verificar que el archivo ya NO existe**:
```bash
if [ ! -f ~/.claude/skills/php-pro ]; then
echo "โ
Skill eliminada correctamente"
else
echo "โ Error: Archivo aรบn existe"
fi
```
---
### Paso 6: Confirmaciรณn al Usuario
**Mostrar resultado**:
```
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
Skill Eliminada Exitosamente
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Skill: php-pro
Ubicaciรณn: Global
Archivo eliminado: ~/.claude/skills/php-pro
La skill ya NO estarรก disponible en Claude Code.
Recarga la ventana o inicia nueva sesiรณn para aplicar cambios.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
```
---
### Paso 7: Acciones Posteriores
Mostrar con `AskUserQuestion`:
```json
{
"questions": [{
"header": "Tras la eliminaciรณn",
"question": "ยฟQuรฉ deseas hacer ahora?",
"multiSelect": false,
"options": [
{
"label": "๐๏ธ Eliminar otra skill",
"description": ""
},
{
"label": "๐ Ver skills instaladas",
"description": ""
},
{
"label": "๐ Volver al menรบ principal",
"description": ""
}
]
}]
}
```
---
## ๐จ Manejo de Errores
### Error 1: Skill No Encontrada
**Usuario intenta eliminar skill que no existe**:
```
โ Skill No Encontrada
La skill "non-existent" no estรก instalada.
Skills disponibles para eliminar:
โข php-pro (global)
โข typescript-utils (global)
```
Mostrar con `AskUserQuestion`: ยฟDeseas elegir otra skill? (Sรญ / Volver al menรบ)
### Error 2: Sin Permisos
**Falla al eliminar archivo**:
```bash
rm ~/.claude/skills/php-pro
# Error: Permission denied
```
**Mostrar**:
```
โ Error de Permisos
No se pudo eliminar el archivo ~/.claude/skills/php-pro
Soluciรณn:
sudo rm ~/.claude/skills/php-pro
O verificar permisos:
ls -la ~/.claude/skills/
ยฟDeseas reintentar con sudo? [s/N]: _
```
### Error 3: npx skills remove No Disponible
**Comando no existe**:
```bash
npx skills remove php-pro
# Error: Unknown command 'remove'
```
**Acciรณn automรกtica**:
```
โ ๏ธ npx skills remove no disponible
Usando eliminaciรณn manual...
โ Eliminando symlink ~/.claude/skills/php-pro
โ Eliminando directorio ~/.agents/skills/php-pro/
โ
Skill eliminada manualmente
```
---
## ๐ง Caracterรญsticas Adicionales
### Eliminaciรณn en Batch (Futuro)
**Eliminar mรบltiples skills**:
```
๐๏ธ Eliminar Mรบltiples Skills
Selecciona skills a eliminar (separa con comas):
1. php-pro
2. typescript-utils
3. php-symfony
Skills a eliminar: 1,3
Confirmar eliminaciรณn de:
โข php-pro (global)
โข php-symfony (local)
ยฟContinuar? [s/N]: _
```
### Backup Antes de Eliminar (Futuro)
**Opcional: Crear backup antes de eliminar**:
```
๐พ Backup de Seguridad
ยฟCrear backup de "php-pro" antes de eliminar?
Ubicaciรณn del backup: ~/.celebrimbor/backups/
Archivo: php-pro_2026-02-16.md
Backup te permite restaurar la skill mรกs tarde.
ยฟCrear backup? [S/n]: _
```
---
## ๐ Integraciรณn con Otros Mรณdulos
### Con Mรณdulo de Listar (09)
```python
# Obtener skills instaladas
installed_skills = list_module.get_installed_skills()
# Mostrar opciones para eliminar
display_skills_to_remove(installed_skills)
```
### Con Backend CLI (04)
```python
# Usar backend para eliminaciรณn
backend = selector.get_backend()
result = backend.remove(skill_name, location)
```
### Con Mรณdulo de Bรบsqueda (07)
```python
# Despuรฉs de eliminar
if user_chooses("Buscar nuevas skills"):
search_module.run()
```
---
## ๐ฏ Reglas de Ejecuciรณn
1. **SIEMPRE pedir confirmaciรณn** antes de eliminar
2. **Mostrar detalles** de lo que se va a eliminar
3. **Verificar eliminaciรณn** despuรฉs de ejecutar
4. **Informar claramente** el resultado (รฉxito o error)
5. **Ofrecer acciones posteriores** (eliminar otra, buscar, listar)
6. **Manejo robusto de errores** (permisos, comando no existe)
7. **Preferir npx skills remove** cuando estรฉ disponible
8. **Fallback a eliminaciรณn manual** si npx falla
---
## ๐ Ejemplo Completo de Ejecuciรณn
```
Usuario: "5. Eliminar Skill"
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐๏ธ Eliminar Skill
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Skills instaladas:
๐ Global (1 skill):
1. php-pro
ยฟQuรฉ skill eliminar?: 1
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๏ธ Confirmar Eliminaciรณn
Skill: php-pro
Ubicaciรณn: Global (~/.claude/skills/php-pro)
Real: ~/.agents/skills/php-pro/
โ ๏ธ NO se puede deshacer
ยฟEliminar "php-pro"? [s/N]: s
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐๏ธ Eliminando "php-pro"...
โ Ejecutando: npx skills remove php-pro
โ Symlink eliminado: ~/.claude/skills/php-pro
โ Directorio eliminado: ~/.agents/skills/php-pro/
โ Verificando eliminaciรณn
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
Skill Eliminada Exitosamente
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Skill: php-pro
Ubicaciรณn: Global
La skill ya NO estรก disponible.
Recarga Claude Code para aplicar cambios.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ยฟQuรฉ hacer ahora?
1. Eliminar otra skill
2. Ver skills instaladas
3. Volver al menรบ
Elige [1-3]: _
```
---
**Mรณdulo anterior**: 09-module-list.md
**Integra con**: 09-module-list.md, 04-backend-cli.md
**Usa**: npx skills remove (preferido) o rm manual (fallback)
**Tarea**: #5 - Mรณdulo Eliminar