Revert "Prefix public agent skills with "openseo-" (#502)" (#503)

This reverts commit b9df03d20f0f20230072aaa49df1abf56422addb.
This commit is contained in:
Ben Senescu 2026-08-18 23:00:37 -04:00 committed by GitHub
parent b9df03d20f
commit a004759700
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
28 changed files with 81 additions and 83 deletions

View File

@ -1,5 +1,5 @@
---
name: openseo-competitive-landscape
name: competitive-landscape
description: Map SEO market leaders, winning content themes, keyword coverage, backlinks, and strategic gaps.
---
@ -9,7 +9,7 @@ description: Map SEO market leaders, winning content themes, keyword coverage, b
Answer: "Who is winning this SEO market, what content is working for them, and where are the openings?"
Use this when the user wants a market-level view across several competitors. For a deep dive on one domain, use `openseo-competitor-analysis`.
Use this when the user wants a market-level view across several competitors. For a deep dive on one domain, use `competitor-analysis`.
## Required inputs

View File

@ -1,5 +1,5 @@
---
name: openseo-competitor-analysis
name: competitor-analysis
description: "Analyze one competitor's organic footprint, ranking keywords, content themes, backlinks, and gaps."
---
@ -9,7 +9,7 @@ description: "Analyze one competitor's organic footprint, ranking keywords, cont
Analyze one competitor deeply enough to decide what to learn from, avoid, counter-position against, or outrank.
Use this for a named competitor. For identifying the market leaders first, use `openseo-competitive-landscape`.
Use this for a named competitor. For identifying the market leaders first, use `competitive-landscape`.
## Required inputs

View File

@ -34,11 +34,11 @@ metadata:
ln -s ../../.agents/skills/<name> .claude/skills/<name>
```
- **Public product skill** (a customer-facing SEO workflow): no `internal` flag, prefix `<kebab-name>` with `openseo-` (e.g. `openseo-competitor-analysis`) so it's easy to find and doesn't clash with skills from other sources when a user installs skills from multiple repos. Usually no `.claude/skills` symlink (repo agents don't need customer workflows). The `openseo-` prefix applies to the skill directory, its `name:` frontmatter, and the slash command/install docs — **not** the website doc slug: the site is already `openseo.so`, so `web/content/docs/skills/<short-name>.mdx` and its links keep the short, unprefixed slug (e.g. `competitor-analysis.mdx`, linked from a skill's `RunSkillCallout` as `/openseo-competitor-analysis` but cross-referenced from other doc pages as `/docs/skills/competitor-analysis`). Register it everywhere users discover skills:
- `web/content/docs/skills/<short-name>.mdx` — docs page (mirror a sibling like `competitor-analysis.mdx`: what it does, when to use it, what you get back, how to get the best result)
- **Public product skill** (a customer-facing SEO workflow): no `internal` flag, usually no `.claude/skills` symlink (repo agents don't need customer workflows). Register it everywhere users discover skills:
- `web/content/docs/skills/<name>.mdx` — docs page (mirror a sibling like `competitor-analysis.mdx`: what it does, when to use it, what you get back, how to get the best result)
- `web/content/docs/skills/index.md` — bullet in the right workflow section
- `web/content/docs/skills/meta.json` — nav entry
- `.agents/skills/openseo-coach/SKILL.md` — one line in the "What each workflow does" roster
- `.agents/skills/seo-coach/SKILL.md` — one line in the "What each workflow does" roster
- Optional: `web/src/lib/feature-pages.ts` and `web/content/docs/skills/setup.md` if it deserves marketing/setup placement
3. If the skill references MCP tools, use exact tool names and keep them in sync with `src/server/mcp/server.ts` — the tool names in skills are load-bearing for agents following them.

View File

@ -1,5 +1,5 @@
---
name: openseo-keyword-clustering
name: keyword-clustering
description: Cluster keywords by intent and map them to existing or proposed pages.
---

View File

@ -1,5 +1,5 @@
---
name: openseo-keyword-research
name: keyword-research
description: "Discover keyword opportunities, evaluate metrics and SERPs, and save/tag promising terms."
---

View File

@ -1,5 +1,5 @@
---
name: openseo-link-prospecting
name: link-prospecting
description: Find link prospects, discover contact paths, and draft outreach from SERPs and backlink signals.
---

View File

@ -1,5 +1,5 @@
---
name: openseo-local-seo
name: local-seo
description: "Audit a Google Business Profile, compare it to local competitors, and map Maps visibility around a location."
---
@ -9,7 +9,7 @@ description: "Audit a Google Business Profile, compare it to local competitors,
Work out why a business does or does not show up in Google Maps and the local pack near its customers, and what to fix first.
Use this when rankings depend on a physical location or service area. For national organic work, use `openseo-competitor-analysis` or `openseo-keyword-research`.
Use this when rankings depend on a physical location or service area. For national organic work, use `competitor-analysis` or `keyword-research`.
## Required inputs

View File

@ -1,4 +0,0 @@
interface:
display_name: "OpenSEO Simple Issue Description"
short_description: "Turn rough reports into clear, simple issues"
default_prompt: "Use $openseo-simple-issue-description to turn this report or PR into a clear issue focused on the problem and desired behavior."

View File

@ -1,5 +1,5 @@
---
name: openseo-audit
name: seo-audit
description: "Audit a website and deliver a one-page, plain-language SEO report anyone can act on, centered on a single do-this-week action."
---
@ -9,7 +9,7 @@ description: "Audit a website and deliver a one-page, plain-language SEO report
Audit a domain and produce a one-page HTML report that anyone, including a complete SEO beginner, can read once and act on. The whole report exists to support ONE action the owner can take this week; everything else is supporting detail.
Use this when asked for an SEO audit or review of a domain, especially when the output is a shareable report for a non-expert. For expert-facing analysis of a competitor or market, use `openseo-competitor-analysis` or `openseo-competitive-landscape` instead.
Use this when asked for an SEO audit or review of a domain, especially when the output is a shareable report for a non-expert. For expert-facing analysis of a competitor or market, use `competitor-analysis` or `competitive-landscape` instead.
## Required inputs
@ -25,7 +25,7 @@ Use this when asked for an SEO audit or review of a domain, especially when the
- `get_domain_overview`: estimated organic traffic and organic keyword count. Skip when the site is clearly dead.
- `research_keywords`: keyword ideas with volume and difficulty, used to propose a starting focus area. One call with 1-3 seeds taken from what the site is actually about. Skip when the site is down.
Keep total spend modest: one audit, one backlinks overview, at most one domain overview, and at most one keyword research call. Only the overview and keyword lookups spend credits.
Keep total spend modest: one audit, one backlinks overview, at most one domain overview, and at most one keyword-research call. Only the overview and keyword lookups spend credits.
## Workflow
@ -39,7 +39,7 @@ Keep total spend modest: one audit, one backlinks overview, at most one domain o
- Dead domain, live successor site: permanent redirect via hosting support, with the exact sentence to send them.
- Blocked or noindexed pages: remove the block.
It must be doable this week by a non-technical person, with copy-paste-ready mechanics included.
7. When the site is healthy, propose a starting focus area: run one `research_keywords` call seeded from the site's actual topic, then pick one theme and 3 to 5 specific, low-difficulty keywords the site can realistically rank for, each with the page or post to make. This is a starting direction, not a keyword strategy; point the user at the `openseo-keyword-research` skill for the full workflow. Skip this step entirely when the site is down — the one thing is all that matters there.
7. When the site is healthy, propose a starting focus area: run one `research_keywords` call seeded from the site's actual topic, then pick one theme and 3 to 5 specific, low-difficulty keywords the site can realistically rank for, each with the page or post to make. This is a starting direction, not a keyword strategy; point the user at the `keyword-research` skill for the full workflow. Skip this step entirely when the site is down — the one thing is all that matters there.
8. Write the report using `template.html` in this skill directory (see Output format).
9. Review before delivering: run an adversarial pass with a second agent or model if your environment has one, otherwise do a fresh self-review. Give the reviewer the verified facts and have it attack four things: claims beyond the facts, unglossed jargon, anything overwhelming for a beginner, and dramatic language. The reviewer may also flag true facts it was not given; check those against your evidence instead of "fixing" them.
10. Deliver the report: if your environment can publish or preview HTML (for example as an artifact), do that; otherwise save the HTML file and tell the user to open it in their browser.

View File

@ -1,5 +1,5 @@
---
name: openseo-coach
name: seo-coach
description: Enter a friendly OpenSEO coach mode that explains workflows, recommends next steps, and helps users use agents, web search, scraping, and MCP data effectively.
---
@ -38,14 +38,14 @@ Good starting points:
## What each workflow does
- `openseo-project-setup`: sets up the workspace, verifies MCP, captures goals and positioning, and connects Google Search Console (or imports GSC exports).
- `openseo-audit`: audits a site and produces a one-page, plain-language report built around a single next action. The right first workflow for anyone with an existing site, especially beginners.
- `openseo-keyword-research`: finds search opportunities from seed topics and evaluates volume, difficulty, CPC, intent, and SERPs.
- `openseo-keyword-clustering`: groups keywords by intent and maps clusters to existing or proposed pages.
- `openseo-competitive-landscape`: identifies who wins across a market and what content/backlink patterns are working.
- `openseo-competitor-analysis`: studies one competitor's keywords, content themes, backlink profile, and gaps.
- `openseo-local-seo`: audits a Google Business Profile against local competitors and maps Maps visibility around a location.
- `openseo-link-prospecting`: finds likely link opportunities, discovers contact paths, and drafts outreach.
- `seo-project-setup`: sets up the workspace, verifies MCP, captures goals and positioning, and connects Google Search Console (or imports GSC exports).
- `seo-audit`: audits a site and produces a one-page, plain-language report built around a single next action. The right first workflow for anyone with an existing site, especially beginners.
- `keyword-research`: finds search opportunities from seed topics and evaluates volume, difficulty, CPC, intent, and SERPs.
- `keyword-clustering`: groups keywords by intent and maps clusters to existing or proposed pages.
- `competitive-landscape`: identifies who wins across a market and what content/backlink patterns are working.
- `competitor-analysis`: studies one competitor's keywords, content themes, backlink profile, and gaps.
- `local-seo`: audits a Google Business Profile against local competitors and maps Maps visibility around a location.
- `link-prospecting`: finds likely link opportunities, discovers contact paths, and drafts outreach.
## Tool coaching

View File

@ -1,5 +1,5 @@
---
name: openseo-project-setup
name: seo-project-setup
description: Set up a durable local SEO workspace with project context, notes, goals, positioning, preferences, MCP checks, and Search Console data intake.
---
@ -98,7 +98,7 @@ Do not run research tools just to test connectivity; `whoami` and `list_projects
GSC is the richest first-party signal: existing impressions, near-ranking terms, cannibalization, and pages that already have search demand.
**Preferred (hosted): connect it natively.** On the project's Integrations page, connect Google Search Console and pull live data with `get_search_console_performance`. Once connected, the agent reads it directly in `openseo-keyword-research` and `openseo-keyword-clustering` — no manual files to maintain.
**Preferred (hosted): connect it natively.** On the project's Integrations page, connect Google Search Console and pull live data with `get_search_console_performance`. Once connected, the agent reads it directly in `keyword-research` and `keyword-clustering` — no manual files to maintain.
**Fallback (self-hosted, or if the user prefers files):** ask the user to export CSVs from Search Console into the SEO working folder.
@ -134,12 +134,12 @@ Ask for or discover:
After intake, recommend one next OpenSEO workflow:
- `openseo-audit`: when the site already exists and the user wants to know what to fix or do first, especially if they are new to SEO
- `openseo-keyword-research`: when the user needs ideas from seed topics
- `openseo-keyword-clustering`: when they have keywords or GSC data to map to pages
- `openseo-competitive-landscape`: when the market is unclear
- `openseo-competitor-analysis`: when they know a competitor to study
- `openseo-link-prospecting`: when they have a linkable asset or target page
- `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 SEO
- `keyword-research`: when the user needs ideas from seed topics
- `keyword-clustering`: when they have keywords or GSC data to map to pages
- `competitive-landscape`: when the market is unclear
- `competitor-analysis`: when they know a competitor to study
- `link-prospecting`: when they have a linkable asset or target page
## Output format

View File

@ -1,6 +1,6 @@
---
name: openseo-simple-issue-description
description: Turn a rough bug report, feature request, support note, or pull request into a short, plain-language issue focused on the problem and desired behavior. Use when a contributor asks to simplify an issue, explain what a PR is for, create the corresponding issue for a PR, remove implementation detail from a report, or invokes /openseo-simple-issue-description.
name: simple-issue-description
description: Turn a rough bug report, feature request, support note, or pull request into a short, plain-language issue focused on the problem and desired behavior. Use when a contributor asks to simplify an issue, explain what a PR is for, create the corresponding issue for a PR, remove implementation detail from a report, or invokes /simple-issue-description.
---
# Simple Issue Description

View File

@ -0,0 +1,4 @@
interface:
display_name: "Simple Issue Description"
short_description: "Turn rough reports into clear, simple issues"
default_prompt: "Use $simple-issue-description to turn this report or PR into a clear issue focused on the problem and desired behavior."

View File

@ -70,10 +70,10 @@ Creating clear issues is the best way to contribute.
Read more here: [`docs/CONTRIBUTING.md`](./docs/CONTRIBUTING.md)
We have this skill: `/openseo-simple-issue-description` which helps.
We have this skill: `/simple-issue-description` which helps.
```sh
npx skills add every-app/open-seo --skill openseo-simple-issue-description
npx skills add every-app/open-seo --skill simple-issue-description
```
## Community

View File

@ -24,25 +24,25 @@ Yup! I just won't merge them right now. But, making a PR can be a good way to im
Videos demoing the feature also help a lot here too since its a sign that the PR wasn't just made by Claude and never tested.
### /openseo-simple-issue-description
### /simple-issue-description
For ease of review, I would appreciate if you used the `/openseo-simple-issue-description` to refine your issue. I'm hoping that everything being written in the same voice and format will make it easier to understand issues without a lot of back and forth.
For ease of review, I would appreciate if you used the `/simple-issue-description` to refine your issue. I'm hoping that everything being written in the same voice and format will make it easier to understand issues without a lot of back and forth.
Install it with:
```sh
npx skills add every-app/open-seo --skill openseo-simple-issue-description
npx skills add every-app/open-seo --skill simple-issue-description
```
See [Set up OpenSEO Agent Skills](https://openseo.so/docs/skills/setup) for other install options.
Here is what we're aiming for with `/openseo-simple-issue-description`:
Here is what we're aiming for with `/simple-issue-description`:
- There is sufficient detail in the issue.
- What is the problem you're facing?
- What is the full user experience for the feature you're proposing?
- Succinct i.e. not default Claude output.
- I have an `/explain-simply` skill I use all the time which inspired `/openseo-simple-issue-description`
- I have an `/explain-simply` skill I use all the time which inspired `/simple-issue-description`
- I can't understand the default Claude / Codex output at this point.
### Our Roadmap

View File

@ -132,14 +132,14 @@ v1.
Free: the full strategy, positioning, themes, capped starter keyword list
(~1520), and the "do next" list. Gated (execution): rank-tracking the proposed
keywords, full keyword expansion, content briefs per theme, and the ongoing
`openseo-coach`. Every gated action is a named thing tied to a strategy item the
`seo-coach`. Every gated action is a named thing tied to a strategy item the
user already believes in — stronger pull than "refine further." GSC stays behind
the gate; we do **not** prompt for it during onboarding (connecting then hitting
a paywall is exactly the bait-and-switch the UX audit warned against).
## Unify the openseo-coach skill
## Unify the seo-coach skill
Update the `openseo-coach` skill (and `onboarding-checklist`) so the coach and the
Update the `seo-coach` skill (and `onboarding-checklist`) so the coach and the
onboarding agent are one continuous experience: the coach reads Project Context
via MCP, picks up where onboarding left off ("here's your strategy — let's work
the backlog"), and can answer both SEO questions and OpenSEO product questions.

View File

@ -14,13 +14,13 @@ const DISCORD_URL = "https://discord.gg/c9uGs3cFXr";
const SUPPORT_EMAIL = "ben@openseo.so";
const SAM_GITHUB_URL = "https://github.com/every-app/sam";
const SKILL_NAMES = [
"openseo-project-setup",
"openseo-coach",
"openseo-keyword-research",
"openseo-keyword-clustering",
"openseo-competitive-landscape",
"openseo-competitor-analysis",
"openseo-link-prospecting",
"seo-project-setup",
"seo-coach",
"keyword-research",
"keyword-clustering",
"competitive-landscape",
"competitor-analysis",
"link-prospecting",
];
const SKILLS_INSTALL = `npx skills add every-app/open-seo`;
const ALL_SKILLS_INSTALL = `npx skills add every-app/open-seo --skill '*'`;
@ -267,7 +267,7 @@ function AiPage() {
<p className="text-sm text-base-content/70 leading-relaxed">
Start with{" "}
<span className="font-mono text-base-content">
/openseo-project-setup
/seo-project-setup
</span>
. It will ask about your project and help configure your
workspace.

View File

@ -3,7 +3,7 @@ title: "Competitive Landscape Agent Skill"
description: "Run competitive SEO research with your AI agent: map market leaders, content patterns, keyword coverage, backlinks, and gaps."
---
<RunSkillCallout command="/openseo-competitive-landscape" />
<RunSkillCallout command="/competitive-landscape" />
The Competitive Landscape Agent Skill maps the SEO market before you decide what to build.
@ -44,7 +44,7 @@ Set up [OpenSEO MCP](/docs/mcp) so your agent can research keywords, inspect SER
The source `SKILL.md` lives on GitHub:
- [Competitive Landscape skill](https://github.com/every-app/open-seo/tree/main/.agents/skills/openseo-competitive-landscape)
- [Competitive Landscape skill](https://github.com/every-app/open-seo/tree/main/.agents/skills/competitive-landscape)
## Related skills

View File

@ -3,7 +3,7 @@ title: "Competitor Analysis Agent Skill"
description: "Analyze one competitor's keywords, pages, backlinks, content themes, and SEO gaps with your AI agent."
---
<RunSkillCallout command="/openseo-competitor-analysis" />
<RunSkillCallout command="/competitor-analysis" />
The Competitor Analysis Agent Skill studies one competitor and turns the research into strategic takeaways.
@ -46,7 +46,7 @@ Set up [OpenSEO MCP](/docs/mcp) so your agent can inspect domain overview data,
The source `SKILL.md` lives on GitHub:
- [Competitor Analysis skill](https://github.com/every-app/open-seo/tree/main/.agents/skills/openseo-competitor-analysis)
- [Competitor Analysis skill](https://github.com/every-app/open-seo/tree/main/.agents/skills/competitor-analysis)
## Related skills

View File

@ -3,7 +3,7 @@ title: "Keyword Clustering Agent Skill"
description: "Cluster keywords by intent and map them to existing or proposed pages with your AI agent."
---
<RunSkillCallout command="/openseo-keyword-clustering" />
<RunSkillCallout command="/keyword-clustering" />
The Keyword Clustering Agent Skill turns a messy keyword list into a page plan.
@ -45,7 +45,7 @@ Set up [OpenSEO MCP](/docs/mcp) so your agent can read saved keywords, inspect S
The source `SKILL.md` lives on GitHub:
- [Keyword Clustering skill](https://github.com/every-app/open-seo/tree/main/.agents/skills/openseo-keyword-clustering)
- [Keyword Clustering skill](https://github.com/every-app/open-seo/tree/main/.agents/skills/keyword-clustering)
## Related skills

View File

@ -3,7 +3,7 @@ title: "Keyword Research Agent Skill"
description: "Find keyword opportunities from live SEO data with Claude Code, Codex, or another AI agent."
---
<RunSkillCallout command="/openseo-keyword-research" />
<RunSkillCallout command="/keyword-research" />
The Keyword Research Agent Skill finds keywords your site can target.
@ -45,7 +45,7 @@ Set up [OpenSEO MCP](/docs/mcp) so your agent can research live keyword metrics,
The source `SKILL.md` lives on GitHub:
- [Keyword Research skill](https://github.com/every-app/open-seo/tree/main/.agents/skills/openseo-keyword-research)
- [Keyword Research skill](https://github.com/every-app/open-seo/tree/main/.agents/skills/keyword-research)
## Related skills

View File

@ -3,7 +3,7 @@ title: "Link Prospecting Agent Skill"
description: "Find relevant link prospects from SERPs, competitor backlinks, and topical publishers with your AI agent."
---
<RunSkillCallout command="/openseo-link-prospecting" />
<RunSkillCallout command="/link-prospecting" />
The Link Prospecting Agent Skill finds relevant outreach prospects for a page or asset.
@ -46,7 +46,7 @@ Set up [OpenSEO MCP](/docs/mcp) so your agent can inspect SERPs, backlink overvi
The source `SKILL.md` lives on GitHub:
- [Link Prospecting skill](https://github.com/every-app/open-seo/tree/main/.agents/skills/openseo-link-prospecting)
- [Link Prospecting skill](https://github.com/every-app/open-seo/tree/main/.agents/skills/link-prospecting)
## Related skills

View File

@ -3,7 +3,7 @@ title: "Local SEO Agent Skill"
description: "Audit a Google Business Profile, compare it to local competitors, and map Google Maps visibility around a location with your AI agent."
---
<RunSkillCallout command="/openseo-local-seo" />
<RunSkillCallout command="/local-seo" />
The Local SEO Agent Skill works out why a business does or does not show up in Google Maps and the local pack near its customers, and what to fix first.

View File

@ -3,7 +3,7 @@ title: "SEO Audit Agent Skill"
description: "Audit a website with your AI agent and get a one-page, plain-language SEO report built around a single next action."
---
<RunSkillCallout command="/openseo-audit" />
<RunSkillCallout command="/seo-audit" />
The SEO Audit Agent Skill audits a site and writes a one-page HTML report that anyone can act on, including someone who has never done SEO.
@ -46,7 +46,7 @@ Set up [OpenSEO MCP](/docs/mcp) so your agent can run the audit and read backlin
The source `SKILL.md` lives on GitHub:
- [SEO Audit skill](https://github.com/every-app/open-seo/tree/main/.agents/skills/openseo-audit)
- [SEO Audit skill](https://github.com/every-app/open-seo/tree/main/.agents/skills/seo-audit)
## Related skills

View File

@ -3,7 +3,7 @@ title: "SEO Coach Agent Skill"
description: "Learn SEO basics, choose the right workflow, and decide what to do next with your AI agent."
---
<RunSkillCallout command="/openseo-coach" />
<RunSkillCallout command="/seo-coach" />
The SEO Coach Agent Skill helps you decide what to do next.
@ -49,7 +49,7 @@ The coach can help before MCP is connected, but your agent needs [OpenSEO MCP](/
The source `SKILL.md` lives on GitHub:
- [SEO Coach skill](https://github.com/every-app/open-seo/tree/main/.agents/skills/openseo-coach)
- [SEO Coach skill](https://github.com/every-app/open-seo/tree/main/.agents/skills/seo-coach)
## Related skills

View File

@ -3,7 +3,7 @@ title: "SEO Project Setup Agent Skill"
description: "Create a local SEO workspace where your AI agent can save project context, notes, goals, exports, and preferences over time."
---
<RunSkillCallout command="/openseo-project-setup" />
<RunSkillCallout command="/seo-project-setup" />
The SEO Project Setup Agent Skill gives your agent the context it needs before doing SEO work for a site.
@ -46,7 +46,7 @@ Set up [OpenSEO MCP](/docs/mcp) so your agent can confirm the right OpenSEO proj
The source `SKILL.md` lives on GitHub:
- [SEO Project Setup skill](https://github.com/every-app/open-seo/tree/main/.agents/skills/openseo-project-setup)
- [SEO Project Setup skill](https://github.com/every-app/open-seo/tree/main/.agents/skills/seo-project-setup)
## Related skills

View File

@ -71,15 +71,13 @@ Each skill page also links to its source `SKILL.md`.
After the skill files are available to your agent, run the matching slash command:
- `/openseo-project-setup`
- `/openseo-coach`
- `/openseo-audit`
- `/openseo-keyword-research`
- `/openseo-keyword-clustering`
- `/openseo-competitive-landscape`
- `/openseo-competitor-analysis`
- `/openseo-local-seo`
- `/openseo-link-prospecting`
- `/seo-project-setup`
- `/seo-coach`
- `/keyword-research`
- `/keyword-clustering`
- `/competitive-landscape`
- `/competitor-analysis`
- `/link-prospecting`
## Next step