Evaluate the Content Creator-scope skills in AgriciDaniel/claude-seo, where the vendor coupling is declared optional and is actually load-bearing in 16 of 25 #1099

Open
opened 2026-08-16 06:53:08 +00:00 by coilyco-ops · 0 comments
Member

Source

Upstream: https://github.com/AgriciDaniel/claude-seo, directory skills/. MIT, user-owned rather than org-owned, created 2026-02-07, last push 2026-08-16, 14,243 stars, 2,072 forks, 40 open issues, roughly 203 commits on main. The contents API confirms exactly 25 skill directories. The repo also ships agents/ with a claimed 18 sub-agents, plus bin/, data/, and a .claude-plugin/ marketplace directory.

Companion in method to #1077, which covered Varnan-Tech/opendirectory.

Scope

Roughly 14 of the 25 fall in Content Creator conceptual scope. The rest are technical-SEO and infrastructure shaped: seo-technical, seo-schema, seo-sitemap, seo-hreflang, seo-audit, seo-google, seo-dataforseo, seo-maps, seo-backlinks, seo-flow, and the umbrella seo.

Content Creator owns boundary-suggest-human-comms, so the adoption call belongs to that role. This issue scopes the candidate set and records the cost axis. It does not decide.

The finding that matters

The README calls DataForSEO an optional extension. It appears in 16 of the 25 skills.

That is the inverse of the #1077 finding. There the split was toolchain cost, prompt-only writing versus production-coupled AV. Here the skills are prompt-only in shape and the coupling sits one layer down, in the data.

Verified by grepping all 25 SKILL.md files:

  • No skill shells out. Zero matches for a line-initial curl, npx, python, node, or bash.
  • External URLs are documentation, not calls. The host histogram is dominated by example.com at 27, schema.org at 11, sitemaps.org, and w3.org. These are worked examples and standards references.
  • Vendor mentions by file count: DataForSEO 16, Gemini 8, Google Search Console 8, PageSpeed 4, Ahrefs 4, Firecrawl 1, Banana 1.

So the adoption question is not "does this skill run something we do not run." It is "does this skill's method collapse to generic advice once you remove the paid data source." That has to be answered per skill by reading it, and it is not visible from titles.

Candidate set

Content and planning, evaluate first

  • seo-geo - GEO and AEO, optimizing for generative answer engines. The most defensible fit in the whole repo, because Kai's reachable audience increasingly finds work through LLM answers rather than search results.
  • seo-content-brief - brief authoring, adjacent to existing voice and adaptation skills
  • seo-content - content authoring, read specifically for the delta against writing-kai-voice and writing-voice-adaptation
  • seo-cluster - semantic clustering, a planning method rather than a writing method
  • seo-plan - planning
  • seo-sxo - search experience optimization
  • seo-page - on-page work

Research and competitive, evaluate second

  • seo-competitor-pages
  • seo-drift - content drift detection over time
  • seo-programmatic - programmatic content generation, read carefully for scale-content patterns that would not survive Kai's voice rules

Narrow fit, evaluate last

  • seo-images - alt text and image metadata, the only genuinely content-shaped item in the image cluster
  • seo-local - local SEO, no evident use for this portfolio
  • seo-ecommerce - no use, listed for completeness
  • seo-image-gen - see blockers

What was actually verified

All 25 SKILL.md files were fetched and grepped for credential reads, shell-outs, and network fetches. No SKILL.md was read in full. The vendor counts, the absence of shell-outs, and the host histogram are established. Everything about content quality and about whether a given method survives removal of DataForSEO is title-level and grep-level. Treat the tiering as a sorting hypothesis, not a verdict.

Known blockers

  • seo-image-gen carries a Banana extension installed by ./extensions/banana/install.sh, with an API key obtained from https://aistudio.google.com/apikey and documented free-tier limits of roughly 10 RPM and 500 RPD. AI Studio is a Gemini surface, so this is a backend-direct model call and violates the Agent Proxy transport rule. Same class as the claude-md-generator blocker in #1077.
  • seo-google expects a config block containing service_account_path, api_key, default_property, and ga4_property_id. That is Google Search Console plus GA4 service-account auth against a property this estate would have to own and connect.
  • .claude-plugin/ at the repo root means an upstream marketplace install path exists. Per #1077 acceptance criterion 6, it is not to be used.

Unlike #1077, where both files opened carried an undeclared external dependency, here the dependency is declared in the README. The problem is that it is declared as optional and the grep says otherwise.

Acceptance criteria

  1. For each of the 14 candidates, determine whether its method still works with DataForSEO removed, or whether it degrades to generic advice. This is the load-bearing question and it cannot be answered without reading each file.
  2. Open each of the 14 in full, including any references/ directory.
  3. Mark each adopt, reauthor, or discard, with a one-line reason.
  4. Name the exact network, credential, or vendor surface for any skill that carries one.
  5. Read seo-geo first regardless of the outcome elsewhere. Generative-engine optimization is the one method here with a use case this portfolio actually has, and it is the least likely to depend on a paid keyword source.
  6. Land accepted skills under .agents/composed/ or .agents/skills/ per the placement rule in tooling-skill-authoring, one issue one commit.
  7. Use no upstream install path. No .claude-plugin/ marketplace add. Patterns are reauthored locally under MIT attribution.

Honest note on fit

This is an SEO repo and Kai is a platform engineer, not a marketer. The earlier portfolio review established a real promotion need for ward, umbra, mcp-beaver, agent-compose, and agent-proxy, and a website that already publishes technical writing. That is the use case, and it is narrow. Most of these 25 will not survive contact with it. seo-geo is the one worth reading even if the rest are discarded.

  • #1077 - same method applied to Varnan-Tech/opendirectory, and the source of the acceptance-criteria shape used here
## Source Upstream: https://github.com/AgriciDaniel/claude-seo, directory `skills/`. MIT, **user-owned rather than org-owned**, created 2026-02-07, last push 2026-08-16, 14,243 stars, 2,072 forks, 40 open issues, roughly 203 commits on main. The contents API confirms exactly 25 skill directories. The repo also ships `agents/` with a claimed 18 sub-agents, plus `bin/`, `data/`, and a `.claude-plugin/` marketplace directory. Companion in method to #1077, which covered `Varnan-Tech/opendirectory`. ## Scope Roughly 14 of the 25 fall in Content Creator conceptual scope. The rest are technical-SEO and infrastructure shaped: `seo-technical`, `seo-schema`, `seo-sitemap`, `seo-hreflang`, `seo-audit`, `seo-google`, `seo-dataforseo`, `seo-maps`, `seo-backlinks`, `seo-flow`, and the umbrella `seo`. Content Creator owns `boundary-suggest-human-comms`, so the adoption call belongs to that role. This issue scopes the candidate set and records the cost axis. It does not decide. ## The finding that matters **The README calls DataForSEO an optional extension. It appears in 16 of the 25 skills.** That is the inverse of the #1077 finding. There the split was toolchain cost, prompt-only writing versus production-coupled AV. Here the skills are prompt-only *in shape* and the coupling sits one layer down, in the data. Verified by grepping all 25 `SKILL.md` files: * **No skill shells out.** Zero matches for a line-initial `curl`, `npx`, `python`, `node`, or `bash`. * **External URLs are documentation, not calls.** The host histogram is dominated by `example.com` at 27, `schema.org` at 11, `sitemaps.org`, and `w3.org`. These are worked examples and standards references. * **Vendor mentions by file count:** DataForSEO 16, Gemini 8, Google Search Console 8, PageSpeed 4, Ahrefs 4, Firecrawl 1, Banana 1. So the adoption question is not "does this skill run something we do not run." It is "does this skill's method collapse to generic advice once you remove the paid data source." That has to be answered per skill by reading it, and it is not visible from titles. ## Candidate set **Content and planning, evaluate first** * `seo-geo` - GEO and AEO, optimizing for generative answer engines. The most defensible fit in the whole repo, because Kai's reachable audience increasingly finds work through LLM answers rather than search results. * `seo-content-brief` - brief authoring, adjacent to existing voice and adaptation skills * `seo-content` - content authoring, read specifically for the delta against `writing-kai-voice` and `writing-voice-adaptation` * `seo-cluster` - semantic clustering, a planning method rather than a writing method * `seo-plan` - planning * `seo-sxo` - search experience optimization * `seo-page` - on-page work **Research and competitive, evaluate second** * `seo-competitor-pages` * `seo-drift` - content drift detection over time * `seo-programmatic` - programmatic content generation, read carefully for scale-content patterns that would not survive Kai's voice rules **Narrow fit, evaluate last** * `seo-images` - alt text and image metadata, the only genuinely content-shaped item in the image cluster * `seo-local` - local SEO, no evident use for this portfolio * `seo-ecommerce` - no use, listed for completeness * `seo-image-gen` - see blockers ## What was actually verified All 25 `SKILL.md` files were fetched and grepped for credential reads, shell-outs, and network fetches. **No `SKILL.md` was read in full.** The vendor counts, the absence of shell-outs, and the host histogram are established. Everything about content quality and about whether a given method survives removal of DataForSEO is title-level and grep-level. Treat the tiering as a sorting hypothesis, not a verdict. ## Known blockers * **`seo-image-gen`** carries a Banana extension installed by `./extensions/banana/install.sh`, with an API key obtained from `https://aistudio.google.com/apikey` and documented free-tier limits of roughly 10 RPM and 500 RPD. AI Studio is a Gemini surface, so this is a backend-direct model call and violates the Agent Proxy transport rule. Same class as the `claude-md-generator` blocker in #1077. * **`seo-google`** expects a config block containing `service_account_path`, `api_key`, `default_property`, and `ga4_property_id`. That is Google Search Console plus GA4 service-account auth against a property this estate would have to own and connect. * **`.claude-plugin/`** at the repo root means an upstream marketplace install path exists. Per #1077 acceptance criterion 6, it is not to be used. Unlike #1077, where both files opened carried an undeclared external dependency, here the dependency is declared in the README. The problem is that it is declared as *optional* and the grep says otherwise. ## Acceptance criteria 1. For each of the 14 candidates, determine whether its method still works with DataForSEO removed, or whether it degrades to generic advice. This is the load-bearing question and it cannot be answered without reading each file. 2. Open each of the 14 in full, including any `references/` directory. 3. Mark each adopt, reauthor, or discard, with a one-line reason. 4. Name the exact network, credential, or vendor surface for any skill that carries one. 5. Read `seo-geo` first regardless of the outcome elsewhere. Generative-engine optimization is the one method here with a use case this portfolio actually has, and it is the least likely to depend on a paid keyword source. 6. Land accepted skills under `.agents/composed/` or `.agents/skills/` per the placement rule in `tooling-skill-authoring`, one issue one commit. 7. Use no upstream install path. No `.claude-plugin/` marketplace add. Patterns are reauthored locally under MIT attribution. ## Honest note on fit This is an SEO repo and Kai is a platform engineer, not a marketer. The earlier portfolio review established a real promotion need for `ward`, `umbra`, `mcp-beaver`, `agent-compose`, and `agent-proxy`, and a website that already publishes technical writing. That is the use case, and it is narrow. Most of these 25 will not survive contact with it. `seo-geo` is the one worth reading even if the rest are discarded. ## Related * #1077 - same method applied to `Varnan-Tech/opendirectory`, and the source of the acceptance-criteria shape used here
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/agentic-os#1099
No description provided.