con un clic
safety-check
Pre-commit security validation
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Pre-commit security validation
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
Create formatted branches
Generate deployment summary
Create conventional commits
Contextual linting
Create pull requests
| description | Pre-commit security validation |
| name | safety-check |
| version | 1.0.0 |
Valide la sécurité des fichiers avant commit (secrets, .env, schemas protégés, fichiers volumineux).
/safety-check
.env / .env.*(Voir AGENTS.md pour détails)
git status --porcelain
Parser la sortie pour obtenir la liste des fichiers :
A : Fichier ajoutéM : Fichier modifiéD : Fichier supprimé?? : Fichier non tracké.envgit diff --cached --name-only | grep -E '\.env(\.|$)'
Si match trouvé :
❌ ERREUR: Fichiers .env détectés en staging
→ Fichiers : .env, api/.env.local
→ AGENTS.md: Ne pas committer de .env / .env.*
→ Action : Retirer ces fichiers du staging (git reset HEAD <file>)
Exit code 1 (bloque le commit)
Patterns à rechercher dans les fichiers staged :
password\s*=\s*['"][^'"]+['"]api[_-]?key\s*=\s*['"][^'"]+['"]token\s*=\s*['"][^'"]+['"]mongodb\+srv://[^'"]+postgres://[^'"]+Bearer\s+[A-Za-z0-9\-._~+/]+=*# Pour chaque fichier staged
git diff --cached -U0 <file> | grep -E '(password|api[_-]?key|token|mongodb\+srv|postgres://|Bearer\s+)'
Si match trouvé :
⚠️ WARNING: Potentiel secret hardcodé détecté
→ Fichier : api/src/config/database.ts:42
→ Pattern : mongodb+srv://...
→ AGENTS.md: Ne jamais ajouter de secrets en dur
→ Action : Remplacer par variable d'environnement (process.env.DATABASE_URL)
Demander confirmation utilisateur avant de continuer.
git diff --cached --name-only | grep 'api/prisma/analytics/schema.analytics.prisma'
Si match trouvé :
❌ ERREUR: Modification du schéma analytics interdite
→ Fichier : api/prisma/analytics/schema.analytics.prisma
→ api/AGENTS.md: Le schéma analytics est deprecated (lecture seule)
→ Action : Utiliser dbmate pour migrations analytics (analytics/migrations/)
Exit code 1 (bloque le commit)
# Pour chaque fichier staged
git diff --cached --stat <file> | awk '{print $NF}'
Extraire la taille. Si > 1MB :
⚠️ WARNING: Fichier volumineux détecté
→ Fichier : app/public/video.mp4 (12.5 MB)
→ Action : Considérer Git LFS ou hébergement externe
Demander confirmation utilisateur avant de continuer.
Si aucune erreur bloquante :
✅ Safety checks passed
→ Fichiers vérifiés : 12
→ Warnings : 0
→ Erreurs : 0
Exit code 0
Si erreurs bloquantes :
❌ Safety checks failed
→ Fichiers vérifiés : 12
→ Warnings : 1
→ Erreurs : 2
→ Action : Corriger les erreurs avant de committer
Exit code 1
/commitLe skill /commit doit toujours exécuter /safety-check avant de créer le commit.
## Workflow /commit
1. Détecter changements (git status, git diff)
2. **Exécuter /safety-check** ← CRITIQUE
3. Si safety-check échoue → STOP (ne pas créer le commit)
4. Analyser scope et type
5. Générer message
6. Valider avec commitlint
7. Créer commit
Permissions requises dans .claude/settings.local.json :
Bash(git status:*)Bash(git diff:*)Bash(grep:*)Read(*)