Auditing Endpoints
PostHog/posthog
Audit every endpoint in a PostHog project for staleness, failed materialisations, and unused materialised versions.
First CLI for Great Clips Online Check-In: every endpoint shape and host route, ready for real calls once cookies...
$ npx skills add mvanhorn/printing-press-library --skill pp-greatclips -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install mvanhorn/printing-press-library pp-greatclips --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .claude/skills && cp -r skills-src/cli-skills/pp-greatclips .claude/skills/pp-greatclips && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "pp-greatclips" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-greatclips into .claude/skills/pp-greatclips/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-greatclips", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-greatclipsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add mvanhorn/printing-press-library --skill pp-greatclips -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install mvanhorn/printing-press-library pp-greatclips --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .agents/skills && cp -r skills-src/cli-skills/pp-greatclips .agents/skills/pp-greatclips && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "pp-greatclips" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-greatclips into .agents/skills/pp-greatclips/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-greatclips", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mvanhorn/printing-press-library --skill pp-greatclips -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install mvanhorn/printing-press-library pp-greatclips --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/cli-skills/pp-greatclips .cursor/skills/pp-greatclips && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "pp-greatclips" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-greatclips into .cursor/skills/pp-greatclips/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-greatclips", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/mvanhorn/printing-press-library.git --path cli-skills/pp-greatclips--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add mvanhorn/printing-press-library --skill pp-greatclips -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install mvanhorn/printing-press-library pp-greatclips --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/cli-skills/pp-greatclips .gemini/skills/pp-greatclips && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "pp-greatclips" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-greatclips into .gemini/skills/pp-greatclips/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-greatclips", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install mvanhorn/printing-press-library pp-greatclipsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add mvanhorn/printing-press-library --skill pp-greatclips -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .github/skills && cp -r skills-src/cli-skills/pp-greatclips .github/skills/pp-greatclips && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "pp-greatclips" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-greatclips into .github/skills/pp-greatclips/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-greatclips", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mvanhorn/printing-press-library --skill pp-greatclips -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install mvanhorn/printing-press-library pp-greatclips --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/cli-skills/pp-greatclips .opencode/skills/pp-greatclips && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "pp-greatclips" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-greatclips into .opencode/skills/pp-greatclips/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-greatclips", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
pp-greatclipsFirst CLI for Great Clips Online Check-In: every endpoint shape and host route, ready for real calls once cookies...
Pp Greatclips is an agent skill from mvanhorn/printing-press-library. First CLI for Great Clips Online Check-In: every endpoint shape and host route, ready for real calls once cookies... Trigger phrases: great clips wait time, check me into great clips, how long is the wait at great clips, add me and my kids to the great clips wait list, great clips request shape, use greatclips, run greatclips.
Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: Official library of CLIs generated by the CLI Printing Press. Endorsed, tested, and community-contributed. The licence is Apache-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit d9a1696. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadBashFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
claudenpxgoFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
GREATCLIPS_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Pp Greatclips loads about 2.6k tokens when it runs. Until then it costs about 89 tokens; SKILL.md has 1,113 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, BashAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from mvanhorn/printing-press-library at commit d9a1696, republished under its Apache-2.0 licence (© mvanhorn). 1,113 words, ~2,613 tokens.
.claude/skills/pp-greatclips/SKILL.md (or your agent's skills folder).<!-- GENERATED FILE — DO NOT EDIT.
This file is a verbatim mirror of library/other/greatclips/SKILL.md,
regenerated post-merge by tools/generate-skills/. Hand-edits here are
silently overwritten on the next regen. Edit the library/ source instead.
See the repository agent guide, section "Generated artifacts: registry.json, cli-skills/". -->
This skill drives the greatclips-pp-cli binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first:
$HOME/.local/bin on macOS/Linux and %LOCALAPPDATA%\Programs\PrintingPress\bin on Windows:npx -y @mvanhorn/printing-press-library install greatclips --cli-onlygreatclips-pp-cli --version$PATH for the agent/runtime that will invoke this skill.If the npx install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.6 or newer):
go install github.com/mvanhorn/printing-press-library/library/other/greatclips/cmd/greatclips-pp-cli@latestIf --version reports "command not found" after install, the runtime cannot see the binary directory on $PATH. Do not proceed with skill commands until verification succeeds.
Use this CLI to send the exact HTTP requests the Great Clips Online Check-In SPA sends, from the command line, with dry-run and --json output. v0.1 ships every endpoint's request shape so an agent can build flows on top; real calls require manual cookie capture from a logged-in Chrome session.
This CLI uses Chrome-compatible HTTP transport for browser-facing endpoints. It does not require a resident browser process for normal API calls.
This CLI was generated with browser-observed traffic context.
auth login --chrome helper command for the equivalent flow.cancel — Cancel your active check-in
greatclips-pp-cli cancel — Cancel the active check-in for this accountcheckin — Submit a check-in for yourself plus a party (1-5 people)
greatclips-pp-cli checkin — Add yourself and optionally other party members to a salon waitlistcustomer — Read your Great Clips customer profile (name, phone, favorites, recent visits)
greatclips-pp-cli customer — Get the authenticated customer's profilegeo — Resolve a zip code or city term to latitude/longitude
greatclips-pp-cli geo — Resolve a zip/postal code to lat/lng/city/statehours — Read salon hours (today plus 14-day forecast with special hours)
greatclips-pp-cli hours — Get 14-day hours forecast for one salonsalons — Search and look up Great Clips salons
greatclips-pp-cli salons get — Get a single salon by its salon numbergreatclips-pp-cli salons search — Search salons by zip code, city, or coordinates within a radiusstatus — Check your current position in line for an active check-in
greatclips-pp-cli status — Get your active check-in status (position in line, estimated wait)wait — Read estimated wait times from the ICS Net Check-In service
greatclips-pp-cli wait — Get wait time for one salon (body is a single-element array of {storeNumber})When you know what you want to do but not which command does it, ask the CLI directly:
greatclips-pp-cli which "<capability in your own words>"which resolves a natural-language capability query to the best matching command from this CLI's curated feature index. Exit code 0 means at least one match; exit code 2 means no confident match — fall back to --help or use a narrower query.
greatclips-pp-cli checkin --first-name Matt --last-name VanHorn --phone-number '(206) 555-0100' --salon-number 8991 --guests 4 --dry-run --jsonEmits the exact JSON body POSTed to www.stylewaretouch.net/api/customer/checkIn for a party of four at Island Square.
greatclips-pp-cli wait --store-number 8991 --dry-run --jsonRequest shape for the ICS Net Check-In waitTime endpoint.
greatclips-pp-cli salons search --term 98040 --radius 5 --dry-run --jsonRequest shape for the salon-search/term endpoint with a 5-mile radius.
greatclips-pp-cli hours --salon 8991 --dry-runCalls salon-hours/upcoming for one salon; the response includes special-hours and holiday closures.
greatclips-pp-cli geo --query 98040 --dry-run --json --select results.city,results.state,results.lat,results.lngResolves a zip code to lat/lng/city/state via the geo-names endpoint.
Great Clips uses HttpOnly session cookies from an Auth0 tenant at cid.greatclips.com. Browser-sniff confirmed all calls succeed via cookies attached by the browser, not via an Authorization header. v0.1 of this CLI ships the request shape and host routing; to make real calls, paste the cookies from a logged-in Chrome session into ~/.config/greatclips-pp-cli/config.toml. Set GREATCLIPS_TOKEN to any placeholder so doctor passes (the env var is kept for v0.2 when bearer support might land).
Run greatclips-pp-cli doctor to verify setup.
Add --agent to any command. Expands to: --json --compact --no-input --no-color --yes.
Pipeable — JSON on stdout, errors on stderr
Filterable — --select keeps a subset of fields. Dotted paths descend into nested structures; arrays traverse element-wise. Critical for keeping context small on verbose APIs:
greatclips-pp-cli salons get --num example-value --agent --select id,name,statusPreviewable — --dry-run shows the request without sending
Non-interactive — never prompts, every input is a flag
Explicit retries — use --idempotent only when an already-existing create should count as success
When you (or the agent) notice something off about this CLI, record it:
greatclips-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
greatclips-pp-cli feedback --stdin < notes.txt
greatclips-pp-cli feedback list --json --limit 10Entries are stored locally at ~/.greatclips-pp-cli/feedback.jsonl. They are never POSTed unless GREATCLIPS_FEEDBACK_ENDPOINT is set AND either --send is passed or GREATCLIPS_FEEDBACK_AUTO_SEND=true. Default behavior is local-only.
Write what surprised you, not a bug report. Short, specific, one line: that is the part that compounds.
Every command accepts --deliver <sink>. The output goes to the named sink in addition to (or instead of) stdout, so agents can route command results without hand-piping. Three sinks are supported:
| Sink | Effect |
|---|---|
stdout | Default; write to stdout only |
file:<path> | Atomically write output to <path> (tmp + rename) |
webhook:<url> | POST the output body to the URL (application/json or application/x-ndjson when --compact) |
Unknown schemes are refused with a structured error naming the supported set. Webhook failures return non-zero and log the URL + HTTP status on stderr.
A profile is a saved set of flag values, reused across invocations. Use it when a scheduled agent calls the same command every run with the same configuration - HeyGen's "Beacon" pattern.
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 --yesExplicit flags always win over profile values; profile values win over defaults. agent-context lists all available profiles under available_profiles so introspecting agents discover them at runtime.
| Code | Meaning |
|---|---|
| 0 | Success |
| 2 | Usage error (wrong arguments) |
| 3 | Resource not found |
| 4 | Authentication required |
| 5 | API error (upstream issue) |
| 7 | Rate limited (wait and retry) |
| 10 | Config error |
Parse $ARGUMENTS:
help, or --help → show greatclips-pp-cli --help outputinstall → ends with mcp → MCP installation; otherwise → see Prerequisites above--agent)Install the MCP binary from this CLI's published public-library entry or pre-built release, then register it:
claude mcp add greatclips-pp-mcp -- greatclips-pp-mcpVerify: claude mcp list
which greatclips-pp-cli
If not found, offer to install (see Prerequisites at the top of this skill).--agent flag:greatclips-pp-cli <command> [subcommand] [args] --agentgreatclips-pp-cli <command> --help.© mvanhorn, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in cli-skills/pp-greatclips of mvanhorn/printing-press-library.
Open the folder on GitHubat commit d9a1696
Pp Greatclips next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Pp Greatclips this skillmvanhorn/printing-press-library | 2.1k | — | ~2.6k | Automated safety check: Notes | Apache-2.0 | |
| Auditing EndpointsPostHog/posthog | 40k | — | ~2.9k | Automated safety check: Pass | Custom licence | |
| Creating An EndpointPostHog/posthog | 40k | — | ~2.9k | Automated safety check: Warn | Custom licence | |
| CLIP Image-Text MatchingOrchestra-Research/AI-Research-SKILLs | 13k | 7 repos | ~1.7k | Automated safety check: Pass | MIT | |
| Fastapi Endpointdavila7/claude-code-templates | 33k | — | ~3.9k | Automated safety check: Pass | MIT | |
| Video Clipping ReferenceRightNow-AI/openfang | 18k | — | ~4.1k | Automated safety check: Warn | Apache-2.0 |
PostHog/posthog
Audit every endpoint in a PostHog project for staleness, failed materialisations, and unused materialised versions.
PostHog/posthog
Create a PostHog endpoint with the right shape on the first try — covers query kind choice, name conventions, what to expose as variables (HogQL codename vs insight breakdown), datafreshnessseconds…
Orchestra-Research/AI-Research-SKILLs
Explains OpenAI's CLIP model for zero-shot image classification, image-text similarity, semantic image search and content moderation, with install steps and code patterns.
davila7/claude-code-templates
Plan and build production-ready FastAPI endpoints with async SQLAlchemy, Pydantic v2 models, dependency injection for auth, and pytest tests.
RightNow-AI/openfang
Command reference for cutting clips from online video: yt-dlp downloads, whisper transcription, SRT subtitle files and ffmpeg processing, with Windows, macOS and Linux differences.
GPTomics/bioSkills
Align preprocessed CLIP-seq reads (eCLIP, iCLIP, iCLIP2, PAR-CLIP) to genome with STAR or bowtie2 using crosslink-preserving parameters, choosing between unique-mapper-only and multi-mapper-aware…
mvanhorn/printing-press-library
Desktop automation through the real Rust agent-desktop CLI, published in Printing Press through a small bridge.
mvanhorn/printing-press-library
Search, browse, and download Google Fonts from the terminal via the gfonts CLI.
mvanhorn/printing-press-library
The free, offline Trigger phrases: search 1688 for, find a factory on 1688 for, wholesale price on 1688 for, who is the cheapest supplier on 1688 for, compare 1688 suppliers for, use 1688, run 1688.
mvanhorn/printing-press-library
Inspect known Activity Japan plan IDs or URLs, compare dated prices and sessions, check language-sitemap coverage, and hand off to canonical booking pages.
mvanhorn/printing-press-library
Every Admin By Request portal action, plus a local SQLite mirror of audit, events, inventory and requests for ad-hoc...
mvanhorn/printing-press-library
macOS screen capture, window recording, GIF conversion, and agent evidence bundles from the terminal.
First CLI for Great Clips Online Check-In: every endpoint shape and host route, ready for real calls once cookies... Pp Greatclips is an agent skill from mvanhorn/printing-press-library. First CLI for Great Clips Online Check-In: every endpoint shape and host route, ready for real calls once cookies...
Pp Greatclips fits situations like: phrases: great clips wait time; check me into great clips; how long is the wait at great clips; add me and my kids to the great clips wait list.
Run `npx skills add mvanhorn/printing-press-library --skill pp-greatclips -a claude-code`. Or copy the skill folder (cli-skills/pp-greatclips in mvanhorn/printing-press-library) into .claude/skills/pp-greatclips in your project. Claude Code loads it when a task matches its description.
Run `npx skills add mvanhorn/printing-press-library --skill pp-greatclips -a codex`. Or copy the skill folder (cli-skills/pp-greatclips in mvanhorn/printing-press-library) into .agents/skills/pp-greatclips in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mvanhorn/printing-press-library --skill pp-greatclips -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pp-greatclips, .gemini/skills/pp-greatclips, .github/skills/pp-greatclips and .opencode/skills/pp-greatclips in your project.
Going by SKILL.md and its folder, Pp Greatclips needs the command-line tools its instructions call (claude, npx and go) and credentials named GREATCLIPS_TOKEN. Our summary lists: Node.js; A credential in GREATCLIPS_TOKEN. Its frontmatter pre-approves these tools: Read, Bash.
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Pp Greatclips is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Pp Greatclips: Auditing Endpoints (PostHog/posthog, 40k stars), Creating An Endpoint (PostHog/posthog, 40k stars), CLIP Image-Text Matching (Orchestra-Research/AI-Research-SKILLs, 13k stars) and Fastapi Endpoint (davila7/claude-code-templates, 33k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
mvanhorn (a GitHub user) maintains it in mvanhorn/printing-press-library, which has 2,056 GitHub stars. The repository holds 506 skills in this directory. The repository was last updated on October 9, 2026.
Source: mvanhorn/printing-press-library on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.