Concurrency Review

Examine le code Java concurrent pour les conditions de concurrence, les interblocages, la visibilité et les patterns de threads virtuels.

par decebals · decebals/claude-code-java

Testé · Fonctionne ★ 8.0/10

Concurrency Review — Examine le code Java concurrent pour les conditions de concurrence, les interblocages, la visibilité et les patterns de threads virtuels.

Ce que fait

Une compétence de connaissance et de liste de contrôle qui examine le code Java multithreadé pour la sécurité des threads : conditions de concurrence check-then-act, volatile/visibilité manquante, double-checked locking brisé, ordre de verrouillage d'interblocage, collections non sûres, pièges du proxy Spring @Async, gestion des erreurs CompletableFuture, et patterns de threads virtuels et de concurrence structurée de Java 21/25. Se déclenche lorsque l'utilisateur demande une révision de concurrence, une vérification de sécurité des threads ou une révision de code asynchrone, ou lors de la révision de code utilisant synchronized, volatile, ExecutorService ou @Async.

Rapport de test

SKILL.md et README bruts récupérés du dépôt ; le frontmatter est analysé avec name+description valide et le corps est autonome (uniquement des commandes d'analyse grep, aucun script/fichier référencé à casser, aucune faille de sécurité). Déclenchement : 3 phrases activatrices jugées ("faire une révision de concurrence de mon code ExecutorService", "vérifier la sécurité des threads de ce compteur partagé", "réviser mon service Spring @Async pour les conditions de concurrence" — toutes OUI) et 2 non-activatrices adjacentes ("réviser cette classe Java pour un code propre et un nommage", "optimiser les performances de la requête SQL" — toutes deux NON) ; 5/5 correctes. Sortie : un BankService.java bogué de 28 lignes a été écrit, puis baseline_review.md (sans compétence) et skill_review.md (suivant la liste de contrôle) ont été produits. La base a détecté les 5 mêmes bogues principaux (long non atomique, volatile manquant, DCL, condition de concurrence HashMap, interblocage) ; l'artefact de compétence a ajouté des catégories de triage de gravité, une correction concrète d'interblocage order-by-getId par rapport au vague "interblocage possible" de la base, une section Java moderne et des commandes de balayage grep — une amélioration réelle mais modérée, d'où 6.

Testé le: 2026-07-21 · Claude Code 2.x (agent harness)

Installation

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.

Commandes et exemples de prompts

  • /concurrency-reviewExamine le code Java concurrent pour les conditions de concurrence, les interblocages, la visibilité et les patterns de threads virtuels.

Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :

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