Communitygithub.com

Env Doctor: Entorno de Desarrollo

Inspector de entorno de desarrollo para Claude Code. No preguntes «qué directorio ocupa más», pregunta «¿todavía usas esta herramienta?» — Cuatro señales para detectar herramientas viejas que cambiaron pero no desinstalaste, con un selector interactivo de limpieza (datos bloqueados, selección elemento por elemento, confirmación antes de ejecutar).

¿Qué es Env Doctor: Entorno de Desarrollo?

Env Doctor es una skill para Claude Code que diagnostica el estado del entorno de desarrollo local. A diferencia de las herramientas de limpieza tradicionales que solo informan sobre el tamaño de los directorios, esta skill aplica un razonamiento con cuatro señales (carga en shell, comando en PATH, propietario del runtime y fecha de última modificación) para determinar si una herramienta o gestor de versiones sigue activo o es un residuo. La skill escanea de forma segura y solo lectura el directorio home del usuario, identifica datos, caché y residuos, y presenta un informe estructurado con recomendaciones. La limpieza se realiza exclusivamente a través de un selector interactivo (`scripts/clean.sh`) que permite marcar elementos uno por uno, mostrando siempre los comandos a ejecutar y su impacto, y pidiendo confirmación explícita antes de actuar. Está diseñada para Claude Code (u otros agentes compatibles con el formato SKILL.md de Anthropic) y sigue tres reglas de seguridad: no ejecuta `rm` por sí mismo, solo escanea en modo lectura, y ante la duda declara incertidumbre.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add huiyonghkw/hekouwang-env-doctor-skill

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Inspector de Entorno de Desarrollo · env-doctor

Tercera herramienta de la «familia de inspectores»: claude-md-doctor (configuración) → skill-doctor (skills) → env-doctor (entorno). Las dos primeras inspeccionan archivos; esta inspecciona la máquina.

¿En qué se diferencia de las herramientas de limpieza del mercado? (Lee esto primero, determina todo su comportamiento)

Las herramientas de limpieza para Mac responden a «qué directorio ocupa más». Este inspector responde a «¿todavía usas esta herramienta?».

El tamaño se puede escanear, pero la identidad solo se puede inferir — para determinar si nvm es un residuo, hay que mirar simultáneamente quién carga la configuración del shell, quién está en el PATH, quién proporciona realmente node, y cuánto tiempo lleva el directorio sin moverse. Esta es la única diferenciación de esta herramienta; ninguna modificación debe debilitarla.


⛔ Tres reglas de hierro (detalles en references/safety.md)

  1. La eliminación solo proviene de la selección elemento por elemento del usuario (a través de scripts/clean.sh). El modelo no debe construir rm por sí mismo; si el usuario dice «bórralo directamente» → guíalo para que ejecute el selector. Por defecto nada seleccionado, datos bloqueados, solo comandos de la lista blanca, entrada yes para actuar.
  2. Escaneo de solo lectura. scripts/scan.sh no contiene operaciones de escritura.
  3. Si no estás seguro, di que no estás seguro. Cuando las señales sean contradictorias, márcalo explícitamente, no adivines para que el informe se vea mejor.

Flujo estándar

Paso 1 · Escaneo

bash scripts/scan.sh                      # Completo (incluye descubrimiento de grandes directorios en home, ~30–60 segundos)
bash scripts/scan.sh --quick              # Escaneo rápido (omite descubrimiento, ~20 segundos)
bash scripts/scan.sh --profile ai-dev     # Escaneo rápido para máquina de desarrollo AI (directorio home del Agente + omite descubrimiento de grandes)

Produce seis secciones de datos brutos: DISK · SIZES · MANAGERS · RUNTIME · AI_AGENTS (cuando hay home de Agente) · DISCOVER (solo en modo completo).

Paso 2 · Clasificación

Consulta references/rules.md:

  • Método de tres clases (datos / caché / residuos) asigna identidad a cada directorio;
  • Tabla de clasificación por cuatro señales (shell_loaded × cmd_in_path × runtime owner × last_modified) determina si un gestor de versiones está activo o es residual;
  • Una misma versión instalada por dos gestores → muestra una línea de advertencia separada.

Paso 3 · Generación del informe

Sigue el flujo de cuatro pasos de references/report.md: Primero da la conclusión → luego presenta en tres grupos (residuos → caché → datos) → pregunta grupo por grupo → genera comandos solo después de la confirmación.

⚠️ No vomites listas de decenas de líneas de una vez; ⚠️ Cada recomendación debe incluir siempre los cinco elementos: «qué es / cuánto ocupa / por qué se clasifica así / comando oficial / coste».

Paso 4 · Para limpiar, usa el selector

bash scripts/clean.sh --dry-run   # Primero mira sin ejecutar (muy recomendado la primera vez)
bash scripts/clean.sh             # Selecciona y luego limpia

Selección interactiva: espacio para marcar · ↑↓ para mover · a para seleccionar todo · n para deseleccionar todo · enter para confirmar · q para salir. Los datos con 🔒 están bloqueados y no se pueden marcar; en la página de confirmación se listan uno por uno los comandos a ejecutar y su coste, y solo se actúa tras escribir yes.


Enrutamiento

Qué necesitas hacerLee esto
Clasificar un directorio y conocer su comando oficial de limpiezareferences/rules.md
Cómo escribir el informe y avanzar la conversaciónreferences/report.md
Límites y qué no hacer bajo ninguna circunstanciareferences/safety.md
Implementación del escáner y autocomprobaciónscripts/scan.sh
Selector de limpieza (único lugar donde se permite eliminar)scripts/clean.sh

Respuestas estándar a preguntas frecuentes

  • «Bórralo directamente por mí» → No pulso Enter por ti. Ejecuta bash scripts/clean.sh para marcar, y te mostrará primero los comandos y su coste; si quieres ver sin ejecutar, añade --dry-run.
  • «¿Puedo borrar el más grande?» → Primero mira la identidad, no el tamaño. El más grande suele ser pesos de modelos o volúmenes de contenedores (clase datos), que son precisamente los que menos se deben borrar.
  • «¿Qué pasa después de borrar?» → Cada elemento tiene una columna «coste»; los de caché siempre dicen «se descargará de nuevo, cuesta tiempo y tráfico», y solo los residuos son ganancia neta.
  • «¿Por qué lo clasificas como residuo?» → Reporta el texto original de las cuatro señales para que el usuario lo revise.

Límites

  • Solo cubre el espacio ocupado por herramientas de desarrollo (gestores de versiones / gestores de paquetes / caché de construcción / contenedores / modelos de IA). Caché del sistema, fotos, adjuntos de correo, WeChat no están en el alcance — esos se gestionan en la interfaz de «almacenamiento» del sistema.
  • Escanea dentro del directorio home, no toca directorios del sistema ni otros usuarios.
  • Sin conexión a internet; no reporta ningún resultado de escaneo a ningún sitio.

Enlaces de la familia de inspectores

CapaSkillCuándo derivar
Configuraciónhekouwang-claude-md-doctor-skillAGENTS.md/CLAUDE.md duplicados, enrutamiento incorrecto, falta frontmatter
Skillshekouwang-claude-skill-doctor-skillEstructura de SKILL.md, enlaces rotos, declaración OpenClaw
EntornoEsta skillDisco lleno, residuos de gestores de versiones, directorio home del Agente inflado

Si en el informe se detectan problemas de configuración/skills, menciona las otras dos skills, no hagas auditoría de contenido de archivos dentro de este informe.

Skills relacionados