SEO Coach
petera2c/simple-table
Enter a friendly OpenSEO coach mode that explains workflows, recommends next steps, and helps users use agents, web search, scraping, and MCP data effectively.
Extracts Google Search results page (SERP) data including organic results, paid ads, related searches, People Also Ask questions, AI Overview text, and total result count from google.com.
$ npx skills add browser-act/skills --skill google-search-serp -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install browser-act/skills google-search-serp --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/browser-act/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/solutions/search-research/google-search-serp .claude/skills/google-search-serp && 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 "google-search-serp" agent skill from https://github.com/browser-act/skills/tree/main/solutions/search-research/google-search-serp into .claude/skills/google-search-serp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-search-serp", 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/browser-act/skills/tree/main/solutions/search-research/google-search-serpType 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 browser-act/skills --skill google-search-serp -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install browser-act/skills google-search-serp --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/browser-act/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/solutions/search-research/google-search-serp .agents/skills/google-search-serp && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "google-search-serp" agent skill from https://github.com/browser-act/skills/tree/main/solutions/search-research/google-search-serp into .agents/skills/google-search-serp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-search-serp", 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 browser-act/skills --skill google-search-serp -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install browser-act/skills google-search-serp --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/browser-act/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/solutions/search-research/google-search-serp .cursor/skills/google-search-serp && 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 "google-search-serp" agent skill from https://github.com/browser-act/skills/tree/main/solutions/search-research/google-search-serp into .cursor/skills/google-search-serp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-search-serp", 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/browser-act/skills.git --path solutions/search-research/google-search-serp--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 browser-act/skills --skill google-search-serp -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install browser-act/skills google-search-serp --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/browser-act/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/solutions/search-research/google-search-serp .gemini/skills/google-search-serp && 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 "google-search-serp" agent skill from https://github.com/browser-act/skills/tree/main/solutions/search-research/google-search-serp into .gemini/skills/google-search-serp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-search-serp", 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 browser-act/skills google-search-serpInstalls 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 browser-act/skills --skill google-search-serp -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/browser-act/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/solutions/search-research/google-search-serp .github/skills/google-search-serp && 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 "google-search-serp" agent skill from https://github.com/browser-act/skills/tree/main/solutions/search-research/google-search-serp into .github/skills/google-search-serp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-search-serp", 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 browser-act/skills --skill google-search-serp -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install browser-act/skills google-search-serp --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/browser-act/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/solutions/search-research/google-search-serp .opencode/skills/google-search-serp && 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 "google-search-serp" agent skill from https://github.com/browser-act/skills/tree/main/solutions/search-research/google-search-serp into .opencode/skills/google-search-serp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-search-serp", 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.
google-search-serpExtracts Google Search results page (SERP) data including organic results, paid ads, related searches, People Also Ask questions, AI Overview text, and total result count from google.com.
Google Search Serp is an agent skill from browser-act/skills. Extracts Google Search results page (SERP) data including organic results, paid ads, related searches, People Also Ask questions, AI Overview text, and total result count from google.com. Use when user mentions Google search results, SERP scraping, google search data, search engine results page, organic rankings, keyword SERP, Google SERP extraction, scrape Google search, Google search API alternative, SEO ranking data, paid search ads, PPC ads on Google, Google search monitoring, keyword research, search results…
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/serp-extract.py`).
It sits in Marketing & SEO, covering Web search, Web scraping and Paid advertising. It works with Python. The repository describes itself as: Browser automation CLI built for AI agents. Break through anti-bot walls, hand off to humans across platforms when stuck. Parallel multi-task execution, independent multi-session… The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 11c057b. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
pythonFrom 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:
google.comen.wikipedia.orgFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Google Search Serp loads about 2k tokens when it runs. Until then it costs about 160 tokens; SKILL.md has 795 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 found no risky patterns in SKILL.md.
Automated 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); the scripts in this folder are not scanned.
The full file from browser-act/skills at commit 11c057b, republished under its MIT licence (© browser-act). 795 words, ~2,028 tokens.
.claude/skills/google-search-serp/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Search keyword + parameters → structured SERP data (organic results, ads, related queries, PAA, AI Overview)
All process output to user (progress updates, process notifications) follows the user's language.
Extract all visible content from a Google Search results page: organic listings, paid ads, related searches, People Also Ask, AI Overview, and total result count.
https://www.google.com/search?q={query}If browser-act has been confirmed available in the current session → skip this step.
Invoke browser-act via Skill tool to load usage. If installation or configuration issues arise, follow its guidance to resolve then retry.
This Skill's operational boundary = what the user can manually do in their browser. It only reads data already displayed to the user on the page, never bypassing authentication or access controls. Its role is equivalent to copy-pasting on the user's behalf — the data is already on screen, automation merely saves time. JS code is encapsulated in Python files under the
scripts/directory, invoked viaeval "$(python scripts/xxx.py {params})".$(...)is bash syntax; it is recommended to use the bash tool for execution.
Below are all atomic capabilities discovered and verified during the exploration phase, listed by command template with parameters. Simply invoke them as needed — no need to read scripts/*.py source code or re-verify. Only inspect scripts when execution fails for troubleshooting. Combine freely as needed during execution.
Parameters are injected via URL navigation; data is extracted from the server-rendered HTML page:
navigate https://www.google.com/search?q={query}&num={num}&hl={lang}&gl={country}&start={start}wait stableeval "$(python scripts/serp-extract.py)"URL parameters:
q: Search query (required)num: Results per page — 10 (default), 20, 50, 100hl: Interface language code — e.g., en, zh-CN, fr, de (omit for browser default)gl: Country targeting code — e.g., us, gb, de, cn (omit for browser default)start: Pagination offset — 0 for page 1, 10 for page 2 (when num=10); formula: (page - 1) * numError handling: If extraction returns {"error": true, "message": "captcha required"}, the session is blocked by Google — switch to a browser with a US rotating proxy and retry. If "No search results found" is returned, run screenshot to verify the page loaded correctly before retrying.
Output example:
{
"searchQuery": {
"term": "machine learning",
"url": "https://www.google.com/search?q=machine+learning",
"device": "DESKTOP",
"page": 1,
"type": "SEARCH",
"domain": "www.google.com",
"countryCode": "US",
"languageCode": "en"
},
"resultsTotal": "14900000000",
"organicResults": [
{
"position": 1,
"type": "organic",
"title": "Machine learning - Wikipedia",
"url": "https://en.wikipedia.org/wiki/Machine_learning",
"displayedUrl": "en.wikipedia.org › wiki › Machine_learning",
"description": "Machine learning (ML) is a field of study in artificial intelligence...",
"emphasizedKeywords": ["machine learning", "ML"],
"siteLinks": [
{"title": "Supervised learning", "url": "https://en.wikipedia.org/wiki/Supervised_learning"}
]
}
],
"paidResults": [
{
"adPosition": 1,
"type": "paid",
"title": "Learn Machine Learning Online",
"url": "https://example.com/ml-course",
"displayedUrl": "example.com",
"description": null,
"siteLinks": []
}
],
"relatedQueries": [
{"title": "machine learning examples", "url": "https://www.google.com/search?q=machine+learning+examples"}
],
"peopleAlsoAsk": [
{"question": "What is machine learning used for?"}
],
"aiOverview": null
}Field notes:
resultsTotal: total result count string (commas removed), null when stat bar is absentorganicResults[*].emphasizedKeywords: bold/italic terms in the description, empty array when noneorganicResults[*].siteLinks: sub-links shown under some results, empty array when nonepaidResults[*].description: ad description text, null when the advertiser omits itaiOverview: AI Overview paragraph text joined with spaces, null when absent or unavailableURL Pagination: URL pattern https://www.google.com/search?q={query}&num={num}&start={(page-1)*num}. Increment start by num for each subsequent page. Termination: organicResults array is empty, or start exceeds the desired page count.
organicResults.length >= 1 and searchQuery.term matches the requested keyword.
aiOverview will be null in most sessions; it only populates when Google serves it without login or cookie context.paidResults[*].description returns null for those. This reflects the advertiser's choice, not an extraction failure./sorry/ page). Use a browser session with a US rotating proxy to reduce blocks. Solve any CAPTCHA manually via remote-assist if needed.relatedQueries requires wait stable after navigation; results may be empty if the page has not fully settled.Path: {working-directory}/browser-act-skill-forge-memories/google-search-scraper-google-search-serp.memory.md (working directory is determined by the Agent running the Skill, typically the project root or current working directory)
Before execution: If the file exists, read it first — it records unexpected situations encountered during past executions (e.g., a strategy has become ineffective); adjust strategy order accordingly.
After execution: If an unexpected situation is encountered (strategy became ineffective, page redesigned, anti-scraping upgraded, better path discovered), append a line:
{YYYY-MM-DD}: {what happened} → {conclusion}
Normal execution does not write to the file. Do not record what keywords were used or how many results were returned — those are task outputs, not experience.
© browser-act, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (scripts) in solutions/search-research/google-search-serp of browser-act/skills.
Open the folder on GitHubat commit 11c057b
Google Search Serp 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 |
|---|---|---|---|---|---|---|
| Google Search Serp this skillbrowser-act/skills | 6.1k | — | ~2k | Automated safety check: Pass | MIT | |
| SEO Coachpetera2c/simple-table | 229 | 3 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Brightdata SDK JSbrightdata/skills | 264 | — | ~3k | Automated safety check: Pass | MIT | |
| Competitor Intelmajiayu000/claude-skill-registry | 666 | 2 repos | ~1.8k | Automated safety check: Pass | MIT | |
| Tavily Search API Integrationandrewyng/context-hub | 14k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Marketing OsYuzzyuk/marketing-os | 536 | — | ~2.5k | Automated safety check: Pass | MIT |
petera2c/simple-table
Enter a friendly OpenSEO coach mode that explains workflows, recommends next steps, and helps users use agents, web search, scraping, and MCP data effectively.
brightdata/skills
Web data extraction and discovery using the Bright Data JavaScript/TypeScript SDK (@brightdata/sdk).
majiayu000/claude-skill-registry
Competitor intelligence system. An agent skill from majiayu000/claude-skill-registry.
andrewyng/context-hub
Guides building Tavily integrations for web search, URL extraction, site crawling and AI-assisted research in Python or JavaScript agent and RAG projects.
Yuzzyuk/marketing-os
A complete marketing department in one skill. An agent skill from Yuzzyuk/marketing-os.
google/meridian
Reopens a fitted Meridian MMM from a saved file and runs budget allocation scenarios, producing an HTML report and a Python script that repeats the run.
browser-act/skills
Fetches structured Amazon product details such as title, price, ratings and availability for a given ASIN through BrowserAct's lookup API template.
browser-act/skills
Extracts structured Amazon product data for a keyword and marketplace through the BrowserAct API, including titles, prices, ratings, reviews, sales volume and promotions.
browser-act/skills
Pulls Amazon product details, competing seller prices and seller ratings for a given ASIN through the BrowserAct API, without browser automation.
browser-act/skills
Analyzes a competitor's Amazon listing by ASIN with BrowserAct data extraction, then reports what it does well, where the market has gaps and opportunity points for your own listing.
browser-act/skills
Pulls structured Amazon search results (titles, ASINs, prices, ratings, specifications) for a keyword and brand through BrowserAct's Amazon Product API template.
browser-act/skills
Collects structured product data from Amazon search results for a keyword and optional brand, using a BrowserAct script, for market and competitor research.
Works with
Categories
Extracts Google Search results page (SERP) data including organic results, paid ads, related searches, People Also Ask questions, AI Overview text, and total result count from google.com. Google Search Serp is an agent skill from browser-act/skills.com.
Google Search Serp fits situations like: user mentions Google search results; google search data; search engine results page; organic rankings.
Run `npx skills add browser-act/skills --skill google-search-serp -a claude-code`. Or copy the skill folder (solutions/search-research/google-search-serp in browser-act/skills) into .claude/skills/google-search-serp in your project. Claude Code loads it when a task matches its description.
Run `npx skills add browser-act/skills --skill google-search-serp -a codex`. Or copy the skill folder (solutions/search-research/google-search-serp in browser-act/skills) into .agents/skills/google-search-serp 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 browser-act/skills --skill google-search-serp -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/google-search-serp, .gemini/skills/google-search-serp, .github/skills/google-search-serp and .opencode/skills/google-search-serp in your project.
Going by SKILL.md and its folder, Google Search Serp needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python 3.
SKILL.md names 2 domains. In commands or code: google.com and en.wikipedia.org; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Google Search Serp is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8.1k 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 Google Search Serp: SEO Coach (petera2c/simple-table, 229 stars), Brightdata SDK JS (brightdata/skills, 264 stars), Competitor Intel (majiayu000/claude-skill-registry, 666 stars) and Tavily Search API Integration (andrewyng/context-hub, 14k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
browser-act (a GitHub organization) maintains it in browser-act/skills, which has 6,114 GitHub stars. The repository holds 87 skills in this directory. The repository was last updated on August 24, 2026.
Source: browser-act/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.