add-malli-schemas
Ajouter des schémas Malli aux points de terminaison API
Les points de terminaison de l'API Metabase ont besoin de schémas de validation pour la sécurité des types et la gestion des erreurs. Cette compétence fournit des instructions étape par étape pour ajouter des schémas Malli aux paramètres de route, paramètres de requête, corps de requête et structures de réponse avec les modèles et conventions appropriés.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "add-malli-schemas". Add Malli schemas to the GET /api/field/:id/related endpoint
Résultat attendu:
- Route param: :id with ms/PositiveInt validation
- Response schema: ::RelatedEntity with tables and fields sequences
- Schema validates before JSON serialization
- Uses existing ms/ types for consistency
Utilisation de "add-malli-schemas". Add request body schema to POST /api/database
Résultat attendu:
- Body params: name, description, parent_id with appropriate types
- Optional field: description with :optional true and [:maybe]
- Required field: name using ms/NonBlankString
- Validation occurs after JSON parsing but before handler execution
Utilisation de "add-malli-schemas". Create named schema for paginated response
Résultat attendu:
- Named schema: ::PaginatedResponse with data, total, limit, offset
- Uses [:sequential ::Item] for array of items
- Optional limit and offset with :optional true property
- Reusable across multiple endpoints requiring pagination
Audit de sécurité
SûrThis is a pure documentation skill containing only guidance and Clojure code examples for adding Malli schemas to Metabase API endpoints. The static scanner incorrectly flagged Clojure syntax (backticks, brackets, keywords like :enum, :map, :or, :and) as security issues. All findings are false positives caused by the scanner's inability to correctly parse Clojure code. No executable code, network calls, filesystem access, or command execution capabilities exist in this skill.
Facteurs de risque
⚡ Contient des scripts
🌐 Accès réseau
📁 Accès au système de fichiers
🔑 Variables d’environnement
⚙️ Commandes externes
Score de qualité
Ce que vous pouvez construire
Ajouter de la validation aux nouveaux points de terminaison
Ajouter des schémas Malli aux nouveaux points de terminaison API en suivant les conventions Metabase pour la sécurité des types.
Améliorer les schémas de points de terminaison existants
Améliorer les points de terminaison existants avec une validation complète des schémas de requête et de réponse.
Valider les modèles de schémas
Examiner les pull requests pour s'assurer que les schémas Malli suivent les modèles et bonnes pratiques établis.
Essayez ces prompts
Ajouter des schémas Malli au point de terminaison GET /api/field/:id/related dans le code Metabase. Inclure la validation des paramètres de route et le schéma de réponse.
Ajouter une validation de schéma de corps de requête au point de terminaison POST /api/database avec Malli. Inclure les champs optionnels avec les drapeaux :optional true appropriés.
Créer un schéma Malli nommé pour une réponse paginée avec un tableau de données, un total, une limite et un décalage. L'utiliser dans plusieurs points de terminaison.
Ajouter des messages d'erreur personnalisés à un schéma Malli complexe pour la validation du moteur de base de données. Inclure des messages d'erreur différés pour la prise en charge de l'i18n.
Bonnes pratiques
- Utiliser les types de schéma existants de l'espace de noms ms/ au lieu de prédicats Malli bruts
- Définir des schémas nommés avec mr/def pour les structures utilisées à plusieurs endroits
- Appliquer :optional true et :default de manière appropriée pour les paramètres de requête
Éviter
- Oublier le wrapper :maybe pour les champs nullables causant des échecs de validation
- Utiliser ms/TemporalString pour les schémas de réponse au lieu de :any pour les objets Java Time
- Mélanger les paramètres de route, de requête et de corps dans une seule carte de déstructuration