Communitygithub.com

ZepiGit/league-api-engineering

Guía de ingeniería basada en evidencia y compatible con la política Vanguard para integraciones de datos de League of Legends. Crea herramientas compatibles de manera más efectiva.

¿Qué es league-api-engineering?

Este skill es una guía de ingeniería completa y autoritativa para desarrolladores que construyen integraciones de datos con League of Legends (LoL). Está diseñado para garantizar que las herramientas y aplicaciones que interactúan con las API de Riot, el cliente local de LoL (LCU), o fuentes de datos comunitarias se adhieran estrictamente a los límites de seguridad, privacidad y términos de servicio. El skill define cinco modos de operación primarios (implementar, auditar, depurar, investigar, política) con entregables específicos para cada uno, y establece puertas de control no negociables que prohíben el manejo inseguro de secretos, el acceso peligroso al cliente local, tergiversaciones de autoridad y sustituciones silenciosas de datos mediante fallbacks incorrectos. Utiliza un flujo de trabajo estructurado de decisión de fuentes que clasifica los datos, evalúa candidatos contra criterios como autoridad y frescura, y exige clases de evidencia (verificado-actual, observado-no documentado, histórico, inferencia) para cada afirmación. Proporciona un vocabulario de fallos estandarizado, una plantilla de contrato de adaptador y un formato de informe de auditoría detallado para garantizar la coherencia y capacidad de mantenimiento. Este skill es fundamental para cualquier equipo que desarrolle herramientas de LoL, ya que evita riesgos legales y técnicos, como el baneo de cuentas, al forzar el cumplimiento documentado.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add ZepiGit/league-api-engineering

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Ingeniería de API de League of Legends

Selecciona exactamente un modo primario. Para una solicitud mixta, indica el modo dominante y el entregable secundario antes de proceder.

ModoUso paraResultado requerido
implementAgregar o modificar una integración de datosDecisión de fuente → contrato de adaptador → fixtures/pruebas sanitizadas → plan de implementación o código → puertas de control
auditEvaluar una integración existenteInventario → etiquetas de evidencia → matriz de riesgos → correcciones priorizadas y específicas por fuente
debugUna integración fallida o engañosaReproducción → clase de fallo → inspección de transporte/esquema/caché/fallback → prueba de corrección
researchElegir una fuente o verificar hechos actualesMapa de evidencia fechado → evaluación de fuente → decisión
policyDeterminar si el uso de datos o el comportamiento del producto está permitidoRevisión de producto/datos → puerta de política → decisión de permitido, restringido o bloqueado

Puertas de control no negociables

Rechaza un diseño en lugar de sortear una puerta fallida:

  • Secretos y privacidad: nunca incrustar, persistir o registrar claves de Riot, credenciales de LCU, tokens de portador, cookies, PII o historiales reales de jugadores.
  • Seguridad del cliente local: sin inyección, hooks, acceso a memoria de procesos, escaneo de memoria, evasión de anti-trampas, extracción de estado oculto o afirmaciones de control exclusivo en pantalla completa. La relajación del certificado de bucle invertido se limita a un cliente explícitamente vinculado a 127.0.0.1 o localhost; nunca es reutilizable para HTTPS remoto.
  • Autoridad y términos: no representes un endpoint o proveedor no documentado como oficialmente compatible. Verifica los términos aplicables, atribución, redistribución, autenticación y condiciones de límite de velocidad antes de su uso.
  • Veracidad del fallback: un fallback debe preservar las semánticas de población, alcance, frescura, parche, configuración regional, cola y procedencia. Los datos materialmente diferentes son un resultado separado, no un sustituto silencioso.
  • Solicitudes no compatibles: no inventes estimaciones de MMR/ELO, infieras estado oculto o expongas información de jugador no disponible. Devuelve policy_blocked o unsupported_context con la restricción.

Flujo de trabajo de decisión de fuente

  1. Clasifica los datos solicitados: sesión local, partida activa, datos estáticos/versionados, datos remotos de cuenta/partida/clasificación, datos de tendencias agregadas o estado oculto/no compatible.
  2. Comienza con source-decision-tree.md; elige candidatos según autoridad, acceso, enrutamiento, frescura, estabilidad, cobertura de parches, latencia, términos, privacidad, atribución, límites de velocidad y comportamiento ante fallos.
  3. Aplica las puertas de control estrictas antes de puntuar. Se rechaza una fuente que necesite una clave de producción incrustada, acceso local inseguro, datos prohibidos, redistribución no revisada o un fallback incompatible.
  4. Registra una clase de evidencia para cada afirmación material:
    • verified-current: directamente respaldado por una fuente autorizada fechada u observación reproducible actual;
    • observed-undocumented: comportamiento reproducido no garantizado por una autoridad;
    • historical: previamente documentado u observado, no se puede asumir como actual;
    • inference: una conclusión razonada que necesita validación antes de producción.
  5. Escribe o actualiza un contrato de adaptador usando adapter-contract.md, luego adopta controles de caché/fallback, pruebas y canaries.

Vocabulario de fallos

Usa una clase de error primaria y conserva los diagnósticos sanitizados sin procesar por separado: offline, unauthorized, rate_limited, not_found, no_data, unsupported_context, transport, http_status, parse, schema_drift o policy_blocked.

Nunca reintentes ciegamente unauthorized, policy_blocked, parse o schema_drift. Consulta caching-and-fallbacks.md.

Contrato de salida de auditoría

Una auditoría emite un artefacto fechado con:

  1. alcance, clases de datos e inventario de adaptadores;
  2. mapa de fuentes/endpoints con autoridad, estabilidad, clase de evidencia y fecha de revisión de términos;
  3. hallazgos de credenciales, privacidad, acceso local, enrutamiento, versionado y atribución;
  4. hallazgos de compatibilidad de caché, sin datos, reintento, deriva y fallback;
  5. una matriz de riesgos: severidad, probabilidad, comportamiento afectado, evidencia y remediación concreta;
  6. correcciones priorizadas, elementos bloqueados y criterios de verificación.

No etiquetes una suposición como verificada. No llames segura a una fuente solo porque funciona una vez.

Divulgación progresiva

Ejecuta python scripts/validate.py . desde la raíz del paquete antes de publicar cuando el validador esté presente.

Skills relacionados