Habilidades python-typing-patterns
🐍

python-typing-patterns

Riesgo bajo ⚡ Contiene scripts⚙️ Comandos externos

Aplicar type hints de Python para código más seguro

También disponible en: 0xDarkMatter

Los type hints de Python mejoran la calidad del código y detectan errores en tiempo de desarrollo. Esta habilidad proporciona patrones y ejemplos para usar anotaciones de tipos, genéricos, protocolos y verificadores de tipos como mypy y pyright.

Soporta: Claude Codex Code(CC)
🥈 77 Plata
1

Descargar el ZIP de la skill

2

Subir en Claude

Ve a Configuración → Capacidades → Skills → Subir skill

3

Activa y empieza a usar

Pruébalo

Usando "python-typing-patterns". Add type annotations to this function: def process(data, multiplier): return [x * multiplier for x in data]

Resultado esperado:

  • def process(data: list[float], multiplier: float) -> list[float]:
  • return [x * multiplier for x in data]

Auditoría de seguridad

Riesgo bajo
v3 • 1/10/2026

This skill provides documentation and patterns for Python type hints. It includes a shell script that runs mypy and pyright type checkers on specified targets. No network calls, no credential access, no data exfiltration. All capabilities match stated purpose.

9
Archivos escaneados
1,963
Líneas analizadas
3
hallazgos
3
Auditorías totales
Problemas de riesgo bajo (1)
External command execution in type checker script
The check-types.sh script executes mypy and pyright type checkers using subprocess calls. Lines 67 and 99 invoke these tools directly. This is necessary for the stated purpose of running type checks, but any script that executes external processes carries inherent risk. An attacker could potentially exploit this if the target path could be manipulated to execute arbitrary code.

Factores de riesgo

Puntuación de calidad

82
Arquitectura
100
Mantenibilidad
81
Contenido
32
Comunidad
88
Seguridad
70
Cumplimiento de la especificación

Lo que puedes crear

Añadir type hints al código

Aprende patrones modernos de anotaciones de tipos de Python para variables, funciones y clases.

Diseñar APIs seguras en tipos

Usa Protocol y genéricos para crear APIs flexibles y bien documentadas.

Configurar verificadores de tipos

Configura mypy y pyright en modo estricto para pipelines de CI.

Prueba estos prompts

Anotaciones básicas
Escribe una función de Python que tome una lista de strings y devuelva un diccionario que asigne cada string a su longitud. Usa anotaciones de tipos modernas de Python.
Funciones genéricas
Crea una clase genérica Stack en Python que funcione con cualquier tipo T. Incluye métodos push, pop y peek.
Patrones de Protocol
Define un Protocol llamado Serializable que requiera un método to_dict. Muestra cómo una clase regular puede satisfacer este Protocol sin herencia explícita.
Estrechamiento de tipos
Escribe una función que acepte str | int | list[str] y devuelva diferentes tipos según qué rama sea verdadera. Usa isinstance para estrechamiento de tipos.

Mejores prácticas

  • Usa sintaxis moderna de Python 3.10+ para uniones (X | Y) en lugar de Union[X, Y]
  • Prefiere Protocol sobre ABC para tipado estructural y tipado pato
  • Habilita el modo estricto en mypy o pyright para detectar más errores de tipos

Evitar

  • Usar Any en todas partes para silenciar errores del verificador de tipos
  • Olvidar instalar type stubs para librerías de terceros
  • Mezclar implicit Optional[X] con sintaxis explícita X | None

Preguntas frecuentes

¿Qué versiones de Python soportan estos patrones de tipos?
Los patrones básicos funcionan con Python 3.10+. Self y TypeVarTuple requieren Python 3.11+. TypeIs requiere Python 3.13+.
¿Qué tan estricto debe ser mi verificación de tipos?
Empieza con el modo estándar en pyright o configuración básica de mypy. Habilita gradualmente el modo estricto a medida que tu código base se vuelve completamente tipado.
¿Puedo usar esta habilidad con código sin tipos existente?
Sí. Los verificadores de tipos pueden analizar código mixto tipado y no tipado. Usa ignore_missing_imports para librerías de terceros sin stubs.
¿Mis datos están seguros al ejecutar verificadores de tipos?
Los verificadores de tipos solo leen y analizan archivos fuente de Python. No ejecutan código ni acceden a red, variables de entorno o credenciales.
¿Por qué obtengo falsos positivos con mypy o pyright?
Instala type stubs para paquetes de terceros. Usa comentarios # type: ignore con moderación. Habilita reportMissingTypeStubs para encontrar stubs faltantes.
¿Cómo se compara con Pyre u otros verificadores de tipos?
mypy y pyright son los más usados. Pyre es más rápido pero requiere Python 3.7+. Esta habilidad se centra en mypy y pyright ya que tienen la mejor documentación y soporte del ecosistema.