Skip to content

feat(badge): show README badge only on indexable hubs, noindex kit - #321

Draft
harlan-zw wants to merge 1 commit into
mainfrom
feat/skill-badges
Draft

harlan-zw wants to merge 1 commit into
mainfrom
feat/skill-badges

Conversation

@harlan-zw

Copy link
Copy Markdown
Collaborator

❓ Type of change

  • 👌 Enhancement

📚 Description

For experiment B (links and demand), Skill authors need a README badge that links to their skilld page. The badge SVG (/b/<owner>/<repo>[/<skill>]) and the copyable snippet already existed. A badge that points at a noindex hub earns nothing, so the repository hub now shows the badge block only when the hub is indexable. /brand-kit/github-badge was index,follow; it is a tool page and is now noindex,follow. Its sitemap listing is left to the sitemap work.

I added no referral tracking. GitHub referrals already show as a referrer in Cloudflare analytics, and a ?ref= on the link would split canonical URLs.

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

hub-badge-block

A badge that links to a noindex hub earns nothing, so the hub hides the badge block unless seoIndexable. The brand kit page is a tool page, so it is now noindex.
@harlan-zw

Copy link
Copy Markdown
Collaborator Author

Checked in the dev server: /b/antfu/skills/vite returns 200, image/svg+xml, 1 day cache. Indexable hub /gh/antfu/skills shows the block with the canonical link. Noindex hubs (torvalds/linux, vercel/next.js) show none. Hub block:

hub-badge-block

@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. labels 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 (35/100): Badge blocks remain visible on noindex skill and author pages; only the hub is gated, so the noindex-badge path still exists elsewhere on the site. 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-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 (35/100): SkillDetail.vue:2073 and @[login]/index.vue:363,428 still show the badge on noindex Skill and author pages. Only the repository hub is gated. Next step is an owner scope call.
  • Logged (30/100): No test covers the new seoIndexable gate on the repository hub. github-badge.vue stays in the sitemap as noindex; the PR defers this to the sitemap work.

@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. harlan-agent-review-required Pull request triage requires an adversarial Review for this head commit. labels 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-review-required Pull request triage requires an adversarial Review for this head commit. harlan-agent-ready The automated Review passed every gate on this head commit. and removed harlan-agent-ready The automated Review passed every gate on this head commit. 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
@harlan-zw
harlan-zw marked this pull request as draft September 30, 2026 14:32
@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-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-ready The automated Review passed every gate on 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-pending The automated Review is waiting on a gate for this head commit. and removed harlan-agent-ready The automated Review passed every gate on this head commit. labels Oct 6, 2026
@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-pending The automated Review is waiting on a gate for this head commit. labels Oct 6, 2026
harlan-zw added a commit that referenced this pull request Oct 7, 2026
* test(helpers): load each migrated sqlite database from an image

Most suites build a fresh database per test and replayed every migration
each time, about 100 ms per database. Replay each migration list once per
file and deserialize the image after that. Node before 24.16 has no
serialize, so it keeps the replay.

* test: delete tests that restate source, copy, or config

These files read source or docs and grep the text, assert copy and
markup, restate constant tables, or repeat another file's coverage.
None of them can catch a behaviour bug that typecheck, lint, or a
remaining test would miss.

* test: boot Nuxt only for tests that need it

Every file booted a Nuxt app, though about 40 of 377 use it. The default
environment is now node. Files that mount components or read Nuxt
runtime config carry the .nuxt.test.ts suffix, so defineVitestConfig
runs them in its nuxt project.

The node project runs in vmThreads and drops the @nuxt/test-utils setup
file, which loaded Vue and its compiler in every file. Workers now follow
the CPU quota: 2 workers under the 4-CPU CI quota left half of it idle.

Also removes single cases that grep source, assert copy or class names,
or restate constant tables, and the node environment pragmas that now
repeat the default.

* test: keep pragmas in files that open branches also edit

Open branches edit these four files. Leaving their redundant node
pragma in place keeps those merges free of conflicts.

* test: keep the brand kit test that an open draft extends

Draft #321 adds a noindex case to this file. Deleting it would leave
that draft a modify and delete conflict.

* test: shrink the streamed pack fixture

At 300 KiB the 7-byte chunk case timed out under the full suite's
worker count. 20 KiB still crosses many tar blocks at every chunk size.
@harlan-github-agent harlan-github-agent Bot added harlan-agent-blocked The automated Review found a material defect in this head commit. and removed harlan-agent-ready The automated Review passed every gate on this head commit. labels Oct 7, 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