Compare commits

..

89 Commits

Author SHA1 Message Date
github-actions[bot]
cd3ca5bd4a bump(carta-cap-table): 72b0d648 → 78793217 (#3505)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 19:09:21 -05:00
github-actions[bot]
14463b70ad bump(datarobot-agent-skills): 0e28dc83 → 5434cb06 (#3507)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 19:09:00 -05:00
github-actions[bot]
278dbf5983 bump(twilio-developer-kit): 7d15b215 → f7b29ecf (#3513)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 19:08:38 -05:00
github-actions[bot]
4049d1b507 bump(carta-investors): 72b0d648 → 78793217 (#3506)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 19:08:16 -05:00
github-actions[bot]
cc7952aff2 bump(netlify-skills): 054b2603 → 7fcceabb (#3509)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 19:07:53 -05:00
github-actions[bot]
3f19a709dc bump(quarkus-agent): 1804071e → c619f60b (#3511)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 19:07:28 -05:00
github-actions[bot]
9dbf4d8bce bump(atlassian): 201c1b20 → d1df0391 (#3504)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 19:07:04 -05:00
github-actions[bot]
b13159e071 bump(hyperframes): 38c6cd11 → c9613cd8 (#3508)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 19:06:39 -05:00
github-actions[bot]
7f0a51c2f2 bump(nimble): 958fca1c → fdd3d177 (#3510)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 19:06:14 -05:00
github-actions[bot]
7cd2e03ecb bump(slack): acf7fcd0 → 10e40bd4 (#3512)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 19:05:47 -05:00
github-actions[bot]
136d8cb941 bump(langfuse): 6b6c44cf → 93cb1e5c (#3514)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 19:05:21 -05:00
github-actions[bot]
315339817c bump(carta-investors): 8ef1de26 → 72b0d648 (#3490)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 13:13:51 -05:00
github-actions[bot]
54394ecac3 bump(netlify-skills): a1d397b8 → 054b2603 (#3496)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 13:13:29 -05:00
github-actions[bot]
c3aef8e55b bump(nvidia-skills): 26811af1 → e37c0a0a (#3497)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 13:13:07 -05:00
github-actions[bot]
0ecb1c096d bump(qdrant-skills): 0651740b → b3a33ed4 (#3499)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 13:12:44 -05:00
github-actions[bot]
3723c3651c bump(sentry-cli): 97e7fcce → b34a052e (#3501)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 13:12:21 -05:00
github-actions[bot]
6897f96b32 bump(azure): c752fe85 → 7e172d68 (#3488)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 13:11:57 -05:00
github-actions[bot]
35c05e903c bump(hunter): 5116f8b1 → 1055beb3 (#3492)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 13:11:33 -05:00
github-actions[bot]
a2a5ef1f1b bump(hyperframes): c811a275 → 38c6cd11 (#3493)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 13:11:07 -05:00
github-actions[bot]
c777e437d8 bump(jfrog): 320a5585 → abadbc63 (#3494)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 13:10:40 -05:00
github-actions[bot]
62c1a3996c bump(mercadopago): fffc567d → 7374acfc (#3495)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 13:10:14 -05:00
github-actions[bot]
5715ceb988 bump(posthog): b2054334 → d7b81c43 (#3498)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 13:09:47 -05:00
github-actions[bot]
afab1ece9c bump(carta-cap-table): 8ef1de26 → 72b0d648 (#3489)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 13:09:04 -05:00
github-actions[bot]
ff95a38016 bump(chrome-devtools-mcp): e5bd334c → dcb07983 (#3491)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 13:08:36 -05:00
github-actions[bot]
814e9b54ce bump(apollo-skills): 60508910 → 7a76acd4 (#3486)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 13:08:07 -05:00
github-actions[bot]
b08ffc94df bump(aws-core): 49c4592d → 9cec2ef9 (#3487)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 13:07:38 -05:00
github-actions[bot]
a870334e19 bump(sentry): 83df938b → 280cf383 (#3500)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 13:07:24 -05:00
github-actions[bot]
d0c131bd2b bump(sap-mdk-server): a3df54e6 → 65385932 (#3479)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 08:52:28 -05:00
github-actions[bot]
ddb094cfbc bump(agentforce-adlc): 2b2f59d9 → 534a608c (#3474)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 08:51:53 -05:00
github-actions[bot]
b80c7e68e0 bump(dash0): 4eac30a4 → 0952f646 (#3475)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 08:51:30 -05:00
github-actions[bot]
53e42c4ed2 bump(databricks): ae99f56b → 8a3fe08a (#3476)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 08:51:07 -05:00
github-actions[bot]
99ab71018a bump(hunter): 6db1c0ae → 5116f8b1 (#3477)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 08:50:43 -05:00
github-actions[bot]
36c35e80fb bump(wix): 75d59c5f → e2b591ea (#3480)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 08:50:15 -05:00
github-actions[bot]
339e21b0b0 bump(logfire): f0c20b98 → 07952dc4 (#3478)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-29 08:49:27 -05:00
github-actions[bot]
3dc50d5183 bump(hyperframes): fc0f8c31 → c811a275 (#3472)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-28 19:02:52 -05:00
github-actions[bot]
97928853f0 bump(hyperframes): 3351fb1a → fc0f8c31 (#3470)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-28 13:04:23 -05:00
github-actions[bot]
e8802eb82c bump(wix): 1ea953a2 → 75d59c5f (#3471)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-28 13:04:01 -05:00
github-actions[bot]
30a213f9b3 bump(atlassian): 38a17806 → 201c1b20 (#3458)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-27 13:05:00 -05:00
github-actions[bot]
42e5f5a93f bump(hyperframes): 7a4853df → 3351fb1a (#3459)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-27 13:04:40 -05:00
github-actions[bot]
c5effca3cb bump(posthog): 3b60fdd8 → b2054334 (#3460)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-27 13:04:19 -05:00
github-actions[bot]
b46c1c3389 bump(rill): c8c8738f → 5ac72459 (#3461)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-27 13:03:57 -05:00
github-actions[bot]
80b8c30937 bump(hyperframes): e3edbd55 → 7a4853df (#3454)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-27 11:21:17 -05:00
github-actions[bot]
3346ad8d4b bump(data-agent-kit-starter-pack): 9bc90f9e → 23d0e064 (#3453)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-27 10:23:23 -05:00
github-actions[bot]
ea3fff0323 bump(posthog): 835f4f64 → 3b60fdd8 (#3455)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-27 09:23:11 -05:00
github-actions[bot]
f42c6edab3 bump(carta-cap-table): 8d49ea8b → 8ef1de26 (#3440)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 19:09:15 -05:00
github-actions[bot]
783d8a5b37 bump(migration-to-aws): 59db838b → 01c38bf6 (#3446)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 19:08:54 -05:00
github-actions[bot]
0b8e678277 bump(carta-investors): 8d49ea8b → 8ef1de26 (#3441)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 19:08:33 -05:00
github-actions[bot]
55daa1829a bump(atlassian): 55cfdc55 → 38a17806 (#3439)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 19:08:11 -05:00
github-actions[bot]
a817322f5b bump(dropbox): 2f9c81a5 → 4135e81c (#3442)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 19:07:48 -05:00
github-actions[bot]
dcc18fee49 bump(exa): f7e90323 → a4dcddf6 (#3443)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 19:07:25 -05:00
github-actions[bot]
84380368a6 bump(firecrawl): 069551a7 → 52b6c097 (#3444)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 19:07:01 -05:00
github-actions[bot]
5709e1e267 bump(hyperframes): 13b115e0 → e3edbd55 (#3445)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 19:06:36 -05:00
github-actions[bot]
dabc3ee036 bump(slack): 1559729e → acf7fcd0 (#3447)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 19:06:11 -05:00
github-actions[bot]
cceb9eda21 bump(valtown): 22594eb2 → 80cc05b9 (#3448)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 19:05:45 -05:00
github-actions[bot]
01297202f5 bump(zapier): 469651fe → 11bfb606 (#3450)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 19:05:19 -05:00
Bryan Thompson
307b006258 Add unreal-engine-skills-for-claude-code plugin (#3396) 2026-06-26 16:32:27 -07:00
Bryan Thompson
b92dc518fe Add tavily plugin (#3384) 2026-06-26 16:32:12 -07:00
Bryan Thompson
a4892eba3b Add canva plugin (#3387) 2026-06-26 16:32:10 -07:00
github-actions[bot]
7718c3c84d bump(oracle-ai-data-platform-workbench-spark-connectors): 13e7a913 → ca1ab4e5 (#3432)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 13:17:10 -05:00
github-actions[bot]
7cc2e2be16 bump(data-agent-kit-starter-pack): 86cd0201 → 9bc90f9e (#3425)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 13:16:48 -05:00
github-actions[bot]
8fcaa2a35c bump(aws-data-analytics): 49ca7520 → 49c4592d (#3420)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 13:16:24 -05:00
github-actions[bot]
da6f51df03 bump(carta-cap-table): d73954d3 → 8d49ea8b (#3422)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 13:16:01 -05:00
github-actions[bot]
2220995220 bump(migration-to-aws): e49c21bf → 59db838b (#3430)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 13:15:36 -05:00
github-actions[bot]
6f7d4a8f86 bump(aws-core): 7898a914 → 49c4592d (#3419)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 13:15:22 -05:00
github-actions[bot]
9a27a46fe0 bump(carta-investors): f1640dc5 → 8d49ea8b (#3423)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 13:15:15 -05:00
github-actions[bot]
2ab7f9bc65 bump(langfuse-observability): 938df416 → 4615df55 (#3429)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 13:15:09 -05:00
github-actions[bot]
d27324777f bump(pydantic-ai): f0c20b98 → 96e5d761 (#3433)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 13:14:45 -05:00
github-actions[bot]
04e6ed01e0 bump(sentry-cli): 20b469aa → 97e7fcce (#3435)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 13:14:17 -05:00
github-actions[bot]
f3efd8a231 bump(teamcity-cli): 3776102f → 32dfd91c (#3437)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 13:13:49 -05:00
github-actions[bot]
99a7821483 bump(auth0): 81847212 → aacefa7d (#3418)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 13:13:13 -05:00
github-actions[bot]
76cafe3c9c bump(azure): 2cd48ca6 → c752fe85 (#3421)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 13:12:41 -05:00
github-actions[bot]
0b4b7aebdf bump(dash0): bb2ba10a → 4eac30a4 (#3424)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 13:12:09 -05:00
github-actions[bot]
d0bb0029f9 bump(databricks): e337277c → ae99f56b (#3426)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 13:11:36 -05:00
github-actions[bot]
11e454d706 bump(hunter): 0bea093c → 6db1c0ae (#3427)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 13:11:05 -05:00
github-actions[bot]
a37ecb4e8a bump(hyperframes): 0c1e236d → 13b115e0 (#3428)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 13:10:35 -05:00
github-actions[bot]
43fd4d1837 bump(nimble): 1a599ea1 → 958fca1c (#3431)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 13:10:03 -05:00
github-actions[bot]
8cff23c1c1 bump(sentry): 12529ba8 → 83df938b (#3434)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 13:09:30 -05:00
github-actions[bot]
a0a3f2f695 bump(sumup): b69ff6f5 → 700da2e8 (#3436)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 13:08:57 -05:00
github-actions[bot]
78457a28aa bump(sentry): f69cf097 → 12529ba8 (#3412)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 11:04:32 -05:00
github-actions[bot]
02b6d7f579 bump(chrome-devtools-mcp): 6a946637 → e5bd334c (#3408)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 11:04:15 -05:00
github-actions[bot]
a1c74e73ba bump(data): ed2fe757 → d33a14dd (#3410)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 11:03:56 -05:00
github-actions[bot]
0b16870038 bump(teamcity-cli): 42ce6a22 → 3776102f (#3414)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 11:03:38 -05:00
github-actions[bot]
91404dbe27 bump(stripe): 23b54f12 → f54c9e6c (#3413)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 11:03:23 -05:00
github-actions[bot]
e7078a01e5 bump(hyperframes): 92385711 → 0c1e236d (#3411)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 11:03:19 -05:00
github-actions[bot]
e55ed38966 bump(dash0): fb9a6207 → bb2ba10a (#3409)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 11:03:16 -05:00
github-actions[bot]
a03bb78ed2 bump(carta-investors): 4bd05d34 → f1640dc5 (#3407)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 11:03:12 -05:00
github-actions[bot]
2fe4bfae86 bump(auth0): 3e3a5d84 → 81847212 (#3406)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 11:03:06 -05:00
github-actions[bot]
7185b68b1c bump(langfuse): c3978907 → 6b6c44cf (#3415)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-26 10:51:31 -05:00
Bryan Thompson
cbc7d77931 Exempt the bump bot from the external-PR scope guard (#3402)
* Exempt the bump bot from the external-PR scope guard

The External PR Scope Guard (#3353) and the auto-closer both look up the
PR author's collaborator permission and, for anyone who is not write/admin,
require the PR to ADD marketplace.json entries (additions-only). Internal
bump PRs are authored by github-actions[bot], which is not reported as a
member, so a SHA-bump — a legitimate MODIFY of an existing entry — fails the
guard (e.g. #3391 "modifies existing entry: astronomer-data-agents").

Add a shared isExemptAuthor() helper that exempts both org members and the
repo's own automation bot, and route both workflows through it. Safe under
pull_request_target: a fork PR cannot author as github-actions[bot] (only
the org's own GITHUB_TOKEN workflow can), and the member path is still a
real permission lookup. The helper also wraps getCollaboratorPermissionLevel
in try/catch — previously a non-collaborator/unknown-user lookup threw and
errored the job instead of falling through to scope evaluation.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Correct stale "required status check" guidance in scope-guard comments

The scope guard is advisory, not a required status check — the merge gate is
validate + scan + a maintainer approval. The old header told operators to add
it to branch protection, which is now contra-indicated (it would block the
no-approval bump-merge path). Update both workflow comments to match.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 08:45:10 -07:00
4 changed files with 145 additions and 71 deletions

View File

@@ -57,7 +57,7 @@
"source": {
"source": "url",
"url": "https://github.com/SalesforceAIResearch/agentforce-adlc.git",
"sha": "2b2f59d9f29d3dae3a4bec0b953237f03bbba7af"
"sha": "534a608c13b49b776e879b0d314e7b8e5a998bf1"
},
"homepage": "https://github.com/SalesforceAIResearch/agentforce-adlc"
},
@@ -191,7 +191,7 @@
"source": {
"source": "url",
"url": "https://github.com/apollographql/skills.git",
"sha": "605089108a198e412f7f0c1926c91eb94a6d1727"
"sha": "7a76acd4b60c41a33cbc4126c98177e51b27b2f3"
},
"homepage": "https://www.apollographql.com"
},
@@ -244,7 +244,7 @@
"source": {
"source": "url",
"url": "https://github.com/atlassian/atlassian-mcp-server.git",
"sha": "55cfdc55afed1e273354f840a238421fbd9eee86"
"sha": "d1df0391c35ce8760253105451e90709c0213f07"
},
"homepage": "https://github.com/atlassian/atlassian-mcp-server"
},
@@ -276,7 +276,7 @@
"url": "https://github.com/auth0/agent-skills.git",
"path": "plugins/auth0",
"ref": "main",
"sha": "3e3a5d84fe922378bd2c2eafb7f7986759e3c87e"
"sha": "aacefa7dcbdf2d32ac14d3d7790b610cf716bd3c"
},
"homepage": "https://auth0.com"
},
@@ -337,7 +337,7 @@
"url": "https://github.com/aws/agent-toolkit-for-aws.git",
"path": "plugins/aws-core",
"ref": "main",
"sha": "7898a91483218173d096db3de6892c2dc545d160"
"sha": "9cec2ef98ba0f81a60cccef1e5ea1cfa720a6ff1"
},
"homepage": "https://github.com/aws/agent-toolkit-for-aws"
},
@@ -353,7 +353,7 @@
"url": "https://github.com/aws/agent-toolkit-for-aws.git",
"path": "plugins/aws-data-analytics",
"ref": "main",
"sha": "49ca75209219a89ac43690d6ca0a59d976933ee8"
"sha": "49c4592dc490f569d5adf0c483239886bad2f09b"
},
"homepage": "https://github.com/aws/agent-toolkit-for-aws"
},
@@ -425,7 +425,7 @@
"source": {
"source": "url",
"url": "https://github.com/microsoft/azure-skills.git",
"sha": "2cd48ca625cddcc1d377d2861fbddd54417c70cc"
"sha": "7e172d6883f11ddb5d357deadddd02d6d9cab829"
},
"homepage": "https://github.com/microsoft/azure-skills"
},
@@ -539,6 +539,22 @@
},
"homepage": "https://buildkite.com"
},
{
"name": "canva",
"description": "Create, edit, review, resize, and brand-check Canva designs with the Canva MCP server.",
"author": {
"name": "Canva"
},
"category": "design",
"source": {
"source": "git-subdir",
"url": "https://github.com/canva-sdks/canva-skills.git",
"path": "plugins/canva",
"ref": "main",
"sha": "b56291ea0a36d0a941e1478b47959be5f1771dee"
},
"homepage": "https://www.canva.com"
},
{
"name": "carta-cap-table",
"description": "Carta Cap Table plugin — skills and hooks for querying cap tables, grants, SAFEs, 409A valuations, waterfall scenarios, and more",
@@ -551,7 +567,7 @@
"url": "https://github.com/carta/plugins.git",
"path": "plugins/carta-cap-table",
"ref": "main",
"sha": "d73954d3d9ce1e3fce1ec2b9ee6819922dd539e3"
"sha": "787932173c1bc0fb6f2346e380fddd2349ceb8df"
},
"homepage": "https://carta.com"
},
@@ -583,7 +599,7 @@
"url": "https://github.com/carta/plugins.git",
"path": "plugins/carta-investors",
"ref": "main",
"sha": "4bd05d342e5908b9e246c4806c92ffa1872b22e5"
"sha": "787932173c1bc0fb6f2346e380fddd2349ceb8df"
},
"homepage": "https://carta.com"
},
@@ -610,7 +626,7 @@
"source": {
"source": "url",
"url": "https://github.com/ChromeDevTools/chrome-devtools-mcp.git",
"sha": "6a9466378c13b6ccba91b54091ea83a5ca37a8db"
"sha": "dcb07983c16357b4ac934441fd5b0ab6eea3d573"
},
"homepage": "https://github.com/ChromeDevTools/chrome-devtools-mcp"
},
@@ -981,7 +997,7 @@
"source": {
"source": "url",
"url": "https://github.com/dash0hq/dash0-agent-plugin.git",
"sha": "fb9a6207929e5fc45c2661e5c74a2e077b3de79d"
"sha": "0952f646ef121eb6b030663e5dff39df3467cb9a"
},
"homepage": "https://dash0.com/"
},
@@ -1006,7 +1022,7 @@
"source": {
"source": "url",
"url": "https://github.com/gemini-cli-extensions/data-agent-kit-starter-pack.git",
"sha": "86cd0201237ed5ac30d8645c2ba50000fac84972"
"sha": "23d0e064cce2f7034e9270f770dc10d96bccde39"
},
"homepage": "https://github.com/gemini-cli-extensions/data-agent-kit-starter-pack"
},
@@ -1045,7 +1061,7 @@
"url": "https://github.com/databricks/databricks-agent-skills.git",
"path": "plugins/databricks/claude",
"ref": "main",
"sha": "e337277c9771597bd2a67dfc5f8dd1d1afc887c6"
"sha": "8a3fe08aa55bb5e84ce86f61379848d6a35cf05c"
},
"homepage": "https://developers.databricks.com/"
},
@@ -1101,7 +1117,7 @@
"source": {
"source": "url",
"url": "https://github.com/datarobot-oss/datarobot-agent-skills.git",
"sha": "0e28dc839859f523f4d8d418612cdadb7a4a3ce7"
"sha": "5434cb0618939c0ea0b61da32cdb942dc599715d"
},
"homepage": "https://datarobot.com"
},
@@ -1179,7 +1195,7 @@
"url": "https://github.com/dropbox/dropbox-ai-plugins.git",
"path": "claude",
"ref": "main",
"sha": "2f9c81a5d012cc9c389132331a93f4ade06a97a9"
"sha": "4135e81caf8275b4c97caef244479e0dcb6fb823"
},
"homepage": "https://www.dropbox.com"
},
@@ -1221,7 +1237,7 @@
"source": {
"source": "url",
"url": "https://github.com/exa-labs/exa-mcp-server.git",
"sha": "f7e9032308a6dca9dbad76d22bc3cda287ba6775"
"sha": "a4dcddf69b701debe9d7caca30e6fa4610ce553c"
},
"homepage": "https://exa.ai/docs/reference/exa-mcp"
},
@@ -1311,7 +1327,7 @@
"source": {
"source": "url",
"url": "https://github.com/firecrawl/firecrawl-claude-plugin.git",
"sha": "069551a7d2b0379ea7589a9e2f46062e69820a2d"
"sha": "52b6c0970b904b10641f223dbeb8f6b35643521c"
},
"homepage": "https://github.com/firecrawl/firecrawl-claude-plugin.git"
},
@@ -1442,7 +1458,7 @@
"source": {
"source": "url",
"url": "https://github.com/hunter-io/claude-plugin.git",
"sha": "0bea093cd18c4725f7ded7bd49400df578421cd6"
"sha": "1055beb39db86a9d13f3826c56481547b450b524"
},
"homepage": "https://hunter.io"
},
@@ -1456,7 +1472,7 @@
"source": {
"source": "url",
"url": "https://github.com/heygen-com/hyperframes.git",
"sha": "92385711dccbe89a6673357a6f39da7379d68528"
"sha": "c9613cd8260563d92e4e87b4e68e27e836214398"
},
"homepage": "https://hyperframes.heygen.com"
},
@@ -1510,7 +1526,7 @@
"source": "github",
"repo": "jfrog/claude-plugin",
"commit": "259c8e718266c16e99b4f30ae9b1ed0f9f00d98d",
"sha": "320a5585d6d9747668bd20e1c512c577d1e871d3"
"sha": "abadbc634f2acb10387737c4116defaabecec2da"
},
"homepage": "https://jfrog.com"
},
@@ -1563,7 +1579,7 @@
"source": {
"source": "url",
"url": "https://github.com/langfuse/claude-observability-plugin.git",
"sha": "938df41639efcaa22790b1a216308b6ed626a8b7"
"sha": "4615df55428bdcd8a2095fdea2cbe970b2c5152e"
},
"homepage": "https://langfuse.com/integrations/other/claude-code"
},
@@ -1669,7 +1685,7 @@
"url": "https://github.com/pydantic/skills.git",
"path": "plugins/logfire",
"ref": "main",
"sha": "f0c20b9895f06d58823032f13e68c6aaae9dd3fa"
"sha": "07952dc4bcdfed05b63be8abab6ac277151ca18d"
},
"homepage": "https://github.com/pydantic/skills/tree/main/plugins/logfire"
},
@@ -1840,7 +1856,7 @@
"url": "https://github.com/mercadopago/mercadopago-claude-marketplace.git",
"path": "plugins/mercadopago",
"ref": "main",
"sha": "fffc567d1cbfe18b361bf00da5677b470a94f49a"
"sha": "7374acfc8d71b6c1cf8c563e9f32f69f64d59252"
},
"homepage": "https://github.com/mercadopago/mercadopago-claude-marketplace/tree/main/plugins/mercadopago"
},
@@ -1867,7 +1883,7 @@
"url": "https://github.com/awslabs/startups.git",
"path": "migrate/plugins/migration-to-aws",
"ref": "main",
"sha": "e49c21bf8b4883a9646938c00091633dfb8f483f"
"sha": "01c38bf635e5c5ad24e5ea1afbf34b6f41518317"
},
"homepage": "https://github.com/awslabs/startups"
},
@@ -1945,7 +1961,7 @@
"source": {
"source": "url",
"url": "https://github.com/netlify/context-and-tools.git",
"sha": "a1d397b8addd2cd8e61e6592542203ecfa7c5152"
"sha": "7fcceabbc53cad0934bb24c722bfc6d2283861ea"
},
"homepage": "https://github.com/netlify/context-and-tools"
},
@@ -1991,7 +2007,7 @@
"source": {
"source": "url",
"url": "https://github.com/Nimbleway/agent-skills.git",
"sha": "1a599ea15f71d20cc6f85692030021146931997a"
"sha": "fdd3d17713f591b2643d90c35f44546f97458163"
},
"homepage": "https://docs.nimbleway.com/integrations/agent-skills/plugin-installation"
},
@@ -2018,7 +2034,7 @@
"url": "https://github.com/NVIDIA/skills.git",
"path": "plugins/nvidia-skills",
"ref": "main",
"sha": "26811af1bbb5fb5c8ff3fc5dc04a6f36840615c1"
"sha": "e37c0a0aa49eea95122d3ec27bbeaa001f40b773"
},
"homepage": "https://github.com/NVIDIA/skills"
},
@@ -2066,7 +2082,7 @@
"url": "https://github.com/oracle-samples/oracle-aidp-samples.git",
"path": "ai/claude-code-plugins/oracle-ai-data-platform-workbench-spark-connectors",
"ref": "main",
"sha": "13e7a9139b3b62172119c7fc1a63bf4a2eac919d"
"sha": "ca1ab4e5689bdc6cb22b842fed5d98829847fd64"
},
"homepage": "https://docs.oracle.com/en/cloud/paas/ai-data-platform/index.html"
},
@@ -2206,7 +2222,7 @@
"source": {
"source": "url",
"url": "https://github.com/PostHog/ai-plugin.git",
"sha": "835f4f647fec8a8fbde8ea00cf9b2432a35d7e5b"
"sha": "d7b81c43c34c177667014295193659ae37c0c2cb"
},
"homepage": "https://posthog.com/docs/model-context-protocol"
},
@@ -2272,7 +2288,7 @@
"url": "https://github.com/pydantic/skills.git",
"path": "plugins/ai",
"ref": "main",
"sha": "f0c20b9895f06d58823032f13e68c6aaae9dd3fa"
"sha": "96e5d761173b496a4ce4188ce4aaada86d93a5c3"
},
"homepage": "https://github.com/pydantic/skills/tree/main/plugins/ai"
},
@@ -2310,7 +2326,7 @@
"source": {
"source": "url",
"url": "https://github.com/qdrant/skills.git",
"sha": "0651740b38ed466ad12907bfb848e5f4b71b25e2"
"sha": "b3a33ed40b00877802f5defa307e62d435e0838a"
},
"homepage": "https://skills.qdrant.tech"
},
@@ -2349,7 +2365,7 @@
"source": {
"source": "url",
"url": "https://github.com/quarkusio/quarkus-agent-mcp.git",
"sha": "1804071ef5f0c7ca2a2e8d6708b1eef4a1fec74a"
"sha": "c619f60ba9f96f88bd0b9fe17e8828e19ae1d32e"
},
"homepage": "https://quarkus.io"
},
@@ -2451,7 +2467,7 @@
"source": {
"source": "url",
"url": "https://github.com/rilldata/agent-skills.git",
"sha": "c8c8738f44826150d52304cd4fb70cc3ecbdca2e"
"sha": "5ac72459d4ec43c6e818bfdb1f3f2696e0cb21d4"
},
"homepage": "https://docs.rilldata.com/developers/build/ai-configuration"
},
@@ -2616,7 +2632,7 @@
"source": {
"source": "url",
"url": "https://github.com/SAP/mdk-mcp-server.git",
"sha": "a3df54e69dfcf193b92b0c081a4acbeefb92b419"
"sha": "653859324156770cc758889faaa5643a3fd01ad4"
},
"homepage": "https://help.sap.com/docs/MDK"
},
@@ -2667,7 +2683,7 @@
"source": {
"source": "url",
"url": "https://github.com/getsentry/plugin-claude.git",
"sha": "f69cf097dd4c2fd56cab2738442e78848ff6d206"
"sha": "280cf38323d1c288535023da2608053c3dd2f89f"
},
"homepage": "https://github.com/getsentry/plugin-claude"
},
@@ -2683,7 +2699,7 @@
"url": "https://github.com/getsentry/cli.git",
"path": "plugins/sentry-cli",
"ref": "main",
"sha": "20b469aa5a21acd9bad0650670a08dbe671f499b"
"sha": "b34a052e2f0ef477904373890bef9718ef674c75"
},
"homepage": "https://sentry.io"
},
@@ -2770,7 +2786,7 @@
"source": {
"source": "url",
"url": "https://github.com/slackapi/slack-mcp-plugin.git",
"sha": "1559729e80eafb1e93fba4aae30c43a85fe35355"
"sha": "10e40bd42484051a1a73657a2c014b37c878696c"
},
"homepage": "https://github.com/slackapi/slack-mcp-plugin/tree/main"
},
@@ -2860,7 +2876,7 @@
"url": "https://github.com/stripe/ai.git",
"path": "providers/claude/plugin",
"ref": "main",
"sha": "23b54f12503eb18bb05eb9de9fbaeb301bec80b0"
"sha": "f54c9e6c0e8b6cfe4e648745eec68ecab3ddc994"
},
"homepage": "https://github.com/stripe/ai/tree/main/providers/claude/plugin"
},
@@ -2872,7 +2888,7 @@
"source": "url",
"url": "https://github.com/sumup/sumup-skills.git",
"path": "providers/claude/plugin",
"sha": "b69ff6f5afcd5934af70529e529c0dd8abe46cbe"
"sha": "700da2e866a71c7acbfcb0f2940ad7fa19955ae4"
},
"homepage": "https://www.sumup.com/"
},
@@ -2918,6 +2934,20 @@
}
}
},
{
"name": "tavily",
"description": "Build AI applications with real-time web data using Tavily's search, extract, crawl, and research APIs.",
"author": {
"name": "Tavily Team"
},
"category": "development",
"source": {
"source": "url",
"url": "https://github.com/tavily-ai/skills.git",
"sha": "ea5e8201b0d3ed9c10b70b71187589bd761fe2d2"
},
"homepage": "https://www.tavily.com/"
},
{
"name": "teamcity-cli",
"description": "Agent skill for interacting with TeamCity CI/CD using the teamcity CLI. Enables Claude to explore builds, view logs, start jobs, manage queues, agents, and more.",
@@ -2928,7 +2958,7 @@
"source": {
"source": "url",
"url": "https://github.com/JetBrains/teamcity-cli.git",
"sha": "42ce6a22b1a8167120adbfa8de8b79f36e698133"
"sha": "32dfd91cc8a9b6d44f47896c1ef1b183ab58e973"
},
"homepage": "https://www.jetbrains.com/teamcity/"
},
@@ -2973,7 +3003,7 @@
"source": {
"source": "url",
"url": "https://github.com/twilio/ai.git",
"sha": "7d15b215240df28e86a0b7305520524a2c005005"
"sha": "f7b29ecfbb9061937831d2c0210ec39bd3c5c448"
},
"homepage": "https://www.twilio.com"
},
@@ -3061,6 +3091,20 @@
},
"homepage": "https://github.com/UI5/plugins-coding-agents"
},
{
"name": "unreal-engine-skills-for-claude-code",
"description": "Control Unreal Editor directly from Claude Code via MCP. Hundreds of tools exposed via Unreal's ToolsetRegistry across 30+ toolsets: actors, blueprints, materials, Niagara, Control Rigs, Sequencer, State Trees, widgets, Gameplay Ability System, automation testing, and more.",
"author": {
"name": "Epic Games"
},
"category": "development",
"source": {
"source": "url",
"url": "https://github.com/EpicGames/unreal-engine-skills-for-claude-code-plugin.git",
"sha": "766fb42370d9e251f7524fffb12cfdbc5b11a426"
},
"homepage": "https://dev.epicgames.com/documentation/unreal-engine/unreal-mcp-in-unreal-editor"
},
{
"name": "valtown",
"description": "Build and deploy on Val Town. Bundles the Val Town MCP server and platform skills (HTTP vals, cron/intervals, SQLite, email, OAuth, React UI, third-party integrations, templates).",
@@ -3073,7 +3117,7 @@
"url": "https://github.com/val-town/plugins.git",
"path": "plugin",
"ref": "main",
"sha": "22594eb245d5b06714c99248d68c333169274b21"
"sha": "80cc05b9229aaec38b5da5e9d33d9898e1e614cd"
},
"homepage": "https://val.town"
},
@@ -3151,7 +3195,7 @@
"source": {
"source": "url",
"url": "https://github.com/wix/skills.git",
"sha": "1ea953a29525ce8ff07a3b5a3a107927804c3eba"
"sha": "e2b591ea60a390c6f133366872e8f7fee5c6be27"
},
"homepage": "https://dev.wix.com/docs/wix-cli/guides/development/about-wix-skills"
},
@@ -3204,7 +3248,7 @@
"url": "https://github.com/zapier/zapier-mcp.git",
"path": "plugins/zapier",
"ref": "main",
"sha": "469651fe7fdaa3dfc6a476ef5bad6c354773366a"
"sha": "11bfb606bd1984beef15f6e16257f99ee47c7f29"
},
"homepage": "https://github.com/zapier/zapier-mcp/tree/main/plugins/zapier"
},
@@ -3272,7 +3316,7 @@
"source": {
"source": "url",
"url": "https://github.com/langfuse/skills.git",
"sha": "c39789078b848160a695947907db3ba40b7a2bce"
"sha": "93cb1e5c2bc9e10cda4dbac74f021c594975e5d8"
},
"homepage": "https://langfuse.com"
}

View File

@@ -121,4 +121,33 @@ async function evaluate({ github, context }) {
return analyze({ changedFiles, before, after, liveRepos: liveReposOf(liveBase) });
}
module.exports = { normalizeRepo, liveReposOf, analyze, readPlugins, evaluate, MARKETPLACE };
// Authors that are NOT subject to the external-contributor scope rules:
// - the repo's own automation bot — its bump PRs legitimately MODIFY existing entries
// (SHA bumps), which the additions-only external-contributor rule forbids; AND
// - org members (write/admin).
// Safe under pull_request_target: a fork PR cannot set its author to github-actions[bot]
// (that login is only ever the org's own GITHUB_TOKEN workflow), and the member path is a
// real permission lookup. Wrapped in try/catch because getCollaboratorPermissionLevel throws
// for a non-collaborator/unknown user — without this, both callers would error the job rather
// than fall through to scope evaluation.
const EXEMPT_BOTS = new Set(['github-actions[bot]']);
async function isExemptAuthor({ github, context }) {
const author = context.payload.pull_request.user.login;
if (EXEMPT_BOTS.has(author)) {
return { exempt: true, reason: `${author} is the trusted automation bot` };
}
try {
const { data } = await github.rest.repos.getCollaboratorPermissionLevel({
owner: context.repo.owner, repo: context.repo.repo, username: author,
});
if (['admin', 'write'].includes(data.permission)) {
return { exempt: true, reason: `${author} is ${data.permission} (member)` };
}
} catch (e) {
// not a collaborator / lookup failed → not exempt; fall through to scope evaluation
}
return { exempt: false };
}
module.exports = { normalizeRepo, liveReposOf, analyze, readPlugins, evaluate, isExemptAuthor, MARKETPLACE };

View File

@@ -23,14 +23,13 @@ jobs:
script: |
const author = context.payload.pull_request.user.login;
const { data } = await github.rest.repos.getCollaboratorPermissionLevel({
owner: context.repo.owner,
repo: context.repo.repo,
username: author
});
const { evaluate, isExemptAuthor } = require(`${process.env.GITHUB_WORKSPACE}/.github/scripts/external-pr-scope.js`);
if (['admin', 'write'].includes(data.permission)) {
console.log(`${author} has ${data.permission} access, allowing PR`);
// Members (write/admin) and the repo's own automation bot (bump SHA PRs) are never
// auto-closed.
const ex = await isExemptAuthor({ github, context });
if (ex.exempt) {
console.log(`${ex.reason} — allowing PR`);
return;
}
@@ -38,9 +37,9 @@ jobs:
// contribution — it adds marketplace.json entries whose source repo ALREADY backs
// a live plugin here, and changes nothing else. (No maintained allowlist: the set
// of allowed repos is derived from the live marketplace.) This grants only the
// right to open a reviewable PR; the External PR Scope Guard required check and a
// maintainer approval still gate the merge.
const { evaluate } = require(`${process.env.GITHUB_WORKSPACE}/.github/scripts/external-pr-scope.js`);
// right to open a reviewable PR; the validate + scan checks and a maintainer
// approval still gate the merge (the External PR Scope Guard is advisory signal,
// not a required check).
const result = await evaluate({ github, context });
if (result.ok && result.added.length > 0) {
console.log(`In-scope external contribution (adds: ${result.added.join(', ')}) — allowing PR.`);

View File

@@ -1,14 +1,17 @@
name: External PR Scope Guard
# Required status check that constrains what a NON-MEMBER pull request may change.
# Members (write/admin) are unrestricted and skip this check. For a non-member PR this
# fails unless the PR is an in-scope external contribution per .github/scripts/external-pr-scope.js:
# it changes ONLY .claude-plugin/marketplace.json, the delta is additions-only (no existing
# entry modified or removed), and every ADDED entry's source.url is a repo that ALREADY backs
# a live plugin in this marketplace (the allowed set is derived from the live marketplace —
# there is no maintained allowlist).
# Advisory check that surfaces what a NON-MEMBER pull request may change.
# Members (write/admin) and the repo's own automation bot (bump SHA PRs) are unrestricted and
# skip this check. For a non-member PR this fails unless the PR is an in-scope external
# contribution per .github/scripts/external-pr-scope.js: it changes ONLY
# .claude-plugin/marketplace.json, the delta is additions-only (no existing entry modified or
# removed), and every ADDED entry's source.url is a repo that ALREADY backs a live plugin in
# this marketplace (the allowed set is derived from the live marketplace — there is no
# maintained allowlist).
#
# Add the scope-guard job as a REQUIRED status check in branch protection for it to block merge.
# Do NOT add this job to branch protection as a required status check. The merge gate is the
# `validate` + `scan` checks plus a maintainer approval; this guard is advisory signal for the
# reviewer, not a hard gate. (Making it required would block the no-approval bump-merge path.)
#
# Security: runs on pull_request_target but checks out only the BASE repo (trusted) for the
# shared script; the head marketplace.json is fetched as DATA via the API and parsed, never executed.
@@ -29,17 +32,16 @@ jobs:
- uses: actions/github-script@v7
with:
script: |
const author = context.payload.pull_request.user.login;
const { evaluate, isExemptAuthor } = require(`${process.env.GITHUB_WORKSPACE}/.github/scripts/external-pr-scope.js`);
const { data: perm } = await github.rest.repos.getCollaboratorPermissionLevel({
owner: context.repo.owner, repo: context.repo.repo, username: author,
});
if (['admin', 'write'].includes(perm.permission)) {
console.log(`${author} is ${perm.permission} (member) — scope guard not applicable.`);
// Members (write/admin) and the repo's own automation bot (bump SHA PRs) are
// unrestricted; only genuinely external contributions are scope-checked.
const ex = await isExemptAuthor({ github, context });
if (ex.exempt) {
console.log(`${ex.reason} — scope guard not applicable.`);
return;
}
const { evaluate } = require(`${process.env.GITHUB_WORKSPACE}/.github/scripts/external-pr-scope.js`);
const result = await evaluate({ github, context });
if (!result.ok) {