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
À utiliser avant une release ou une revue de code pour identifier et combler les trous de couverture sur les parties sensibles du code.
À é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é
PrudenceThe 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.
- •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.
Exemples
/code-coverage src/billing/invoice.ts/code-coverage allRun 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):
- Identify all public functions, methods, and classes
- Search for corresponding test files
- For each function, check if there's a test that calls it
- 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:
- Business logic — core features and workflows
- Error handling — catch blocks, error paths, edge cases
- Security-sensitive — auth, input validation, data access
- 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 annexesCe 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.mdDepuis 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’OpenSkillsopenskills 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 syncMode 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.
Comparaison de performances ClickHouse
Testing
Évaluez les résultats de tests de performance ClickHouse, analysez les régressions de PR, comparez avec l'historique et vérifiez la fiabilité des mesures.
Analyse des rapports de performance CI
Testing
Analyse les rapports de comparaison de performance CI pour une PR ClickHouse. Recoupe l'historique master pour distinguer les vraies régressions des tests instables.
Méthode Santa
Testing
Vérification adversarial multi-agents avec deux réviseurs indépendants. La sortie est vérifiée deux fois et corrigée itérativement jusqu'à ce que les deux acceptent avant publication.