seo-project-setup
Skill2 starsChanged 52 days agoMITView on GitHub
Set up an AgenticSEO project for a website and record its scope, goals, positioning, competitors, key pages and writing preferences in the project context, and connect Google Search Console and Analytics. Use when a user starts SEO work on a site, or asks the agent to remember what the business is and who it competes with.
10 other projects use a version of this, 10 of them edited.
Adopted by
Most recently taken up by
- foverse/seoverseedited, first seen Nov 8, 2026
- winsley-jeune/harborrank-skillsedited, first seen Oct 27, 2026
- jwuthri-cloud/Tracely-aiedited, first seen Oct 20, 2026
- petera2c/simple-tableedited, first seen Oct 8, 2026
- VladSez/easy-invoice-pdfedited, first seen Oct 8, 2026
- every-app/open-seoedited, first seen Oct 8, 2026
Other versions10 projects use a version of this.
Word for word · 0
None found.
Edited · 10
- every-app/open-seo★ 27k56% same
- Jwuthri/Tracely-ai★ 1.3k42% same
- VladSez/easy-invoice-pdf★ 1.1k40% same
- jwuthri-cloud/Tracely-ai★ 97942% same
- petera2c/simple-table★ 23340% same
- foverse/seoverse★ 456% same
- ventra-rocket/EchoSEO★ 240% same
- winsley-jeune/harborrank-skills★ 218% same
- ictlondon/kraftskills★ 057% same
- IsaacBell/ai-marketing-toolkit★ 042% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository10 other files it gives its agents.
- AGENTS.mdAGENTS.md
- competitive-landscapeSkill
- competitor-analysisSkill
- keyword-clusteringSkill
- keyword-researchSkill
- link-prospectingSkill
- local-seoSkill
- seo-auditSkill
- seo-coachSkill
- seo-reportSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
25 rules. 9 are common, 9 are distinctive, and 7 are very specific to this project.
9
Common
Most of the 10 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 28
Write in batches as the interview progresses.
- Very specific: line 34
Run agenticseo context. If the command is missing, tell the user how to install AgenticSEO from its repository.
- Distinctive: line 36
If the user works on several sites, confirm which one this project is for before writing.
- Distinctive: line 38
Do not run paid research just to test connectivity.
- Very specific: line 55
Write the durable parts to business_overview: what the business does, who it is for, the target markets/locales, and the site's current …
- Common: line 59
Ask the user what they want from SEO:
- Common: line 69
Ask for success metrics and timeframe.
- Very specific: line 71
Write the result to current_goal, including the metric and timeframe.
- Common: line 75
Ask what research they have already done about the company, product, audience and competitors.
- Common: line 88
If the user has not done this yet, offer to help research positioning using the company website, competitor pages, reviews, forums and web …
- Very specific: line 90
Write to positioning: audience, the problem, the differentiator and any claims the user wants defended.
- Common: line 100
Ask for or discover:
- Distinctive: line 114
Search Console is the richest first-party signal: existing impressions, near-ranking terms, cannibalization and pages that already have …
- Very specific: line 116
Run agenticseo google accounts.
- Very specific: line 118
Run agenticseo gsc sites and agenticseo ga4 properties, confirm with the user which property belongs to this site, then agenticseo gsc use …
- Distinctive: line 121
If the user declines or cannot create the OAuth client, skip this step without blocking the setup.
- Distinctive: line 127
If the user wants one, suggest a folder beside the website or content repository, with a structure like:
- Distinctive: line 135
Do not create folders unless the user asks, and do not duplicate goals, positioning or competitors into a local file.
- Common: line 139
After intake, recommend one next workflow:
- Common: line 151
Use a checklist with statuses:
- Distinctive: line 164
Search Console and Analytics status, and any local files
- Common: line 172
Keep setup lightweight. The user should feel oriented, not assigned homework.
- Very specific: line 174
Do not claim Search Console or Analytics is connected unless agenticseo gsc report or agenticseo ga4 overview succeeds (they exit 2 when …
- Distinctive: line 175
Keep project setup focused on setup and context unless the user asks for live research.
- Common: line 176
If web search or scraping is used for positioning research, distinguish source evidence from inference.
“Common” is measured: kept by at least 6 in 10 of the 10 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
<!-- Adapted from OpenSEO plugins/openseo/skills/seo-project-setup/SKILL.md (https://github.com/every-app/open-seo, MIT, Copyright (c) 2026 Ben Senescu) for the AgenticSEO CLI. -->SEO project setup
Goal
Interview the user once about one website or SEO project, and store the answers in the project's shared context. Every other skill and agent reads that context, and the user can read and edit it in .agenticseo/context.json, so it survives new sessions, new machines and new agents. This is a context setup workflow, not a full audit.
Tone
Be friendly, practical and structured. Ask questions in small batches. Explain why each item matters only when useful. Do not overwhelm a beginner with jargon.
Where the answers go
agenticseo contextprints everything already known, the contextfilepath,today's date and amissingSectionslist. It is free.- You write the answers into that file with your file tools, then run
agenticseo contextagain: exit code 2 names any invalid field. The fields this skill uses:sections.business_overview,sections.current_goal,sections.positioning,sections.writing_preferences: prose, up to about 4,000 characters each, a few tight paragraphs, not a transcript. An empty string means the section is missing.competitors:[{ "domain", "name"?, "notes"? }], one entry per domain.keyPages:[{ "url", "role"?: "hub" | "spoke" | "money" | "other", "topic"?, "notes"? }].customSections:{ "<slug>": { "title"?, "content" } }for anything that does not fit a typed section, at most 20.researchLog: append{ "entryDate": "<today>", "summary": "<what>: <inputs>. Verdict: <conclusion>" }when this session spends money on a provider.
Write in batches as the interview progresses; do not hold every answer until the end.
Checklist
1. Check the command and the project
- Run
agenticseo context. If the command is missing, tell the user how to install AgenticSEO from its repository; nothing can be saved without it. - If it exits 2 because no project exists, ask for the site and target market and run
agenticseo init --domain DOMAIN --location COUNTRY(a two-letter country code such asUS, or a DataForSEO location code; add--languageonly when the user targets a non-default language) in the website's repository root, or in a folder the user chooses. Never guess the market. - If the user works on several sites, confirm which one this project is for before writing.
Do not run paid research just to test connectivity.
2. Read what is already there
Show the user a short summary of what the context already holds and which missingSections are empty. Confirm or correct existing entries rather than re-asking questions that are already answered; this skill is often re-run after another skill filled in part of the context.
3. Collect website scope
Ask for:
- Primary website/domain
- Additional domains or subdomains
- Important products, services, categories or pages
- Target countries/languages
- Whether the site is new, established, migrating or recovering from a drop
- CMS or publishing workflow, if relevant
Write the durable parts to business_overview: what the business does, who it is for, the target markets/locales, and the site's current stage.
4. Capture goals
Ask the user what they want from SEO:
- More qualified leads
- More signups/trials
- More ecommerce revenue
- More newsletter/audience growth
- More brand/category awareness
- Recovery from traffic loss
- Better ranking for specific pages
Ask for success metrics and timeframe. If goals are vague, help turn them into measurable goals such as "increase non-branded organic signups" or "rank top 10 for 20 buying-intent terms".
Write the result to current_goal, including the metric and timeframe.
5. Capture positioning and strategy context
Ask what research they have already done about the company, product, audience and competitors. Request any notes, docs, customer interviews, positioning docs, pitch decks, landing pages or strategy memos they can share.
Probe for:
- Who the product or site is for
- What pain it solves
- Why users choose it over alternatives
- Competitors and substitutes
- Strong opinions or positioning claims
- Best customers and bad-fit customers
- Existing content that already converts
- Topics they do not want to target
If the user has not done this yet, offer to help research positioning using the company website, competitor pages, reviews, forums and web search.
Write to positioning: audience, the problem, the differentiator and any claims the user wants defended. Ask about voice, banned words or phrases, and topics to avoid, and write those to writing_preferences; content-drafting workflows read that section.
6. Save competitors
Turn the competitors and substitutes from step 5 into competitors entries: one per domain, with a short notes line on why they matter ("direct competitor, owns the comparison pages"). If the user is unsure who competes in search, agenticseo competitors KEYWORD... on a handful of seed keywords names them. It is billed: confirm the list with the user before saving, and log the spend.
Competitors saved here are reused by competitive-landscape, competitor-analysis and link-prospecting.
7. Inventory key assets
Ask for or discover:
- Sitemap or important URL list
- Current blog/resources/content library
- Product/category/feature pages
- Existing keyword lists (
agenticseo saved listshows what the project already saved) - Current rank trackers (
agenticseo rank list) - Backlink or PR assets
- Linkable assets such as studies, templates, tools, datasets, calculators or original opinions
Save the pages that actually matter as keyPages: money pages, topic hubs and the linkable assets. This is a curated shortlist, not a site inventory: 10 to 30 URLs is normal. Give each one a role and, where known, the topic it targets.
8. Connect Google Search Console and Analytics
Search Console is the richest first-party signal: existing impressions, near-ranking terms, cannibalization and pages that already have search demand. Google Analytics adds what visitors do after the click. Both are free to read.
- Run
agenticseo google accounts. If an account can already read them, go to step 3. - Connecting needs the user's own Desktop OAuth client (setup guide: https://github.com/kid7st/agenticseo/blob/main/docs/google.md). With
GOOGLE_CLIENT_IDandGOOGLE_CLIENT_SECRETset, runagenticseo google connectand pass on the address it prints; the user approves in their browser within five minutes. If the command exits 3, its message names what to fix in Google Cloud. - Run
agenticseo gsc sitesandagenticseo ga4 properties, confirm with the user which property belongs to this site, thenagenticseo gsc use SITE_URLandagenticseo ga4 use PROPERTY_ID. - Confirm it works with
agenticseo gsc report. Once connected,keyword-research,keyword-clusteringandseo-auditread it directly; there are no files to maintain.
If the user declines or cannot create the OAuth client, skip this step without blocking the setup. Search Console CSV exports can still inform a later task if the user drops them in a working folder (step 9).
9. Keep files only for file work
Project knowledge lives in .agenticseo/context.json, not in loose notes. A working folder is still useful for the things that are actually files: Search Console CSV exports, crawls, drafts and briefs. Reports belong in the project's reports directory through seo-report.
If the user wants one, suggest a folder beside the website or content repository, with a structure like:
seo-workspace/
gsc/
drafts/Do not create folders unless the user asks, and do not duplicate goals, positioning or competitors into a local file; that is what the project context is for.
10. Recommend the first workflow
After intake, recommend one next workflow:
seo-audit: when the site already exists and the user wants to know what to fix or do first, especially if they are new to SEOkeyword-research: when the user needs ideas from seed topicskeyword-clustering: when they have keywords or Search Console data to map to pagescompetitive-landscape: when the market is unclearcompetitor-analysis: when they know a competitor to studylink-prospecting: when they have a linkable asset or target pagelocal-seo: when the business depends on Google Maps visibility near a location
Output format
Use a checklist with statuses:
| Step | Status | Notes | Next action |
Then summarize:
- Project status (path, domain, market)
- Sites in scope
- Goals
- Known positioning
- Competitors saved
- Key pages saved
- Search Console and Analytics status, and any local files
- Sections still missing from the project context
- Recommended next workflow
Tell the user they can read and edit everything saved here in .agenticseo/context.json.
Guardrails
- Keep setup lightweight. The user should feel oriented, not assigned homework.
- Confirm facts with the user before writing them. Inferences from the site are fine to propose, but they get saved as agreed answers, not guesses.
- Do not claim Search Console or Analytics is connected unless
agenticseo gsc reportoragenticseo ga4 overviewsucceeds (they exit 2 when not connected and 3 when the grant needs reconnecting). Do not pretend a CSV has been provided unless you can see it. - Keep project setup focused on setup and context unless the user asks for live research. If a step does spend money, append a research-log entry so other skills do not buy it again.
- If web search or scraping is used for positioning research, distinguish source evidence from inference.
- Overwriting a section replaces it. When context already exists, merge the new answers into the existing prose instead of discarding it.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

