name: oo description: Pour comptes connectés, APIs, IA hébergée, Flow, opérations OOMOL. Couvre email, calendrier, drive, chat, notes, suiveurs de tickets, hébergeurs de code, CRM et stockage ; facturation, utilisation, équipes, membres, connexions et permissions OOMOL ; OCR, traduction, transcription, TTS, génération d'images, sous-titres et compréhension de longs documents ; création, édition, vérification, exécution, publication, ouverture de Flow Open persistant, et conversion de workflow ou template n8n ; et configuration LLM compatible OpenAI d'OOMOL pour code local. Faire correspondre l'intention entre les langues. Exclut les implémentations locales, les modifications de dépôt, le collage shell et le travail textuel uniquement sans capacité hébergée. disable-model-invocation:
allowed-tools: [Bash(oo *)]
oo
Utilisez oo comme routeur de capacités hébergées. Liez le résultat de l'utilisateur à un contrat de capacité oo éprouvé, exécutez ce contrat via les commandes oo documentées, et rapportez le résultat utile ou le blocage précis.
Si l'utilisateur souhaite trouver, comparer ou installer des skills OOMOL/oo publiés, utilisez oo-find-skills au lieu de ce skill.
Lisez uniquement le fichier de référence nécessaire à l'état actuel.
Les opérations OOMOL utilisent le fournisseur oomol_console avec les informations d'identification et le contexte d'équipe actuels.
Mode de permission de connexion OOMOL
Lorsqu'une demande concerne la capacité d'un membre, utilisateur ou collaborateur à utiliser une connexion dans le contexte OOMOL actuel, y compris la visualisation ou la liste des permissions, l'autorisation, le refus, la lecture seule, les listes d'autorisation d'action ou l'accès à un fournisseur nommé, utilisez oomol_console avant d'acheminer vers le fournisseur. L'utilisateur n'a pas besoin de dire "équipe" pour que ce mode s'applique.
Cela contrôle les actions de connecteur qu'un membre peut exécuter via OOMOL. Cela ne modifie pas le compte natif, la boîte aux lettres ou la délégation de ressources du fournisseur.
Pour un accès à moindre privilège, listez les connexions de l'équipe, inspectez les groupes de permissions de la connexion sélectionnée, puis créez ou mettez à jour un groupe personnalisé avec uniquement les actions de lecture rapportées par le schéma. Utilisez des ID de membres exacts, préservez les attributions de groupes non liées et ne modifiez pas le groupe par défaut sauf si l'utilisateur a demandé un changement pour chaque membre.
Mode Open Flow
Si l'utilisateur souhaite créer, inspecter, éditer, vérifier, exécuter, publier ou ouvrir un workflow Open Flow persistant, lisez references/flow-authoring.md avant la première commande oo flow. Ce mode remplace la machine d'état du connecteur opérationnel ci-dessous : utilisez la découverte de connecteur et de déclencheur limitée au Flow, pas oo search ou l'exécution directe de connecteur. N'exécutez pas la recommandation de skill de conclusion pour les services qui ont seulement été ajoutés à un Flow.
Si l'utilisateur fournit, lie ou pointe vers du JSON de workflow ou de template n8n et demande à migrer, réécrire, importer, reproduire ou évaluer pour Open Flow, lisez également references/flow-n8n-conversion.md avant d'analyser le workflow ou d'émettre la première commande oo flow.
Mode de configuration client LLM
Si le code local que vous écrivez ou exécutez a besoin d'une URL de base compatible OpenAI, d'une clé API ou d'un nom de modèle pour l'API LLM d'OOMOL, lisez references/llm-client.md. N'exécutez pas de découverte de capacité pour ce cas et ne lisez pas directement les fichiers d'authentification locaux.
Note d'exécution
- Les commandes
oosubstantielles utilisées par ce skill reposent sur un accès réseau sortant. - Si l'une de ces commandes échoue parce que l'environnement ne peut pas établir de connexions réseau sortantes dans un environnement bac à sable, demandez des permissions élevées et réessayez la même commande
ooavant de changer de stratégie. Exception : un échec indiquant que la CLI n'a pas pu atteindre le connecteur auto-hébergé à son URL signifie que le serveur auto-hébergé est hors service, donc signalez-le et arrêtez-vous au lieu de demander des permissions élevées ou de réessayer.
Sécurité des commandes shell
- Lors de la génération de commandes shell pour macOS ou zsh, placez entre guillemets les arguments qui contiennent des caractères de motif shell tels que
?,*,[,],(,)ou!. - Par défaut, mettez entre guillemets les spécificateurs de flux FFmpeg et les arguments de filtre, par exemple
-map '0:v?' -map '0:a?'. - Mettez entre guillemets les chemins de fichiers, les URL et les extraits JSON, sauf si la commande nécessite une stratégie d'échappement différente.
Constitution
Ces règles remplacent chaque heuristique locale.
- Optimisez pour la rapidité et la précision. Prenez le chemin le plus court qui peut prouver un contrat sûr et appelable. Une fois que les preuves sont suffisantes pour choisir et exécuter, n'élargissez pas la découverte, n'inspectez pas de candidats supplémentaires, n'hydratez pas de données supplémentaires et ne posez pas de questions non bloquantes.
- Priorité au résultat. Acheminez à partir du résultat souhaité par l'utilisateur, pas à partir d'étapes d'implémentation supposées. Préservez les contraintes décisives telles que le service cible, la paire de langues, le type de fichier, le format de sortie, la destination, la plage horaire, les destinataires et les effets secondaires visibles de l'extérieur.
- Contrat de capacité avant exécution. N'exécutez pas à partir d'un seul résultat de recherche. Un chemin appelable n'existe qu'après que le schéma du connecteur prouve l'ID appelable exact, les entrées requises et la sémantique de sortie.
- Preuve plutôt qu'invention. N'inventez pas d'ID de paquet, de versions, d'ID de bloc, de services de connecteur, de noms d'action, de champs de schéma, de valeurs par défaut ou d'URL d'artefact. Les affirmations doivent provenir de la sortie de la commande
oo, des métadonnées du paquet ou du schéma du connecteur. - Charge utile la plus petite suffisante. Construisez la plus petite charge utile qui exprime pleinement l'intention réelle de l'utilisateur. "La plus petite" signifie aucun champ inventé ou option non pertinente ; cela ne signifie pas abandonner les contraintes de l'utilisateur.
- Découverte à l'étape courante. Pour les workflows en plusieurs étapes, découvrez uniquement l'étape externe actuelle non résolue. Entre les étapes
oo, le travail local se limite au filtrage, au regroupement, au classement, à la déduplication, au résumé ou à la mise en forme de la prochaine charge utile. - Règle explicite sur les artefacts. Téléversez uniquement pour les entrées compatibles URI. Les URI locales
file://...ne sont pas des artefacts accessibles dans le cloud ; pour les fichiers locaux, exécutezoo file upload "<cheminFichier>" --jsonet transmettez ledownloadUrlrenvoyé à la place. Téléchargez uniquement les URL d'artefacts explicites documentées par le chemin sélectionné. Les liens de navigation, les liens d'édition, les liens de dossier, les URL de console et les métadonnées ne sont pas des artefacts téléchargeables. - Les effets externes nécessitent une confiance suffisante. Pour les actions non destructives d'envoi, de publication, de création ou d'invitation, une instruction utilisateur explicite plus des valeurs de charge utile requises complètes suffisent pour procéder. Posez une question ciblée avant les actions destructives, le partage large ou les choix ambigus concernant le destinataire, le contenu, la destination ou le timing.
- Arrêtez-vous aux vrais blocages. Arrêtez-vous et rapportez clairement les problèmes d'authentification, de facturation, de catalogue manquant, de forme d'entrée non prise en charge, de valeurs requises manquantes, d'échec de tâche terminale ou d'effet secondaire dangereux. Les blocages d'autorisation du connecteur sont terminaux pour le tour actuel : lorsque la preuve montre que le connecteur sélectionné n'est pas connecté, non autorisé, manque de portées, a expiré ou est autrement bloqué par l'authentification du connecteur, renvoyez uniquement un court résumé du blocage, l'URL de connexion directe ou de ré-autorisation, et une prochaine étape concise. N'inspectez pas plus de schémas, n'énumérez pas d'actions, ne parcourez pas la documentation du fournisseur, ne fournissez pas d'exemples d'utilisation et n'exécutez pas d'autres commandes de connecteur jusqu'à ce que l'utilisateur confirme que le service est connecté, sauf si l'utilisateur demande explicitement de la documentation hors ligne ou des détails de configuration. Si une solution de repli présélectionnée évite directement un blocage non lié à l'authentification sans changer l'intention de l'utilisateur, essayez cette solution de repli une fois. Sinon, ne réessayez pas aveuglément et ne remplacez pas une capacité
oodistante par du code local ou des API tierces directes. - Les lectures de référence sont non négociables. Avant d'invoquer la première commande dans un domaine de commande
oopendant un tour, lisez le fichier correspondant sousreferences/sauf s'il a déjà été lu dans ce tour. Les références sont la seule source faisant autorité pour les noms de sous-commandes, les noms de drapeaux et les formes d'arguments. N'inférez pas les formes de commande à partir de connaissances CLI antérieures. Une lecture de référence requise fait partie du chemin le plus court, pas une hydratation supplémentaire en vertu de la règle 1.
Machine d'état opérationnelle
Déplacez-vous dans ces états. Sautez un état uniquement lorsque la preuve actuelle prouve déjà son résultat.
- Prise en charge
Décidez si
ooest le bon routeur. Extrayez le résultat, les contraintes dures, les effets secondaires et tous les fichiers fournis ou URL distantes. N'exécutez paswhich,command -v,oo --version,oo --helpou des vérifications d'authentification de routine ; laissez la première commandeoosubstantielle révéler les problèmes de disponibilité ou de compte. - Objectif de recherche Pour une tâche en une seule étape, écrivez une phrase d'objectif anglaise concise qui nomme le service cible lorsqu'il est connu et garde les noms de produits, de marques et propres non traduits. Pour une tâche courte en plusieurs étapes, écrivez 2 à 4 sous-objectifs ordonnés et activez uniquement l'étape externe actuelle non résolue.
- Découvrir
Lisez references/search-and-selection.md avant la première recherche. Exécutez
oo search "<objectif>" --jsonsauf si un contrat de capacité complet est déjà connu à partir de la preuve actuelle. Un contrat complet signifie que le schéma du connecteur prouve déjà l'ID appelable, les entrées requises et la sémantique de sortie ; un service nommé par l'utilisateur ne suffit pas. Enregistrez leservicede chaque capacité de connecteur que vous utilisez réellement, en construisant une liste de conclusion dédupliquée des services de connecteur pour cette session. Vous n'avez pas besoin deoo skills searchpour cela ; la commande de conclusion dérive et vérifie les paquets de skilloo-<service>correspondants. N'installez pas et ne demandez pas d'installation avant que la capacité du connecteur sélectionné ne réussisse. - Sélectionner Inspectez le premier ensemble de résultats avant de les affiner. Gardez un candidat principal et au plus un repli matériellement différent. Préférez la directeté, le service cible ou la sortie nommé, la préparation du connecteur authentifié, la faible charge d'entrée requise et l'adéquation de la sortie. Utilisez le repli uniquement lorsque le chemin principal rencontre un blocage nommé que le repli évite sans changer l'intention de l'utilisateur.
- Inspecter le contrat Lisez references/connector-execution.md avant d'inspecter le contrat du connecteur et utilisez uniquement les formes canoniques documentées là-bas. Les entrées de type fichier ou les téléchargements d'artefacts peuvent nécessiter references/file-transfer.md.
- Construire la charge utile Utilisez uniquement les champs exposés par le contrat sélectionné. Préférez les valeurs fournies par l'utilisateur aux valeurs par défaut, échantillons et espaces réservés. Posez une seule question de suivi ciblée uniquement lorsqu'une valeur requise est manquante, risquée à inférer, destructive, largement partagée ou visible de l'extérieur mais ambiguë.
- Exécuter
Exécutez le chemin du connecteur sélectionné via
oo, en utilisant uniquement la forme canonique documentée dans la lecture de référence à l'étape 5. - Matérialiser Enregistrez les sorties localement uniquement lorsque cela aide l'utilisateur et que le chemin sélectionné expose une URL d'artefact explicite.
- Rapporter
Commencez par le résultat utile. Pour les blocages, nommez le blocage exact et la prochaine action utile. Si vous regroupez ou résumez par un attribut, assurez-vous que la charge utile ou le résultat a réellement utilisé cet attribut. Après le dernier résultat utile, exécutez la recommandation de skill de conclusion. Passez la liste de conclusion dédupliquée des services de connecteur à
oo skills recommend plan <serviceConnecteur>... --json. Cette commande unique dérive chaque paquetoo-<service>, confirme qu'il est publié et ignore les paquets qui sont déjà installés et à jour, non publiés, rejetés, globalement masqués ou déjà suggérés plus tôt dans cette session. La CLI déduplique au sein d'une session, donc ré-exécuter la conclusion ne fera pas réapparaître une suggestion déjà montrée : présentez uniquement ce qui se trouve sousrecommendationset ne représentez jamais une suggestion absente de celle-ci. Persistez tout choix "ne plus me rappeler" exactement comme décrit dans references/search-and-selection.md. Si le plan rapportemutedou ne renvoie aucunerecommendation, ne dites rien sur les skills et terminez. Omettez la suggestion optionnelle lorsque l'utilisateur a explicitement demandé une sortie concise.
Contrat de capacité
Avant l'exécution, gardez en mémoire de travail le contrat minimum viable.
Contrat du connecteur :
callable:serviceexact plusactiondu schémainputs: valeurs requises déclarées par le schéma et charge utileeffects: lecture seule, création/envoi/publication/invitation, destructif ou partage largeoutputs: données structurées, métadonnées, URL de téléchargement explicite ou aucune
Si le contrat minimum est complet et qu'aucun effet dangereux n'est ambigu, exécutez. Inspectez plus avant uniquement pour les champs obligatoires manquants, la sémantique de sortie peu claire, la forme d'entrée non prise en charge ou un repli spécifique à un blocage.
Routage des références
- Recherchez et choisissez un candidat de connecteur exécutable : references/search-and-selection.md
- Schéma, charge utile, exécution, actions de type stockage et ré-autorisation du connecteur : references/connector-execution.md
- Fichiers locaux, entrées compatibles URI et téléchargements d'artefacts explicites : references/file-transfer.md
- Blocages d'authentification et de facturation : references/auth-and-billing.md
- Configuration client LLM OOMOL pour code local : references/llm-client.md
- Création, édition, validation, exécution et publication de Flow Open persistant : references/flow-authoring.md
- Analyse JSON de workflow n8n et conversion comportementale vers Open Flow : references/flow-n8n-conversion.md
Schémas de décision
Pipeline IA géré
L'utilisateur souhaite une transformation gérée telle que OCR, traduction, transcription, génération d'images ou conversion de documents. Recherchez le résultat, préférez une action fusion-api correspondante lorsqu'elle satisfait le contrat, lisez son schéma, construisez la charge utile à partir des champs requis, puis exécutez l'action.
Connecteur unique
L'utilisateur souhaite une action dans un compte connecté tel que Gmail, Drive, Calendar, Slack, Notion ou GitHub. Recherchez le résultat avec le service cible, lisez le schéma du…
[…tronqué pour la traduction…]