skills/code-review/SKILL.md
Effectue des revues de code complètes des merge requests GitLab, analysant la qualité du code, la sécurité, les performances et les bonnes pratiques. À utiliser quand l'utilisateur dit « code review » ou demande de revoir des merge requests ou d'analyser les changements d'une branche avant fusion.
npx skillsauth add dedalus-erp-pas/foundation-skills code-reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Perform comprehensive code reviews of GitLab merge requests, providing actionable feedback on code quality, security, performance, and best practices.
brew install glabThis skill is configured for a self-hosted GitLab instance:
Activate this skill when:
IMPORTANT: Always confirm project_id before reviewing merge requests
Always provide constructive feedback framed as questions, not directives
Only review changes introduced in the merge request, not unrelated code
If a merge request IID is provided (e.g., "review !123" or "review MR 123"):
glab mr view <iid>If a GitLab issue ID is provided (e.g., "review #456"):
glab issue view <iid> to understand contextglab mr list --search "<issue reference>"If no MR is specified (e.g., just "review"):
glab mr list --state openedSelf-hosted GitLab Instance: https://gitlab-erp-pas.dedalus.lan
Use glab mr view <iid> to retrieve:
diff_refs (base_sha, head_sha, start_sha) for accurate diff comparisonExtract key information:
Project: namespace/project
MR: !123 - "Feature: Add user authentication"
Author: @username
Source: feature/auth -> Target: main
Status: Open | Pipeline: Passed | Approvals: 1/2
Use glab mr diff <iid> to retrieve:
Pagination: If many files changed, the diff output may be large — review it in sections.
For complex changes, use git show <ref>:<file_path> to:
Parameters:
<ref>: Use the source branch or head_sha from diff_refs<file_path>: Path to the fileUse git log --oneline <source_branch> to list commits, then use git show <sha> to:
Use glab api /projects/:id/merge_requests/:iid/discussions to:
Use glab ci list and glab ci view <pipeline_id> to:
If pipeline failed, use glab ci trace <job_id> to understand failures.
Conduct a thorough review of only the changes introduced in this merge request.
Create a structured code review report with:
Executive Summary: High-level overview of changes and overall assessment
Statistics:
Strengths: What was done well
Issues by Priority:
Detailed Findings: For each issue include:
Security Review: Specific security considerations
Performance Review: Performance implications
Testing Recommendations: What tests should be added
Documentation Needs: What documentation should be updated
CRITICAL: Ask user before adding comments to the MR
If user wants to add feedback directly to the MR:
Use glab mr note <iid> --message "<comment>" to add a general comment:
<iid>: MR internal ID<comment>: Comment content in MarkdownUse glab api POST /projects/:id/merge_requests/:iid/discussions for code-specific feedback with:
body: Discussion contentposition: Object with diff position details:
base_sha: From diff_refshead_sha: From diff_refsstart_sha: From diff_refsnew_path: File pathnew_line: Line number for new codeold_path: File path (for modifications)old_line: Line number for removed codeFrame all feedback as questions, not commands. This encourages dialogue and respects the author's context.
❌ Don't write:
✅ Do write:
# Code Review: !{MR_IID} - {MR_TITLE}
## Executive Summary
{Brief overview of changes and overall assessment}
## Merge Request Details
- **Project**: {project_path}
- **Author**: @{author}
- **Source Branch**: {source_branch} → **Target**: {target_branch}
- **Pipeline Status**: {status}
- **Approvals**: {current}/{required}
## Statistics
| Metric | Count |
|--------|-------|
| Files Changed | {count} |
| Lines Added | +{additions} |
| Lines Removed | -{deletions} |
| Commits | {commit_count} |
## Strengths
- {strength_1}
- {strength_2}
## Issues Found
### 🔴 Critical
{critical_issues_or_none}
### 🟡 Important
{important_issues_or_none}
### 🟢 Suggestions
{suggestions_or_none}
## Security Review
{security_findings}
## Performance Review
{performance_findings}
## Testing Recommendations
- {test_recommendation_1}
- {test_recommendation_2}
## Documentation Needs
- {doc_need_1}
## Verdict
{APPROVED | CHANGES_REQUESTED | NEEDS_DISCUSSION}
User: Review !42 in namespace/project
Assistant actions:
1. glab mr view 42 — fetch MR details
2. glab mr diff 42 — get file changes
3. glab api /projects/:id/merge_requests/42/discussions — check existing feedback
4. glab ci list — check CI status
5. Analyze changes and generate report
6. Present review to user
7. Ask if user wants comments added to the MR
User: Review the MR for issue #123
Assistant actions:
1. glab issue view 123 — fetch issue details
2. glab mr list --search "#123" — find related MRs
3. Present found MRs and ask user to confirm
4. Proceed with code review workflow
User: Show me open merge requests to review
Assistant actions:
1. glab mr list --state opened — list open MRs
2. Present list with key details (title, author, pipeline status)
3. Ask user which MR to review
databases
Exécute des requêtes SQL en lecture seule sur plusieurs bases de données PostgreSQL. À utiliser pour : (1) interroger des bases PostgreSQL, (2) explorer les schémas/tables, (3) exécuter des requêtes SELECT pour l'analyse de données, (4) vérifier le contenu des bases. Supporte plusieurs connexions avec descriptions pour une sélection automatique intelligente. Bloque toutes les opérations d'écriture (INSERT, UPDATE, DELETE, DROP, etc.) par sécurité.
development
Automatisation complète du navigateur et tests web avec Playwright. Détecte automatiquement les serveurs de développement, gère le cycle de vie des serveurs, écrit des scripts de test propres dans /tmp. Tester des pages, remplir des formulaires, capturer des screenshots, vérifier le responsive design, valider l'UX, tester les flux de connexion, vérifier les liens, déboguer des webapps dynamiques, automatiser toute tâche navigateur. À utiliser quand l'utilisateur veut tester des sites web, automatiser des interactions navigateur, valider des fonctionnalités web ou effectuer tout test basé sur le navigateur.
documentation
Boîte à outils complète pour la manipulation de PDF : extraction de texte et tableaux, création de nouveaux PDF, fusion/découpage de documents et gestion de formulaires. Quand Claude doit remplir un formulaire PDF ou traiter, générer ou analyser des documents PDF de manière programmatique et à grande échelle.
testing
Lance une réunion simulée avec plusieurs personas experts pour analyser un sujet sous des perspectives diverses, prendre une décision et proposer une solution avant implémentation. Peut optionnellement publier l'analyse de la réunion sur une issue GitLab ou GitHub liée.