Un profe digital para Claude Code que te explica el código que estás construyendo, sin frenar tu proyecto.
🇬🇧 Read in English
Instalación · Uso · Los tres profes · FAQ · 🇬🇧 English
Haces vibe coding. La IA escribe código que funciona, tú lo aceptas, el proyecto avanza… y te queda una sensación incómoda:
"Esto lo he hecho yo… y no lo entiendo."
Parar a preguntar cada línea mata el ritmo. Hacer un curso de HelloWorld y ejercicios de matemáticas que nunca vas a usar, tampoco.
ProfesorIA se sienta a tu lado mientras construyes. Cuando aparece algo que todavía no dominas, deja una nota corta sobre un solo concepto, usando tu código como ejemplo. Si no hay nada nuevo que valga la pena, se calla.
El temario es tu proyecto. La meta es ese momento de "¿anda, era esto?".
Le pides algo a Claude y, debajo del código, aparece esto:
🎓 🧙 Habilidad desbloqueada — val vs var
En tu `CartScreen`, `val total` es un objeto ligado al alma: una vez equipado, no se puede cambiar.
`var` es un hueco de inventario normal: lo cambias cuando quieras.
Consejo del viejo NPC: equipa `val` por defecto. Solo usa `var` cuando la misión te obligue.
+1 a Inmutabilidad 🔓
↳ ¿Exploramos esta zona del mapa?
Ya está. Tú sigues construyendo. Si quieres más, respondes "sí" y profundiza; si no, sigue a lo suyo.
| Tutores típicos | ProfesorIA | |
|---|---|---|
| Qué enseña | Ejercicios genéricos | Tu propio código, en el momento en que aparece |
| Cuánto habla | Explica todo | Un concepto por nota, 3–6 líneas, o silencio |
| Qué recuerda | Nada, te repite lo básico | Un mapa de lo que ya sabes (❌ → 🟡 → ✅), entre proyectos |
| Conceptos "difíciles" | Empieza por el nombre técnico | Primero la analogía con tu código, el nombre al final |
| Visión de conjunto | Piezas sueltas | El flujo A → B → C: cómo viajan los datos por tu app |
| Para comprobar que aprendes | Quizzes y TODO(human) |
Nada obligatorio. Nunca te frena |
| Al terminar | — | Documentación en docs/: glosario, paso a paso, errores y soluciones |
Eliges uno la primera vez y lo cambias cuando quieras. Cambian la voz y las analogías, nunca las reglas.
| Profe | Estilo | Le oirás decir | |
|---|---|---|---|
| 🔧 | El mecánico veterano · mechanic |
Directo, humor seco, analogías de taller | "Si quitas esto, mira lo que peta." |
| 🎓 | La profe guay del ciclo · cool-teacher |
Cercana, vivaracha, celebra tus logros | "¡Eso es POO y lo has hecho tú!" |
| 🧙 | El Maestro · game-master |
NPC sabio y socarrón, tu proyecto es la misión | "Habilidad desbloqueada: Flow 🔓" |
Necesitas Claude Code y Python 3.8+ (sin dependencias).
git clone https://github.com/D4vRAM369/ProfesorIA.gitpython3 ProfesorIA/install.pyAbre una sesión nueva de Claude Code y escribe /profesoria. Listo.
¿Qué hace el instalador?
- Enlaza la skill en
~/.claude/skills/profesoria, que es lo que hace que funcione/profesoria. - Añade a
~/.claude/settings.jsonun hook que mantiene al profe activo en conversaciones largas, y el permiso para guardar tu progreso sin preguntarte. - Antes de cambiar nada, guarda una copia en
settings.json.bak-profesoria. No pisa tus hooks ni tus ajustes, y puedes ejecutarlo varias veces sin duplicar nada. - Si encuentra algo que no reconoce (un
settings.jsonroto, otra skill con el mismo nombre), se detiene sin tocar nada.
Para actualizar, desde la misma carpeta donde lo clonaste (descarga los cambios y vuelve a pasar el instalador, que pone al día los permisos y copia tu progreso a ~/.profesoria/):
git -C ProfesorIA pull && python3 ProfesorIA/install.pyPara desinstalar: python3 ProfesorIA/install.py --uninstall. Tu perfil y tu progreso en ~/.profesoria/ (y la carpeta antigua ~/.claude/profesoria/, si la tenías) se conservan.
/profesoria
La primera vez ves la bienvenida, eliges profe y respondes 2 preguntas rápidas. Si actualizas desde una versión anterior, la bienvenida sale una sola vez y solo pregunta lo nuevo: tu progreso se queda como estaba. A partir de ahí, trabaja como siempre.
| Comando | Qué hace |
|---|---|
| Empezar | |
/profesoria |
Activa el profe |
/profesoria bienvenida [compacta] |
Vuelve a mostrar el banner y tu carnet (compacta para terminales estrechas) |
/profesoria <id> |
Cambia de profe: mechanic, cool-teacher o game-master |
| Mientras trabajas | |
| (automático) | Como mucho una nota por respuesta, justo debajo del cambio que explica |
| "¿lo desmenuzo?" | Profundiza en la última nota |
/profesoria orden <code-first|analogy-first|mixed> |
Qué va primero en las notas: el código, la analogía o un poco de ambos |
/profesoria densidad <low|normal> |
Cuántas notas salen |
/profesoria off |
Apaga el profe en esta sesión |
| Tu progreso | |
/profesoria progreso |
Tu ficha de progreso, estilo videojuego |
/profesoria mapa [rama] |
Tu mapa de conceptos como árbol de fundamentos |
/profesoria apuntes [concepto] |
Tus apuntes, construidos en las clases |
| Clases | |
/profesoria clase |
Te propone 3 conceptos para hoy (y el árbol completo si lo pides) y te da la clase |
/profesoria clase <minutos> |
Clase ajustada al tiempo que tienes, por ejemplo 15 |
/profesoria clase <tema> |
Clase directa de ese tema, esté o no en tu mapa |
| Cerrar | |
| "cierra la sesión" | Guarda tu progreso y genera la documentación, el diff anotado y el resumen |
Ejemplo de /profesoria clase
🎓 🧙 Clase de hoy ❌ 77 🟡 46 ✅ 0
El Maestro te propone:
1. ★ Asincronía la base de 3 de tu mapa: Promise, spawn_blocking, debounce
2. ❌ Consultas parametrizadas seguridad básica · la tienes en tu proyecto
3. 🟡 TDD ⟳ visto 4× y hace 2 semanas: repaso y pasa a ✅
4. Ver el árbol completo y elegir yo
5. Escribo un tema
Durante la clase el profe explica desde cero con tu propio código. Practicar y explicarlo tú son opcionales; si lo explicas bien, el concepto pasa a ✅. Al acabar, guarda una ficha en ~/.profesoria/clases/ y amplía tus apuntes en ~/.profesoria/apuntes/.
Ejemplo de ficha de progreso
🎓 🧙 Ficha de aprendiz — Nivel: B+ (Aprendiz con espada)
Desbloqueado esta semana: 🔓 Clases 🔓 Flow
En camino: 🟡 Coroutines
Próximo jefe final: Inyección de dependencias
¿Me va a frenar o a llenar el chat de explicaciones?
No. Como mucho una nota por bloque de código y una nota por respuesta, y solo si hay algo nuevo que valga la pena. Cuando sale, va justo debajo del cambio que explica, con archivo:línea, para que no tengas que hacer scroll. El silencio es lo normal; el proyecto siempre va primero.
¿Sirve si no sé nada de programación?
Sí, está pensado para eso. Explica desde cero sin dar nada por sabido, pero tampoco te repite lo que ya dominas.
¿Con qué lenguajes funciona?
Con cualquiera. Enseña sobre el proyecto en el que estés: Kotlin, Python, JavaScript, Rust…
¿Dónde se guarda lo que aprendo?
En ~/.profesoria/ (profile.md y map.md), en tu equipo. Es tuyo, no del proyecto ni del agente: lo que aprendes en una app sirve en la siguiente, y si usas Codex, OpenCode u otro agente comparten el mismo mapa. Si venías de una versión anterior, tu carpeta ~/.claude/profesoria/ se copia ahí la primera vez, sin borrarse.
En agentes sin selector interactivo, el profe te ofrece opciones numeradas en su lugar.
¿Dónde están mis apuntes y mis clases?
También en tu carpeta personal, para que te sirvan en todos tus proyectos:
~/.profesoria/
├── map.md tu mapa de conceptos (/profesoria mapa)
├── clases/ una ficha por clase: qué viste, tu código, cómo acabó
└── apuntes/ un archivo por concepto que crece con cada clase, más un índice
Ábrelos con /profesoria apuntes, o directamente en ~/.profesoria/apuntes/ con cualquier editor de Markdown. Los apuntes nunca se reescriben: cada clase añade. Con daw_dam_class: true en tu perfil, cada concepto trae además una versión para alumnos, sin datos personales.
¿Y si pregunto por código antiguo?
Te lo explica igual, con el mismo estilo. Lo que no hace es repasarlo por su cuenta.
¿Se te ocurre un cuarto profe? Crea skills/profesoria/personalities/<id>.md con las secciones ## Voice, ## Analogies, ## Emoji, ## Portrait y ## Example note, y abre un PR.
PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 python3 -m pytest -qskills/profesoria/
SKILL.md reglas del profe
personalities/ un archivo por profe
references/ onboarding, cierre de sesión, plantillas de docs,
modo clase (class-mode.md) y apuntes (notes-templates.md)
hooks/profesoria_hook.py mantiene el profe activo tras compactar
install.py instalador (y --uninstall)
tests/ validador de la skill, hook e instalador
Roadmap: soporte para Codex y otros agentes · más profes de la comunidad.
Hecho para aprender construyendo · Made for learning by building · MIT

