Analyse de couverture de code

VérifiéPrudence

Analyse la couverture des tests, identifie les chemins non testés et génère des tests pour les zones critiques.

Spar Skills Guide Bot
TestingIntermédiaire
22/07/2026
Claude Code
#test-coverage#coverage-analysis#test-generation#quality-assurance#multi-language

Recommandé pour

Synthèse automatique

Analyse la couverture de tests d'un projet, repère les zones de code non testées les plus critiques et génère des tests pour y remédier.

Points forts

  • Détecte automatiquement l'outil de couverture du projet (Jest, Vitest, c8, pytest, Go, tarpaulin) et exécute la commande adaptée
  • Bascule vers une analyse statique des fonctions et branches quand aucun outil de couverture n'est configuré
  • Priorise les lacunes par impact métier, gestion d'erreurs, sécurité et complexité cyclomatique plutôt que par simple pourcentage
  • Produit un plan d'amélioration chiffré (couverture actuelle, cible, tests à écrire) et respecte les conventions de test existantes

Limites

  • Suppose que les commandes de couverture sont installées et exécutables ; un échec silencieux (2>/dev/null) peut masquer la vraie cause
  • Limitée aux cinq écosystèmes listés (npm, Python, Go, Rust) pour l'exécution réelle de la couverture
  • La génération se concentre sur les cinq zones les plus critiques, pas sur une couverture exhaustive
Quand l'utiliser

À utiliser avant une release ou une revue de code pour identifier et combler les trous de couverture sur les parties sensibles du code.

Quand l'éviter

À éviter si vous cherchez à atteindre mécaniquement 100 % de couverture ou si le projet n'a ni tests ni outillage de couverture et que vous voulez d'abord une stratégie de test globale.

Analyse de sécurité

Prudence
Score qualité87/100

The skill uses powerful but appropriate tools for test coverage analysis: it runs local coverage commands, inspects project files, and writes generated tests. There is no evidence of destructive commands, secret exfiltration, obfuscated payloads, or safety bypass. The main risk is normal for developer tooling: executing project tests and package-manager commands can run arbitrary repository code, so it is best treated as caution rather than safe.

Points d'attention
  • •Bash is allowed and the skill runs project test/coverage commands such as `npx jest`, `npx vitest`, `pytest`, `go test`, and `cargo tarpaulin`, which execute repository code and may fetch/install tooling.
  • •Write is allowed and the skill generates new test files in the target project.
  • •Inline detection commands read project configuration files (e.g., `package.json`, `pyproject.toml`), which is legitimate but still accesses local project metadata.
Comment cette analyse est faite

Exemples

Coverage check on a module
/code-coverage src/billing/invoice.ts
Analyze the whole project
/code-coverage all
Pre-release coverage pass
Run code coverage on the auth module, show me the uncovered error paths, and generate tests for the most critical ones before we ship.

name: code-coverage description: "Analyzes test coverage, identifies untested code paths, and generates tests for the most critical uncovered areas. Use to improve test coverage before releases." argument-hint: "[file, module, or 'all']" allowed-tools: Read, Grep, Glob, Bash, Write

Test Coverage Analysis

Detect Test Setup

!ls package.json jest.config.* vitest.config.* .nycrc* .c8rc* .coveragerc* setup.cfg pyproject.toml tox.ini 2>/dev/null !cat package.json 2>/dev/null | grep -E "jest|vitest|c8|nyc|istanbul|coverage" | head -5


Process

Step 1: Run Coverage (if configured)

Attempt to run the project's coverage command:

| Ecosystem | Coverage Command | |-----------|-----------------| | npm (Jest) | npx jest --coverage --json 2>/dev/null | | npm (Vitest) | npx vitest run --coverage 2>/dev/null | | npm (c8) | npx c8 report --reporter=json 2>/dev/null | | Python (pytest) | python -m pytest --cov --cov-report=json 2>/dev/null | | Go | go test -coverprofile=coverage.out ./... 2>/dev/null && go tool cover -func=coverage.out | | Rust | cargo tarpaulin --out json 2>/dev/null |

If coverage tools aren't configured, proceed with static analysis.

Step 2: Static Analysis (if no coverage tool)

For the target file(s):

  1. Identify all public functions, methods, and classes
  2. Search for corresponding test files
  3. For each function, check if there's a test that calls it
  4. Map which code paths (branches, error handlers) have test coverage

Step 3: Coverage Report

Summary

| Metric | Value | |--------|-------| | Line coverage | XX% | | Branch coverage | XX% | | Function coverage | XX% | | Uncovered files | X |

Uncovered Critical Code

List the most important uncovered code, prioritized by:

  1. Business logic — core features and workflows
  2. Error handling — catch blocks, error paths, edge cases
  3. Security-sensitive — auth, input validation, data access
  4. Complex logic — functions with high cyclomatic complexity

For each uncovered area:

  • File path and line numbers
  • What the code does
  • Why it's important to test
  • Suggested test cases

Step 4: Generate Missing Tests

For the top 5 most critical uncovered areas, generate test code following the project's test patterns (same structure as /write-tests).

Step 5: Coverage Improvement Plan

| Priority | File | Current | Target | Tests Needed | |----------|------|---------|--------|-------------| | 1 | ... | XX% | 80%+ | ... | | 2 | ... | XX% | 80%+ | ... |


Rules

  • Focus on meaningful coverage, not 100% — test behavior, not implementation
  • Prioritize business logic and error paths over boilerplate
  • Don't generate tests just to increase numbers — each test should validate something valuable
  • Respect existing test patterns and conventions

Du fichier au premier essai

Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.

Consulter la source et ses fichiers annexes

Ce téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.

1. Télécharger le fichier

Télécharger SKILL.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/code-coverage-analysis-mrwakb91/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.

Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.

mkdir -p '.skill-downloads/code-coverage-analysis-mrwakb91' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/code-coverage-analysis-mrwakb91/download' --output '.skill-downloads/code-coverage-analysis-mrwakb91/SKILL.md.part' && mv '.skill-downloads/code-coverage-analysis-mrwakb91/SKILL.md.part' '.skill-downloads/code-coverage-analysis-mrwakb91/SKILL.md'

2. Vérifier les prérequis

Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.

Outils déclarés par l’auteur (à vérifier dans votre agent) : Read, Grep, Glob, Bash, Write

Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.

Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.

3. Charger la skill

Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.

Claude Code
test -f '.skill-downloads/code-coverage-analysis-mrwakb91/SKILL.md' && test -s '.skill-downloads/code-coverage-analysis-mrwakb91/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/code-coverage' && cp -R '.skill-downloads/code-coverage-analysis-mrwakb91' '.claude/skills/code-coverage'

OpenSkills

OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.

Installation officielle d’OpenSkills
openskills install './.skill-downloads/code-coverage-analysis-mrwakb91'

openskills read 'code-coverage-analysis-mrwakb91'

La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.

Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.

openskills sync

Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.

4. Faire un premier essai

Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :

Lis .skill-downloads/code-coverage-analysis-mrwakb91/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.

Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.

Skills similaires