Skip to content

feat(seo): experiment C, unique value template on 10 Skills - #318

Draft
harlan-zw wants to merge 11 commits into
mainfrom
feat/seo-experiment-unique-value
Draft

harlan-zw wants to merge 11 commits into
mainfrom
feat/seo-experiment-unique-value

Conversation

@harlan-zw

@harlan-zw harlan-zw commented Sep 30, 2026 •

Copy link
Copy Markdown
Collaborator

Stacked on #317. Merge #317 first, then retarget this pull request to main.

❓ Type of change

  • ✨ New feature

📚 Description

Google holds the curated Skill URLs as "Discovered, currently not indexed", and about 72% of a Skill page's text is the GitHub SKILL.md word for word. This is experiment C from the SEO death-zone note: do pages that carry data GitHub lacks get crawled sooner than unchanged pages?

Ten treatment pages swap the full SKILL.md body for an excerpt plus facts skilld already holds: run command with the install command beneath it as the opt-in, file inventory, star trend, update pace, related Skills, and compatibility or collection data when it exists. Ten star-matched control pages stay as they are. Every visitor gets the same page. No new prose, no AI text.

Both groups come from the union of the week, month, and all-time trending lists, in the production skills sitemap. The gate and both lists sit in skill-unique-value-experiment.ts, dated, with the 2026-11-11 end date and the cull path. Delete that file and the template to end it.

Treatment: obra/superpowers/writing-plans, imbad0202/academic-research-skills/academic-pipeline, emilkowalski/skills/emil-design-eng, vercel-labs/agent-skills/react-best-practices, ibelick/ui-skills/create-design-md, remotion-dev/skills/remotion-best-practices, dimillian/skills/bug-hunt-swarm, ferdinandobons/startup-skill/startup-pitch, neondatabase/agent-skills/neon-postgres, clerk/skills/clerk-orgs.

Control: mattpocock/skills/ask-matt, coreyhaines31/marketingskills/ai-seo, kepano/obsidian-skills/knap, othmanadi/planning-with-files/planning-with-files, microsoft/playwright-cli/playwright-cli, antfu/skills/nitro, addyosmani/web-quality-skills/accessibility, getsentry/skills/prompt-optimizer, browser-use/plugins/browser-use, prisma/skills/prisma-database-setup.

Open points:

  • Only 22 trending Skills had a three-segment canonical page in the sitemap, so the groups are paired by repository stars, not drawn at random.

🤖 AI disclosure: Harlan Agent Kit modified this description. My AI open-source policy.

Any made-up /gh/<owner>/<repo>/<skill> URL answered 200 with a thin
page and a canonical to the homepage. Google filed 2,621 of them as
soft 404s, and the open URL space wastes a small crawl budget. A missing
Skill now answers 404 with noindex and no canonical. A page with no Skill
never canonicalises to the homepage.
Experiment C tests whether Skill pages that carry data GitHub lacks get
crawled sooner. One constant holds both groups and the cull path.
Treatment pages swap the full SKILL.md body for facts, an excerpt, and
related Skills, all from data skilld already holds. Controls stay as is.
@harlan-zw

Copy link
Copy Markdown
Collaborator Author

Treatment page on the local dev server: obra/superpowers/writing-plans.

Treatment page

The excerpt showed a heading and no body, and repeated the description
already in the page header. It now keeps whole blocks up to about 250 words.
@harlan-zw

Copy link
Copy Markdown
Collaborator Author

Excerpt now keeps the first section's body (plus the second when the first is short), about 250 words, cut at block boundaries. Recaptured treatment page.

Treatment page

@harlan-github-agent harlan-github-agent Bot added harlan-agent-running An Agent holds a Task on this issue or pull request right now. harlan-agent-review-required Pull request triage requires an adversarial Review for this head commit. and removed harlan-agent-running An Agent holds a Task on this issue or pull request right now. labels Sep 30, 2026
@harlan-zw
harlan-zw added this pull request to stack #319 September 30, 2026 04:43
@harlan-github-agent harlan-github-agent Bot added the harlan-agent-running An Agent holds a Task on this issue or pull request right now. label Sep 30, 2026
@harlan-github-agent

harlan-github-agent Bot commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

🤖 BLOCKED

Harlan Agent Kit posted this automated review. It is not Harlan's personal review or approval. AI open source policy. A person still decides the merge.

  • Merge gate: BLOCKED. The pull request has merge conflicts.

  • Review gate: Passed. No finding above 80/100.

  • CI gate: Passed.

  • Logged (30/100): The excerpt trimmer can cut inside an HTML attribute or comment and emit a dangling attribute that breaks the rendered excerpt and can hide following content. View code Optional follow-up.

    • Ask an agent to verify and fix this finding
  • Logged (25/100): Two of the ten pairs lost their star matching in the head commit, so the star-matched pairing claim no longer holds for pairs 7 and 8. View code Optional follow-up.

    • Ask an agent to verify and fix this finding
  • Logged (25/100): The declared end date is documentary only; the experiment does not expire on 2026-11-11. View code Optional follow-up.

    • Ask an agent to verify and fix this finding
  • Logged (20/100): Treatment pages can show an 'Excerpt from SKILL.md' heading above an empty bordered box. View code Optional follow-up.

    • Ask an agent to verify and fix this finding
  • Logged (20/100): File counts come from a truncated 250-file subset while the displayed total is the full count, with no truncation hint. View code Optional follow-up.

    • Ask an agent to verify and fix this finding
  • Logged (15/100): The PR's screenshot evidence is inaccessible, so the rendered treatment-page layout is unverified. View code Optional follow-up.

    • Ask an agent to verify and fix this finding
  • Logged (15/100): The updated-time binding lacks the data-allow-mismatch guard the same pattern uses elsewhere, risking hydration mismatch warnings. View code Optional follow-up.

    • Ask an agent to verify and fix this finding

Selected findings run after merge and open separate pull requests.

@harlan-github-agent harlan-github-agent Bot added harlan-agent-ready The automated Review passed every gate on this head commit. and removed harlan-agent-running An Agent holds a Task on this issue or pull request right now. harlan-agent-review-required Pull request triage requires an adversarial Review for this head commit. labels Sep 30, 2026
VISION says every Skill surface leads with the run command. The reason
text that pushed install for Skills with code is gone.
@harlan-github-agent harlan-github-agent Bot added harlan-agent-running An Agent holds a Task on this issue or pull request right now. and removed harlan-agent-ready The automated Review passed every gate on this head commit. labels Sep 30, 2026
@harlan-zw

Copy link
Copy Markdown
Collaborator Author

🤖 READY · 95/100

Harlan Agent Kit posted this automated review. It is not Harlan's personal review or approval. AI open source policy. Human merge decision still required.

  • Logged (30/100): layers/registry/app/utils/skill-unique-value.ts:147 cuts a long paragraph at any . inside the tag text. A period inside an alt or title attribute can leave a dangling <img alt="... in the excerpt.
  • Logged (25/100): layers/registry/app/utils/skill-unique-value-experiment.ts:34 endsOn is never read, so the gate does not expire on 2026-11-11. Delete the file to end the experiment.
  • Logged (20/100): layers/registry/app/components/_SkillUniqueValue.vue:213 A treatment Skill with no contentHtml renders the excerpt heading over an empty bordered box.

@harlan-zw harlan-zw added harlan-agent-ready The automated Review passed every gate on this head commit. and removed harlan-agent-running An Agent holds a Task on this issue or pull request right now. labels Sep 30, 2026
`nuxi preview --port 5678` starts wrangler on 8787 for the Cloudflare
preset, so Playwright timed out waiting for 5678. The Worker also read
an empty D1 under .output, so every Skill API call failed with 500 and
a missing Skill page rendered its error state with status 200.

The script now applies local migrations and runs wrangler dev against
the same local D1 that `pnpm dev` uses. A fresh checkout gets a
migrated, empty D1.
The page sets no canonical for a missing Skill, but nuxt-seo-utils
adds a self canonical to every page that is not a Nuxt error. That is
harmless on a 404. The spec now fails only when a canonical names
another URL, which is the homepage bug the PR fixes.
A transient API error rendered a real Skill page as 200 noindex, which could drop it from Google. The failed state now answers 503 with Retry-After and emits no robots directive, so Google retries.
@harlan-zw
harlan-zw removed this pull request from stack #319 September 30, 2026 09:09
@harlan-zw
harlan-zw changed the base branch from fix/soft-404-missing-skills to main September 30, 2026 10:29
Neither Skill sat on a trending board after #322, so both went noindex,follow and no longer matched their indexable partners.
@harlan-github-agent harlan-github-agent Bot added the harlan-agent-running An Agent holds a Task on this issue or pull request right now. label Sep 30, 2026
@harlan-github-agent harlan-github-agent Bot added harlan-agent-running An Agent holds a Task on this issue or pull request right now. harlan-agent-blocked The automated Review found a material defect in this head commit. and removed harlan-agent-running An Agent holds a Task on this issue or pull request right now. harlan-agent-blocked The automated Review found a material defect in this head commit. labels Oct 1, 2026

@harlan-github-agent harlan-github-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Harlan Agent Kit posted this automated review. AI open source policy.

Automated Review: BLOCKED.

Read the Review results

@harlan-github-agent harlan-github-agent Bot added harlan-agent-running An Agent holds a Task on this issue or pull request right now. harlan-agent-blocked The automated Review found a material defect in this head commit. and removed harlan-agent-blocked The automated Review found a material defect in this head commit. harlan-agent-running An Agent holds a Task on this issue or pull request right now. labels Oct 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

harlan-agent-blocked The automated Review found a material defect in this head commit.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant