Synthèse automatique
Effectue un audit complet en 7 phases d'un projet logiciel : intégrité structurelle, hygiène du code, complexité, dette technique, cohérence documentation/code, couverture de documentation et cohérence terminologique.
Points forts
- Couvre sept dimensions clés de la maintenance logicielle, de la structure à la terminologie.
- Produit des actions correctives concrètes (chaque problème a une solution proposée).
- S'adapte à tout langage de programmation et utilise des seuils précis (500 lignes par fichier, 50 lignes par fonction).
- Intègre la gestion de tâches via des outils comme todowrite pour suivre les progrès.
Limites
- Nécessite une connaissance préalable des conventions du projet pour être pleinement efficace.
- Les vérifications de cohérence doc/code sont limitées à un échantillon de 3 affirmations principales.
- L'identification des 'god objects' est qualitative et peut manquer de précision.
Utilisez cette compétence en fin de sprint ou avant une release majeure pour nettoyer et aligner le codebase avec les standards architecturaux.
Évitez de l'utiliser sur un code en pleine phase de prototypage rapide où la dette technique est acceptée temporairement.
Analyse de sécurité
SûrThe skill instructs a code audit (reading files, scanning for patterns) and writing a report to whiteboard. It uses safe task management tools and does not invoke any destructive or exfiltrating operations. No shell commands, network access, or sensitive data exposure.
Aucun point d'attention détecté
Comment cette analyse est faiteExemples
Run a full project maintenance and health audit. Execute all 7 phases and write findings to the whiteboard.Perform the maintenance sweep but focus primarily on technical debt: scan for TODOs, FIXMEs, HACKs, and aggregate them by module with criticality analysis.Run phases 1 and 5 of the maintenance audit: check structural integrity (file placement, naming conventions) and consistency between documentation and code.name: flow-maintenance description: >- Perform a comprehensive "Lead Engineer" audit: structure, consistency, code quality, technical debt, documentation coverage, and terminology checks. disable-model-invocation: true
Task: Project Maintenance & Health Audit
Overview
Execute a rigorous 7-point maintenance sweep to identify structural deviations, documentation inconsistencies, dead code, complexity hotspots, technical debt, missing code documentation, and terminology drift. All findings must be actionable and saved to whiteboard.
Context
<context> This command is the "Garbage Collector" and "Building Inspector" for the project. It ensures the codebase remains maintainable, documented, and aligned with architectural standards. It addresses: 1. **Structure**: Files in wrong places. 2. **Consistency**: Docs vs. Code truth. 3. **Hygiene**: Dead code, unused imports, weak tests. 4. **Complexity**: "God objects" and massive functions. 5. **Debt**: Accumulated TODOs. 6. **Language**: Inconsistent terminology. 7. **Doc Coverage**: Missing explanations in code. </context>Rules & Constraints
<rules> 1. **Output Target**: All findings MUST be written to whiteboard. Start with a timestamped header. 2. **Precision**: Use specific thresholds (e.g., File > 500 lines). 3. **Constructive**: Every "Issue" must have a "Proposed Fix". 4. **Holistic**: Scan `documents/`, `.cursor/`, and source code directories. 5. **Mandatory**: Use a task management tool (e.g., `todo_write`, `todowrite`) to track progress through the 7 phases. 6. **Language Agnostic**: Adapt checks (imports, syntax, test patterns) to the primary language of the project (TS, JS, Py, Go, etc.). </rules>Instructions
<step_by_step>
-
Initialize & Plan
- Use a task management tool (e.g.,
todo_write,todowrite) to create a plan covering the 7 phases below. - Read project whiteboard to preserve existing long-term notes (if any), but clear old automated reports.
- Identify project's primary language and source directories.
- Use a task management tool (e.g.,
-
Phase 1: Structural Integrity
- File placement: Check that all source files reside in expected directories per project conventions (e.g.,
src/,lib/,scripts/). Flag files at wrong levels. - Dead directories: Identify empty or orphaned directories with no purpose.
- Naming conventions: Verify file and directory names follow project conventions (case, separators).
- Config files: Ensure project config files (
deno.json,package.json, etc.) are at expected locations.
- File placement: Check that all source files reside in expected directories per project conventions (e.g.,
-
Phase 2: Code Hygiene & Dependencies
- Dead Code: Identify exported/public symbols in source directories that are never imported/called elsewhere.
- Unused Imports: Scan source files for imports/includes that are not used in the file body.
- Test Quality: Read test files (e.g.,
*.test.*,*_test.*,test_*.py). Flag tests that:- Have no assertions.
- Use trivial assertions (e.g.,
expect(true).toBe(true),assert True). - Are commented out.
-
Phase 3: Complexity & Hotspots
- Files: Flag any source file exceeding 500 lines.
- Functions: Scan for functions/methods exceeding 50 lines.
- God Objects: Identify classes/modules with mixed concerns (e.g., logic + UI + database in one file).
-
Phase 4: Technical Debt Aggregation
- Scan: Search for
TODO,FIXME,HACK,XXXtags in the codebase. - Group: Organize by file/module.
- Analysis: Flag any that look critical or like "temporary" fixes that became permanent.
- Scan: Search for
-
Phase 5: Consistency (Docs vs. Code)
- Terminology: Extract key terms from
README.mdanddocuments/. Check if code uses different synonyms (e.g., "User" in docs vs "Customer" in code). - Drift: Pick 3 major claims from
documents/*.md(e.g., "The system handles X asynchronously"). Verify if the code actually does that.
- Terminology: Extract key terms from
-
Phase 6: Code Documentation Coverage
- Rule: Every file, class, method, and exported function MUST have documentation (JSDoc, Docstring, Rustdoc, etc.).
- Check:
- Responsibility: Does the comment explain what it does?
- Nuances: For complex logic (cyclomatic complexity > 5 or > 20 lines), are there examples or edge case warnings?
- Scan: primary source directories.
- Report: List undocumented symbols.
-
Phase 7: Reporting
- Compile all findings into whiteboard with the following format:
# Maintenance Report (YYYY-MM-DD) ## 1. Structural Issues - [ ] File X is in root but should be in Y. (Fix: Move file) ## 2. Hygiene & Quality - [ ] Unused export `myFunc` in `utils.*`. (Fix: Delete) - [ ] `main.*` is 550 lines. (Fix: Extract `processLogic` to new file) ## 3. Technical Debt - [ ] 5 TODOs in `api.*` regarding error handling. ## 4. Consistency - [ ] Docs say "User", code says "Client". (Fix: Standardize on User) ## 5. Documentation Coverage - [ ] `utils.*` - function `parseData` missing docs. (Fix: Add docs) - [ ] `ComplexClass` missing usage example. (Fix: Add example)
- Compile all findings into whiteboard with the following format:
</step_by_step>
Verification
<verification> [ ] Checked structural integrity (file placement, naming, configs). [ ] Scanned for dead code and unused imports. [ ] Checked file/function length limits (500/50 lines). [ ] Aggregated all TODO/FIXME tags. [ ] Verified documentation terminology vs code usage. [ ] Checked for missing code documentation (File/Class/Method). [ ] Saved structured report to whiteboard. </verification>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/project-maintenance-health-audit-mma3jsw1/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/project-maintenance-health-audit-mma3jsw1' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/project-maintenance-health-audit-mma3jsw1/download' --output '.skill-downloads/project-maintenance-health-audit-mma3jsw1/SKILL.md.part' && mv '.skill-downloads/project-maintenance-health-audit-mma3jsw1/SKILL.md.part' '.skill-downloads/project-maintenance-health-audit-mma3jsw1/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.
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/project-maintenance-health-audit-mma3jsw1/SKILL.md' && test -s '.skill-downloads/project-maintenance-health-audit-mma3jsw1/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/flow-maintenance' && cp -R '.skill-downloads/project-maintenance-health-audit-mma3jsw1' '.claude/skills/flow-maintenance'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/project-maintenance-health-audit-mma3jsw1'openskills read 'project-maintenance-health-audit-mma3jsw1'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/project-maintenance-health-audit-mma3jsw1/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.
Bonnes pratiques React Hook Form
Developpement
Maîtrisez React Hook Form : évitez les anti-patterns, gérez les abonnements, et traitez correctement reset, dirty state et entrées contrôlées.
Migration Emotion vers Mantine
Developpement
Migrer les styled-components Emotion vers des composants Mantine avec style props et modules CSS. Pour convertir .styled.tsx ou supprimer les imports @emotion.
Détecteur de dérive de périmètre
Developpement
Analyse les diffs git par rapport à une intention pour détecter la dérive de périmètre, fichiers non liés et PR trop larges, puis suggère de garder, diviser ou justifier.