1 puntos por GN⁺ 3 시간 전 | 1 comentarios | Compartir por WhatsApp
  • Una skill para Claude Code y Codex que, mientras haces coding agéntico, ayuda a desarrollar no solo el proyecto sino también la experiencia del usuario
  • Después de completar tareas de arquitectura como crear archivos nuevos, cambiar esquemas o hacer refactors, Claude propone un ejercicio de aprendizaje optativo de 10 a 15 minutos
  • Los ejercicios usan técnicas de ciencia del aprendizaje como predicción, generación, práctica de recuperación y repetición espaciada, y crean ejemplos semi resueltos a partir del trabajo real del usuario en su proyecto
  • Está diseñado para reducir problemas que las herramientas de coding con IA pueden provocar, como aceptar código generado sin cuestionarlo, la ilusión de fluidez, sesiones largas e intensivas, falta de metacognición y menos autoevaluación
  • Claude pregunta algo como: “¿Quieres hacer un ejercicio breve de aprendizaje sobre este tema? Toma unos 10 a 15 minutos”, y si el usuario acepta, inicia un ejercicio interactivo
  • El principio clave del diseño es que Claude no responda sus propias preguntas y espere la entrada del usuario, con la intención de crear un modo distinto de reflexión y exploración frente al agentic coding rápido
  • Los tipos de ejercicio incluyen predicción → observación → reflexión, generación → comparación, seguimiento de rutas de ejecución, predicción de debugging, explicárselo a un desarrollador nuevo y revisión de recuperación de contenido de sesiones anteriores
  • Las condiciones de supresión propuestas por ahora son no volver a ofrecer oportunidades de aprendizaje si el usuario ya rechazó un ejercicio en esa sesión, o si ya completó 2 ejercicios en la misma sesión
  • En Codex, se puede agregar al marketplace con codex plugin marketplace add https://github.com/DrCatHicks/learning-opportunities.git, e incluye learning-opportunities, learning-opportunities-auto y orient
  • En Claude Code, se agrega desde Claude Code plugin marketplace, luego se instala /plugin install learning-opportunities@learning-opportunities y se reinicia para activarlo
  • learning-opportunities-auto es un hook opcional para Linux y macOS que hace que Claude considere proponer un ejercicio después de un git commit; en Windows también puede usarse con configuración adicional
  • La skill orient crea orientation.md al aprender un repositorio nuevo y ofrece lecciones recomendadas basadas en investigación sobre comprensión de programas y exploración de codebases
  • Se recomienda usarlo junto con Learning-Goal, una skill presentada como ayuda para definir objetivos de aprendizaje interactivos y semiestructurados con la técnica MCII
  • Para experimentos de equipo también se puede usar MEASURE-THIS.md, que ofrece preguntas de encuesta validadas, guía para interpretar resultados, una plantilla de “team boast” para compartir con liderazgo y recordatorios de rigor estadístico en Claude.md
  • Tiene licencia Creative Commons Attribution 4.0 International License

1 comentarios

 
GN⁺ 3 시간 전
Opiniones de Hacker News
  • No sé mucho sobre Skills, pero viendo el repositorio, parece que hay demasiado código y texto decorativo para compararlo con un solo prompt corto dentro de un script bash que se ejecuta después del commit
    En esencia, la idea es que, como el usuario acaba de hacer commit, si hay archivos nuevos, cambios de esquema, decisiones de arquitectura, refactorización o patrones desconocidos, se le sugiera un ejercicio de aprendizaje de 10 a 15 minutos

    • Skills sirve para describir de forma estándar flujos de trabajo repetibles, ahorrar contexto con divulgación gradual, compartir prompts y encapsular partes poco usadas pero no deterministas en procedimientos deterministas como scripts
      Conceptualmente, no debería verse como traer magia hecha por otros, sino como software que crece gradualmente https://alexhans.github.io/posts/series/evals/building-agent...
      En los harnesses de coding suele haber una skill de agente SkillBuilder, así que es fácil crearlas y seguir evolucionándolas
      Recomiendo que cada quien haga las suyas según sus propios problemas, y hay ejemplos simples donde una evaluación logra subir bastante la precisión de la automatización https://alexhans.github.io/posts/series/evals/sketch-to-text...
    • La mayoría de estas herramientas terminan siendo otro archivo Markdown que se inserta en el prompt, y dada la forma en que funcionan los modelos de lenguaje grandes, es una estructura completamente normal
      Por eso querría recomendar que cada quien cree algo parecido con Claude. Al principio consume tokens, pero después una herramienta propia puede reducir mucho los tokens y llamadas necesarios para tareas importantes
      También se pueden bloquear mejor las llamadas a herramientas, hacer que el trabajo del agente sea más reintentable y reducir modos de falla. Así también se evita la situación en la que la laptop se apaga a media tarea y el agente gasta un montón de tokens tratando de reconstruir hasta dónde había llegado
  • Me sorprendió que algunas Skills ni siquiera describen un procedimiento exacto o qué hay que hacer, sino que apenas funcionan como una especie de discurso motivacional para primar al modelo y que produzca mejor texto en ciertas tareas
    La frontend design skill que usa Claude también es casi como pedirle por favor que elija buenas tipografías y mantenga consistencia en el diseño, sin mucha especificidad sobre qué fuentes usar ni cómo construir la paleta de colores o el layout
    https://github.com/anthropics/claude-code/blob/main/plugins/...

  • Los agentes que escriben código pueden generar una deuda recurrente. Si aceptas los resultados del asistente de código sin verificar si están bien, pierdes conocimiento sobre tu propia base de código
    Archivos de contexto como CLAUDE.md, protocolos de migración y protocolos de autenticación solo funcionan bien cuando los entiendes lo suficiente como para actualizarlos correctamente
    Me ha pasado que acepté a ciegas durante dos horas código hecho por un agente y luego ya no podía crear nuevos archivos de contexto porque había olvidado cómo funcionaba la base de código. Esa deuda de skill no aparece en el diff, pero se revela en el momento en que necesitas guiar al agente

    • Más que recurrente, quizá sería recursiva
      Cuando se hace un cambio grande de funcionalidad, conviene primero acordar en el chat cuál es el problema de dominio de negocio que se quiere resolver antes de pedirle al agente que escriba código. Es como sentarse con alguien de una consultora externa a aterrizar lo que quieres
      Después, junto con el agente, se redacta un documento de diseño en bullets jerárquicos como un archivo .md real, dejando que el agente genere y modifique la mayor parte, pero revisando con cuidado los problemas y decisiones ambiguas, para cerrar ahí las decisiones de diseño
      Luego se le pide que convierta la especificación de diseño en el esqueleto de un conjunto de pruebas de especificación BDD, y que las vaya llenando durante la implementación
      En la fase de implementación se pueden agregar, modificar o eliminar pruebas unitarias e integrales, pero el archivo de especificación de diseño y la estructura de pruebas BDD derivada de él deben permanecer fijos. Antes de darlo por terminado, las pruebas BDD deben estar llenas con lógica acorde a sus etiquetas y todas deben pasar
      Si el proyecto es muy grande, se puede correr otro sprint repitiendo el proceso de definir nuevos requisitos de negocio, ajustar el diseño y agregar otro conjunto BDD. O entre los pasos 2 y 3 se puede dividir el diseño en milestones y hacer que solo se creen y resuelvan ítems BDD para el milestone actual
      En el fondo, la idea es usar un enfoque waterfall con los LLM. Si todo el proceso termina en una hora, waterfall puede resultar bastante cómodo
      La clave es que al terminar el proyecto o milestone, se le pida al agente en el chat que explique el código que escribió, pero restringiéndolo para que no explique lo que ya estaba claro desde el diseño
      Así se le puede hacer convertir las partes sorprendentes en comentarios de código, y el resultado no son comentarios formales basura, sino comentarios que sí parecería escribir una persona
  • Sin benchmarks ni evaluaciones, ¿cómo sabes que da mejores resultados que /create-skill? Las pruebas ingenuas no inspiran confianza

    • Creo que aquí se habla del desarrollo de skills de las personas. Es una función para ofrecer oportunidades de aprendizaje al usuario
      Se explica que, cuando terminas trabajo de arquitectura, Claude te propone ejercicios opcionales de 10 a 15 minutos basados en ciencia del aprendizaje sustentada en evidencia. Usa técnicas como predicción, generación, práctica de recuperación y repetición espaciada, proporcionando ejemplos a medio terminar a partir del trabajo de tu propio proyecto
      El nombre es confuso
    • Parece que estamos tan empapados de LLM que apenas sale terminología relacionada aparece una reacción pavloviana
    • Qué bueno que salió el tema de las evaluaciones, pero ahora me da curiosidad saber qué usan o qué buscan. También quisiera saber si lo están construyendo ellos mismos o si usan algún framework de evaluación existente
  • Para quienes todavía no se han metido en esta madriguera, Skills es un archivo Markdown estructurado que describe cómo manejar una tarea de alcance limitado
    Por ejemplo, si escribes endpoints de API de cierta manera, pones ese procedimiento en una skill. Más adelante, si el agente ve esa skill y decide que es relevante para el contexto actual del chat, la carga y actúa según esas instrucciones
    Es parecido a una llamada de herramienta, pero no es una función invocable, sino una guía sobre cómo realizar esa “skill”
    Al menos en Cline, que es el que uso, se pueden definir Skills globales o locales a nivel de proyecto

    • Las Skills también tienen un encabezado llamado frontmatter, y parte de eso se comparte al inicio del contexto, como en un archivo CLAUDE.md
      Por lo que escuché aquí, cargar una skill puede tener efectos separados en el contexto, como permanecer incluso después de la compresión
      Si cargas varias skills, podrían quedar cargadas permanentemente en la sesión
      Me parece que combinan bien con subagents. Si un subagent carga una skill, hace el trabajo y solo presenta el resultado, el agente orquestador ni siquiera necesita conocer su contenido
  • No tengo claro qué significa exactamente el adaptive dynamic textbook approach. Necesito un ejemplo
    Pero sí es totalmente cierto que, si aceptas código generado y escribes menos código por ti mismo, te saltas el procesamiento activo con el que construyes entendimiento

  • No entiendo por qué se toman el trabajo de crear estas ideas tan buenas y luego no poner un enlace a una demo o salida de ejemplo. Es un patrón que se ve todos los días en HN
    ¿La única forma de ver cómo se ve realmente esta skill es descargarla y ejecutarla uno mismo? No me dan ganas

    • Por ahora, el uso de skills me parece mucho menos confiable que instrucciones explícitas en AGENTS.md
      Entiendo la idea de evitar inflar el contexto al no agregar skills cuando no son relevantes, pero si AGENTS.md no da una instrucción explícita, no hay garantía de que el agente use la skill. Entonces termina pareciéndose mucho a cualquier archivo Markdown referenciado desde algún lugar
      Al construir https://www.agentkanban.io, un tablero de trabajo integrado con GitHub Copilot, experimenté bastante con dónde poner las instrucciones
      Una estructura a un nivel por debajo de AGENTS.md funcionó bastante bien. Como necesitaba que el agente tomara de forma confiable IDs específicos de tareas, terminé estableciendo un INSTRUCTION.md dentro de archivos gestionados por la herramienta, lo que además reduce la contaminación de AGENTS.md
      También probé Skills, pero las omitía con demasiada frecuencia, así que me costó más lograr que la herramienta operara con la misma confiabilidad que mi enfoque actual
    • Ahí mismo está SKILL.md, así que basta leerlo para saber qué hace
  • La idea me gusta mucho. Una vez hice que Claude tomara material didáctico y documentación de código abierto para improvisar un manual de estudio
    Me pregunto si esta skill se puede extender a un ámbito más general de aprendizaje y aplicación, o si está especializada en código

  • Las reacciones aquí son interesantes, pero me parece que la mayoría está perdiendo el punto central
    Para mí, la lección importante está en aprender viendo cómo otras personas usan Skills. Ayer vi una clase de Matt Pocock sobre uso de agentes, y mostraba Skills de formas como usar una skill “grill-me” para hacer evolucionar un documento de requisitos de producto
    No voy a copiar exactamente lo que hace, pero sí me dio ideas sobre cómo crear requisitos e implementarlos
    Como dicen los ingenieros de Anthropic, Claude es como un ingeniero talentoso, pero con poca especialización. Skills son las carpetas y archivos con los que se construye esa especialización
    Otra cosa que aprendí de Pocock es que, mientras más largo se vuelve el contexto o el tamaño en tokens, más tonta tiende a ponerse la respuesta. Entonces Skills también es otra forma de presentar el problema al LLM de manera comprimida y obtener una respuesta optimizada
    Claude también tiene rasgos de comportamiento. Si alguien crea skills de forma repetida, puede que no se transfieran bien a otros usuarios. Cada quien conversa con Claude de manera distinta
    Por eso me da algo de duda compartir mi carpeta de skills con colegas. En cambio, pienso mostrar lo que hice como demo para que vean lo que es posible y luego cada quien encuentre su propio flujo de trabajo
    El valor está en ver cómo otra persona construye cosas con Claude y luego imitarlo a su manera. Se parece a cuando uno aprendía a programar copiando código del libro de C de Kernighan y Ritchie, tecleándolo, cambiándolo para entender cómo funcionaba y luego adaptándolo a tu propósito
    Otra razón por la que saqué el tema de los rasgos de comportamiento es que me resulta interesante que la autora sea psicóloga, porque es probable que su forma de interactuar con Claude sea bastante distinta a la de un programador
    Relacionado con eso, como el autor y varios especialistas de distintas áreas dejaron Twitter hace tiempo, quiero instalar bsky o Mastodon para seguirlos. Creo que es importante observar cómo personas expertas que no son programadoras usan los LLM

  • Es una buena idea, así que estuve explorando varias cosas esta mañana
    He sentido con mucha fuerza algo parecido a una fuga de cerebro por usar demasiado la IA, y aunque esto no es una solución completa, me parece que hacer unos cuantos ejercicios al día sí podría ayudar bastante