ワンクリックで
better_odoo_consultant
better_odoo_consultant には le-goff-benoit から収集した 38 個の skills があり、リポジトリ単位の職業カバレッジとサイト内 skill 詳細ページを表示します。
このリポジトリの skills
Voir l'architecture XML finale d'une vue Odoo après assemblage des héritages : form, list, kanban, search, calendar ; xpath, position, mode primary/extension, readonly, invisible, champs visibles, boutons, onglets. Utiliser pour diagnostiquer un héritage de vue ou une visibilité conditionnelle. Ne pas utiliser pour un rapport PDF (odoo_inspect_report), un menu/action (odoo_inspect_navigation) ou les fichiers XML bruts non assemblés (source_search_odoo).
Auditer les personnalisations Odoo Studio : modèles x_*, champs x_studio_*, vues studio, menus, automatisations base.automation, actions serveur ajoutées via Studio, dette no-code, risques migration. Utiliser pour évaluer la complexité Studio d'un projet ou préparer une migration. Ne pas utiliser pour le code custom d'un module développeur (repo_search_code) ni pour des champs métier standards (odoo_inspect_fields).
Lire des enregistrements Odoo concrets via search_read : commandes, factures, contacts, lignes, statuts, valeurs de champs, preuves live, export, détail d'une fiche. Utiliser quand l'utilisateur veut voir les données réelles d'une base connectée. Ne pas utiliser pour compter sans charger les lignes (odoo_count_records), agréger en KPI groupé (odoo_aggregate_records), ni pour la structure d'un modèle (odoo_inspect_fields).
Rechercher dans le dépôt projet client cloné : code custom, override _inherit, surcharge, manifest, fichiers de sécurité CSV, vues XML, modèles spécifiques, contrôleurs. Utiliser quand l'utilisateur parle de son code custom, d'un module client ou d'une surcharge. Ne pas utiliser pour le code standard Odoo (source_search_odoo) ni pour la version cible d'une migration (migration_search_target_source).
Rechercher dans les sources Odoo standard locales (Community + Enterprise, version courante) : méthode, classe, _name, _inherit, champ, XML id, rapport, manifest, comportement standard. Utiliser pour comprendre comment Odoo fait nativement quelque chose. Ne pas utiliser pour le code custom client (repo_search_code) ni pour la version cible d'une migration (migration_search_target_source).
Générer un diagramme Mermaid affichable dans la réponse : flowchart libre, classDiagram depuis AST Python, héritage de modèle, héritage de vue live ou graphe de module. Utiliser quand l'utilisateur demande de dessiner, visualiser ou montrer un schéma. Ne pas utiliser pour inspecter seulement les champs (odoo_inspect_fields), lire une vue (odoo_inspect_view) ou produire un rapport textuel (output_report_writer).
Inventorier les modules effectivement installés sur une base Odoo connectée : applications, modules techniques, modules custom probables, version installée, dépendances. Utiliser pour cadrage projet, scoping migration ou diagnostic de stack live. Ne pas utiliser pour les modules présents dans un dépôt client cloné (repo_list_modules) ni pour le code source Odoo (source_search_odoo).
Produire un livrable consultant structuré dans un template stable : revue technique de module, plan de migration, email client, cahier des charges fonctionnel, spécification, audit de code. Utiliser quand l'utilisateur demande explicitement un document formaté à remettre. Ne pas utiliser pour une réponse conversationnelle courte, une simple synthèse Markdown, une entrée changelog issue d'un commit (source_show_commit) ni pour la simple lecture/extraction d'une pièce jointe utilisateur (runtime_attachment_handler).
Skill runtime interne (sous-skill du context_aggregator) : injecte le bloc prioritaire « Contexte projet » qui conditionne toute la réflexion de l'IA — client, ville, localisation fiscale, profil technique calculé (vanilla, Studio, dev custom, mixte) avec modules custom et apps installées, et stratégie de réponse correspondante. Non tronqué (priority block). Si la complexité n'a jamais été calculée, signale explicitement le point aveugle plutôt que de laisser supposer une base vanilla. Invoqué automatiquement à chaque tour assistant/migration/creator. Ne pas invoquer sur demande utilisateur explicite ni pour des questions hors projet.
Comparer deux versions Odoo locales : diff de modèle, vue XML ou module entre 17.0, 18.0, Enterprise et Community, champs/méthodes ajoutés ou retirés, manifest depends/data et fichiers modifiés. Utiliser pour cadrer une migration. Ne pas utiliser pour lire un fichier précis (source_read_odoo_file) ni pour chercher dans la version cible (migration_search_target_source).
KPI, dashboard, tendance, chiffre d'affaires, agrégat Odoo via read_group : somme, moyenne, count groupé par mois/trimestre/statut/commercial/journal/société. Utiliser quand l'utilisateur veut des chiffres synthétiques fiables sans charger les lignes. Ne pas utiliser pour lister des enregistrements détaillés (odoo_query_records) ni pour un simple count sans groupement (odoo_count_records).
Compter combien d'enregistrements Odoo correspondent à un domaine search : volumétrie métier, périmètre de migration, anomalie à quantifier, taille d'un modèle. Utiliser quand seul le nombre compte et qu'il ne faut pas charger les lignes. Ne pas utiliser quand l'utilisateur veut un total agrégé groupé/KPI (odoo_aggregate_records) ni quand il veut voir les enregistrements eux-mêmes (odoo_query_records).
Diagnostiquer ou modifier un rapport PDF Odoo : template QWeb, paperformat, external_layout, héritage XML, xpath, t-call/t-field/t-foreach, rendu wkhtmltopdf, customisation facture/devis/BL. Utiliser pour toute question sur un document imprimé Odoo. Ne pas utiliser pour une vue d'écran (odoo_inspect_view) ni pour un PDF uploadé par l'utilisateur en pièce jointe (runtime_attachment_handler).
Diagnostiquer les droits d'accès Odoo d'un modèle : ACL ir.model.access, record rules ir.rule, groupes, multi-société, sudo, group_id, visibilité partielle, accès refusé, « l'utilisateur ne voit pas ». Utiliser pour expliquer une erreur d'accès, auditer la sécurité ou comprendre une visibilité. Ne pas utiliser pour les droits sur un menu/action (odoo_inspect_navigation) ni pour des invisible/readonly UI (odoo_inspect_view).
Analyser un commit Git précis dans les sources Odoo ou un dépôt projet : diff complet, message, fichiers modifiés, auteur, date, génération d'une entrée changelog, diagnostic de régression ou de patch. Utiliser dès que l'utilisateur fournit un SHA ou demande l'historique d'un changement spécifique. Ne pas utiliser pour lire un fichier source précis sans SHA (source_read_odoo_file), pour chercher du code dans les sources sans SHA (source_search_odoo), pour parcourir l'historique large sans SHA, ni pour comparer deux versions complètes (préférer migration_search_target_source).
Classer un message d'erreur ou un log Odoo dans la bonne catégorie de cause racine : bug code source Odoo standard, customisation Studio, module custom client, donnée incorrecte, ou problème de migration. Parse le traceback Python (frame innermost, classe d'exception, module, chemin de fichier), applique des règles déterministes puis propose la prochaine action (lire la source, interroger Odoo, vérifier les customisations Studio, etc.). À utiliser quand l'utilisateur colle un traceback, un log d'erreur Odoo, un message UserError/ValidationError, ou demande « d'où vient ce bug ». Ne pas utiliser pour générer du code de correction (utiliser source_read_odoo_file + l'agent developer après triage) ni pour analyser un comportement métier sans erreur technique.
Proposer formellement à l'utilisateur de basculer vers un autre agent (support, business_analyst, architect, developer) quand la question franchit une frontière de phase métier : cadrage fonctionnel terminé → architecture, architecture validée → développement, support stabilisé → analyse fonctionnelle. Retourne une suggestion structurée que le frontend rend en chip cliquable. À utiliser quand l'agent courant a terminé sa phase et que la suite relève clairement d'un autre rôle. Ne pas utiliser pour changer d'agent silencieusement — le switch reste opt-in côté utilisateur.
Expliquer pourquoi tel skill ou tel agent a été choisi au tour précédent : retourne le détail scoré du dispatcher (candidats, scores, raisons, niveau de confiance, signaux sémantiques). À utiliser quand l'utilisateur demande « pourquoi tu as utilisé tel outil », « comment tu as routé », « pourquoi cet agent », « décris ton raisonnement de routage ». Ne pas utiliser pour lancer un skill, pour modifier le routage, ou pour analyser la réponse elle-même.
Auditer la qualité du routage du dispatcher sur les derniers tours enregistrés (~/.odoo-consultant/routing-feedback.jsonl) : taux de reformulation, taux de confiance basse, skills les plus impliqués dans des reformulations, répartition par agent. À utiliser quand l'utilisateur demande « audite ton routage », « combien de fois tu te trompes », « quels skills posent problème ». Ne pas utiliser pour expliquer le tour précédent (utiliser routing_explain) ni pour modifier le dispatcher.
Skill runtime cœur : choisit l'agent de réponse (support, business_analyst, architect, developer) avec le contrat de ton et le niveau de détail correspondant, explicite ou inféré du prompt. Invoqué automatiquement à chaque tour. Ne pas confondre avec un mode applicatif — creator est un workflow/mode, pas un agent de réponse. Ne pas invoquer sur demande utilisateur explicite.
Inspecter, recommander, exécuter ou exporter les rapports financiers Enterprise `account.report` : bilan, compte de résultat, P&L, grand livre, tax report, TVA, aged receivable/payable, filtres période, partenaire, analytique, société. Ne pas utiliser pour un rapport QWeb/PDF (odoo_inspect_report), une liste de factures (odoo_query_records) ni un KPI groupé hors comptabilité (odoo_aggregate_records).
Lister et inspecter les Odoo Spreadsheets et dashboards : documents.document handler spreadsheet, spreadsheet.dashboard, payload JSON/XLSX, feuilles, cellules non vides, formules `ODOO.PIVOT`, `ODOO.LIST`, `ODOO.FILTER.VALUE`, explication et suggestion de formules. Ne pas utiliser pour des rapports financiers account.report (inspect_financial_reports), rapports QWeb/PDF (odoo_inspect_report), ni formules Excel génériques hors Odoo.
Auditer les automatismes serveur d'une instance Odoo connectée : crons ir.cron, actions automatisées base.automation, actions serveur ir.actions.server et templates mail. Filtrer par module, modèle ou actifs seulement, avec origine XML-ID. Ne pas utiliser pour lister des records métier génériques (odoo_query_records) ni pour les personnalisations Studio globales (odoo_inspect_studio).
Construire le graphe d'un module Odoo : dépendances manifest `depends`, profondeur contrôlée, cycles, classes modèles et héritages `_inherit` / `_inherits`, avec sortie Mermaid. Utiliser pour comprendre l'architecture d'un module standard, Enterprise ou custom. Ne pas utiliser pour lire simplement un manifest (source_read_odoo_file/repo_read_file) ni pour lister tous les modules (repo_list_modules).
Traiter les PDF et images uploadés par l'utilisateur : extraction de texte (pypdf), conversion de pages en images (pdf2image + poppler) pour PDF scannés, comparaison de documents, capture d'écran, routage multimodal selon le provider (Claude/OpenAI/Gemini/GitHub Models/Copilot) et gestion des erreurs 400 de format. Utiliser dès qu'un message contient une pièce jointe. Ne pas utiliser pour un rapport PDF Odoo généré côté serveur (odoo_inspect_report) ni pour produire un livrable consultant formaté à partir des extractions (output_report_writer).
Lire un fichier précis des sources Odoo de la version cible de migration (modèle, vue, manifest, méthode standard) avec citation des lignes. Utiliser après migration_search_target_source pour confirmer un renommage, une nouvelle API, vérifier l'implémentation cible ou comparer source→cible. Ne pas utiliser pour la version courante (source_read_odoo_file) ni pour le dépôt projet client (repo_read_file).
Lister les champs d'un modèle Odoo : types, relations many2one/one2many/many2many, attributs readonly/store/required/compute, champs Studio x_*. Utiliser avant odoo_query_records pour valider un domaine, identifier un champ inconnu, vérifier une relation inverse ou repérer les personnalisations. Ne pas utiliser pour lire les données d'un modèle (odoo_query_records) ni pour l'architecture XML d'une vue (odoo_inspect_view).
Parser les __manifest__.py d'un dépôt projet client cloné pour lister les modules custom, leur version, leurs dépendances (depends), leurs fichiers data/demo/assets et le périmètre installable. Utiliser au début d'une analyse de repo client. Ne pas utiliser pour les modules effectivement installés sur une base Odoo connectée (odoo_inspect_modules) ni pour la volumétrie de code (repo_count_source_lines).
Lire un fichier précis du dépôt projet client cloné (custom module, override _inherit, manifest, security CSV, vue XML, contrôleur) avec citation des lignes. Utiliser après repo_search_code pour confirmer une implémentation custom. Ne pas utiliser pour les sources Odoo standard (source_read_odoo_file) ni pour la version cible d'une migration (migration_read_target_file).
Skill runtime cœur : assemble à chaque appel IA un system prompt borné (≈36 000 chars) composé du profil utilisateur, profil projet, release notes Odoo, localisation pays, complexité technique, playbooks des skills routés. Invoqué automatiquement avant chaque génération. Ne pas invoquer sur demande utilisateur explicite — c'est un orchestrateur interne, pas un outil d'analyse.
Skill runtime interne (sous-skill du context_aggregator) : injecte la fiche localisation l10n_<cc>.md du pays actif quand le prompt est fiscalement sensible — TVA, factures électroniques, déclarations, plan comptable, paie, contraintes locales. Invoqué automatiquement. Ne pas invoquer sur demande utilisateur explicite ni pour des questions techniques non fiscales.
Action UI de rafraîchissement projet déclenchée par le bouton « Rafraîchir » du panneau contexte de l'Assistant : git pull du dépôt, ping XML-RPC Odoo, recalcul de la localisation pays, recalcul de la complexité technique, régénération du contexte projet. Utiliser uniquement quand l'utilisateur déclenche ce bouton. Ne pas invoquer automatiquement à chaque tour ni pour un rafraîchissement implicite.
Skill runtime interne (sous-skill du context_aggregator) : injecte les release notes Odoo X.Y de la version source et/ou cible, filtrées par domaine métier mentionné dans le prompt, quand la question est sensible à la version ou à une migration. Invoqué automatiquement. Ne pas invoquer pour des questions sans version Odoo de référence ni sur demande utilisateur explicite.
Skill runtime cœur : route chaque prompt utilisateur vers les playbooks d'outils pertinents, score les candidats par mots-clés et intention, respecte les skills désactivés en réglages et évite de charger tout le catalogue. Invoqué automatiquement au début de chaque tour. Ne pas invoquer sur demande utilisateur explicite — c'est l'orchestrateur de sélection, pas un outil métier.
Lire un fichier précis des sources Odoo standard (Community ou Enterprise) de la version courante, avec citation des lignes : modèle, méthode, vue XML brute, rapport QWeb, manifest. Utiliser après source_search_odoo pour confirmer une implémentation standard. Ne pas utiliser pour la version cible d'une migration (migration_read_target_file) ni pour le dépôt projet client custom (repo_read_file).
Mesurer la volumétrie de code (LOC, nombre de fichiers, taille par module, estimation d'effort de migration) dans un dépôt projet cloné ou les sources Odoo locales. Utiliser pour chiffrer une migration, comparer des modules custom ou prioriser un audit. Ne pas utiliser pour le nombre d'enregistrements en base (odoo_count_records) ni pour l'inventaire fonctionnel des modules (repo_list_modules).
Rechercher dans les sources Odoo de la version cible de migration : renommages, suppressions, changements d'API, breaking changes, nouveau comportement standard. Utiliser quand il faut vérifier ce que devient un appel/champ/modèle après l'upgrade. Ne pas utiliser pour la version courante (source_search_odoo) ni pour le code custom client (repo_search_code).
Tracer le chemin UI vers un écran Odoo : menu, action (act_window, server, report, client), modèle ciblé, action serveur, raccourci, parent_path. Utiliser quand l'utilisateur demande où cliquer, quel menu ouvre tel modèle, ou comment un écran est exposé dans l'interface. Ne pas utiliser pour le rendu d'une vue (odoo_inspect_view) ni pour les droits d'accès aux menus (odoo_inspect_security).