01

Skills, prompts y reglas por lenguaje

Mejora el código que generan tus agentes de IA

Catálogo de skills, prompts y reglas específicas para 9 lenguajes y 10 agentes diferentes, desde Cursor y Claude hasta Copilot, Cline o Windsurf.

9Lenguajes
10Agentes
npxInstalación

Lo que cambian estas skills

PythonMás tipos útiles, menos scripts frágiles
RustOwnership, errores y pruebas mejor guiados
ReactComponentes más accesibles y estado más predecible
02

El qué y el porqué

Qué cambian en la práctica

Sin contexto, un agente suele escribir código útil pero inconsistente. Con una skill por lenguaje, el agente recibe mejores defaults de arquitectura, testing, tipos, debugging y criterios de calidad.

Python
Sin skill

Funciona hoy, pero se degrada rápido

  • helpers gigantes y responsabilidades mezcladas
  • errores ad hoc y casi nada de tipado
  • tests opcionales o inexistentes
def process(data):
    result = []
    for item in data:
        if item.get("active"):
            result.append(item["email"].lower())
    return result
Con python-engineering

Mejores defaults para mantenerlo vivo

  • módulos pequeños y límites claros
  • type hints útiles y errores más previsibles
  • debugging y pruebas planteados desde el inicio
from collections.abc import Iterable

def collect_active_emails(users: Iterable[dict[str, object]]) -> list[str]:
    emails: list[str] = []
    for user in users:
        if user.get("active") is True and isinstance(user.get("email"), str):
            emails.append(user["email"].lower())
    return emails

Resultado: menos deuda accidental cuando el agente toca APIs, automatización o notebooks.

Rust
Sin skill

Código que compila con fricción innecesaria

  • clones innecesarios y ownership poco pensado
  • panic! donde debería vivir Result
  • cero disciplina con cargo test o clippy
fn load_name(input: &str) -> String {
    let data = std::fs::read_to_string(input).unwrap();
    data.trim().to_string()
}
Con rust-engineering

Ownership y errores mejor encajados

  • flujos de ownership más claros
  • errores modelados con Result y contexto
  • hábitos de validación antes de darlo por bueno
fn load_name(path: &str) -> Result<String, std::io::Error> {
    let data = std::fs::read_to_string(path)?;
    Ok(data.trim().to_owned())
}

Resultado: menos iteraciones absurdas para conseguir código idiomático, seguro y mantenible.

TypeScript
Sin skill

Tipos flojos y validación tarde

  • uso de any para salir del paso
  • errores de API descubiertos demasiado tarde
  • módulos acoplados a respuestas sin validar
export async function getUser(id: string) {
  const res = await fetch('/api/users/' + id);
  return res.json();
}
Con typescript-engineering

Contratos más fuertes en los bordes

  • tipado estricto desde la entrada
  • runtime checks donde realmente importan
  • módulos más fáciles de testear y refactorizar
type User = { id: string; email: string; active: boolean };

export async function getUser(id: string): Promise<User> {
  const res = await fetch('/api/users/' + id);
  const data: unknown = await res.json();
  if (!isUser(data)) throw new Error('Invalid user payload');
  return data;
}

Resultado: menos roturas silenciosas cuando el agente toca front, back o integraciones compartidas.

React
Sin skill

Estado y efectos sin demasiada disciplina

  • effects que mezclan carga, eventos y render
  • componentes difíciles de probar
  • accesibilidad tratada como detalle final
useEffect(() => {
  fetch('/api/items').then((r) => r.json()).then(setItems);
}, [filter, page, sort]);
Con react-engineering

Componentes más previsibles y accesibles

  • responsabilidades separadas por hook y componente
  • estado más estable en cambios rápidos
  • mejores defaults de accesibilidad y testing
const loadItems = useEffectEvent(async () => {
  const nextItems = await fetchItems({ filter, page, sort });
  startTransition(() => setItems(nextItems));
});

useEffect(() => {
  void loadItems();
}, [loadItems]);

Resultado: menos componentes frágiles cuando el agente genera interfaces, dashboards o flows complejos.

03

Elige una disciplina

Catálogo de skills

Cada skill define cómo debería pensar y ejecutar un agente en ese lenguaje: estructura, pruebas, errores, rendimiento y decisiones de diseño.

python-engineering

Python

Para APIs, notebooks, automatización y pipelines con código que sigue siendo legible meses después.

  • Type hints y mantenibilidad
  • FastAPI y automatización
  • Tests, debugging y review
java-engineering

Java

Para servicios JVM, sistemas por capas y Java pensado como ingeniería real, no como ceremonia.

  • Patrones JDK 17+
  • Estructura segura para Spring
  • JUnit y límites de servicio
rust-engineering

Rust

Para crates, CLIs, servicios async y trabajo sensible al rendimiento con ownership explícito.

  • Diseño consciente de ownership
  • Errores guiados por Result
  • Hábitos con Cargo test y clippy
cpp-engineering

C++

Para código nativo, toolchains y componentes de bajo nivel que necesitan disciplina moderna en C++.

  • RAII y ownership
  • CMake y testabilidad
  • Rendimiento sin caos
typescript-engineering

TypeScript

Para tipado estricto, validación en bordes y código full-stack que no se rompe en silencio.

  • Tipado estricto
  • Validación en runtime
  • Vitest y diseño modular
react-engineering

React

Para sistemas UI resilientes, componentes accesibles y estado predecible incluso bajo presión.

  • Disciplina con effects
  • Componentes accesibles
  • Patrones con Testing Library
r-engineering

R

Para análisis reproducible, reporting, paquetes y flujos estadísticos que sobreviven al handoff.

  • Reproducibilidad
  • Claridad en flujos de datos
  • Cobertura con testthat
php-engineering

PHP

Para Laravel, Symfony y servicios modernos en PHP con bordes tipados y arquitectura sensata.

  • Diseño en PHP 8.x
  • Límites del framework
  • Defaults conscientes de seguridad
ruby-engineering

Ruby

Para Rails, gems y sistemas Ruby que siguen siendo legibles cuando escalan en complejidad.

  • Objetos Ruby simples
  • Controllers finos en Rails
  • RSpec o Minitest
04

Configúralo en minutos

Instalación

Elige lenguaje y agente, copia el comando y deja preparada una instalación global o local sin pelearte con rutas manuales.

nativoCLI
Selección activa
PythonPython
OpenAI CodexOpenAI Codex

Para APIs, notebooks, automatización y pipelines con código que sigue siendo legible meses después.

Terminal de instalaciónPython x OpenAI Codex · Comandos listos para copiar
Instalador universal
npx skills add alberfdez1523/language-skills
Comando para bundle
powershell -ExecutionPolicy Bypass -File .\scripts\build-universal-bundle.ps1
Ruta manual
~/.codex/skills/python-engineering
ZIP manual
https://github.com/alberfdez1523/language-skills/archive/refs/heads/main.zip
05

Sin casarte con una sola herramienta

Compatible con

Preparado para agentes globales y para configuraciones dentro del repositorio, con rutas claras y assets integrados que funcionan bien en modo oscuro.

OpenAI Codex

~/.codex/skills

global

Claude Code

~/.claude/skills

global

Cursor

~/.cursor/skills

global

Gemini CLI

~/.gemini/skills

global

Cline

~/.cline/skills

global

Windsurf

~/.windsurf/skills

global

OpenCode

~/.opencode/skills

global

Kiro

~/.kiro/skills

global

GitHub Copilot

.github/copilot/skills

local

Agents-Compatible

.agents/skills

local