Formato SKILL.md

La especificacion completa para el formato del archivo SKILL.md.

Descripcion General

Un archivo SKILL.md usa Markdown con frontmatter YAML para definir una Agent Skill.

Estructura del Archivo

markdown
---
# YAML Frontmatter (metadata)
name: Skill Name
description: Brief description
---

# Main Content
Your skill instructions in Markdown format.

Campos del Frontmatter

Campos Requeridos

| Campo | Tipo | Descripcion | |-------|------|-------------| | name | string | Nombre de la skill (max 50 caracteres) | | description | string | Descripcion breve (max 200 caracteres) |

Campos Opcionales

| Campo | Tipo | Descripcion | |-------|------|-------------| | version | string | Version semantica (ej., "1.0.0") | | author | string | Nombre del autor u organizacion | | license | string | Tipo de licencia (ej., "MIT") | | platforms | array | Plataformas soportadas | | categories | array | Categorias de la skill | | tags | array | Palabras clave de busqueda | | repository | string | URL del repositorio fuente | | website | string | Sitio web de documentacion |

Ejemplo de Frontmatter

yaml
---
name: React Best Practices
description: Guidelines for writing clean React components
version: 2.1.0
author: React Community
license: MIT
platforms:
  - claude-code
  - codex
  - chatgpt
categories:
  - development
  - frontend
tags:
  - react
  - javascript
  - components
---

Estructura del Contenido

Secciones Recomendadas

markdown
# Skill Name

## Context
Background information and domain knowledge.

## Guidelines
Specific rules and best practices.

## Do's and Don'ts
Clear behavioral guidance.

## Examples
Sample interactions or code snippets.

## References
Links to additional resources.

Consejos de Formato

  • Usa encabezados (#, ##, ###) para organizar el contenido
  • Usa listas con vinetas para directrices
  • Usa bloques de codigo para ejemplos
  • Usa negritas para enfasis en puntos clave
  • Manten los parrafos concisos

Campo de Plataformas

Especifica que plataformas soporta tu skill:

yaml
platforms:
  - claude-code    # Claude Code CLI
  - codex          # Codex CLI
  - chatgpt        # ChatGPT Custom Instructions

Categorias

Elige entre las categorias disponibles:

Tecnicas:

  • development - Desarrollo general
  • frontend - Desarrollo Frontend/UI
  • backend - Desarrollo Backend/API
  • devops - DevOps/Infraestructura
  • data - Ciencia de datos/Analitica
  • ai-ml - IA/Machine Learning

Profesionales:

  • marketing - Marketing/Contenido
  • design - Diseno/UX
  • legal - Legal/Cumplimiento
  • finance - Finanzas/Contabilidad
  • hr - Recursos Humanos
  • education - Educacion/Capacitacion

Validacion

Tu SKILL.md sera validado para:

  • Sintaxis YAML valida en el frontmatter
  • Campos requeridos presentes
  • Limites de longitud de campos
  • Valores validos de categoria/plataforma
  • Formato de Markdown

Ejemplo Completo

markdown
---
name: TypeScript Best Practices
description: Guidelines for writing type-safe, maintainable TypeScript code
version: 1.0.0
author: TypeScript Community
license: MIT
platforms:
  - claude-code
  - codex
categories:
  - development
  - frontend
  - backend
tags:
  - typescript
  - javascript
  - types
---

# TypeScript Best Practices

## Context
This skill provides guidelines for writing high-quality TypeScript code.

## Guidelines

### Type Safety
- Always define explicit types for function parameters
- Avoid using `any` type
- Use type guards for runtime checks

### Code Organization
- One export per file for main modules
- Group related types in a `types.ts` file
- Use barrel exports for public APIs

## Do's and Don'ts

### Do
- Use strict mode
- Define interfaces for object shapes
- Use generics for reusable code

### Don't
- Suppress TypeScript errors with `@ts-ignore`
- Use `any` as a quick fix
- Mix JavaScript and TypeScript in the same project

## Examples

### Good: Explicit Types
\`\`\`typescript
function greet(name: string): string {
  return \`Hello, \${name}!\`;
}
\`\`\`

### Bad: Implicit Any
\`\`\`typescript
// Avoid this
function greet(name) {
  return \`Hello, \${name}!\`;
}
\`\`\`