Fix social cards to show installs instead of downloads#2713
Conversation
|
@vyctorbrzezowski is attempting to deploy a commit to the Amantus Machina Team on Vercel. A member of the Team first needs to authorize it. |
8266551 to
5601e2b
Compare
|
@clawsweeper review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
|
Codex review: needs maintainer review before merge. Reviewed June 17, 2026, 7:37 PM ET / 23:37 UTC. Summary Reproducibility: yes. Latest main source still reads and labels downloads for the skill, plugin, and profile OG routes, and the candidate screenshots demonstrate the corrected Installs output. Review metrics: 2 noteworthy metrics.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Merge the focused OG-route/test update after required checks are green or explicitly accepted by maintainers. Do we have a high-confidence way to reproduce the issue? Yes. Latest main source still reads and labels downloads for the skill, plugin, and profile OG routes, and the candidate screenshots demonstrate the corrected Installs output. Is this the best way to solve the issue? Yes. The PR fixes the rendering/fetch layer that owns these OG cards and uses install fields already exposed by the existing public skill, package, and publisher data shapes. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 69c79e8f0120. Label changesLabel changes:
Label justifications:
Evidence reviewedWhat I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
Summary
This PR changes the OG/social-card stats from downloads to installs for skill, plugin, org, and publisher cards.
The implementation keeps the existing OG rendering path and only changes the stat source plus label:
stats.installsAllTimefrom the public skill API.stats.installs.stats.installs.downloads=is no longer accepted as the stat query param for these OG routes; explicit zero values should useinstalls=0.ownerHandlewhen the route has an owner, matching the owner-scoped slug lookup added onmain.Production source check
Captured against the candidate route with production Convex configured, without passing stat numbers in the OG URL.
pskoett/self-improving-agent: production API returneddownloads: 462162,installsAllTime: 6923; OG showsInstalls 6.9k.zerogpu-router: production API returneddownloads: 393,installs: 74; OG showsInstalls 74.openclaw: production profile returnedinstalls: 32; OG showsInstalls 32.pskoett: production profile returnedinstalls: 6934; OG showsInstalls 6.9k.Screenshots
Validation
bun run test -- server/og/fetchSkillOgMeta.test.ts server/og/fetchPluginOgMeta.test.ts server/og/fetchPublisherOgMeta.test.ts server/routes/og/skill.png.test.ts server/routes/og/plugin.png.test.ts server/og/skillOgSvg.test.ts src/lib/og.test.ts src/__tests__/skill-route-loader.test.tsgit diff --checkbun run ci:staticbun run ci:unitbun run ci:types-buildbun run ci:e2e-httpCI Notes
e2e-httpis red on this run becausee2e/permissions.e2e.test.tstimed out at 60s on the runner. The samebun run ci:e2e-httpcommand passed locally after the push.gh run rerun 27725259333 --failed, but GitHub rejected it withMust have admin rights to Repository.bun run proof:uicould not publish through the repo helper because the localcrabboxcommand is unavailable here, so the screenshots above were captured manually from the local candidate route using production Convex..agents/skills/autoreview/scripts/autoreview --mode branch --base upstream/maincould not complete because the external Codex reviewer hit the account usage limit;--engine claudeis unavailable on this machine.