SEO Project Setup
petera2c/simple-table
Set up a durable local SEO workspace with project context, notes, goals, positioning, preferences, MCP checks, and Search Console data intake.
Run local SEO from your terminal via the SEOG MCP server — Google Business Profile management, map-pack rank tracking and geo-grid scans, review sync and replies published to Google, competitor…
$ npx skills add TerminalSkills/skills --skill seog -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install TerminalSkills/skills seog --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/TerminalSkills/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/seog .claude/skills/seog && 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 "seog" agent skill from https://github.com/TerminalSkills/skills/tree/main/skills/seog into .claude/skills/seog/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seog", 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/TerminalSkills/skills/tree/main/skills/seogType 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 TerminalSkills/skills --skill seog -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install TerminalSkills/skills seog --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TerminalSkills/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/seog .agents/skills/seog && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "seog" agent skill from https://github.com/TerminalSkills/skills/tree/main/skills/seog into .agents/skills/seog/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seog", 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 TerminalSkills/skills --skill seog -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install TerminalSkills/skills seog --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TerminalSkills/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/seog .cursor/skills/seog && 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 "seog" agent skill from https://github.com/TerminalSkills/skills/tree/main/skills/seog into .cursor/skills/seog/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seog", 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/TerminalSkills/skills.git --path skills/seog--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 TerminalSkills/skills --skill seog -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install TerminalSkills/skills seog --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TerminalSkills/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/seog .gemini/skills/seog && 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 "seog" agent skill from https://github.com/TerminalSkills/skills/tree/main/skills/seog into .gemini/skills/seog/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seog", 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 TerminalSkills/skills seogInstalls 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 TerminalSkills/skills --skill seog -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/TerminalSkills/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/seog .github/skills/seog && 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 "seog" agent skill from https://github.com/TerminalSkills/skills/tree/main/skills/seog into .github/skills/seog/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seog", 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 TerminalSkills/skills --skill seog -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install TerminalSkills/skills seog --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TerminalSkills/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/seog .opencode/skills/seog && 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 "seog" agent skill from https://github.com/TerminalSkills/skills/tree/main/skills/seog into .opencode/skills/seog/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "seog", 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.
seogRun local SEO from your terminal via the SEOG MCP server — Google Business Profile management, map-pack rank tracking and geo-grid scans, review sync and replies published to Google, competitor…
Seog is an agent skill from TerminalSkills/skills. Run local SEO from your terminal via the SEOG MCP server — Google Business Profile management, map-pack rank tracking and geo-grid scans, review sync and replies published to Google, competitor intelligence, AI-visibility and citation checks, website + Search Console audits, GBP posts, and PDF reports. Use when: connecting an agent to seog.ai, tracking map-pack rankings, automating local SEO reports, monitoring competitors near a business, replying to Google reviews, publishing Google posts, or when the user…
Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `_scores.json` and `references/mcp-tools.md`). Compatibility notes: Any MCP client (Claude Code, Codex, Gemini CLI, Cursor); seog.ai account with an active plan — paid tools spend credits
It sits in Marketing & SEO, covering Local SEO. It works with Model Context Protocol and Google Search Console. The repository describes itself as: Open-source library of AI agent skills — SKILL.md files for Claude Code, Codex, Gemini CLI, Cursor. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit a021875. 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.
Shell commands in SKILL.md call:
claudenpxFrom 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:
api.seog.aiFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
SEOG_MCP_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Any MCP client (Claude Code, Codex, Gemini CLI, Cursor); seog.ai account with an active plan — paid tools spend credits
From compatibility in the SKILL.md frontmatter.
Seog loads about 3.4k tokens when it runs, and up to ~6.7k if it reads all its reference files. Until then it costs about 159 tokens; SKILL.md has 986 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); files beside SKILL.md are not scanned.
The full file from TerminalSkills/skills at commit a021875, republished under its Apache-2.0 licence (© TerminalSkills). 986 words, ~3,389 tokens.
.claude/skills/seog/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.SEOG (seog.ai) is an AI local-SEO platform for businesses that live on Google Maps. Its remote MCP server exposes the whole product as 90 tools — the same domain services the web app's buttons call — so an agent can run a complete local-SEO practice without opening a browser: import a business, track and rank-check keywords, scan map visibility on a geo grid, sync and answer Google reviews, watch competitors, audit the website and Search Console, publish Google posts, and generate PDF reports.
Endpoint: https://api.seog.ai/mcp (streamable HTTP), authenticated with a personal
token. Every call runs as that SEOG account — there is no anonymous mode.
Sign up at https://app.seog.ai, then Settings → MCP access to issue a personal token (shown once). Install either way:
As a Claude Code plugin (recommended — bundles this skill and the server config):
/plugin marketplace add TerminalSkills/skills
/plugin install seog@terminal-skillsClaude Code asks for the token during install and stores it in the credential store. Non-interactively (scripts, CI):
claude plugin marketplace add TerminalSkills/skills
claude plugin install seog@terminal-skills --config mcp_token="$SEOG_MCP_TOKEN"Verify with /plugin list (seog → enabled) and /mcp (seog → connected).
As a skill + manually registered MCP server (any client):
npx terminal-skills install seog
claude mcp add --transport http seog https://api.seog.ai/mcp \
--header "Authorization: Bearer $SEOG_MCP_TOKEN"For Codex / Gemini CLI / Cursor, register an HTTP MCP server with the same URL and
Authorization: Bearer header. Verify with tools/list — 90 tools from server
seog-platform (fewer on white-label accounts; see Guidelines).
get_credit_balance returns balance + plan; list_feature_prices prices every paid
tool. Check both before a multi-business sweep.create_report is the one asynchronous case: it returns a QUEUED
report immediately and the charge lands when the PDF generates (refunded if it fails),
so poll get_report rather than assuming the credits moved at enqueue.Full parameter schemas and pricing notes: references/mcp-tools.md.
💳 = spends credits.
| Domain | Tools |
|---|---|
| Businesses | list_businesses, get_business, search_places💳, import_business💳, update_business, delete_business |
| Profile health | get_business_audit, get_action_plan, list_recommendations, analyze_business_profile, set_recommendation_status |
| Profile editing (writes to Google) | apply_profile_fix💳, undo_profile_fix💳, draft_business_description💳, apply_business_description💳, undo_business_description💳, list_profile_photos, delete_profile_photo💳, get_profile_fix_options, list_recent_profile_edits |
| Rankings | list_keywords, add_keyword💳, check_keyword💳, refresh_rankings💳, keyword_history, keyword_recommendations💳, keyword_recommendations_cache, toggle_keyword, remove_keyword |
| Map grid + AI answers | run_grid_scan💳, get_latest_grid_scan, get_keyword_grid_scan, get_grid_history, get_grid_snapshot, check_ai_overview💳, get_ai_overview |
| Reviews | list_reviews, review_stats, sync_reviews💳, draft_review_response, generate_review_reply💳, publish_review_reply💳, verify_review_reply💳 |
| Competitors | discover_competitors💳, get_discovered_competitors, list_competitors, add_competitor💳, remove_competitor, set_competitor_watchlist, snapshot_competitor💳, refresh_competitors💳, compare_competitors, list_competitor_alerts, mark_competitor_alerts_read, scan_competitor_spam |
| AI visibility | get_ai_visibility, get_ai_visibility_pillars, get_ai_presence_matrix, check_ai_visibility💳, list_citations, check_citations💳 |
| Website + Search Console | get_website_analysis, refresh_website_analysis💳, refresh_website_all💳, get_search_performance, get_search_console_status, load_search_performance💳 |
| Google posts | list_posts, get_post_templates, validate_post, draft_post_content💳, publish_post💳, refresh_posts💳, delete_post💳 |
| Google connection | get_google_connection_status, get_gbp_performance, load_gbp_performance💳, load_gbp_keyword_history💳, list_gbp_import_locations, import_gbp_business💳 |
| Account + reports | get_dashboard, get_credit_balance, list_feature_prices, get_metrics_history, list_reports, create_report💳, get_report, delete_report, refresh_business_profile💳, refresh_business_overview💳 |
Onboard — search_places → import_business with the chosen placeId. If the
user's Google account is already connected, prefer list_gbp_import_locations →
import_gbp_business: it binds the owner connection, which is what unlocks review
replies and posts.
Track rankings — read keyword_recommendations_cache (free) before paying for
keyword_recommendations; add_keyword (optional locationLabel to rank from a
neighborhood); check_keyword for one live check or refresh_rankings for every
active keyword in a single charge; keyword_history for the trend; run_grid_scan
for map coverage across a grid (price scales with gridSize).
Work reviews — sync_reviews → list_reviews(filter="needs-response") →
generate_review_reply for a draft → ask the user → publish_review_reply
(publicly visible on Google) → verify_review_reply to confirm it landed.
draft_review_response saves a local draft and publishes nothing.
Fix the profile — get_action_plan / get_business_audit to find gaps, then
apply_profile_fix (phone, website, hours, name, status) or
draft_business_description → apply_business_description. Both write to the live
listing; undo_profile_fix / undo_business_description revert.
Diagnose beyond the profile — get_website_analysis + get_search_performance
(free reads of the last runs), refresh_website_all to re-run both in one charge;
get_ai_visibility_pillars and list_citations for AI-answer readiness and NAP
consistency.
"How are my clients doing this week?"
1. get_credit_balance → 180 CR (Growth plan) — enough for the sweep
2. list_businesses → 15 businesses
3. per business: refresh_rankings # one charge for all active keywords
sync_reviews → list_reviews(filter="needs-response")
compare_competitors + list_competitor_alerts # both free
4. generate_review_reply for each negative unanswered review → present the drafts
5. get_action_plan(businessId) → prioritized fixes for the digestPublishing (publish_review_reply) waits for the owner's explicit yes.
> run_grid_scan(businessId, keywordId, gridSize=7)
✗ Not enough credits: this action costs 45 CR and the account balance is 12 CR.
Nothing was run and nothing was charged. Top up or upgrade at
https://app.seog.ai/billing, then retry.Correct behaviour: relay the numbers and the link, stop the paid sweep (do not
retry in a loop), and finish the digest from free reads — list_keywords,
get_latest_grid_scan, review_stats, get_action_plan all still work.
list_feature_prices and check get_credit_balance first. Prefer bundled charges
(refresh_rankings, refresh_website_all, refresh_business_overview) over
per-item loops — they cost less for the same work.publish_review_reply, publish_post,
apply_profile_fix and apply_business_description write to the live Google
listing. Quote the exact text and get approval first. Changing the business NAME can
put the listing into Google re-verification — say so before doing it.confirm: true — delete_business, delete_profile_photo,
delete_post, remove_keyword, remove_competitor, delete_report. Without the flag they
refuse to run, by design: quote exactly what will be deleted, get a yes, then pass it.
delete_business cascades reviews, keywords, rankings and competitors; deleted photos and
posts cannot be restored. Prefer toggle_keyword when the user only wants to pause tracking.INSUFFICIENT_CREDITS gives price, balance and the top-up URL; PLAN_REQUIRED means
the trial ended or no plan exists; FEATURE_NOT_IN_PLAN names the feature and plan.
Relay them — a retry loop just fails again.search_places, check_keyword, sync_reviews,
discover_competitors, run_grid_scan, import_gbp_business, …). If a tool is "not
found", say the account is not cleared for it rather than guessing.© TerminalSkills, 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
SKILL.md and 2 other files (references) in skills/seog of TerminalSkills/skills.
Open the folder on GitHubat commit a021875
Seog 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 |
|---|---|---|---|---|---|---|
| Seog this skillTerminalSkills/skills | 163 | — | ~3.4k | Automated safety check: Pass | Apache-2.0 | |
| SEO Project Setuppetera2c/simple-table | 229 | 2 repos | ~1.5k | Automated safety check: Pass | MIT | |
| SEONexus-JPF/note-companion | 870 | — | ~2.2k | Automated safety check: Pass | MIT | |
| Google Mapscablate/mcp-google-map | 469 | — | ~909 | Automated safety check: Pass | MIT | |
| Google Maps Local SEOcablate/mcp-google-map | 469 | — | ~633 | Automated safety check: Pass | MIT | |
| Google Maps Travel Planningcablate/mcp-google-map | 469 | — | ~710 | Automated safety check: Pass | MIT |
petera2c/simple-table
Set up a durable local SEO workspace with project context, notes, goals, positioning, preferences, MCP checks, and Search Console data intake.
Nexus-JPF/note-companion
Use and read this skill immediately if the user request is in any way related to SEO or a site's organic search or AI search presence.
cablate/mcp-google-map
Search places, resolve addresses, compare routes, inspect neighborhoods, and retrieve geographic or environmental facts through the standalone @cablate/mcp-google-map CLI.
cablate/mcp-google-map
Analyze Google Business Profile visibility, geographic grid rankings, local search keywords, and nearby competitors through the standalone Google Maps CLI.
cablate/mcp-google-map
Build evidence-backed day trips, multi-day itineraries, and efficient stop sequences with Google Maps data through the standalone CLI.
Ryze-AI-Adgent/open-seo-mcp-skills
Rank tracking without a tracker subscription — position movers between any two periods from real Search Console data.
TerminalSkills/skills
Build custom Blender add-ons with Python. An agent skill from TerminalSkills/skills.
TerminalSkills/skills
Build marketplace and platform payment flows with Stripe Connect.
TerminalSkills/skills
Scripts and configures production rendering in Autodesk 3ds Max with the V-Ray and Corona renderers: output size and files, render elements, denoising, light mix, batch and command-line rendering…
TerminalSkills/skills
Covers scripting Autodesk 3ds Max, the 3D modeling and rendering application, with MAXScript and Python (pymxs): scene manipulation, object creation, material assignment, camera and light setup…
TerminalSkills/skills
3proxy is a small open-source proxy server that runs HTTP/HTTPS, SOCKS4/5, SNI and TCP/UDP port-mapping proxies from one config file.
TerminalSkills/skills
Builds Agent2Agent (A2A) servers and clients, the open protocol (originally from Google, now under the Linux Foundation) that lets AI agents from different frameworks call each other.
Categories
Run local SEO from your terminal via the SEOG MCP server — Google Business Profile management, map-pack rank tracking and geo-grid scans, review sync and replies published to Google, competitor…. Seog is an agent skill from TerminalSkills/skills. Run local SEO from your terminal via the SEOG MCP server — Google Business Profile management, map-pack rank tracking and geo-grid scans, review sync and replies published to Google, competitor intelligence, AI-visibility and citation checks, website + Search Console audits, GBP posts, and PDF reports.
Seog fits situations like: : connecting an agent to seog.ai; tracking map-pack rankings; automating local SEO reports; monitoring competitors near a business.
Run `npx skills add TerminalSkills/skills --skill seog -a claude-code`. Or copy the skill folder (skills/seog in TerminalSkills/skills) into .claude/skills/seog in your project. Claude Code loads it when a task matches its description.
Run `npx skills add TerminalSkills/skills --skill seog -a codex`. Or copy the skill folder (skills/seog in TerminalSkills/skills) into .agents/skills/seog 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 TerminalSkills/skills --skill seog -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/seog, .gemini/skills/seog, .github/skills/seog and .opencode/skills/seog in your project.
Going by SKILL.md and its folder, Seog needs the command-line tools its instructions call (claude and npx) and credentials named SEOG_MCP_TOKEN. Our summary lists: Node.js; A credential in SEOG_MCP_TOKEN. Compatibility (from SKILL.md): Any MCP client (Claude Code, Codex, Gemini CLI, Cursor); seog.ai account with an active plan — paid tools spend credits.
SKILL.md names 1 domain. In commands or code: api.seog.ai; 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 no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Seog 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 3.4k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Seog: SEO Project Setup (petera2c/simple-table, 229 stars), SEO (Nexus-JPF/note-companion, 870 stars), Google Maps (cablate/mcp-google-map, 469 stars) and Google Maps Local SEO (cablate/mcp-google-map, 469 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
TerminalSkills (a GitHub organization) maintains it in TerminalSkills/skills, which has 163 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 3, 2026.
Source: TerminalSkills/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.