FLOW SEO Framework
AgriciDaniel/claude-seo
Brings the FLOW framework's stage-specific SEO prompts into the agent, from keyword discovery through backlinks, on-page work and conversion to local SEO, loaded on demand.
Google Business Profile register: element, primary and supporting keywords, search intent, landing page, post dates, review rating and reply status, visibility and status.
$ npx skills add sickn33/agentic-awesome-skills --skill gbp-local-seo-intent -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install sickn33/agentic-awesome-skills gbp-local-seo-intent --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/sickn33/agentic-awesome-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/gbp-local-seo-intent .claude/skills/gbp-local-seo-intent && 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 "gbp-local-seo-intent" agent skill from https://github.com/sickn33/agentic-awesome-skills/tree/main/skills/gbp-local-seo-intent into .claude/skills/gbp-local-seo-intent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gbp-local-seo-intent", 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/sickn33/agentic-awesome-skills/tree/main/skills/gbp-local-seo-intentType 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 sickn33/agentic-awesome-skills --skill gbp-local-seo-intent -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install sickn33/agentic-awesome-skills gbp-local-seo-intent --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sickn33/agentic-awesome-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/gbp-local-seo-intent .agents/skills/gbp-local-seo-intent && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "gbp-local-seo-intent" agent skill from https://github.com/sickn33/agentic-awesome-skills/tree/main/skills/gbp-local-seo-intent into .agents/skills/gbp-local-seo-intent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gbp-local-seo-intent", 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 sickn33/agentic-awesome-skills --skill gbp-local-seo-intent -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install sickn33/agentic-awesome-skills gbp-local-seo-intent --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sickn33/agentic-awesome-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/gbp-local-seo-intent .cursor/skills/gbp-local-seo-intent && 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 "gbp-local-seo-intent" agent skill from https://github.com/sickn33/agentic-awesome-skills/tree/main/skills/gbp-local-seo-intent into .cursor/skills/gbp-local-seo-intent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gbp-local-seo-intent", 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/sickn33/agentic-awesome-skills.git --path skills/gbp-local-seo-intent--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 sickn33/agentic-awesome-skills --skill gbp-local-seo-intent -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install sickn33/agentic-awesome-skills gbp-local-seo-intent --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sickn33/agentic-awesome-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/gbp-local-seo-intent .gemini/skills/gbp-local-seo-intent && 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 "gbp-local-seo-intent" agent skill from https://github.com/sickn33/agentic-awesome-skills/tree/main/skills/gbp-local-seo-intent into .gemini/skills/gbp-local-seo-intent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gbp-local-seo-intent", 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 sickn33/agentic-awesome-skills gbp-local-seo-intentInstalls 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 sickn33/agentic-awesome-skills --skill gbp-local-seo-intent -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/sickn33/agentic-awesome-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/gbp-local-seo-intent .github/skills/gbp-local-seo-intent && 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 "gbp-local-seo-intent" agent skill from https://github.com/sickn33/agentic-awesome-skills/tree/main/skills/gbp-local-seo-intent into .github/skills/gbp-local-seo-intent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gbp-local-seo-intent", 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 sickn33/agentic-awesome-skills --skill gbp-local-seo-intent -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install sickn33/agentic-awesome-skills gbp-local-seo-intent --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sickn33/agentic-awesome-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/gbp-local-seo-intent .opencode/skills/gbp-local-seo-intent && 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 "gbp-local-seo-intent" agent skill from https://github.com/sickn33/agentic-awesome-skills/tree/main/skills/gbp-local-seo-intent into .opencode/skills/gbp-local-seo-intent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gbp-local-seo-intent", 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.
gbp-local-seo-intentGoogle Business Profile register: element, primary and supporting keywords, search intent, landing page, post dates, review rating and reply status, visibility and status.
Gbp Local SEO Intent is an agent skill from sickn33/agentic-awesome-skills. Google Business Profile register: element, primary and supporting keywords, search intent, landing page, post dates, review rating and reply status, visibility and status. Use for local SEO.
Its SKILL.md is about 5.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `references/best-practices.md`, `references/common-pitfalls.md` and `references/related-skills.md`).
It sits in Marketing & SEO, covering Local SEO. The repository describes itself as: AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 2,400+ agentic skills. Includes… The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit b84d35a. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are yaml, csv, sql, json and markdown).
From 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:
json-schema.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.
Gbp Local SEO Intent loads about 5.9k tokens when it runs, and up to ~8k if it reads all its reference files. Until then it costs about 53 tokens; SKILL.md has 2,087 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 sickn33/agentic-awesome-skills at commit b84d35a, republished under its MIT licence (© sickn33). 2,087 words, ~5,851 tokens.
.claude/skills/gbp-local-seo-intent/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.What it is: the Google Business Profile taken from claimed to complete, with the search-intent map behind it - which query means what, which one the profile should answer, and what proves the answer is right.
Works out the smallest useful profile for the business in front of it, then builds it only when asked. The default output is a short recommendation, not a profile. The GBP register - CSV, SQL DDL, JSON Schema, Notion mapping - is produced on request, from one field list so the four cannot drift apart.
Layer: Layer 3: Acquire. Fits: Starter stage. Table code: n/a.
The rule this table exists to enforce: five different things are recorded in one place
and must not be confused - the profile itself, the services, the posts, the reviews, and
the questions. A Row Type discriminator keeps them apart, because a profile update and a
review reply are different actions with different owners, and merging them turns the
register into a log nothing can be filtered out of.
The second rule: local rank is relevance, distance and prominence. A profile controls relevance directly and prominence partly. Nobody can buy a better local rank, and this skill never suggests otherwise.
Do not use it for: the website's own page structure (business-website-setup), off-site
directory citations (seo-directory-backlinks), or paid advertising - which buys clicks,
not rank.
Follow the shared execution contract. The module-specific rules below define only domain fields, decisions, calculations, and safety constraints.
Read the request and pick the intent before asking anything.
Ask only if this is the highest-value missing fact; otherwise proceed without an opener:
Q: What is the business called, and what does one line of it actually do?
Treat ambiguous replies as unanswered and ask which explicit option the user means. Record unknown values as Unknown; Unknown is not zero. A record must not be Done when a required check fails.
Skip anything already answered. Ask the rest one at a time, and stop as soon as the remaining answers would not change the profile spec.
Never invent an answer. Address, phone, categories, services, review counts, ratings,
keywords, opening hours and metrics the user has not supplied are Unknown. A review count
is a measurement, never an estimate.
module: gbp-local-seo-intent
intent: null # set up | fix | review | report | import
scale: null # Starter | Growth | Scale, only if the answer changes it
areas:
"Location": null
"What It Does": null
"Current State": null
"Proof": null
"Engagement": null
requested_outputs: []
confirmed_facts: []
open_questions: []Build an already requested artifact without asking again. For advice-only requests, give a short recommendation and offer the relevant artifact.
Recommended approach: One verified profile with the most specific accurate primary category, up to secondary categories that are genuinely true, a service list in the words customers use, the business description written plainly with the service area named, and opening hours including special hours. Then the two things that actually move it: a weekly post, and one new review a week, replied to. Photographs of the real premises, added monthly. Every field mirrored onto Bing Places and Apple Business Connect, and the intent map written down so the same terms are used on the website.
Why this one: The profile is the strongest asset a local business owns, and completeness beats cleverness. A completely filled profile with a weekly post and steady reviews outperforms a clever one that is left alone for a year. And the intent map is what stops the website, the profile and the directories using three different words for the same service.
Workflow: Address type confirmed → Primary category chosen as the most specific true one → Secondary categories added → Services listed in customer words → Description written and services named → Photos added of the real premises → Bing and Apple mirrored → Weekly post scheduled → Review request process running → Replies written within the week → Intent map shared with the website and the directories
Once the user asks for it, derive the fields from the confirmed context and emit the requested artifacts. For machine-readable text, keep prose outside the data; for files, provide a usable link. Report material validation failures or limitations separately.
A selected Notion output is rendered by notion-manual-import, so route the
Notion step there. When the user selects Notion, hand that step to
@notion-manual-import: it holds the CSV, the property
mapping, the import steps and the verification checklist, and it renders the Field
Reference below instead of defining a table of its own. Do not restate the mapping
here and do not improvise the import steps. Manual CSV and mapping outputs need no
connection. For requested workspace changes, follow the shared contract: verify actual
tool access and the target before writing. A user saying "connected" is not tool evidence.
Never ask for a Notion password or token.
Row ID,Row Type,GBP Element,Value,Primary Keyword,Supporting Keywords,Search Intent,Landing Page URL,Media Attached,Post Type,Call To Action,Publish Date,Expiry Date,Review Rating,Review Date,Review Reply Status,Reviewer Response,Category Role,Visibility,Action Type,Data Quality Status,Verified,Owner,Review Date Check,Status,Notes
,Profile,Business description,"Example Retail is a home and kitchen goods shop in Example City selling cookware, storage and small appliances, with same-day local delivery across Example City and the surrounding area. Walk in for advice, order online, or call the shop.",example retail example city,"home and kitchen goods shop; small appliance shop",Local intent,https://example.com/,None,None,Visit the shop,2026-09-27,,0.0,2026-09-27,Not applicable,Not applicable,Primary,Public,Set up,Incomplete,false,Unknown,2026-10-27,Draft,"Example row - replace every value before use."-- Engine assumption: PostgreSQL. For another engine use the engine's auto-increment
-- equivalent and keep the rest portable.
CREATE TABLE gbp_record (
row_id BIGINT PRIMARY KEY,
row_type VARCHAR(100) NOT NULL,
gbp_element VARCHAR(255) NOT NULL,
value TEXT,
primary_keyword VARCHAR(255),
supporting_keywords TEXT,
search_intent VARCHAR(100) NOT NULL,
landing_page_url TEXT,
media_attached VARCHAR(100) NOT NULL,
post_type VARCHAR(100) NOT NULL,
call_to_action VARCHAR(100),
publish_date DATE,
expiry_date DATE,
review_rating NUMERIC(2,1),
review_date DATE,
review_reply_status VARCHAR(100) NOT NULL,
reviewer_response TEXT,
category_role VARCHAR(50) NOT NULL,
visibility VARCHAR(50) NOT NULL,
action_type VARCHAR(100) NOT NULL,
data_quality_status VARCHAR(100) NOT NULL,
verified BOOLEAN NOT NULL,
owner VARCHAR(255),
review_date_check DATE,
status VARCHAR(50) NOT NULL,
notes TEXT,
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW(),
CONSTRAINT gbp_row_type CHECK (row_type IN ('Profile','Service','Category','Attribute','Post','Review','Question','Photo','Product')),
CONSTRAINT gbp_rating_range CHECK (review_rating IS NULL OR (review_rating >= 1 AND review_rating <= 5)),
CONSTRAINT gbp_data_quality CHECK (data_quality_status IN ('Complete','Incomplete','Needs Review','Blocked')),
CONSTRAINT gbp_category_role CHECK (category_role IN ('Primary','Secondary','Not applicable')),
CONSTRAINT gbp_expiry_after_publish CHECK (expiry_date IS NULL OR publish_date IS NULL OR expiry_date >= publish_date)
);
CREATE INDEX idx_gbp_record_row_type ON gbp_record (row_type);
CREATE INDEX idx_gbp_record_status ON gbp_record (status);
CREATE INDEX idx_gbp_record_reply ON gbp_record (review_reply_status);{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "GBP & Local SEO Intent",
"type": "object",
"additionalProperties": false,
"properties": {
"Row ID": { "type": "integer" },
"Row Type": { "type": "string" },
"GBP Element": { "type": "string" },
"Value": { "type": "string" },
"Primary Keyword": { "type": "string" },
"Supporting Keywords": { "type": "string" },
"Search Intent": { "type": "string" },
"Landing Page URL": { "type": "string", "format": "uri" },
"Media Attached": { "type": "string" },
"Post Type": { "type": "string" },
"Call To Action": { "type": "string" },
"Publish Date": { "type": "string", "format": "date" },
"Expiry Date": { "type": "string", "format": "date" },
"Review Rating": { "type": "number" },
"Review Date": { "type": "string", "format": "date" },
"Review Reply Status": { "type": "string" },
"Reviewer Response": { "type": "string" },
"Category Role": { "type": "string" },
"Visibility": { "type": "string" },
"Action Type": { "type": "string" },
"Data Quality Status": { "type": "string" },
"Verified": { "type": "boolean" },
"Owner": { "type": "string" },
"Review Date Check": { "type": "string", "format": "date" },
"Status": { "type": "string" },
"Notes": { "type": "string" }
},
"required": [
"Row Type",
"GBP Element",
"Search Intent",
"Media Attached",
"Post Type",
"Review Reply Status",
"Category Role",
"Visibility",
"Action Type",
"Data Quality Status",
"Verified",
"Status"
]
}| CSV column | Notion property | Set after import |
|---|---|---|
| Row ID | Text (preserve source ID) | Keep imported IDs as Text; optionally add a separate Unique ID property |
| Row Type | Select (add options after import) | Convert to Select, add options: "Profile", "Service", "Category", "Attribute", "Post", "Review", "Question", "Photo", "Product" |
| GBP Element | Text | Leave as Text. The field being set, e.g. "Business description", "Opening hours" |
| Value | Text | Leave as Text. The actual text or value. The longest cell on this table |
| Primary Keyword | Text | Leave as Text. The term this row is meant to answer |
| Supporting Keywords | Title | Use as the database title |
| Search Intent | Select (add options after import) | Convert to Select, add options: "Informational", "Commercial investigation", "Transactional", "Navigational", "Local intent" |
| Landing Page URL | URL | Convert to URL. Every post and service points at a real page on the site |
| Media Attached | Select (add options after import) | Convert to Select, add options: "None", "Photo", "Photo set", "Video" |
| Post Type | Select (add options after import) | Convert to Select, add options: "None", "Update", "Offer", "Event", "Product" |
| Call To Action | Select (add options after import) | Convert to Select, add options: "None", "Learn more", "Call now", "Book", "Get offer", "Sign up", "Shop", "Order" |
| Publish Date | Date | Convert to Date. Blank for a profile field that is not scheduled |
| Expiry Date | Date | Convert to Date. An offer post must have one or it stays up for ever |
| Review Rating | Number | Convert to Number, one decimal place, digits only. Never entered by hand for someone else's review - copied from the profile |
| Review Date | Date | Convert to Date |
| Review Reply Status | Select (add options after import) | Convert to Select, add options: "Not applicable", "Replied", "Reply pending", "Reply overdue" |
| Reviewer Response | Text | Leave as Text. What was actually said, in full |
| Category Role | Select (add options after import) | Convert to Select, add options: "Primary", "Secondary", "Not applicable" |
| Visibility | Select (add options after import) | Convert to Select, add options: "Public", "Public and managed", "Hidden - see Notes" |
| Action Type | Select (add options after import) | Convert to Select, add options: "None", "Set up", "Edit", "Reply", "Request", "Verify", "Mirror", "Suspend", "Escalate" |
| Data Quality Status | Select (add options after import) | Convert to Select, add options: "Complete", "Incomplete", "Needs Review", "Blocked" |
| Verified | Checkbox | Convert to Checkbox. False until verification has actually completed |
| Owner | Text | Leave as Text |
| Review Date Check | Date | Convert to Date. Named "Check" so it cannot be confused with a review's own date |
| Status | Select (add options after import) | Convert to Select, add options: "Planned", "In progress", "Live", "Needs update", "Retired" |
| Notes | Text | Leave as Text |The rows above are documentation examples only. Emit empty templates unless the user explicitly requests examples. Verified is false until verification completes
and Review Rating is 0 only because a review row was never entered - a real rating is
always a measurement the business supplied.
| # | Field | Type | SQL | JSON Schema | Notion | CSV example |
|---|---|---|---|---|---|---|
| 1 | Row ID | id | BIGINT PRIMARY KEY | integer | Text or Notion auto-ID | (blank) |
| 2 | Row Type | select | VARCHAR(100) | string | Select | Profile |
| 3 | GBP Element | text | VARCHAR(255) | string | Text | (blank) |
| 4 | Value | long_text | TEXT | string | Text | (blank) |
| 5 | Primary Keyword | text | VARCHAR(255) | string | Text | (blank) |
| 6 | Supporting Keywords | long_text | TEXT | string | Text | (blank) |
| 7 | Search Intent | select | VARCHAR(100) | string | Select | Local intent |
| 8 | Landing Page URL | url | TEXT | string, format: uri | URL | (blank) |
| 9 | Media Attached | select | VARCHAR(100) | string | Select | None |
| 10 | Post Type | select | VARCHAR(100) | string | Select | None |
| 11 | Call To Action | select | VARCHAR(100) | string | Select | Visit the shop |
| 12 | Publish Date | date | DATE | string, format: date | Date | (blank) |
| 13 | Expiry Date | date | DATE | string, format: date | Date | (blank) |
| 14 | Review Rating | number | NUMERIC(2,1) | number | Number | 0.0 |
| 15 | Review Date | date | DATE | string, format: date | Date | (blank) |
| 16 | Review Reply Status | select | VARCHAR(100) | string | Select | Not applicable |
| 17 | Reviewer Response | long_text | TEXT | string | Text | (blank) |
| 18 | Category Role | select | VARCHAR(50) | string | Select | Primary |
| 19 | Visibility | select | VARCHAR(50) | string | Select | Public |
| 20 | Action Type | select | VARCHAR(100) | string | Select | Set up |
| 21 | Data Quality Status | select | VARCHAR(100) | string | Select | Incomplete |
| 22 | Verified | boolean | BOOLEAN | boolean | Checkbox | false |
| 23 | Owner | text | VARCHAR(255) | string | Text | Unknown |
| 24 | Review Date Check | date | DATE | string, format: date | Date | (blank) |
| 25 | Status | select | VARCHAR(50) | string | Select | Draft |
| 26 | Notes | long_text | TEXT | string | Text | (blank) |
Row Type - the discriminator. Nine kinds of thing live in this table and they are filtered on this column constantly. A review is not a post, and a service is not a profile field.
Profile | Service | Category | Attribute | Post | Review | Question | Photo | ProductSearch Intent - the same four intents as the website, plus local. A local pack
appearance is a Local intent result; everything else on the profile supports it.
Informational | Commercial investigation | Transactional | Navigational | Local intentMedia Attached - posts with an image outperform text-only posts consistently.
None | Photo | Photo set | VideoPost Type - Offer is the only one that can expire, and an offer without an expiry
stays on the profile for ever.
None | Update | Offer | Event | ProductCall To Action - Google supplies a fixed list. Use one of these, not a custom phrase, so the button renders.
None | Learn more | Call now | Book | Get offer | Sign up | Shop | OrderReview Reply Status - the field that turns a review into a task. Reply overdue is
what makes the cadence visible.
Not applicable | Replied | Reply pending | Reply overdueCategory Role - primary is the single most important setting on the whole profile.
Primary | Secondary | Not applicableAction Type - what the row exists to make happen.
None | Set up | Edit | Reply | Request | Verify | Mirror | Suspend | EscalateData Quality Status
Complete | Incomplete | Needs Review | BlockedStatus
Planned | In progress | Live | Needs update | RetiredNone standalone. Worth confirming with the business:
Landing Page URL points at a page in business-website-setup. Confirm whether the
business wants the two joined before it is made live; the URL text is the reliable key
until they are.Owner points at the people register in the operational pack, which is not in this
artifact set. It stays Text with a note naming the intended target.Prompt
We are not showing up on Google Maps at all. Our competitors in the same street show up
for everything. I made a profile a year ago and gave up when verification asked for a
video of the shopfront.Context first - one question per message, nothing already answered:
Q: What is the business called, and what does one line of it actually do? A: Example Retail, home and kitchen goods.
Q: Do customers visit the shop, and what is the exact address as it should print? A: Yes, one shop. It is in the shopfront.
Q: What is the full service list, in the words customers use? A: Cookware, storage, small appliances, and same-day delivery.
Q: Did the verification video ever go in, or is the profile still unverified? A: Still unverified. That is why we gave up.
Q: Is anyone asking customers for reviews at the moment? A: We put a card on the counter. Nothing has come of it.
Recommended next step - offered, not built:
Finish the verification first - an unverified profile ranks for nothing, so everything else is wasted until it is done. Then the most specific true primary category, the services in the words customers use, a plain description that names the delivery area, and the same data mirrored to Bing Places and Apple Business Connect. Then the two things that actually move it: a weekly post, and one new review a week, replied to. The counter card needs a URL with a prefilled review shortlink, not a QR code to your homepage.
Workflow: Address type confirmed → Verification completed → Primary category chosen → Services listed in customer words → Description written → Photos of the real premises added → Bing and Apple mirrored → Weekly post scheduled → Review request process running → Replies written within the week → Intent map shared with the website
Want the CSV, SQL DDL, JSON Schema and Notion mapping for this?
See the Best Practices reference for the full guidance.
Review Rating and Review Count are measurements the business supplies. This skill
never estimates them and never fills a plausible number.See the Security & Safety Notes reference for the full guidance.
© sickn33, 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 5 other files (references) in skills/gbp-local-seo-intent of sickn33/agentic-awesome-skills.
Open the folder on GitHubat commit b84d35a
We found 5 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in sickn33/agentic-awesome-skills, which our catalogue first saw on October 7, 2026.
Gbp Local SEO Intent 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 |
|---|---|---|---|---|---|---|
| Gbp Local SEO Intent this skillsickn33/agentic-awesome-skills | 47k | 1 repos | ~5.9k | Automated safety check: Pass | MIT | |
| FLOW SEO FrameworkAgriciDaniel/claude-seo | 19k | 2 repos | ~1.4k | 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 | |
| Universal SEO AnalysisAgriciDaniel/claude-seo | 19k | — | ~4.9k | Automated safety check: Pass | MIT |
AgriciDaniel/claude-seo
Brings the FLOW framework's stage-specific SEO prompts into the agent, from keyword discovery through backlinks, on-page work and conversion to local SEO, loaded on demand.
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.
AgriciDaniel/claude-seo
Hub for site-wide SEO work: audits, technical checks, schema, content quality, local, hreflang and AI-search readiness, run through slash commands.
petera2c/simple-table
Set up a durable local SEO workspace with project context, notes, goals, positioning, preferences, MCP checks, and Search Console data intake.
sickn33/agentic-awesome-skills
Implements an interface in one of two named color modes, iridescent white or colorful black, from a parameterized starter that reports measured color intensity.
sickn33/agentic-awesome-skills
Saves a user's project decisions, rules and preferences into a project-local mdbase so later sessions and other agents can recover the intent.
sickn33/agentic-awesome-skills
Keeps project decisions, research and verified results available across coding-agent sessions through LWC memory, a document Wiki graph and a CodeGraph code index.
sickn33/agentic-awesome-skills
Guides an agent through assessing its own owner for cofounder fit, publishing an approved profile, and ranking complementary profiles other agents published for their owners.
sickn33/agentic-awesome-skills
Integracao com WhatsApp Business Cloud API (Meta). An agent skill from sickn33/agentic-awesome-skills.
sickn33/agentic-awesome-skills
Acts as a proxy for the Cline CLI, dispatching coding tasks one at a time, monitoring runs by hard evidence, relaying decisions to you and learning per-project preferences.
Categories
Google Business Profile register: element, primary and supporting keywords, search intent, landing page, post dates, review rating and reply status, visibility and status. Gbp Local SEO Intent is an agent skill from sickn33/agentic-awesome-skills. Google Business Profile register: element, primary and supporting keywords, search intent, landing page, post dates, review rating and reply status, visibility and status.
Gbp Local SEO Intent fits situations like: tasks that involve Local SEO.
Run `npx skills add sickn33/agentic-awesome-skills --skill gbp-local-seo-intent -a claude-code`. Or copy the skill folder (skills/gbp-local-seo-intent in sickn33/agentic-awesome-skills) into .claude/skills/gbp-local-seo-intent in your project. Claude Code loads it when a task matches its description.
Run `npx skills add sickn33/agentic-awesome-skills --skill gbp-local-seo-intent -a codex`. Or copy the skill folder (skills/gbp-local-seo-intent in sickn33/agentic-awesome-skills) into .agents/skills/gbp-local-seo-intent 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 sickn33/agentic-awesome-skills --skill gbp-local-seo-intent -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gbp-local-seo-intent, .gemini/skills/gbp-local-seo-intent, .github/skills/gbp-local-seo-intent and .opencode/skills/gbp-local-seo-intent in your project.
SKILL.md names no scripts, command-line tools or credentials: Gbp Local SEO Intent is instructions for the agent only.
SKILL.md names 1 domain. In commands or code: json-schema.org; 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.
Gbp Local SEO Intent is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.9k tokens (SKILL.md is roughly 23k 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 2.2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Gbp Local SEO Intent: FLOW SEO Framework (AgriciDaniel/claude-seo, 19k stars), Google Maps (cablate/mcp-google-map, 469 stars), Google Maps Local SEO (cablate/mcp-google-map, 469 stars) and Google Maps Travel Planning (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.
sickn33 (a GitHub user) maintains it in sickn33/agentic-awesome-skills, which has 47,405 GitHub stars. The repository holds 1,497 skills in this directory. The repository was last updated on October 9, 2026.
Source: sickn33/agentic-awesome-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.