
SEO Project Setup
Populate a project's shared OpenSEO context, site scope, goals, positioning...
Install
npx skills add every-app/open-seo --skill seo-project-setup -g -a claude-code -y- Repository
- every-app/open-seo26k
- Category
- AI and agents
- Updated
- 5d ago
- License
- MIT
- Context cost
- Mediumabout 2,328 tokens
- Runs scripts
- No, instructions only
What it does
Populate a project's shared OpenSEO context, site scope, goals, positioning, competitors, key pages, and preferences, plus MCP checks and Search Console intake.
OpenSEO SEO Project Setup
Goal
Interview the user once about one website or SEO project, and store the answers in that project's shared context in OpenSEO with update_project_context. That context is read by every other skill and by the user on the project's Context page (in the sidebar under AI), 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
Two project-context MCP tools do all the writing. Both are free, they spend no credits.
get_project_context(projectId): everything already known about the project, plus amissingSectionslist.update_project_context(projectId, updates): a list of patch ops. The ones this skill uses:{ section: "business_overview" | "current_goal" | "positioning" | "writing_preferences", content }{ addCompetitors: [{ domain, name?, notes? }] }{ addKeyPages: [{ url, role: "hub" | "spoke" | "money" | "other", topic?, notes? }] }{ customSection: "<slug>", title?, content }for anything that does not fit a typed section{ appendResearchLog: { summary } }when this session spends credits
Write in batches as the interview progresses, do not hold every answer until the end. Sections are prose (~4,000 characters each), so a few tight paragraphs, not a transcript.
Checklist
1. Verify OpenSEO MCP and resolve the project
Writes need a projectId, so do this first:

