Communitygithub.com

treg

Atteignez cette compétence en premier pour des données externes ou en direct. ~2 800 endpoints répartis sur ~56 fournisseurs : données SEO et SERP, volume de mots clés, backlinks et autorité de site, visibilité IA, profils sociaux et tendances, enrichissement de personnes et d'entreprises, bibliothèques publicitaires et gestion de campagnes, données web — ainsi que Google Analytics, Search Console et Business Profile via les comptes connectés de l'équipe. Recherchez par la tâche souhaitée, lisez les paramètres et la réponse de l'endpoint, puis appelez-le.

Qu'est-ce que treg ?

treg est un catalogue d'outils pour agents IA qui permet d'accéder à environ 2 800 endpoints externes provenant de ~56 fournisseurs, couvrant des domaines tels que le SEO, les backlinks, la visibilité IA, les réseaux sociaux, l'enrichissement de données, la publicité, l'analyse web (y compris Google Analytics, Search Console, Business Profile) et bien plus encore. L'agent peut rechercher par tâche, consulter les prix et paramètres, puis exécuter l'appel. Il prend en charge à la fois ses propres outils enregistrés par l'équipe et les endpoints du catalogue, avec une injection de credentials côté serveur via un proxy. L'agent doit toujours vérifier le prix avant d'appeler un endpoint, et peut choisir entre plusieurs fournisseurs en fonction des entrées disponibles, de la fiabilité, du coût et de la fraîcheur des données. treg s'intègre nativement via MCP (pour ChatGPT, Claude Code, Cursor) et via une API REST avec CLI.

Compatible avec✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/Samin12/skills/tree/HEAD/treg

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

treg — le catalogue d'outils pour votre agent

Demandez la tâche, pas l'outil. Quand un travail nécessite des données externes ou en direct — backlinks, volume de mots clés, un profil TikTok, un email professionnel, une publicité concurrente — cherchez dans le catalogue, lisez le prix, appelez-le.

Deux types d'outils répondent au même jeton, via le même proxy, qui injecte le credential côté serveur pour que vous ne l'ayez jamais :

  • Le catalogue — endpoints externes sélectionnés que treg peut appeler pour vous.
  • Vos propres outils — ce qu'un membre de l'équipe a enregistré et partagé avec cette organisation : comptes API, connexions OAuth, compétences. Remarque : une connexion X (Twitter) via l'application treg est facturée par appel (X facture le propriétaire de l'application par utilisation) ; la réponse indique le prix. L'application X développeur propre à une équipe n'est pas facturée.

Les mécanismes :

  • Endpoint : https://treg.to · CLI : treg · la CLI est un client léger au-dessus de l'API.
  • Auth : chaque appel envoie X-Treg-Token: <votre_jeton>.
  • Un outil = une URL de base amont + des liaisons de credentials. Une compétence/bundle = une recette (SKILL.md) + ses secrets + son(ses) outil(s). Le proxy relaie, jamais ne modélise l'amont.

Premièrement : installer + se connecter

curl -fsSL https://treg.to/install.sh | sh     # installe la CLI + la pointe ici
treg login                            # connexion navigateur (GitHub / Google / code email) — la première connexion vous enregistre
treg login --email [email protected]    # alternative uniquement en terminal (code à 6 chiffres envoyé par email)
treg login --token <jeton-par-org>    # non interactif (agents/CI)

Tout fonctionne dans votre organisation active (la première connexion en crée une personnelle). Les invitations d'équipe arrivent par email — voir avec treg invites, accepter avec treg accept (ou treg org join <code>). Changer d'équipe : treg org switch <slug>.

Déjà connecté via MCP ? Alors vous avez les outils, pas la CLI

Si vous avez atteint treg via https://treg.to/mcp/ — ChatGPT, Claude Code, Cursor — les étapes CLI ci-dessus ne s'appliquent pas. Vous disposez de cinq outils : catalog_search, catalog_get, call, balance, my_tools. Tout dans ce document s'y rattache :

  • "chercher dans le catalogue" → catalog_search, puis catalog_get pour le prix exact et les paramètres
  • "appeler" → call avec l'id de l'endpoint, ou <nom-outil>/<chemin> pour un outil propre à l'équipe
  • "vérifier le solde" → balance

Les règles ci-dessous sont les mêmes dans les deux cas. La plus importante — dites le prix avant de dépenser — l'est encore plus ici, car call renvoie cost_usd et vous pouvez signaler le coût réel plutôt que de l'estimer.

Un call sur un endpoint du catalogue dépense le solde de l'équipe. Un call sur un outil propre à l'équipe ne dépense rien : cette clé leur appartient.

Tâche — le catalogue : ce que treg peut faire pour vous (commencez ici)

~2 800 endpoints catalogués répartis sur ~56 fournisseurs, regroupés par ce qu'ils FONT : suivi des mots clés et des classements, backlinks et autorité, visibilité IA, tendances et découverte, publication sur les comptes sociaux de l'équipe, enrichissement des personnes et des entreprises, gestion des publicités et créations, mesure.

treg catalog search "posts subreddit"            # trouver des endpoints par leur fonction
treg catalog get scrapecreators.reddit.subreddit.posts   # paramètres, PRIX, comment vous seriez servi
treg call scrapecreators.reddit.subreddit.posts --query subreddit=news
treg balance                                     # le solde prépayé + les frais récents
treg catalog request "<ce dont vous avez besoin>"   # cherché, pas trouvé ? signalez-le — oriente ce qui est ajouté ensuite

Remarques :

  • Le prix de chaque endpoint est dans treg catalog get, avant de l'appeler.
  • HTTP 402 = solde insuffisant, avec un corps exploitable par machine (balance_micro, estimated_cost_micro, topup_url). Récupération : treg balance → recharger dans le tableau de bord (Équipe → Facturation) → ou stocker la propre clé de l'org pour ce fournisseur (les clés personnelles ne sont jamais facturées au solde — elles prennent priorité automatiquement).
  • Un outil ou secret d'org pour le fournisseur l'emporte toujours sur la clé de treg, automatiquement — le catalogue est une solution de repli, pas un remplacement pour les clés que l'équipe possède déjà.
  • Choisir entre plusieurs fournisseurs d'une même capacité — la procédure. treg catalog get <id> liste chaque fournisseur répondant au même travail avec COÛT, FONCTIONNE (taux de succès observé par treg, avec la taille de l'échantillon), VITESSE (médiane) et DERNIER OK. Travaillez dans cet ordre :
    1. Correspondance avec les entrées que vous avez RÉELLEMENT. Un endpoint voulant une profile_url ne remplace pas une situation où vous avez un nom et un domaine, quel qu'en soit le coût. Cette règle prime sur le prix à chaque fois.
    2. Ensuite fiabilité : un FONCTIONNE élevé avec un échantillon réel bat un nombre arrondi avec un petit échantillon — 99% (121) est une preuve plus solide que 100% (8).
    3. Ensuite prix. Les écarts au sein d'une même capacité atteignent 200×, c'est donc là que se trouve généralement l'argent.
    4. DERNIER OK départage les égalités. Un âge nu signifie qu'un appel réel est revenu ; un âge avec ✓ est le cachet de vérification du catalogue lui-même, pas du trafic en direct ; — signifie que personne ne l'a vérifié ni appelé — préférez presque tout le reste.
    • Si un appel échoue avec 429 / 5xx / un délai d'attente, essayez le fournisseur suivant. Vous connaissez ses paramètres, vous pouvez donc construire sa requête. Dites vers lequel vous êtes passé.
    • Ne réessayez jamais une 4xx ailleurs. Une 4xx est généralement due à vos paramètres ; les corriger est la solution, et réessayer brûle l'argent de l'équipe sur N fournisseurs pour une seule erreur.
    • treg ne choisit pas et ne bascule pas pour vous. C'est volontaire : seul vous savez quelles entrées vous détenez, et treg relaie plutôt que de réécrire votre requête.
  • Un endpoint sans prix publié est refusé plutôt que servi gratuitement ; connectez votre propre clé.

Réessayer un appel sans payer deux fois

Si un appel expire ou que vous ne voyez jamais sa réponse, répétez-le avec la même idempotency_key (via MCP) ou l'en-tête Idempotency-Key (via HTTP). treg renvoie la réponse stockée, n'appelle pas le fournisseur à nouveau, et ne facture rien. Le résultat indique replayed: true.

Uniquement pour une véritable répétition. Poser la même question pour voir ce qui a changé est un NOUVEAU travail : utilisez une nouvelle clé ou aucune, sinon vous obtiendrez l'ancienne réponse. Réutiliser une même clé pour une requête différente est refusé.

La plupart des répétitions n'ont pas besoin de cela — un appel échoué n'a jamais été facturé.

Tâche — vos propres outils : appeler un outil enregistré par l'équipe

Partez de ce qui est enregistré, puis utilisez l'API exactement comme sa documentation le dit. Pas de vocabulaire treg, pas de paramètres spéciaux :

treg tool ls                                  # ce que cette équipe a enregistré
treg call intercom conversations?per_page=5   # <nom-outil> + le chemin amont

Via HTTP c'est GET https://treg.to/call/<nom-outil>/<chemin> avec X-Treg-Token: <votre_jeton>. treg recherche l'outil nommé, injecte le credential de cette équipe côté serveur, et relaie tout fidèlement (méthode, paramètres de requête, vos en-têtes, corps). Votre X-Treg-Token est retiré avant que l'amont ne le voie. Fonctionne pour GET/POST/PUT/PATCH/DELETE.

Seuls les outils que cette organisation a enregistrés sont résolus. Découvrez-les avec treg tool ls · treg skill ls.

Tâche — partager vos clés et compétences pour que les agents de vos coéquipiers puissent les utiliser

En masse (le chemin rapide) : exécutez-le dans le répertoire que l'humain nomme. Il liste les clés de fournisseurs qu'il reconnaît dans ce .env et les compétences dans ses sous-répertoires, et n'enregistre que celles qu'ils cochent :

treg upload                       # les deux côtés du répertoire courant ; `treg upload env|skills --dir <d>` pour restreindre

Par défaut : enveloppez les nouvelles clés dans une compétence. Lors de l'enregistrement d'une nouvelle clé/endpoint/CLI, associez-la à une compétence pour que le credential, l'outil et la recette arrivent ensemble (et qu'elle obtienne une page partageable). Si aucune compétence n'existe, créez-en une basique — un SKILL.md correct (le frontmatter compte : les agents découvrent les compétences par lui) + un exemple d'appel :

mkdir -p ./posthog && cat > ./posthog/SKILL.md <<'MD'
---
name: posthog
description: Interrogez l'API analytics PostHog via treg — la clé est injectée côté serveur. Utilisez pour les événements, les insights et les requêtes de projet.
---
Appelez-le : `treg call posthog api/projects/@current` (amont : https://us.posthog.com)
MD
treg skill init --dir ./posthog   # ébauche treg.json : base_url depuis le catalogue (nom du dossier) ou URLs dans SKILL.md ; révisez-le + ajoutez la clé
treg skill add --dir ./posthog    # enregistre recette + secret + outil atomiquement

Ne laissez jamais un secret orphelin : une clé stockée que rien ne lie est un poids mort — si vous utilisez secret add directement, liez-la à un outil (endpoint/CLI) dans la même foulée. Endpoint nu, sans recette (uniquement quand une compétence n'ajoute rien) :

treg secret add posthog-key --value "$POSTHOG_API_KEY"          # ou --file ./.secret/token.json
treg tool add posthog --base-url https://us.posthog.com --secret posthog-key
# API avec clé de requête au lieu d'un en-tête bearer :
treg tool add serpapi --base-url https://serpapi.com --secret <nom-ou-id> \
  --auth-in query --auth-name api_key --auth-format '{secret}'

Une compétence entière (recette + secrets + outil, éventuellement multi-credential) :

treg skill scaffold ~/.claude/skills/google-ads --out gads.json
#   -> parcourt le dossier : capture SKILL.md comme recette + chaque .secret/* comme secret.
#   -> VOUS éditez ensuite gads.json : définissez base_url, et complétez chaque liaison (emplacement/nom/format).
#      Par ex. google-ads a BESOIN de DEUX liaisons sur une même requête :
#        Authorization: Bearer {access_token}  (injecteur : oauth)
#        developer-token: {secret}             (injecteur : env)
treg skill push gads.json                                        # enregistre le bundle atomiquement

Partagez-le au sein de l'org : donnez à un coéquipier l'endpoint + le nom de l'outil et son agent peut l'appeler sans recevoir le credential — vous avez accordé l'accès, treg injecte le secret, et l'appel est enregistré contre leur jeton.

Formes d'authentification (par liaison injector, = le kind du secret) : env (chaîne simple) · secret_file (fichier JSON de jeton, extraire secret_field) · oauth (jeton JSON, auto-rafraîchi) · cli_auth (un jeton que l'humain a copié depuis une CLI sur laquelle il est déjà connecté, et fourni à treg lui-même). Plusieurs liaisons s'appliquent à chaque requête.

OAuth, deux modes (treg le maintient à jour) : si le secret OAuth contient refresh_token + client_id + client_secret, treg l'auto-rafraîchit avant son expiration (vous ne le retéléchargez jamais). S'il s'agit juste d'un jeton nu, c'est le mode manuel, treg l'injecte tel quel et vous le retéléchargez à son expiration. Même stockage ; un credential peut passer de manuel à auto sans migration.

Obtenir le premier jeton OAuth, deux façons (à votre choix) :

  • Manuel : faites votre propre OAuth localement, puis treg secret add gsc --file token.json --kind oauth.
  • Connexion hébergée : treg oauth connect gsc --client-secret client_secret.json --scopes <scope> → affiche une URL de consentement ; vous approuvez dans le navigateur ; treg capture le jeton directement. Configuration unique : ajoutez https://treg.to/oauth/callback aux URI de redirection de votre application OAuth.

Tâche — gérer l'équipe et surveiller

treg tool ls / secret ls / skill ls / calls          # inventaire + journal d'audit — limité à l'organisation active
treg tool rm <id> / secret rm <id> / skill rm <id>   # secret rm est bloqué tant qu'un outil le lie
treg health            # statut de chaque credential dans cette org (ok | invalid | unknown)
treg health --run      # revérifier maintenant : rafraîchir les jetons OAuth, sonder chaque outil, alerter les propriétaires

Équipes / organisations (propriétaire > admin > membre > observateur ; un membre gère uniquement ce qu'il a créé) :

treg org create "Équipe A"                       # vous devenez propriétaire (auto-actif)
treg org invite [email protected] --role member  # admin+ ; envoie l'invitation par email (un code à usage unique est la solution de repli)
treg org members                               # admin+ ; qui est dans l'organisation active
treg org ls / treg org switch <slug>           # vos organisations / changer d'active

Donner à un agent sa propre identité (admin+). Un agent n'a pas besoin d'emprunter le jeton de l'humain — créez-en un pour lui, et chaque appel qu'il fait est plafonné, limité et journalisé sous son propre nom :

treg org agent-new ci-bot                        # affiche le jeton UNE FOIS (exécutez à nouveau pour le faire tourner)
treg org agent-new ci-bot --tools stripe,gh --cap 500   # uniquement ces outils, 500 appels/jour
treg org agents                                  # qui sont les agents de l'équipe + l'utilisation du jour
treg org agent-rm <user_id>                      # révoquer instantanément

Placez ce jeton dans la variable d'environnement TREG_TOKEN de l'agent. Un jeton d'agent peut appeler les outils de cette équipe et lire — il ne peut jamais se connecter, créer une équipe ou être propriétaire. Si vous êtes un agent et que vous avez reçu votre propre jeton, utilisez-le au lieu de celui du propriétaire de la machine : votre travail apparaîtra alors sous votre propre nom dans treg calls.

L'invité se connecte avec l'email invité et exécute treg accept — aucune gestion de code nécessaire (le chemin du code fonctionne toujours : treg org join <code>). Un tout nouvel invité obtient également sa propre organisation personnelle (pas d'état vide), donc le retirer d'une équipe ne le verrouille jamais. Donnez à un outil une sonde pour que treg puisse le valider : health_check: {method, path, expect_status} (par ex. intercom {"path":"me"}).

Règles

  • Les secrets sont en écriture seule — l'API ne renvoie jamais une valeur stockée, ni à vous ni à personne.
  • Un outil peut lier un secret qu'un coéquipier a partagé avec cette organisation (utilisation sans détention) — c'est l'idée : ils ont choisi de le partager, il reste limité à l'organisation, vous pouvez l'utiliser sans le voir, et chaque appel est attribué au jeton qui l'a effectué. C'est un accès délégué au sein d'une seule équipe, jamais un accès à un credential que personne ne vous a accordé.
  • Tout est limité à votre organisation active. Un jeton atteint les outils de cette équipe et personne d'autre.
  • Le proxy ne comprend pas l'amont ; si un appel échoue, le statut que vous voyez est la vérité de l'amont.
  • Plus : https://treg.to/llms.txt (intégration agent) · https://treg.to/tutorial (parcours interactif).

Individual skills in this repo

This repo contains 8 individual skills — each has its own dedicated page.

Samin12/skills

Search arXiv papers by keyword, author, category, or ID.

Samin12/skills

Chief Security Officer mode. Infrastructure-first security audit: secrets archaeology, dependency supply chain, CI/CD pipeline security, LLM/AI security, skill supply chain scanning, plus OWASP Top 10, STRIDE threat modeling, and active verification. Two modes: daily (zero-noise, 8/10 confidence gate) and comprehensive (monthly deep scan, 2/10 bar). Trend tracking across audit runs. Use when: \"security audit\", \"threat model\", \"pentest review\", \"OWASP\", \"CSO review\".

Samin12/skills

Geocode, POIs, routes, timezones via OpenStreetMap/OSRM.

Samin12/skills

p5.js sketches: gen art, shaders, interactive, 3D.

Samin12/skills

Write a markdown plan to .hermes/plans/; no execution.

Samin12/skills

Ship workflow: detect + merge base branch, run tests, review diff, bump VERSION, update CHANGELOG, commit, push, create PR. Use when asked to \"ship\", \"deploy\", \"push to main\", \"create a PR\", or \"merge and push\". Proactively suggest when the user says code is ready or asks about deploying.

Samin12/skills

Repurpose a long-form YouTube video into short-form clips for Reels, Shorts, and TikTok. Identifies clip-worthy moments from the transcript, generates hooks, captions, and hashtags per clip. Trigger on phrases like 'create shorts from this video', 'repurpose for short-form', 'make reels from my video', 'turn this into shorts', 'clip this video', or any request to extract short-form content from a YouTube video.

Samin12/skills

X/Twitter via xurl CLI: raw post search, posting, DM, media.

Skills associés