100 Commits
Author SHA1 Message Date
Patrick Erichsen 60b02c09f9 fix: stream legacy skill downloads (#3451)
* fix: stream legacy skill downloads

* fix: stream zip entries in bounded chunks

* fix: stream large archives through api owner

* fix: normalize streamed archive chunks

* fix: authenticate archive streaming handoff

* fix: authenticate archive manifest requests

* test: bound archive determinism fixture

* fix: align archive oidc trust with vercel targets

* fix: harden archive runtime boundaries

* test: isolate archive proxy credentials

* test: exercise streamed manifest size cap
2026-08-12 12:19:37 -07:00
Patrick Erichsen faab45bace fix: filter skills.sh route query params (#3450) 2026-08-11 13:00:09 -07:00
Patrick Erichsen fb2515649a fix(search): bound rolling usage query batches (#3456) 2026-08-11 11:30:43 -07:00
Patrick Erichsen 788ee762a0 fix: increase HTTP rate limit shard headroom (#3432) 2026-08-06 12:04:18 -07:00
Patrick Erichsen 0b6017548c feat: add local UI proof fallback (#3429)
* feat: add local UI proof fallback

* style: format generated Convex skills
2026-08-05 16:30:58 -07:00
Patrick Erichsen 6381d789ab feat(admin): support org profile updates (#3416) 2026-08-05 12:32:55 -07:00
Patrick Erichsen 5d6c9c6021 fix: hide official marks on org catalog rows (#3415)
* fix: hide official marks on org catalog rows

* style: format app shell selector

* revert: restore locked formatter output

* fix: preserve item badges on unverified orgs
2026-08-05 12:30:15 -07:00
Patrick Erichsen 109384dcb8 chore(deps): bump plugin-inspector to 0.3.21 (#3413) 2026-08-05 10:49:48 -07:00
Patrick Erichsen 98a6e04e39 fix: resolve active skill across retained slug history (#3405) 2026-08-04 18:43:46 -07:00
Patrick Erichsen 2c7c40f001 chore: upgrade Carapace to v0.6.1 (#3403)
* feat: adopt Carapace sparkline primitive

* fix: preserve existing download trend chart
2026-08-04 17:51:58 -07:00
Patrick Erichsen eb7aa36f80 fix: enforce publisher skill slug invariant (#3383) 2026-08-04 17:37:35 -07:00
Patrick Erichsen f4d7a94104 fix(ui): use Carapace tokens for download trends (#3402) 2026-08-04 16:43:48 -07:00
Patrick Erichsen 87ca030c30 fix: upload skill files directly to Convex (#3391)
* fix: upload skill files directly to Convex

* chore: prepare clawhub CLI 0.23.3
2026-08-03 20:37:01 -07:00
Patrick Erichsen 7571488ab3 fix: allow safe skill latest rollback (#3388)
* fix: allow safe skill latest rollback

* chore(release): prepare clawhub 0.23.2
2026-08-03 19:42:03 -07:00
Patrick Erichsen d1f9b87f43 chore: refresh audited dependency pins (#3389)
Update the five newly vulnerable dependency pins and refresh the lockfile so repository CI remains enforceable.
2026-08-03 18:55:09 -07:00
Patrick Erichsen 4ae518011a fix: move skills.sh badge before download count (#3376) 2026-08-02 19:53:11 -07:00
Patrick Erichsen 3d3ac2942e test: isolate production menu smoke routes (#3374) 2026-08-01 22:16:04 -07:00
Patrick Erichsen 632850f5a8 feat: refine skills.sh listing UI (#3373)
* feat: refine skills.sh listing UI

* test: fix skills.sh missing metric fixture
2026-08-01 21:43:09 -07:00
Patrick Erichsen 059cf01765 test: harden timing-sensitive unit fixtures (#3372) 2026-08-01 17:49:01 -07:00
Patrick Erichsen ec8a9ec508 fix: simplify skills.sh catalog presentation (#3371) 2026-08-01 17:40:19 -07:00
Patrick Erichsen 50c4ffc1a0 fix: bound prepublication scanner retries (#3353) 2026-08-01 17:26:49 -07:00
Patrick Erichsen 0fb07e5b99 feat: align skills.sh catalog presentation (#3370)
* feat: align skills.sh catalog presentation

* refactor: share skill detail shell with skills.sh

* test: seed skills.sh route fixtures locally

* refactor: share full skill detail page view

* feat: refine skills.sh detail presentation

* feat: refine skills.sh detail metadata

* fix: refine skills.sh detail spacing
2026-08-01 16:46:48 -07:00
Patrick Erichsen a643b75eca fix: reuse verified hourly native pools (#3368) 2026-08-01 00:34:03 -07:00
Patrick Erichsen c1cacaaed4 fix: refresh skills.sh sync authorization (#3367) 2026-07-31 23:54:39 -07:00
Patrick Erichsen c83f1711bd fix: verify bounded skills.sh Trending activation (#3366) 2026-07-31 19:46:16 -07:00
Patrick Erichsen a16ff751bb feat: notify plugin owners only for hard compatibility errors (#3365)
* chore: update plugin inspector to 0.3.20

* feat: gate plugin compatibility emails on hard errors
2026-07-31 17:37:52 -07:00
Patrick Erichsen d76c965480 refactor: simplify homepage catalog controls (#3364) 2026-07-31 16:11:32 -07:00
Patrick Erichsen a9d04bb009 fix: align trending list headers to edges (#3361) 2026-07-31 15:03:55 -07:00
Patrick Erichsen 6dcff11402 fix: persist native trending activation pool (#3360) 2026-07-31 15:02:23 -07:00
Patrick Erichsen fb99952312 fix: reconcile native trending preflight timeouts (#3358) 2026-07-31 14:33:49 -07:00
Patrick Erichsen a9b4494807 fix: refresh Trending download snapshots (#3355) 2026-07-31 09:58:38 -07:00
Patrick Erichsen 476feb2af1 fix: show actual downloads in Trending (#3354) 2026-07-31 09:09:48 -07:00
Patrick Erichsen a15f97470f fix: reconcile skills.sh activation timeouts (#3352) 2026-07-31 08:35:07 -07:00
Patrick Erichsen a5ffae2196 fix: reuse ready native trending preflight (#3350) 2026-07-31 04:26:59 -07:00
Patrick Erichsen 1a0f165291 fix: accept direct workflow oidc claims (#3348) 2026-07-31 03:30:49 -07:00
Patrick Erichsen 4187c7dd1c fix: retry transient legacy file downloads (#3346) 2026-07-31 01:54:45 -07:00
Patrick Erichsen 536674f49b fix: reconstruct large legacy scan packages (#3345) 2026-07-31 01:33:25 -07:00
Patrick Erichsen 110f92a0ef fix: normalize nested plugin manifests (#3343) 2026-07-30 23:28:55 -07:00
Patrick Erichsen 73eb44cd70 fix: normalize BOM-prefixed plugin manifests (#3342) 2026-07-30 23:13:21 -07:00
Patrick Erichsen 43a56d4f76 fix: normalize BOM-prefixed plugin manifests (#3341) 2026-07-30 23:01:16 -07:00
Patrick Erichsen 17bd74814d fix: pin BOM-compatible plugin inspector (#3339) 2026-07-30 22:49:14 -07:00
Patrick Erichsen c1f6ba2f07 fix: accept BOM-prefixed plugin package metadata (#3338) 2026-07-30 22:32:39 -07:00
Patrick Erichsen 41a7578990 fix: scan historical legacy package paths (#3337) 2026-07-30 21:59:30 -07:00
Patrick Erichsen aa23c7e44d fix: sanitize nightly scan fixture ids (#3336) 2026-07-30 21:19:47 -07:00
Patrick Erichsen 329783af96 fix: ignore legacy zip pax metadata (#3335) 2026-07-30 20:44:39 -07:00
Patrick Erichsen 29549947f6 fix: label trending counts as downloads (#3334) 2026-07-30 20:37:46 -07:00
Patrick Erichsen bd95e24030 fix: resolve production skills sync environment (#3333) 2026-07-30 20:25:37 -07:00
Patrick Erichsen 8b0e5b906e fix: bound canonical trending candidate memory (#3332) 2026-07-30 19:38:00 -07:00
Patrick Erichsen b7bd53a697 fix: advance plugin scan pagination between claims (#3331) 2026-07-30 19:15:16 -07:00
Patrick Erichsen e32c56b69e fix: bound native trending digest reads (#3330) 2026-07-30 18:35:39 -07:00
Patrick Erichsen e986ac3b02 fix: stream canonical trending sources (#3329) 2026-07-30 17:59:33 -07:00
Patrick Erichsen ee065b6d11 feat(admin): export plugin validation reports (#3326)
* feat(admin): add plugin validation report command

* test(admin): cover validation report edge cases

* test(admin): satisfy validation report static gate

* feat(admin): serve plugin validation reports
2026-07-30 16:08:40 -07:00
Patrick Erichsen 6afd21e1a2 feat: refresh beta plugin compatibility nightly (#3325)
* feat: reconcile nightly plugin validation state

* feat: refresh beta plugin validation nightly

* fix: scope nightly scan notification findings
2026-07-30 15:46:11 -07:00
Patrick Erichsen f491d5bb34 fix: resolve owner-scoped skill scans (#3322) 2026-07-30 14:48:44 -07:00
Patrick Erichsen f8901222a4 feat: validate plugins against stable OpenClaw (#3321)
* test: preserve generic plugin inspector remediation

* feat: show exact plugin validation reproduction command

* feat: reproduce plugin findings against exact target

* test: preserve static and compatibility findings

* feat: validate plugins against stable OpenClaw

* test: seed reproducible plugin findings

* chore: pin merged plugin inspector

* fix: preserve mixed validation targets

* fix: show every validation target

* fix: label findings with validation target
2026-07-30 14:36:26 -07:00
Patrick Erichsen 5d47203382 fix: increase detail category spacing (#3320) 2026-07-30 13:00:24 -07:00
Patrick Erichsen 21078e6e0d fix: default unavailable trending to featured (#3319) 2026-07-30 12:49:52 -07:00
Patrick Erichsen 5498e3ce83 test: await skills count rendering (#3318) 2026-07-30 11:50:29 -07:00
Patrick Erichsen 8d11f195c5 fix: hide unavailable trending tabs (#3317) 2026-07-30 11:32:44 -07:00
Patrick Erichsen 0a2b1a26af fix: order skills before plugins on homepage (#3316) 2026-07-30 11:12:41 -07:00
Patrick Erichsen 70ce492fd9 fix: polish plugin detail metadata (#3315) 2026-07-30 10:29:39 -07:00
Patrick Erichsen 87b14acc61 fix: load official skills from curated index (#3314) 2026-07-30 10:26:32 -07:00
Patrick Erichsen dc51281c87 fix: preserve native trending through mirror rollout (#3313) 2026-07-30 10:16:28 -07:00
Patrick Erichsen 3282ff9ad7 fix: verify publishable skills.sh Trending count (#3310) 2026-07-30 08:50:25 -07:00
Patrick Erichsen 58b82dc6d2 fix: verify skills.sh activation corpus safely (#3309) 2026-07-30 05:42:11 -07:00
Patrick Erichsen 5a1d9c9472 fix: preserve canonical skills.sh supplement hashes (#3308) 2026-07-30 04:49:52 -07:00
Patrick Erichsen fa60971117 fix: resume skills.sh sync after transport timeouts (#3304) 2026-07-30 03:24:36 -07:00
Patrick Erichsen 9f037c1806 fix: quarantine missing skills.sh details (#3301) 2026-07-30 02:08:36 -07:00
Patrick Erichsen 5b969f9835 feat: publish verified skills.sh catalog (#3300)
* feat: publish verified skills.sh mirrors

* feat: automate skills.sh catalog synchronization
2026-07-30 01:19:56 -07:00
Patrick Erichsen a58294361b fix: show honest canonical trending states (#3294)
* fix: show honest canonical trending states

* ci: guard CLAW-602 permanent Test deploy

* fix: fail closed when trending discovery is unavailable

* fix: preserve trending rows on pagination errors

* feat: build native rolling trending feed

* fix: decouple native trending from skills.sh

* test: cover native trending rollout independence
2026-07-29 23:45:14 -07:00
Patrick Erichsen 49771f5a69 feat: make GitHub Skill Sync refreshes version-safe (#3229) 2026-07-29 23:26:05 -07:00
Patrick Erichsen 9784710147 fix: separate skill metrics by source (#3228)
* fix: use bookmark icons consistently

* fix: separate skill metrics by source
2026-07-29 22:41:06 -07:00
Patrick Erichsen 7713313fa5 feat: add audited package hard delete (#3282) 2026-07-27 14:45:02 -05:00
Patrick Erichsen 34b6774848 fix: prevent prepublication retry starvation (#3280) 2026-07-27 14:24:44 -05:00
Patrick Erichsen 725eb2d31e feat: make catalog discovery trending-first (#3270)
Defaults the homepage and skills catalog to canonical Trending with New, Featured, and Official feeds, eligible public counts, stable pagination, and local-auth runtime coverage.
2026-07-26 15:32:05 -05:00
Patrick Erichsen c918f9fd4a fix: prefer skill icons in social cards (#3269) 2026-07-26 13:46:17 -05:00
Patrick Erichsen 010c87f354 fix: remove generated tint from uploaded icons (#3268) 2026-07-26 12:38:44 -05:00
Patrick Erichsen f92495fc80 feat: add canonical Trending snapshot API (#3265)
* feat: materialize canonical trending snapshots

* feat: expose canonical trending api

* test: prove canonical trending in permanent Test

* test: seed canonical trending Test corpus

* test: retain trending sources on cleanup failure
2026-07-25 12:48:02 -05:00
Patrick Erichsen 79cdd938c4 feat: claim skills.sh listings through GitHub Skill Sync (#3230)
* feat: add verified mirrored skill adoption state

* feat: add mirrored skill adoption preview

* feat: route skills.sh claims through GitHub sync

* ci: allow guarded CLAW-560 Test deploy

* fix: canonicalize claimed GitHub source repos

* fix: use public GitHub auth for skill sync

* fix: authenticate public GitHub source reads
2026-07-25 10:32:09 -05:00
Patrick Erichsen a9a80bbf6d feat(cli): support skills.sh install references (#3226)
* feat(cli): support skills.sh install references

* fix(cli): preserve repo sync alias installs

* fix(cli): verify skills.sh artifact identity on update

* fix(cli): bind scanned verification to canonical alias
2026-07-25 08:59:25 -05:00
Patrick Erichsen cb9c6d8381 feat: add external skills.sh detail and install flow (#3231)
* feat: integrate external skills.sh listings

* test: record permanent Test external flow

* fix: distinguish GitHub alias source fingerprints

* fix: match controlled skills.sh source URL

* test: disambiguate external detail heading

* fix: use folder hash for controlled skills.sh fixture

* test: prepare controlled external fixture for proof

* fix: preserve OpenClaw external trust state
2026-07-25 05:17:04 -05:00
Patrick Erichsen 65ea02f4ca feat: add canonical mixed skill search (#3264)
* feat: add canonical mixed skill search

* test: add permanent Test search proof
2026-07-25 02:06:41 -05:00
Patrick Erichsen 5fbd52e137 feat: add skills.sh trending rank overlay (#3256)
* feat: add skills.sh trending rank overlay

* test: prove trending overlay in permanent Test

* fix: preflight trending hydration bound

* fix: exclude known quarantines from trending hydration

* fix: preserve authoritative trending quarantine state

* fix: read legacy leaderboard captures for trending

* fix: bound trending drift to one mirror batch

* fix: preserve trending hydration overflow

* fix: keep trending replays hydration-free
2026-07-25 01:23:58 -05:00
Patrick Erichsen 906428a557 test: isolate GitHub Skill Sync proof jobs (#3257) 2026-07-24 21:36:16 -05:00
Patrick Erichsen fd610627e0 feat: ingest and render skill presentation metadata (#3261)
* feat: ingest skill presentation metadata

* feat: render skill icons and clean titles

* feat: add skill presentation backfill

* fix: preserve hosted icons during backfill

* docs: clarify backfill icon ownership

* fix: track skill presentation provenance
2026-07-24 18:36:28 -05:00
Patrick Erichsen bb6ed6eae6 fix: match homepage hero accent (#3260) 2026-07-24 18:25:47 -05:00
Patrick Erichsen 62a697ef1e feat: add permanent Test ranking metrics import (#3259)
* feat: add Test ranking metrics import

* fix: harden ranking metric table replacement

* fix: reserve Test for ranking imports

* fix: bind ranking rollback to imported state

* fix: persist rollback guard before import

* fix: quiesce ranking metric writes during imports

* fix: bind ranking imports to target identities

* fix: lock ranking target identities during imports
2026-07-24 16:00:27 -05:00
Patrick Erichsen 258c82d4a9 fix(deps): upgrade postcss past path traversal advisory (#3258) 2026-07-24 15:48:16 -05:00
Patrick Erichsen 17f8118d7c fix: restore rollout automation checks (#3253) 2026-07-24 15:39:16 -05:00
Patrick Erichsen ead9d9409c chore(deps): migrate to Carapace v0.2.0 2026-07-24 15:27:21 -05:00
Patrick Erichsen 0f84533e9c feat: add permanent skills.sh mirror storage (#3227)
* feat: add staged skills.sh mirror storage

* ci: allow guarded CLAW-563 Test deploy

* ci: expose guarded Test deploy diagnostics

* ci: defer branch guard to deploy step

* ci: deploy CLAW-563 PR head to Test

* ci: admit CLAW-563 PR Test job

* fix: make mirror source recovery durable

* ci: trigger labeled mirror load

* feat: activate mirror search queries

* fix: tighten mirror source typing

* fix: bypass protected Test mirror proof

* feat: attribute skill metrics by source

* feat: present stars as bookmarks

* style: format mirror proof changes

* fix: bypass protected mirror readback

* fix: resume mirror past missing scanner pages

* fix: fetch skills.sh mirror audits from api

* fix: validate structural skills.sh identities

* fix: resolve ambiguous skills.sh mirror identities

* feat: stabilize skills.sh mirror ingestion

* fix: account mirror identity conflicts in proof

* fix: quarantine invalid skills.sh detail ids

* fix: resume skills.sh mirror proof

* fix: preserve skills.sh mirror provenance

* fix: recover exact skills.sh mirror runs

* fix: recover stale skills.sh mirror runs

* fix: normalize skills.sh mirror topic facets

* feat: prove complete skills.sh leaderboard mirror

* fix: canonicalize skills.sh source page hashes

* test: enable skills.sh rollout in mirror tests

* ci: skip unrelated Test deploy pull requests

* fix: preserve Vercel preview marker in Test deploy

* fix: tighten Test deploy and metric reconciliation

* fix: bound mirror detail proof pages

* fix: delegate controlled mirror rate limits

* fix: preserve mirror reconciliation progress

* fix: release mirror retry responses

* fix: preserve stale mirror replay state

* fix: authenticate mirror source starts

* fix: delegate mirror identity rate limits

* ci: trigger mirror proof when labeled

* ci: couple mirror deploy and proof opt-in

* fix: admit permanent Vercel Test runtime

* fix: pass Test target to Vercel runtime

* test: align bookmark sync browser labels

* fix: preserve skills.sh source accounting

* fix: preflight active mirror runs

* fix: bind mirror snapshot accounting

* fix: reject truncated replay hashes

* fix: preserve live mirror overlay metadata
2026-07-24 14:32:00 -05:00
Patrick Erichsen 306035cad7 feat: generalize GitHub Skill Sync engine (#3249) 2026-07-23 15:50:49 -07:00
Patrick Erichsen 588be4e858 fix: repair both sides of skill lineage cycles (#3248) 2026-07-23 15:01:02 -07:00
Patrick Erichsen edd4e01a07 feat: replace creators directory with official orgs (#3247) 2026-07-23 14:07:20 -07:00
Patrick Erichsen a402451282 fix: prevent and repair skill lineage cycles (#3246)
* fix: prevent self-referential skill merges

* fix: add guarded skill lineage repair
2026-07-23 13:39:39 -07:00
Patrick Erichsen 9339df42f0 fix(ui): default homepage catalog to list view (#3245) 2026-07-23 13:16:35 -07:00
Patrick Erichsen 9c63ed9b6b fix(ui): show stats on trending cards (#3243) 2026-07-23 12:38:09 -07:00
Patrick Erichsen fec0f5bd23 feat: count successful OpenClaw plugin installs (#3242) 2026-07-23 12:12:58 -07:00
Patrick Erichsen c8066fe89c chore: update social preview headline 2026-07-23 11:16:20 -07:00
Patrick Erichsen eb3050fdcc fix(ui): restore official terminology 2026-07-23 10:59:05 -07:00