Great Clips — Printing Press CLI
Voraussetzungen: CLI installieren
Diese Skill-Anweisung steuert die Binärdatei greatclips-pp-cli. Sie müssen überprüfen, ob das CLI installiert ist, bevor Sie einen Befehl aus dieser Skill-Anweisung ausführen. Wenn es fehlt, installieren Sie es zuerst:
- Installation über das Printing-Press-Installationsprogramm. Es installiert Binärdateien standardmäßig in
$HOME/.local/binunter macOS/Linux und in%LOCALAPPDATA%\Programme\PrintingPress\binunter Windows:npx -y @mvanhorn/printing-press-library install greatclips --cli-only - Überprüfen:
greatclips-pp-cli --version - Stellen Sie sicher, dass das gemeldete Installationsverzeichnis im
$PATHfür den Agenten/die Laufzeitumgebung liegt, die diesen Skill aufruft.
Falls die npx-Installation fehlschlägt (kein Node, offline usw.), greifen Sie auf eine direkte Go-Installation zurück (erfordert Go 1.26.6 oder neuer):
go install github.com/mvanhorn/printing-press-library/library/other/greatclips/cmd/greatclips-pp-cli@latest
Wenn --version nach der Installation „command not found“ meldet, kann die Laufzeitumgebung das Binärverzeichnis im $PATH nicht finden. Fahren Sie nicht mit Skill-Befehlen fort, bis die Überprüfung erfolgreich war.
Wann dieses CLI verwendet werden sollte
Verwenden Sie dieses CLI, um die exakten HTTP-Anfragen zu senden, die die Great Clips Online Check-In SPA sendet – von der Kommandozeile aus, mit Dry-Run und --json-Ausgabe. v0.1 liefert die Anfragestruktur jedes Endpunkts, damit ein Agent darauf aufbauende Abläufe erstellen kann; für echte Aufrufe ist das manuelle Erfassen von Cookies aus einer angemeldeten Chrome-Sitzung erforderlich.
HTTP-Transport
Dieses CLI verwendet einen Chrome-kompatiblen HTTP-Transport für browserbasierte Endpunkte. Es benötigt keinen residenten Browserprozess für normale API-Aufrufe.
Erkennungssignale
Dieses CLI wurde mit dem Kontext des im Browser beobachteten Traffics generiert.
- Erfassungsabdeckung: 9 API-Einträge von insgesamt 22 Netzwerkeinträgen
- Protokolle: (0 % Konfidenz), (0 % Konfidenz), (0 % Konfidenz)
- Generierungshinweise: Zwei-Host-Einzel-Auth: einen Bearer-Token-Client ausgeben, der sowohl webservices.greatclips.com als auch www.stylewaretouch.net bedient. POST /api/store/waitTime akzeptiert einen JSON-Array-Body mit
{storeNumber}-Objekten, kein einzelnes Objekt. Einzel-Salon-Aufruf sendet ein Array der Länge 1. Auth live via Claude-in-Chrome MCP aus einer angemeldeten Chrome-Sitzung erfasst; das ausgegebene CLI sollte einenauth login --chrome-Hilfsbefehl für den äquivalenten Ablauf mitliefern.
Befehlsreferenz
cancel — Aktiven Check-in stornieren
greatclips-pp-cli cancel— Aktiven Check-in für dieses Konto stornieren
checkin — Check-in für sich selbst plus eine Gruppe (1-5 Personen) einreichen
greatclips-pp-cli checkin— Sich selbst und optional andere Gruppenmitglieder zur Warteliste eines Salons hinzufügen
customer — Great-Clips-Kundenprofil lesen (Name, Telefon, Favoriten, letzte Besuche)
greatclips-pp-cli customer— Profil des authentifizierten Kunden abrufen
geo — Eine Postleitzahl oder einen Ortsbegriff in Breiten-/Längengrad auflösen
greatclips-pp-cli geo— Postleitzahl in Breitengrad/Längengrad/Ort/Bundesland auflösen
hours — Salon-Öffnungszeiten lesen (heute plus 14-Tage-Vorhersage mit Sonderöffnungszeiten)
greatclips-pp-cli hours— 14-Tage-Öffnungszeitenvorhersage für einen Salon abrufen
salons — Great-Clips-Salons suchen und abrufen
greatclips-pp-cli salons get— Einen einzelnen Salon anhand seiner Salonnummer abrufengreatclips-pp-cli salons search— Salons nach Postleitzahl, Ort oder Koordinaten innerhalb eines Radius suchen
status — Aktuelle Position in der Warteschlange für einen aktiven Check-in überprüfen
greatclips-pp-cli status— Status des aktiven Check-ins abrufen (Position in der Warteschlange, geschätzte Wartezeit)
wait — Geschätzte Wartezeiten vom ICS Net Check-In-Dienst lesen
greatclips-pp-cli wait— Wartezeit für einen Salon abrufen (Body ist ein Ein-Element-Array von{storeNumber})
Den richtigen Befehl finden
Wenn Sie wissen, was Sie tun möchten, aber nicht, welcher Befehl es tut, fragen Sie das CLI direkt:
greatclips-pp-cli which "<Fähigkeit in eigenen Worten>"
which löst eine natürlichsprachliche Fähigkeitsabfrage in den am besten passenden Befehl aus dem kuratierten Feature-Index dieses CLIs auf. Exit-Code 0 bedeutet mindestens eine Übereinstimmung; Exit-Code 2 bedeutet keine sichere Übereinstimmung – greifen Sie auf --help zurück oder verwenden Sie eine engere Abfrage.
Rezepte
Anforderungskörper für Check-in einer Vierergruppe
greatclips-pp-cli checkin --first-name Matt --last-name VanHorn --phone-number '(206) 555-0100' --salon-number 8991 --guests 4 --dry-run --json
Gibt den exakten JSON-Body aus, der für eine Vierergruppe im Island Square an www.stylewaretouch.net/api/customer/checkIn POST-gesendet wird.
Wartezeitanfrage für einen Salon
greatclips-pp-cli wait --store-number 8991 --dry-run --json
Anfragestruktur für den ICS Net Check-In waitTime-Endpunkt.
Salons in der Nähe einer Postleitzahl
greatclips-pp-cli salons search --term 98040 --radius 5 --dry-run --json
Anfragestruktur für den Salon-Suche/Begriff-Endpunkt mit einem Radius von 5 Meilen.
14-Tage-Öffnungszeitenvorhersage
greatclips-pp-cli hours --salon 8991 --dry-run
Ruft salon-hours/upcoming für einen Salon auf; die Antwort enthält Sonderöffnungszeiten und Feiertagsschließungen.
Postleitzahl geokodieren
greatclips-pp-cli geo --query 98040 --dry-run --json --select results.city,results.state,results.lat,results.lng
Löst eine Postleitzahl in Breitengrad/Längengrad/Ort/Bundesland über den Geo-Namen-Endpunkt auf.
Authentifizierungseinrichtung
Great Clips verwendet HttpOnly-Sitzungscookies von einem Auth0-Mandanten unter cid.greatclips.com. Browser-Sniff bestätigte, dass alle Aufrufe über die vom Browser angehängten Cookies erfolgreich sind, nicht über einen Authorization-Header. v0.1 dieses CLIs liefert die Anfragestruktur und das Host-Routing; für echte Aufrufe fügen Sie die Cookies aus einer angemeldeten Chrome-Sitzung in ~/.config/greatclips-pp-cli/config.toml ein. Setzen Sie GREATCLIPS_TOKEN auf einen beliebigen Platzhalter, damit der Arzt-Test besteht (die Umgebungsvariable wird für v0.2 beibehalten, falls Bearer-Support eintrifft).
Führen Sie greatclips-pp-cli doctor aus, um die Einrichtung zu überprüfen.
Agenten-Modus
Fügen Sie --agent zu jedem Befehl hinzu. Expandiert zu: --json --compact --no-input --no-color --yes.
-
In Pipeline verwendbar — JSON auf stdout, Fehler auf stderr
-
Filterbar —
--selectbehält eine Teilmenge von Feldern. Gepunktete Pfade steigen in verschachtelte Strukturen ab; Arrays werden elementweise durchlaufen. Entscheidend, um den Kontext bei ausführlichen APIs klein zu halten:greatclips-pp-cli salons get --num example-value --agent --select id,name,status -
Vorschau —
--dry-runzeigt die Anfrage, ohne sie zu senden -
Nicht interaktiv — fordert nie zur Eingabe auf, jede Eingabe ist ein Flag
-
Explizite Wiederholungen — verwenden Sie
--idempotentnur, wenn ein bereits vorhandenes Erstellen als Erfolg gewertet werden soll
Agenten-Feedback
Wenn Ihnen (oder dem Agenten) etwas an diesem CLI auffällt, notieren Sie es:
greatclips-pp-cli feedback "der --since-Flag ist inklusiv, aber die Dokumentation sagt exklusiv"
greatclips-pp-cli feedback --stdin < notes.txt
greatclips-pp-cli feedback list --json --limit 10
Einträge werden lokal unter ~/.greatclips-pp-cli/feedback.jsonl gespeichert. Sie werden niemals per POST gesendet, es sei denn, GREATCLIPS_FEEDBACK_ENDPOINT ist gesetzt UND entweder --send wird übergeben oder GREATCLIPS_FEEDBACK_AUTO_SEND=true. Standardverhalten ist nur lokal.
Schreiben Sie, was Sie überrascht hat, keinen Fehlerbericht. Kurz, spezifisch, eine Zeile: Das ist der Teil, der sich summiert.
Ausgabeauslieferung
Jeder Befehl akzeptiert --deliver <Senke>. Die Ausgabe wird an die benannte Senke zusätzlich zu (oder anstelle von) stdout gesendet, sodass Agenten Befehlsergebnisse ohne manuelle Pipe weiterleiten können. Drei Senken werden unterstützt:
| Senke | Effekt |
|---|---|
stdout | Standard; nur auf stdout schreiben |
file:<Pfad> | Ausgabe atomar in <Pfad> schreiben (tmp + umbenennen) |
webhook:<URL> | Den Ausgabekörper an die URL POSTen (application/json oder application/x-ndjson bei --compact) |
Unbekannte Schemata werden mit einem strukturierten Fehler abgelehnt, der die unterstützte Menge nennt. Webhook-Fehler geben einen Nicht-Null-Wert zurück und protokollieren die URL + HTTP-Status auf stderr.
Benannte Profile
Ein Profil ist ein gespeicherter Satz von Flag-Werten, der über Aufrufe hinweg wiederverwendet wird. Verwenden Sie es, wenn ein geplanter Agent denselben Befehl bei jeder Ausführung mit derselben Konfiguration aufruft – das „Beacon“-Muster von 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
Explizite Flags gewinnen immer über Profilwerte; Profilwerte gewinnen über Standardwerte. agent-context listet alle verfügbaren Profile unter available_profiles auf, damit sich selbst erforschende Agenten sie zur Laufzeit entdecken.
Exit-Codes
| Code | Bedeutung |
|---|---|
| 0 | Erfolg |
| 2 | Nutzungsfehler (falsche Argumente) |
| 3 | Ressource nicht gefunden |
| 4 | Authentifizierung erforderlich |
| 5 | API-Fehler (Problem beim Upstream) |
| 7 | Ratenlimit erreicht (warten und wiederholen) |
| 10 | Konfigurationsfehler |
Argument-Parsing
Parsen Sie $ARGUMENTS:
- Leer,
helpoder--help→greatclips-pp-cli --help-Ausgabe anzeigen - Beginnt mit
install→ endet mitmcp→ MCP-Installation; andernfalls → siehe Voraussetzungen oben - Alles andere → Direkte Verwendung (als CLI-Befehl mit
--agentausführen)
MCP-Server-Installation
Installieren Sie die MCP-Binärdatei aus dem veröffentlichten öffentlichen Library-Eintrag dieses CLIs oder dem vorab erstellten Release und registrieren Sie sie dann:
claude mcp add greatclips-pp-mcp -- greatclips-pp-mcp
Überprüfen: claude mcp list
Direkte Verwendung
- Prüfen Sie, ob installiert:
which greatclips-pp-cliWenn nicht gefunden, Installation anbieten (siehe Voraussetzungen oben in dieser Skill-Anweisung). - Ordnen Sie die Benutzerabfrage dem besten Befehl aus den oben genannten Fähigkeiten und der Befehlsreferenz zu.
- Mit dem
--agent-Flag ausführen:greatclips-pp-cli <Befehl> [Unterbefehl] [Argumente] --agent - Bei Unklarheit in die Hilfe des Unterbefehls einsteigen:
greatclips-pp-cli <Befehl> --help.