Iptvnator Sqlite DB Worker
4gray/iptvnator
A skill your agent uses when changing Electron SQLite IPC, database-worker operations, request-scoped progress or cancellation, worker packaging, or runtime verification of non-EPG database work.
Every Google Search Console feature you'd reach for, plus an offline SQLite cache that powers period compare, quick...
$ npx skills add mvanhorn/printing-press-library --skill pp-google-search-console -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install mvanhorn/printing-press-library pp-google-search-console --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-google-search-console .claude/skills/pp-google-search-console && 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-google-search-console" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-google-search-console into .claude/skills/pp-google-search-console/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-google-search-console", 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-google-search-consoleType 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-google-search-console -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install mvanhorn/printing-press-library pp-google-search-console --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-google-search-console .agents/skills/pp-google-search-console && 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-google-search-console" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-google-search-console into .agents/skills/pp-google-search-console/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-google-search-console", 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-google-search-console -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install mvanhorn/printing-press-library pp-google-search-console --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-google-search-console .cursor/skills/pp-google-search-console && 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-google-search-console" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-google-search-console into .cursor/skills/pp-google-search-console/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-google-search-console", 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-google-search-console--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-google-search-console -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install mvanhorn/printing-press-library pp-google-search-console --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-google-search-console .gemini/skills/pp-google-search-console && 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-google-search-console" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-google-search-console into .gemini/skills/pp-google-search-console/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-google-search-console", 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-google-search-consoleInstalls 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-google-search-console -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-google-search-console .github/skills/pp-google-search-console && 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-google-search-console" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-google-search-console into .github/skills/pp-google-search-console/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-google-search-console", 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-google-search-console -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-google-search-console --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-google-search-console .opencode/skills/pp-google-search-console && 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-google-search-console" agent skill from https://github.com/mvanhorn/printing-press-library/tree/main/cli-skills/pp-google-search-console into .opencode/skills/pp-google-search-console/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pp-google-search-console", 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-google-search-consoleEvery Google Search Console feature you'd reach for, plus an offline SQLite cache that powers period compare, quick...
Pp Google Search Console is an agent skill from mvanhorn/printing-press-library. Every Google Search Console feature you'd reach for, plus an offline SQLite cache that powers period compare, quick... Trigger phrases: search console performance for example.com, quick wins for sc-domain:example.com, cannibalization audit on this site, compare last 28 days to prior period in GSC, why did traffic drop on this property, which pages are decaying, use google-search-console, run gsc.
Its SKILL.md is about 4.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Databases. It works with Google Search Console and SQLite. 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 76de244. 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:
claudenpxgojqFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
developers.google.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
GSC_ACCESS_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Pp Google Search Console loads about 4.3k tokens when it runs. Until then it costs about 110 tokens; SKILL.md has 1,629 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 76de244, republished under its Apache-2.0 licence (© mvanhorn). 1,629 words, ~4,251 tokens.
.claude/skills/pp-google-search-console/SKILL.md (or your agent's skills folder).<!-- GENERATED FILE — DO NOT EDIT.
This file is a verbatim mirror of library/marketing/google-search-console/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 google-search-console-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 google-search-console --cli-onlygoogle-search-console-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/marketing/google-search-console/cmd/google-search-console-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.
Reach for this CLI when an agent needs to answer SEO questions for a Google Search Console property without round-tripping to the web UI. It is the right choice for: pulling top queries and pages for any window; comparing periods; finding indexing or sitemap regressions; surfacing page-2 quick wins, decaying pages, or keyword cannibalization; and answering questions about data older than the API's 16-month window once a sync history exists. It is not the right choice for one-off ad-hoc lookups when a sync hasn't run -- start with sync first.
These capabilities aren't available in any other tool for this API.
quick-wins — Surface page-2 queries with high impressions and low CTR -- page-2-to-page-1 candidates ranked by upside, computed offline from your synced corpus.
Reach for this when an agent needs to recommend the top SEO opportunities for a property without re-fetching from the API.
google-search-console-pp-cli quick-wins sc-domain:example.com --position 8-20 --min-imps 100 --jsoncannibalization — Find queries where multiple pages compete, ranked by combined impressions -- the keyword-cannibalization audit the GSC web UI doesn't offer.
Use when an agent investigates why a query ranks worse than expected -- surfaces the competing pages on its own URL.
google-search-console-pp-cli cannibalization sc-domain:example.com --min-imps 50 --top 25 --jsonoutliers — Queries or pages with click-through rates that deviate from the observed CTR-by-position curve in your own corpus.
Title-tag and snippet-rewrite candidates an agent can act on directly -- high impressions, low CTR for their position.
google-search-console-pp-cli outliers sc-domain:example.com --metric ctr --sigma 2 --top 50 --jsoncompare — Period-over-period delta on clicks, impressions, CTR, and position for any dimension -- week-over-week, month-over-month, or arbitrary windows.
First-line investigation when a property's traffic shifts -- the agent gets the deltas without spelunking two raw queries.
google-search-console-pp-cli compare sc-domain:example.com --period 28d --vs prev-period --dim query --top 50 --agent --select rows.keys,rows.delta_clicks,rows.delta_positioncliff — Find the day clicks or impressions cratered, with signature hints matching same-day sitemap regressions or indexing drops.
The first command an agent should run when a human says 'traffic dropped' -- points at the day and likely cause.
google-search-console-pp-cli cliff sc-domain:example.com --metric clicks --threshold -25% --window 7dhistorical — Search analytics for date ranges older than the API's 16-month rolling window -- answer 'is this March-2024 normal?' from cached history.
Forecasting and seasonality questions; a one-shot agent can answer 'compared to two years ago' without breaking out a backup file.
google-search-console-pp-cli historical sc-domain:example.com --start 2023-01-01 --end 2023-12-31 --dim query --top 100roll-up — Aggregate top queries or pages across every verified property in one command -- the API forces N round-trips.
Agency workflows where the agent surfaces top performers across a portfolio without writing per-site loops.
google-search-console-pp-cli roll-up --metric clicks --group-by query --top 50 --last 28d --jsoncoverage-drift — URLs whose inspection state flipped (indexed → not indexed, robots changed, canonical changed) within a window.
Catches indexing regressions an agent would otherwise miss because the API hides them once the state has flipped back.
google-search-console-pp-cli coverage-drift sc-domain:example.com --field indexingState --days 30 --jsonsitemap-watch — Diff sitemap state between snapshots -- surface new errors, new warnings, content-count drops, and stale lastDownloaded times.
Friday automation that catches sitemap regressions before the next Monday traffic dip -- runs from local data, no extra API spend.
google-search-console-pp-cli sitemap-watch sc-domain:example.com --since 7d --jsondecaying — Pages with monotonic click decline over a rolling window, ranked by total impressions × negative slope -- the content-refresh queue.
Content marketers' Thursday refresh queue -- the agent picks update candidates with concrete supporting numbers.
google-search-console-pp-cli decaying sc-domain:example.com --window 90d --min-imps 500 --top 50 --jsonnew-queries — Queries that started showing up with impressions in the last N days but didn't exist in the corpus before -- emerging demand.
Content-ideas surface for marketers; the agent gets emerging-search trends scoped to this site rather than generic Trends data.
google-search-console-pp-cli new-queries sc-domain:example.com --since 28d --min-imps 50 --top 100 --jsonurl-inspection — Inspect a URL's index status in Google Search
google-search-console-pp-cli url-inspection — Returns Google's view of a single URL: index status, last crawl time, canonical URL (Google-selected vs...webmasters — Manage webmasters
google-search-console-pp-cli webmasters add-site — Adds a site to the set of the user's sites in Search Console. The site must still be verified separately (via DNS,...google-search-console-pp-cli webmasters delete-site — Removes a site from the set of the user's Search Console sites. Does not delete data Google has collected.google-search-console-pp-cli webmasters delete-sitemap — Deletes a sitemap from the Sitemaps report. Does not stop Google from crawling the sitemap if it's still...google-search-console-pp-cli webmasters get-site — Retrieves information about a specific verified site, including the user's permission level.google-search-console-pp-cli webmasters get-sitemap — Retrieves information about a specific sitemap, including warnings, errors, last submitted/downloaded times, and...google-search-console-pp-cli webmasters list-sitemaps — Lists the sitemaps submitted for this site, or included in the sitemap index file (if sitemapIndex is provided in...google-search-console-pp-cli webmasters list-sites — Returns every site (domain property or URL-prefix property) the authenticated user has access to in Search Console,...google-search-console-pp-cli webmasters query-search-analytics — Returns clicks, impressions, CTR, and average position grouped by the dimensions you specify (query, page, country,...google-search-console-pp-cli webmasters submit-sitemap — Submits a sitemap for a site. The sitemap URL must be an absolute URL on the same site as siteUrl. Submission is...When you know what you want to do but not which command does it, ask the CLI directly:
google-search-console-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.
google-search-console-pp-cli outliers sc-domain:example.com --metric ctr --sigma 2 --top 50 --agent --select rows.keys,rows.position,rows.ctr,rows.expected_ctrPairs --agent (compact NDJSON) with --select to narrow the response so the agent doesn't have to wade through full ApiDataRow objects. Outputs only the dimensions and the CTR delta vs the bucket mean for the position.
google-search-console-pp-cli cliff sc-domain:example.com --metric clicks --threshold -20% --window 14d --jsonReturns the days clicks dropped more than 20% versus the prior day, plus same-day signals from sitemaps (new errors) and url_inspections (indexing-state flips). Single command answers the most common SEO post-mortem question.
google-search-console-pp-cli roll-up --metric clicks --group-by query --last 7d --top 25 --csv > weekly.csvAggregates top 25 queries by clicks across every verified property, last 7 days. CSV pipes straight into a spreadsheet or data tool.
google-search-console-pp-cli url-inspection inspect-batch --file urls.txt --site sc-domain:example.com --max-per-day 2000 --jsonStreams NDJSON one inspection per line. Respects the per-property daily quota. Pipe to jq 'select(.indexStatusResult.coverageState != "Submitted and indexed")' to surface only problems.
google-search-console-pp-cli cannibalization sc-domain:example.com --min-imps 50 --top 20 --jsonSurfaces existing queries where multiple pages on the site already compete. Run before publishing a new piece on the same topic -- pick the strongest existing page or consolidate.
Two paths.
Recommended: auth login -- one-time browser-based login, auto-refreshes thereafter.
google-search-console-pp-cli auth set-client <client_id> <client_secret> # 5-min Google Cloud Console setup, then run once
google-search-console-pp-cli auth login # browser flow, persists refresh token
google-search-console-pp-cli auth login --no-browser # WSL2/SSH/headless variant
google-search-console-pp-cli auth login --scope write # opt into sitemap submit / site add+deleteAfter auth login, every command silently refreshes the 1-hour access token using the saved refresh token. The user never sees a token again. See README.md for the full Google Cloud Console walkthrough.
For CI / one-shot scripts: GSC_ACCESS_TOKEN -- fetch from the OAuth Playground, export, run. Tokens last 1 hour, no auto-refresh.
export GSC_ACCESS_TOKEN="ya29..." # https://developers.google.com/oauthplayground/Both paths coexist. Env var takes precedence over the stored file token when both are present.
Run google-search-console-pp-cli doctor to verify setup. auth status shows refresh-token presence and the expiry countdown.
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:
google-search-console-pp-cli url-inspection --inspection-url https://example.com/resource --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, and --ignore-missing only when a missing delete target should count as success
When you (or the agent) notice something off about this CLI, record it:
google-search-console-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
google-search-console-pp-cli feedback --stdin < notes.txt
google-search-console-pp-cli feedback list --json --limit 10Entries are stored locally at ~/.google-search-console-pp-cli/feedback.jsonl. They are never POSTed unless GOOGLE_SEARCH_CONSOLE_FEEDBACK_ENDPOINT is set AND either --send is passed or GOOGLE_SEARCH_CONSOLE_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.
google-search-console-pp-cli profile save briefing --json
google-search-console-pp-cli --profile briefing url-inspection --inspection-url https://example.com/resource
google-search-console-pp-cli profile list --json
google-search-console-pp-cli profile show briefing
google-search-console-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 google-search-console-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 google-search-console-pp-mcp -- google-search-console-pp-mcpVerify: claude mcp list
which google-search-console-pp-cli
If not found, offer to install (see Prerequisites at the top of this skill).--agent flag:google-search-console-pp-cli <command> [subcommand] [args] --agentgoogle-search-console-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-google-search-console of mvanhorn/printing-press-library.
Open the folder on GitHubat commit 76de244
Pp Google Search Console 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 Google Search Console this skillmvanhorn/printing-press-library | 2.1k | — | ~4.3k | Automated safety check: Notes | Apache-2.0 | |
| Iptvnator Sqlite DB Worker4gray/iptvnator | 7.3k | — | ~824 | Automated safety check: Pass | MIT | |
| Analyze Nsys Profilemlc-ai/pith-train | 355 | — | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| Reactive Sqlite UIfastrepl/anarlog | 9.5k | — | ~699 | Automated safety check: Pass | MIT | |
| Composer Forensicsdxos/dxos | 525 | — | ~3.1k | Automated safety check: Pass | Custom licence | |
| Sqlite Schema Designfastrepl/anarlog | 9.5k | — | ~1.9k | Automated safety check: Pass | MIT |
4gray/iptvnator
A skill your agent uses when changing Electron SQLite IPC, database-worker operations, request-scoped progress or cancellation, worker packaging, or runtime verification of non-EPG database work.
mlc-ai/pith-train
Query a captured PithTrain Nsight Systems profile to measure compute/communication overlap, locate exposed comm by DualPipeV stage, and inspect per-rank stream behavior.
fastrepl/anarlog
Build SQLite-backed reactive UI in apps/desktop using stable patterns for reads, selection, forms, writes, and loading states.
dxos/dxos
Forensically inspect and repair Composer browser profiles — offline (Chrome OPFS / SQLite extract) or live via /recovery.html debug port.
fastrepl/anarlog
Design or review schemas for crates/cloudsync using SQLite Sync constraints, not generic SQLite advice.
deusXmachina-dev/memorylane
Create SQLite migrations for MemoryLane storage schema changes.
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.
Works with
Categories
Every Google Search Console feature you'd reach for, plus an offline SQLite cache that powers period compare, quick... Pp Google Search Console is an agent skill from mvanhorn/printing-press-library. Every Google Search Console feature you'd reach for, plus an offline SQLite cache that powers period compare, quick...
Pp Google Search Console fits situations like: phrases: search console performance for example.com; quick wins for sc-domain:example.com; cannibalization audit on this site; compare last 28 days to prior period in GSC.
Run `npx skills add mvanhorn/printing-press-library --skill pp-google-search-console -a claude-code`. Or copy the skill folder (cli-skills/pp-google-search-console in mvanhorn/printing-press-library) into .claude/skills/pp-google-search-console in your project. Claude Code loads it when a task matches its description.
Run `npx skills add mvanhorn/printing-press-library --skill pp-google-search-console -a codex`. Or copy the skill folder (cli-skills/pp-google-search-console in mvanhorn/printing-press-library) into .agents/skills/pp-google-search-console 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-google-search-console -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-google-search-console, .gemini/skills/pp-google-search-console, .github/skills/pp-google-search-console and .opencode/skills/pp-google-search-console in your project.
Going by SKILL.md and its folder, Pp Google Search Console needs the command-line tools its instructions call (claude, npx, go and jq) and credentials named GSC_ACCESS_TOKEN. Our summary lists: Node.js. Its frontmatter pre-approves these tools: Read, Bash.
SKILL.md names 1 domain. In commands or code: developers.google.com; the agent is likely to contact it when it follows the instructions. 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 Google Search Console 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 4.3k tokens (SKILL.md is roughly 17k 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 Google Search Console: Iptvnator Sqlite DB Worker (4gray/iptvnator, 7.3k stars), Analyze Nsys Profile (mlc-ai/pith-train, 355 stars), Reactive Sqlite UI (fastrepl/anarlog, 9.5k stars) and Composer Forensics (dxos/dxos, 525 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.