Concurrency Review

Revisa código concurrente Java en busca de condiciones de carrera, interbloqueos, visibilidad y patrones de hilos virtuales

Por decebals · decebals/claude-code-java

Probado · Funciona ★ 8.0/10

Concurrency Review — Revisa código concurrente Java en busca de condiciones de carrera, interbloqueos, visibilidad y patrones de hilos virtuales

Qué hace

Una habilidad de conocimiento y lista de verificación que revisa código multihilo Java para seguridad de hilos: condiciones de carrera check-then-act, falta de volatile/visibilidad, bloqueo de doble verificación roto, orden de bloqueo de interbloqueo, colecciones no seguras, trampas de proxy Spring @Async, manejo de errores de CompletableFuture, y patrones de hilos virtuales y concurrencia estructurada de Java 21/25. Se activa cuando el usuario solicita una revisión de concurrencia, verificación de seguridad de hilos o revisión de código asíncrono, o al revisar código que usa synchronized, volatile, ExecutorService o @Async.

Informe de la prueba

Se obtuvieron SKILL.md y README sin procesar del repositorio; el frontmatter se analiza con name+description válido y el cuerpo es autocontenido (solo comandos de análisis grep, sin scripts/archivos referenciados que puedan romperse, sin problemas de seguridad). Activación: se juzgaron 3 frases activadoras ("hacer una revisión de concurrencia de mi ExecutorService code", "verificar la seguridad de hilos de este contador compartido", "revisar mi @Async Spring service en busca de condiciones de carrera" — todas SÍ) y 2 no activadoras adyacentes ("revisar esta clase Java para código limpio y nombres", "optimizar el rendimiento de la consulta SQL" — ambas NO); 5/5 correctas. Salida: se escribió un BankService.java con errores de 28 líneas, luego se produjo baseline_review.md (sin habilidad) y skill_review.md (siguiendo la lista de verificación). La referencia detectó los mismos 5 errores principales (long no atómico, volatile faltante, DCL, condición de carrera de HashMap, interbloqueo); el artefacto de la habilidad agregó cubos de triaje de severidad, una solución concreta de interbloqueo order-by-getId vs el vago "posible interbloqueo" de la referencia, una sección de Java moderno y comandos de barrido grep — una mejora real pero moderada, de ahí el 6.

Probado el: 2026-07-21 · Claude Code 2.x (agent harness)

Instalación

git clone --depth 1 https://github.com/decebals/claude-code-java.git /tmp/concurrency-review-src
mkdir -p ~/.claude/skills
cp -R /tmp/concurrency-review-src/.claude/skills/concurrency-review ~/.claude/skills/concurrency-review
# Self-contained knowledge skill: SKILL.md + README.md only, no scripts, no external deps.
# Body uses plain grep commands for analysis; nothing to install or configure.

Comandos y prompts de ejemplo

  • /concurrency-reviewRevisa código concurrente Java en busca de condiciones de carrera, interbloqueos, visibilidad y patrones de hilos virtuales

Los skills se activan con peticiones en lenguaje natural, sin comandos que memorizar. Tras instalarlo, prompts como estos lo activan (en inglés):

  • Check this code for thread safety issues
  • Review this CompletableFuture chain for deadlocks
  • Audit this @Async method for race conditions