From nodeshub-seo-skills
Step-by-step guide to connect Google Search Console credentials and set up GSC data access for use with fetch-gsc.js. Walks through Google Cloud Console setup and credential file creation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/nodeshub-seo-skills:connect-gscThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
**First action:** Run the banner so the blue logo and skill name appear in the terminal:
First action: Run the banner so the blue logo and skill name appear in the terminal:
python3 -c "import sys; sys.path.insert(0,'.claude/skills/nod-nodeshub-api/scripts'); from banner import print_banner; print_banner('Connect GSC')"
Then walk the user through connecting Google Search Console so they can run npm run fetch-gsc and use search performance data. Do it step by step, asking for confirmation before continuing.
Anything the user types into the chat leaves their machine — it's sent to the LLM provider, written to local session logs (~/.claude/projects/<slug>/*.jsonl) in plain text, and may appear in telemetry, backups, or IDE sync. This applies to the contents of the JSON key file (private key inside it is a secret). It also applies to the Service Account client_email — while that email alone is not critical, combined with the private key in logs/backups it lets the holder call Google APIs under the user's project.
You MUST:
gsc-credentials.json into chat.client_email into chat. Read it yourself from local/gsc-credentials.json once the user saves the file there (see Step 4).Privacy: The key file local/gsc-credentials.json is stored in a gitignored path. Tell the user: do not make this repo public if it contains the file — keep the repo private or ensure sensitive files stay out of version control.
First, check whether the GSC credentials file exists:
local/gsc-credentials.json exists: GSC is already set up for this repo. Ask the user: "GSC is already connected (credentials file present). Do you want to change the current integration (replace with a different Service Account) or add another GSC property/credentials? (Reply: change / add another / no, I'm done.)"
local/gsc-credentials.json).Ask: "Have you enabled the Google Search Console API? Reply yes when done."
gsc-reader. Click Create and Continue. (No role needed — skip optional steps, then Done.)Ask: "Have you downloaded the JSON key file? Reply yes when done."
local/ in the repo root if it does not exist.local/gsc-credentials.json
local/ is in .gitignore, so the file will not be committed. Do not make the repo public — it now contains a private credentials file (even though it is gitignored, keeping the repo private is safer).Ask: "Have you saved the file as local/gsc-credentials.json? Reply yes when done."
Once the user confirms the key file is at local/gsc-credentials.json, read the client_email yourself — do not ask the user to paste it:
python3 -c "import json; print(json.load(open('local/gsc-credentials.json'))['client_email'])"
Show the email to the user and tell them they will paste it into Google Search Console in the next step (that's a Google UI field, not this chat).
Ask: "Have you added the Service Account as a user in GSC? Reply yes when done."
Run:
npm install
npm run fetch-gsc
If they use a different site or paths, point them to edit scripts/fetch-gsc.js (CONFIG.siteUrl, CONFIG.outputDir). Data is written to knowledge/metrics/seo/ by default.
Ask: "Did npm run fetch-gsc run without errors? If you see any error, paste it here."
local/gsc-credentials.json (gitignored). Keep the repo private — do not publish it publicly when it contains credentials.For more detail (e.g. filters, dimensions), see tools/integrations/google-search-console.md.
npx claudepluginhub senuto/nodeshub-seo-skills --plugin nodeshub-seo-skillsStep-by-step guide to connect Google Analytics 4 for fetching pageviews, sessions, events, and traffic sources. Activates when user mentions GA4 setup or connection.
Provides direct access to Google SEO data: Search Console, PageSpeed Insights, CrUX, Indexing API, GA4 organic traffic, YouTube search, NLP entity/sentiment, Knowledge Graph, Web Risk, and Ads Keyword Planner.
Connects to Google Search Console via API/browser/CSV, analyzes search performance data across 8 types (striking distance, low-CTR, content gaps, cannibalization), prioritizes SEO opportunities, and executes optimizations.