Great Clips — CLI Printing Press
Prérequis : Installer le CLI
Cette compétence pilote le binaire greatclips-pp-cli. Vous devez vérifier que le CLI est installé avant d'invoquer toute commande de cette compétence. S'il est manquant, installez-le d'abord :
- Installez via le programme d'installation de Printing Press. Les binaires sont placés par défaut dans
$HOME/.local/binsur macOS/Linux et%LOCALAPPDATA%\Programs\PrintingPress\binsur Windows :npx -y @mvanhorn/printing-press-library install greatclips --cli-only - Vérifiez :
greatclips-pp-cli --version - Assurez-vous que le répertoire d'installation indiqué est dans le
$PATHde l'agent ou de l'environnement d'exécution qui invoquera cette compétence.
Si l'installation par npx échoue (pas de Node, hors ligne, etc.), utilisez une installation directe via Go (nécessite Go 1.26.6 ou plus récent) :
go install github.com/mvanhorn/printing-press-library/library/other/greatclips/cmd/greatclips-pp-cli@latest
Si --version signale "command not found" après l'installation, l'environnement d'exécution ne voit pas le répertoire du binaire dans le $PATH. Ne continuez pas avec les commandes de la compétence avant une vérification réussie.
Quand utiliser ce CLI
Utilisez ce CLI pour envoyer exactement les requêtes HTTP qu'envoie l'application SPA d'enregistrement en ligne de Great Clips, depuis la ligne de commande, avec des options dry-run et une sortie --json. La version v0.1 livre la structure de requête de chaque endpoint afin qu'un agent puisse construire des flux par-dessus ; les appels réels nécessitent une capture manuelle des cookies à partir d'une session Chrome connectée.
Transport HTTP
Ce CLI utilise un transport HTTP compatible Chrome pour les endpoints destinés au navigateur. Il ne nécessite pas de processus navigateur résident pour les appels API normaux.
Signaux de découverte
Ce CLI a été généré avec un contexte de trafic observé par navigateur.
- Couverture de capture : 9 entrées API sur 22 entrées réseau totales
- Protocoles : (0% de confiance), (0% de confiance), (0% de confiance)
- Indices de génération : Double hôte, authentification unique : émettez un client à jeton bearer qui gère à la fois webservices.greatclips.com et www.stylewaretouch.net., l'endpoint POST /api/store/waitTime prend un corps de tableau JSON d'objets {storeNumber}, pas un objet unique. Un appel pour un seul salon envoie un tableau de longueur 1., Authentification capturée en direct via Claude-in-Chrome MCP à partir d'une session Chrome connectée ; le CLI publié devrait inclure une commande d'aide
auth login --chromepour le flux équivalent.
Référence des commandes
cancel — Annuler votre enregistrement actif
greatclips-pp-cli cancel— Annule l'enregistrement actif pour ce compte
checkin — Soumettre un enregistrement pour vous-même et un groupe (1 à 5 personnes)
greatclips-pp-cli checkin— Ajoutez-vous, ainsi qu'éventuellement d'autres membres du groupe, à la liste d'attente d'un salon
customer — Lire votre profil client Great Clips (nom, téléphone, favoris, visites récentes)
greatclips-pp-cli customer— Obtient le profil du client authentifié
geo — Résoudre un code postal ou un nom de ville en latitude/longitude
greatclips-pp-cli geo— Résout un code postal en lat/lng/ville/état
hours — Lire les horaires d'un salon (aujourd'hui plus prévisions sur 14 jours avec horaires spéciaux)
greatclips-pp-cli hours— Obtient les prévisions d'horaires sur 14 jours pour un salon
salons — Rechercher et consulter les salons Great Clips
greatclips-pp-cli salons get— Obtient un seul salon par son numéro de salongreatclips-pp-cli salons search— Recherche des salons par code postal, ville ou coordonnées dans un rayon donné
status — Vérifier votre position actuelle dans la file d'attente pour un enregistrement actif
greatclips-pp-cli status— Obtient le statut de votre enregistrement actif (position dans la file, temps d'attente estimé)
wait — Lire les temps d'attente estimés depuis le service ICS Net Check-In
greatclips-pp-cli wait— Obtient le temps d'attente pour un salon (le corps est un tableau d'un seul élément {storeNumber})
Trouver la bonne commande
Lorsque vous savez ce que vous voulez faire mais pas quelle commande le fait, demandez directement au CLI :
greatclips-pp-cli which "<capacité dans vos propres mots>"
which résout une requête de capacité en langage naturel vers la commande la mieux adaptée dans l'index de fonctionnalités organisé de ce CLI. Le code de sortie 0 signifie qu'au moins une correspondance a été trouvée ; le code de sortie 2 signifie aucune correspondance fiable — utilisez --help ou une requête plus précise.
Recettes
Corps de requête d'enregistrement pour un groupe de quatre
greatclips-pp-cli checkin --first-name Matt --last-name VanHorn --phone-number '(206) 555-0100' --salon-number 8991 --guests 4 --dry-run --json
Émet le corps JSON exact envoyé en POST à www.stylewaretouch.net/api/customer/checkIn pour un groupe de quatre au salon Island Square.
Requête de temps d'attente pour un salon
greatclips-pp-cli wait --store-number 8991 --dry-run --json
Forme de la requête pour l'endpoint waitTime du service ICS Net Check-In.
Salons près d'un code postal
greatclips-pp-cli salons search --term 98040 --radius 5 --dry-run --json
Forme de la requête pour l'endpoint salon-search/term avec un rayon de 5 miles.
Prévisions d'horaires sur 14 jours
greatclips-pp-cli hours --salon 8991 --dry-run
Appelle salon-hours/upcoming pour un salon ; la réponse inclut les horaires spéciaux et les fermetures pour jours fériés.
Géocoder un code postal
greatclips-pp-cli geo --query 98040 --dry-run --json --select results.city,results.state,results.lat,results.lng
Résout un code postal en lat/lng/ville/état via l'endpoint geo-names.
Configuration de l'authentification
Great Clips utilise des cookies de session HttpOnly provenant d'un tenant Auth0 sur cid.greatclips.com. La capture du trafic navigateur a confirmé que tous les appels réussissent via les cookies attachés par le navigateur, et non via un en-tête Authorization. La version v0.1 de ce CLI fournit la structure de requête et le routage hôte ; pour effectuer de véritables appels, collez les cookies d'une session Chrome connectée dans ~/.config/greatclips-pp-cli/config.toml. Définissez GREATCLIPS_TOKEN sur n'importe quel espace réservé pour que la commande doctor réussisse (la variable d'environnement est conservée pour la v0.2 lorsqu'une prise en charge des jetons bearer pourrait arriver).
Exécutez greatclips-pp-cli doctor pour vérifier la configuration.
Mode Agent
Ajoutez --agent à n'importe quelle commande. Se développe en : --json --compact --no-input --no-color --yes.
-
Acheminable — JSON sur stdout, erreurs sur stderr
-
Filtrable —
--selectconserve un sous-ensemble de champs. Les chemins pointés descendent dans les structures imbriquées ; les tableaux sont parcourus élément par élément. Essentiel pour garder le contexte petit sur des API verbeuses :greatclips-pp-cli salons get --num example-value --agent --select id,name,status -
Aperçu —
--dry-runmontre la requête sans l'envoyer -
Non interactif — jamais d'invite, chaque entrée est un drapeau
-
Nouvelles tentatives explicites — utilisez
--idempotentuniquement lorsqu'une création déjà existante doit être considérée comme un succès
Retour d'information de l'agent
Lorsque vous (ou l'agent) remarquez quelque chose d'anormal avec ce CLI, enregistrez-le :
greatclips-pp-cli feedback "le drapeau --since est inclusif mais la documentation dit exclusif"
greatclips-pp-cli feedback --stdin < notes.txt
greatclips-pp-cli feedback list --json --limit 10
Les entrées sont stockées localement dans ~/.greatclips-pp-cli/feedback.jsonl. Elles ne sont jamais envoyées en POST sauf si GREATCLIPS_FEEDBACK_ENDPOINT est défini ET que --send est passé ou que GREATCLIPS_FEEDBACK_AUTO_SEND=true. Le comportement par défaut est local uniquement.
Écrivez ce qui vous a surpris, pas un rapport de bug. Court, spécifique, une ligne : c'est cela qui s'accumule.
Livraison de la sortie
Chaque commande accepte --deliver <destination>. La sortie est envoyée à la destination nommée en plus (ou à la place) de stdout, afin que les agents puissent acheminer les résultats des commandes sans avoir à faire des redirections manuelles. Trois destinations sont prises en charge :
| Destination | Effet |
|---|---|
stdout | Par défaut ; écrit uniquement sur stdout |
file:<chemin> | Écrit atomiquement la sortie dans <chemin> (tmp + renommage) |
webhook:<url> | Envoie le corps de la sortie en POST à l'URL (application/json ou application/x-ndjson avec --compact) |
Les schémas inconnus sont refusés avec une erreur structurée indiquant l'ensemble des destinations prises en charge. Les échecs de webhook renvoient un code non nul et enregistrent l'URL + le code d'état HTTP sur stderr.
Profils nommés
Un profil est un ensemble enregistré de valeurs de drapeaux, réutilisé entre les invocations. Utilisez-le lorsqu'un agent planifié appelle la même commande à chaque exécution avec la même configuration — le modèle "Beacon" de HeyGen.
greatclips-pp-cli profile save briefing --json
greatclips-pp-cli --profile briefing salons get --num example-value
greatclips-pp-cli profile list --json
greatclips-pp-cli profile show briefing
greatclips-pp-cli profile delete briefing --yes
Les drapeaux explicites l'emportent toujours sur les valeurs du profil ; les valeurs du profil l'emportent sur les valeurs par défaut. agent-context liste tous les profils disponibles sous available_profiles afin que les agents d'introspection les découvrent à l'exécution.
Codes de sortie
| Code | Signification |
|---|---|
| 0 | Succès |
| 2 | Erreur d'utilisation (mauvais arguments) |
| 3 | Ressource non trouvée |
| 4 | Authentification requise |
| 5 | Erreur API (problème amont) |
| 7 | Limite de débit atteinte (attendez et réessayez) |
| 10 | Erreur de configuration |
Analyse des arguments
Analysez $ARGUMENTS :
- Vide,
help, ou--help→ affiche la sortie degreatclips-pp-cli --help - Commence par
install→ se termine parmcp→ installation MCP ; sinon → voir Prérequis ci-dessus - Tout autre chose → Utilisation directe (exécutez comme une commande CLI avec
--agent)
Installation du serveur MCP
Installez le binaire MCP à partir de l'entrée de bibliothèque publique publiée de ce CLI ou d'une version pré-construite, puis enregistrez-le :
claude mcp add greatclips-pp-mcp -- greatclips-pp-mcp
Vérifiez : claude mcp list
Utilisation directe
- Vérifiez si installé :
which greatclips-pp-cliSi introuvable, proposez d'installer (voir Prérequis en haut de cette compétence). - Faites correspondre la requête de l'utilisateur à la meilleure commande parmi les Capacités uniques et la Référence des commandes ci-dessus.
- Exécutez avec le drapeau
--agent:greatclips-pp-cli <commande> [sous-commande] [arguments] --agent - En cas d'ambiguïté, affinez en consultant l'aide de la sous-commande :
greatclips-pp-cli <commande> --help.