cursos:sdd:19-creando-skills
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| cursos:sdd:19-creando-skills [2026/10/30 08:25] – Cambia el título a «Estructura de un skill» claude | cursos:sdd:19-creando-skills [2026/10/30 13:56] (actual) – Lorenzo | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| - | ====== | + | ====== |
| - | + | ||
| - | Qué es una //skill//, su frontmatter y cómo se redacta están en [[cursos: | + | |
| + | Qué es una //skill//, su frontmatter y cómo se redacta están en [[cursos: | ||
| Más información: | Más información: | ||
| Línea 9: | Línea 8: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| + | |||
| + | |||
| + | Cada //skill// es una carpeta dentro de la carpeta de //skills// del proyecto. La carpeta en concreto depende de la herramienta: | ||
| + | |||
| + | * **OpenCode**: | ||
| + | * **Claude Code**: '' | ||
| + | |||
| + | OpenCode también lee '' | ||
| ---- | ---- | ||
| - | ===== 1. La carpeta | + | ===== 1. El nombre |
| - | Solo el '' | + | El nombre de la //skill// (su carpeta y su '' |
| + | |||
| + | * **'' | ||
| + | * **'' | ||
| + | |||
| + | Detrás del prefijo, en // | ||
| + | |||
| + | Ventajas del prefijo: | ||
| + | |||
| + | * **No chocan con los comandos de Claude Code**, que también se lanzan con '' | ||
| + | * **Escribiendo ''/ | ||
| + | |||
| + | |||
| + | ===== 2. Estructura de carpetas y ficheros de un skill que " | ||
| + | Para explicar la estructura de carpetas de un skill , lo vamos a hacer con un ejemplo de un skill que " | ||
| <sxh text; | <sxh text; | ||
| - | .claude/ | + | .opencode/ |
| - | ├── SKILL.md | + | ├── SKILL.md |
| - | ├── transacciones.md | + | ├── transacciones.md |
| ├── templates/ | ├── templates/ | ||
| - | │ | + | │ |
| ├── examples/ | ├── examples/ | ||
| - | │ | + | │ |
| ├── references/ | ├── references/ | ||
| - | │ | + | │ |
| ├── scripts/ | ├── scripts/ | ||
| - | │ | + | │ |
| ├── assets/ | ├── assets/ | ||
| - | │ | + | │ |
| └── evals/ | └── evals/ | ||
| - | └── update-sin-filtrar/ | + | └── update-sin-filtrar/ |
| </ | </ | ||
| Qué hace cada pieza está en [[cursos: | Qué hace cada pieza está en [[cursos: | ||
| - | ^ Carpeta ^ Contiene ^ Lo lee ^ Se carga ^ | + | ^ Carpeta |
| - | | '' | + | | '' |
| - | | ''< | + | | ''< |
| - | | '' | + | | '' |
| - | | '' | + | | '' |
| - | | '' | + | | '' |
| - | | '' | + | | '' |
| - | | '' | + | | '' |
| - | | '' | + | | '' |
| - | Reglas de la carpeta: | ||
| - | * **La carpeta se llama igual que el '' | + | ===== 3. SKILL.md ===== |
| - | * **En la raíz, solo las carpetas del árbol.** Un tema es un fichero | + | En el fichero |
| - | * **Nombres en // | + | |
| - | <sxh text; | + | |
| - | ✅ scripts/ | + | |
| - | ❌ scripts/ | + | |
| - | ❌ templates/ | + | |
| - | </ | + | |
| - | <note important> | + | El motivo de hace esto es paa ahorrar contexto. A veces un skill trata de varios temas relacionados. Por ejemplo, si vamos a cear un CRUD, podríamos tener un skill que sepa hacer CRUDs y en ese caso hablaría sobre controladores, |
| - | ---- | ||
| - | ===== 2. El índice ===== | + | ===== 3. El índice ===== |
| La tabla índice del '' | La tabla índice del '' | ||
| Línea 76: | Línea 89: | ||
| ---- | ---- | ||
| - | ===== 3. Dos tipos de skill ===== | + | ===== 4. Dos tipos de skill ===== |
| - | Cada tipo tiene su estructura fija de '' | + | Cada tipo tiene su estructura fija de '' |
| ^ ^ Conocimiento ^ Procedimiento ^ | ^ ^ Conocimiento ^ Procedimiento ^ | ||
| - | | Nombre | '' | ||
| | Qué hace | Describe convenciones, | | Qué hace | Describe convenciones, | ||
| - | | Quién la usa | Otras //skills// y agentes, que la cargan | Tú, con ''/ | + | | Quién la usa | Otras //skills// y agentes, que la cargan | Tú, con ''/ |
| | Argumentos | No | '' | | Argumentos | No | '' | ||
| | Fases y '' | | Fases y '' | ||
| - | Si hacen falta las dos cosas, son dos //skills//: '' | + | Si hacen falta las dos cosas, son dos //skills//: '' |
| ==== Skill de conocimiento ==== | ==== Skill de conocimiento ==== | ||
| Línea 100: | Línea 112: | ||
| # k-servicios | # k-servicios | ||
| - | Reglas de las clases `*Service` del servidor. La cargan `crear-servicio` y `revisar-pr`. | + | Reglas de las clases `*Service` del servidor. La cargan `do-crear-servicio` y `do-revisar-pr`. |
| ## Índice | ## Índice | ||
| Línea 132: | Línea 144: | ||
| Sigue la estructura de los comandos de [[https:// | Sigue la estructura de los comandos de [[https:// | ||
| - | <sxh markdown; | + | <sxh markdown; |
| --- | --- | ||
| - | name: crear-servicio | + | name: do-crear-servicio |
| description: | description: | ||
| specs/. Usar cuando se pida crear, añadir o generar un servicio o una clase *Service. | specs/. Usar cuando se pida crear, añadir o generar un servicio o una clase *Service. | ||
| --- | --- | ||
| - | # crear-servicio | + | # do-crear-servicio |
| Eres un desarrollador del servidor: conviertes un requisito de `specs/` en un `*Service` con su test. | Eres un desarrollador del servidor: conviertes un requisito de `specs/` en un `*Service` con su test. | ||
| Línea 183: | Línea 195: | ||
| ## 3. Fase 3 — Comprobar | ## 3. Fase 3 — Comprobar | ||
| - | 1. Ejecuta `python3 .claude/ | + | 1. Ejecuta `python3 .claude/ |
| 2. Ejecuta `./mvnw -pl servidor test`. | 2. Ejecuta `./mvnw -pl servidor test`. | ||
| Línea 198: | Línea 210: | ||
| * **Frase de entrada**: el **rol** que asume el modelo y **qué transforma en qué**. | * **Frase de entrada**: el **rol** que asume el modelo y **qué transforma en qué**. | ||
| - | * **''## | + | * **''## |
| * **''## | * **''## | ||
| * **Una sección por fase** del Outline, con sus pasos. | * **Una sección por fase** del Outline, con sus pasos. | ||
| Línea 207: | Línea 219: | ||
| ---- | ---- | ||
| - | ===== 4. evals/: las pruebas de la skill ===== | + | ===== 5. evals/: las pruebas de la skill ===== |
| Una //skill// se prueba como el código: una batería de casos que se repite **al editarla y al cambiar de modelo**. Cada caso responde a dos preguntas: | Una //skill// se prueba como el código: una batería de casos que se repite **al editarla y al cambiar de modelo**. Cada caso responde a dos preguntas: | ||
| Línea 301: | Línea 313: | ||
| ==== Ejercicio 3 ==== | ==== Ejercicio 3 ==== | ||
| - | Escribe la //skill// de procedimiento '' | + | Escribe la //skill// de procedimiento '' |
| ==== Ejercicio 4 ==== | ==== Ejercicio 4 ==== | ||
| - | Crea la carpeta '' | + | Crea la carpeta '' |
| ^ Caso ^ Prompt ^ Evaluador del resultado ^ Evaluador del proceso ^ | ^ Caso ^ Prompt ^ Evaluador del resultado ^ Evaluador del proceso ^ | ||
cursos/sdd/19-creando-skills.1793345158.txt.gz · Última modificación: por claude
