gbp-local-seo-intent – skill Marketing & SEO cho agent AI
Sổ đăng ký Google Business Profile: phần tử, từ khóa chính và phụ, ý định tìm kiếm, trang đích, ngày đăng bài, điểm đánh giá và trạng thái phản hồi, khả năng hiển thị và trạng thái. Dùng cho local SEO.
Cài skill gbp-local-seo-intent bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/gbp-local-seo-intent-1bd72.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /gbp-local-seo-intent – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/gbp-local-seo-intent-1bd72.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $gbp-local-seo-intent – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/gbp-local-seo-intent-1bd72.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /gbp-local-seo-intent – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/gbp-local-seo-intent-1bd72.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /gbp-local-seo-intent – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
GBP & Local SEO Intent
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.
Overview
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.
When to Use This Skill
- Google Business Profile, Google My Business, GMB, GBP
- map pack, local pack, local SEO, "near me" searches
- "we do not appear on Google Maps"
- categories, services, products, attributes, business description
- GBP posts, updates, offers, events
- reviews, review replies, review strategy
- Bing Places, Apple Business Connect, and the other map surfaces
- local keyword and intent research
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.
How It Works
Follow the shared execution contract. The module-specific rules below define only domain fields, decisions, calculations, and safety constraints.
Step 1 - Identify intent
Read the request and pick the intent before asking anything.
- "set up" / "claim" / "we do not have one" -> artifacts wanted; go to Step 2.
- "we have one, it is not showing" -> something exists; capture the current state, then
Step 2.
- "review" / "audit" / "what is wrong with it" -> a check, not a build.
- "which keywords" / "why do we not rank" -> an intent question, not a build.
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?
Step 2 - Ask only what is missing
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.
- Location - Can customers visit a physical address, or is it a service-area business?
/ One location or several? / City, country, and the exact address as it should print?
- What it does - The full service list, in the words customers would use? / What does
a new customer ask for first? / Is there a second, different kind of work?
- Current state - Is a profile already claimed and verified? / Who owns the login, and
is it a personal account or a shared one? / What is the review count and average now?
- Proof - Can the premises be photographed, inside and out? / Is there a team, a
process, stock or equipment worth showing? / Any seasonal or by-appointment behaviour?
- Engagement - Who reviews replies, and how fast? / Is anyone being asked for a
review, and by what method? / Is there time to post weekly?
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.
Step 3 - Hold the internal context
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: []Step 4 - Recommend the smallest workflow
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. Choose a sustainable posting cadence and a neutral process for asking genuine customers for honest reviews, with useful replies; no weekly quota guarantees ranking. 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. Complete accurate information and authentic reviews can help visibility; weekly posts do not guarantee outperforming competitors. 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
Step 5 - Build only on request
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,None,,, , ,Not applicable,Not applicable,Not applicable,Public,Set up,Incomplete,false,Unknown,2026-10-27,Planned,"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 GENERATED BY DEFAULT AS IDENTITY 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,
owner VARCHAR(255),
review_date_check DATE,
status VARCHAR(50) NOT NULL,
notes TEXT,
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW(),
CON… (nội dung đầy đủ có trong gói tải về)
Skill liên quan
- seo-audit – Khi người dùng muốn kiểm tra, rà soát hoặc chẩn đoán các vấn đề SEO trên website. Cũng…
- google-analytics-automation – Tự động hóa các tác vụ Google Analytics qua Rube MCP (Composio): chạy báo cáo, liệt kê…
- growth-engine – Động cơ tăng trưởng cho sản phẩm số — growth hacking, SEO, ASO, viral loops, email…
- signup-flow-cro – Khi người dùng muốn tối ưu luồng đăng ký, đăng ký tài khoản, tạo tài khoản hoặc kích…
- huggingface-local-models – Dùng để chọn mô hình chạy cục bộ với llama.cpp và GGUF trên CPU, Mac Metal, CUDA hoặc…
- humanize-chinese – Phát hiện và viết lại văn bản tiếng Trung giống AI với quy trình thực tế gồm chấm điểm…
- social-media-analyzer – Phân tích chiến dịch mạng xã hội và theo dõi hiệu suất. Tính tỷ lệ tương tác, ROI và…
- social-media-manager – Khi người dùng muốn xây dựng chiến lược mạng xã hội, lên lịch nội dung, quản lý cộng…