Compare commits

...

64 Commits

Author SHA1 Message Date
Daisy S. Hollman
66dacfc456 ci: fail validate when a plugin name is removed without a renames entry (#3177)
Adds a step to the validate job that diffs plugins[].name against the
PR base and fails if any name disappeared without a corresponding key
in the top-level "renames" map. Prevents the next airwallex-style
plugin-not-found regression.

Part of CC-2871. Depends on the renames map (PR A).

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-03 19:18:32 -05:00
Daisy Hollman
7e287ffe95 feat: add renames map for auto-migration of renamed plugins
Adds a top-level "renames" map to marketplace.json with the four
historical renames (adlc, airwallex, convex-backend, vals) so that
users who installed under the old slug auto-migrate to the new one
once the loader-side support in cci#43997 ships.

Also documents in README.md that plugin `name` is an immutable slug:
use `displayName` for label changes, and if a rename is unavoidable,
add a `renames` entry.

Part of CC-2871.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-22 17:34:37 +00:00
github-actions[bot]
5fc2987a44 bump(chrome-devtools-mcp): 38dd3468 → 52cf8c40 (#3163)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-22 08:30:25 -05:00
github-actions[bot]
088d820967 bump(quarkus-agent): 63b88c3e → 4c1fcf1c (#3167)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-22 08:30:11 -05:00
github-actions[bot]
0688d212c6 bump(teamcity-cli): cdd1f781 → 2406cb58 (#3169)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-22 08:30:00 -05:00
github-actions[bot]
a93903ebe7 bump(codspeed): 7b4f51ce → 90c83f42 (#3164)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-22 08:29:36 -05:00
github-actions[bot]
bf4e95cd5b bump(dash0): 956ff78d → 44be3b6f (#3165)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-22 08:29:12 -05:00
github-actions[bot]
48dbfe62dc bump(hyperframes): e385d213 → 091137e3 (#3166)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-22 08:28:47 -05:00
github-actions[bot]
3a51bcdf5e bump(remember): e6bc8621 → 8bd6255f (#3168)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-22 08:28:21 -05:00
github-actions[bot]
62f29ebff7 bump(wix): 7d427f94 → 9cd9d7c6 (#3171)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-22 08:27:10 -05:00
github-actions[bot]
545162ba19 bump(hyperframes): 6c71cf02 → e385d213 (#3158)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-21 19:04:08 -05:00
github-actions[bot]
1251948401 bump(remember): 1c80bfb1 → e6bc8621 (#3159)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-21 19:03:47 -05:00
github-actions[bot]
7c27f1d3e7 bump(hyperframes): b33a7457 → 6c71cf02 (#3153)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-21 13:04:00 -05:00
github-actions[bot]
796589fe58 bump(jfrog): 94c2fbda → ac0ea16e (#3154)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-21 13:03:39 -05:00
github-actions[bot]
45331b3df1 bump(posthog): fa6f6196 → d09ebca2 (#3155)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-21 13:03:17 -05:00
github-actions[bot]
c4dccfa36d bump(remember): ce4eb100 → 1c80bfb1 (#3156)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-21 13:02:55 -05:00
github-actions[bot]
47bac7723c bump(hyperframes): 0d2198e6 → b33a7457 (#3147)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-21 08:52:14 -05:00
github-actions[bot]
1dbe196313 bump(carta-investors): 4cb559c3 → bb45f4b3 (#3146)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-21 08:51:38 -05:00
github-actions[bot]
4610137b37 bump(oracledb): 4dde6789 → d5a26255 (#3149)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-21 08:48:05 -05:00
github-actions[bot]
95a5c6a450 bump(jfrog): 97e25cc7 → 94c2fbda (#3148)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-21 08:47:51 -05:00
github-actions[bot]
1369f0bc80 bump(wix): 668e6ee9 → 7d427f94 (#3150)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-21 08:47:43 -05:00
github-actions[bot]
57446951ad bump(hyperframes): d6135ca1 → 0d2198e6 (#3145)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-20 19:02:15 -05:00
github-actions[bot]
b3c128f664 bump(oracledb): 6081bf97 → 4dde6789 (#3143)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-20 13:02:03 -05:00
github-actions[bot]
b553c37290 bump(hyperframes): 82b6ccde → d6135ca1 (#3142)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-20 13:01:42 -05:00
github-actions[bot]
cf706f4fa7 bump(dash0): 348610d0 → 956ff78d (#3141)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-20 09:37:14 -05:00
github-actions[bot]
73e22af437 bump(boltz): 2d283018 → 59c4c286 (#3135)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 19:05:20 -05:00
github-actions[bot]
8eb421f4e9 bump(codspeed): 612399d3 → 7b4f51ce (#3136)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 19:04:58 -05:00
github-actions[bot]
0882e822e1 bump(hyperframes): 4e32c5e0 → 82b6ccde (#3137)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 19:04:36 -05:00
github-actions[bot]
590a818a0a bump(remember): afb83cc7 → ce4eb100 (#3138)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 19:04:15 -05:00
Bryan Thompson
81500db673 chore(ci): re-pin validate-plugins + scan-plugins + bump-plugin-shas to community 426e469f (#3132)
* chore(bump-plugin-shas): re-pin to community 426e469f (subdir-existence guard #267)

Picks up anthropics/claude-plugins-community#267 — guards subdir existence
before manifest synthesis, so a strict:false external whose source.path subdir
vanished at the new SHA is a clean "subdir not found" skip instead of a phantom
synthesized manifest + false bump. Clean one-commit pull-forward from a27629fc.

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

* chore(validate-plugins,scan-plugins): re-pin to community 426e469f

Aligns all three shared community action pins on the same SHA (426e469f). The
validate-plugins/scan-plugins actions are unchanged between d207465 and 426e469f
(only bump-plugin-shas changed in #266/#267) — SHA-consistency, no behavior change.

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-19 14:34:56 -05:00
github-actions[bot]
744d0cd5ae bump(sap-fiori-mcp-server): 7f4ae6e7 → 2ad82bde (#3122)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 13:14:31 -05:00
github-actions[bot]
bfd6641f22 bump(aws-data-analytics): 08025af3 → ff1dc6f4 (#3113)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 13:14:10 -05:00
github-actions[bot]
5f267efd41 bump(chrome-devtools-mcp): 6225ffba → 38dd3468 (#3114)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 13:13:48 -05:00
github-actions[bot]
a8d4001f9a bump(cloud-sql-postgresql): 5b9bc21c → 849ce3fd (#3115)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 13:13:25 -05:00
github-actions[bot]
a33ba2dca8 bump(aws-core): 08025af3 → ff1dc6f4 (#3112)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 13:13:01 -05:00
github-actions[bot]
1487cc3915 bump(huggingface-skills): ce5f6152 → ea9a24f3 (#3118)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 13:12:37 -05:00
github-actions[bot]
903995d94c bump(knowledge-catalog): 260294e6 → cf0cc18b (#3120)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 13:12:11 -05:00
github-actions[bot]
a860e96cc0 bump(aws-transform): c65ee436 → 283d86f5 (#3127)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 13:11:46 -05:00
github-actions[bot]
bcb173ca2c bump(carta-investors): 62a57528 → 4cb559c3 (#3128)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 13:11:21 -05:00
github-actions[bot]
08eff83bc6 bump(qodo-skills): 8aec13d6 → e7b67714 (#3130)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 13:10:56 -05:00
github-actions[bot]
ddb43300a3 bump(codspeed): 2533b0cf → 612399d3 (#3116)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 13:10:29 -05:00
github-actions[bot]
2a6f5e4e3d bump(dash0): a58add13 → 348610d0 (#3117)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 13:10:01 -05:00
github-actions[bot]
296f56718b bump(hyperframes): ae404984 → 4e32c5e0 (#3119)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 13:09:32 -05:00
github-actions[bot]
75673c8743 bump(pigment): 9ca3af07 → e760058c (#3121)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 13:09:04 -05:00
github-actions[bot]
099b323732 bump(sonarqube): 5995f2b4 → 86eb67ba (#3123)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 13:08:35 -05:00
github-actions[bot]
df345bbb1d bump(datadog): 96c28a8c → c5c062ab (#3129)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 13:08:03 -05:00
github-actions[bot]
372eca7945 bump(slack): 70302918 → 9ae6855c (#3131)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 13:07:32 -05:00
Bryan Thompson
8c7588cea3 chore(bump-plugin-shas): pin to claude-plugins-community a27629fc + add single-plugin plugin dispatch target (#3126)
Bumps the bump-plugin-shas action pin to the new claude-plugins-community SHA
(a27629fc) which adds (1) manifest synthesis for strict:false skills-only
externals — so they can finally be bumped instead of drifting — and (2) an
`only` input to target ONE plugin on demand.

Surfaces the targeting as a `plugin` workflow_dispatch input threaded into the
action's `with:` block, so an operator can run:
  gh workflow run bump-plugin-shas.yml --repo anthropics/claude-plugins-official -f plugin=<name>
(e.g. to bump the now-eligible netsuite-suitecloud, a strict:false entry the
old action hard-skipped). Empty `plugin` = unchanged nightly behavior.

The plugin->only->ONLY->bump.sh chain was reviewed (ultra) and e2e-verified live
on claude-plugins-community before this pin bump.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 12:49:04 -05:00
Bryan Thompson
5a9ecc2cf6 bump(netsuite-suitecloud): cbfc8e8f → b3ff2a96 (#3124)
Re-pin to current upstream HEAD (oracle/netsuite-suitecloud-sdk@master, incl. the
26.1 release). The prior pin was ~2 weeks / 51 commits behind. Metadata-only change
to the source SHA.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 10:11:53 -05:00
Bryan Thompson
87dc01078f Add learn-with-coursera plugin (#2997) 2026-06-19 07:58:29 -07:00
Bryan Thompson
17c98c81f1 Update Auth0 plugin marketplace metadata (#3111)
Shorten the description to a concise tagline, add author.url for the
"Made by" link, and point homepage to auth0.com.

Plugin name stays lowercase to match marketplace convention.
Pinned source.sha left intact — maintained by bump-plugin-shas.yml.

Addresses #1736.

Co-authored-by: Bharath Natarajan <166125343+brth31@users.noreply.github.com>
2026-06-19 07:58:13 -07:00
Bryan Thompson
b478953625 Bump netsuite-suitecloud to upstream HEAD and add 4 Oracle skills (#2312)
Bumps the pinned SHA (43bacf4 -> cbfc8e8, oracle/netsuite-suitecloud-sdk
master) and expands the skills array to include four skills Oracle has
added upstream since the original consolidation:

  - netsuite-owasp-secure-coding
  - netsuite-sdf-project-documentation
  - netsuite-suitescript-records-reference
  - netsuite-suitescript-upgrade

Validated locally with `claude plugin validate` (passes). Author: Oracle
NetSuite (UPL-1.0). Opened manually because the SHA-bump automation skips
skills-only git-subdir entries that have no literal plugin.json.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 09:21:47 -05:00
github-actions[bot]
2cf1920e41 bump(chrome-devtools-mcp): 5a9d6af7 → 6225ffba (#3098)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 08:51:28 -05:00
github-actions[bot]
e1d82a1ffe bump(forge-skills): 8c1c2488 → ea409cc7 (#3100)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 08:51:06 -05:00
github-actions[bot]
f29c8f5cc2 bump(quarkus-agent): 2bcba203 → 63b88c3e (#3103)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 08:50:43 -05:00
github-actions[bot]
b67dd1abf0 bump(teamcity-cli): 55117e13 → cdd1f781 (#3107)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 08:50:20 -05:00
github-actions[bot]
af29dc6f55 bump(togetherai-skills): 86bdd662 → 9815b94d (#3108)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 08:49:55 -05:00
github-actions[bot]
0fd4221c2e bump(auth0): 5ea574ad → 838a181a (#3097)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 08:49:30 -05:00
github-actions[bot]
4106fe7465 bump(codspeed): 10e74bab → 2533b0cf (#3099)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 08:49:04 -05:00
github-actions[bot]
59f2218cb5 bump(hyperframes): fdb8f33f → ae404984 (#3101)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 08:48:38 -05:00
github-actions[bot]
28fd24d77e bump(sap-fiori-mcp-server): 5f7ba664 → 7f4ae6e7 (#3105)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 08:47:56 -05:00
github-actions[bot]
7cb4bfe289 bump(pigment): f7bb2190 → 9ca3af07 (#3102)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 08:47:44 -05:00
github-actions[bot]
2b797d899b bump(remember): 02791ae0 → afb83cc7 (#3104)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 08:47:16 -05:00
github-actions[bot]
478e183a72 bump(slack): 4729a3ee → 70302918 (#3106)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-19 08:46:16 -05:00
5 changed files with 108 additions and 36 deletions

View File

@@ -6,6 +6,12 @@
"name": "Anthropic",
"email": "support@anthropic.com"
},
"renames": {
"adlc": "agentforce-adlc",
"airwallex": "airwallex-agentos",
"convex-backend": "convex",
"vals": "valtown"
},
"plugins": [
{
"name": "42crunch-api-security-testing",
@@ -265,9 +271,10 @@
},
{
"name": "auth0",
"description": "Add authentication to any app with Auth0. This plugin detects your framework, scaffolds the right Auth0 SDK integration, and guides you through login, logout, sessions, and protected routes — using current SDK patterns.",
"description": "Enterprise-grade auth, easy to implement. Add login, SSO, MFA, and access control to any app with framework-aware guidance.",
"author": {
"name": "Auth0"
"name": "Auth0",
"url": "https://auth0.com"
},
"category": "security",
"source": {
@@ -275,9 +282,9 @@
"url": "https://github.com/auth0/agent-skills.git",
"path": "plugins/auth0",
"ref": "main",
"sha": "5ea574addd98d585edafde7ba7df9957cd04d0d3"
"sha": "838a181a235d8e563b437555794ddfe9bd60284b"
},
"homepage": "https://auth0.com/docs/quickstart/agent-skills"
"homepage": "https://auth0.com"
},
{
"name": "aws-agents",
@@ -336,7 +343,7 @@
"url": "https://github.com/aws/agent-toolkit-for-aws.git",
"path": "plugins/aws-core",
"ref": "main",
"sha": "08025af3d27a1eb7c18fe06bf451df8b110e9e0e"
"sha": "ff1dc6f45f5203147f6cd52662cc74ded4bb0825"
},
"homepage": "https://github.com/aws/agent-toolkit-for-aws"
},
@@ -352,7 +359,7 @@
"url": "https://github.com/aws/agent-toolkit-for-aws.git",
"path": "plugins/aws-data-analytics",
"ref": "main",
"sha": "08025af3d27a1eb7c18fe06bf451df8b110e9e0e"
"sha": "ff1dc6f45f5203147f6cd52662cc74ded4bb0825"
},
"homepage": "https://github.com/aws/agent-toolkit-for-aws"
},
@@ -413,7 +420,7 @@
"url": "https://github.com/awslabs/agent-plugins.git",
"path": "plugins/aws-transform",
"ref": "main",
"sha": "c65ee436b0db77bb75d380aef6fbdc9b114edf2a"
"sha": "283d86f528c2d2269928ab77f707e659a7e597fe"
},
"homepage": "https://github.com/awslabs/agent-plugins"
},
@@ -492,7 +499,7 @@
"url": "https://github.com/boltz-bio/boltz-api-skills.git",
"path": "plugins/boltz",
"ref": "main",
"sha": "2d2830181a349415a172bdbd5272d84038924da8"
"sha": "59c4c2868b8ebbd1eca1f4b94bb99bf96220d15e"
},
"homepage": "https://boltz.bio"
},
@@ -582,7 +589,7 @@
"url": "https://github.com/carta/plugins.git",
"path": "plugins/carta-investors",
"ref": "main",
"sha": "62a5752861040f198e2c646761618cfedc2657b4"
"sha": "bb45f4b388a0d96366b137a8c47d03c45434d1fa"
},
"homepage": "https://carta.com"
},
@@ -609,7 +616,7 @@
"source": {
"source": "url",
"url": "https://github.com/ChromeDevTools/chrome-devtools-mcp.git",
"sha": "5a9d6af743109e3bb9703cf0c9a46f9cb2a97480"
"sha": "52cf8c40081567a200442ab12fad43edb550b0d4"
},
"homepage": "https://github.com/ChromeDevTools/chrome-devtools-mcp"
},
@@ -745,7 +752,7 @@
"source": {
"source": "url",
"url": "https://github.com/gemini-cli-extensions/cloud-sql-postgresql.git",
"sha": "5b9bc21c13324282e50183326709c533b49a97f3"
"sha": "849ce3fdc200219d2228380d2112f2bae3abc81f"
},
"homepage": "https://cloud.google.com/sql"
},
@@ -852,7 +859,7 @@
"source": {
"source": "url",
"url": "https://github.com/CodSpeedHQ/codspeed.git",
"sha": "10e74bab4db2a97e008ceaa89977b08ad3be0485"
"sha": "90c83f42f4269f88046109df120046f677b9d873"
},
"homepage": "https://codspeed.io"
},
@@ -980,7 +987,7 @@
"source": {
"source": "url",
"url": "https://github.com/dash0hq/dash0-agent-plugin.git",
"sha": "a58add1369094c41d024dcd82f99814016b6cd25"
"sha": "44be3b6fd8e6cbd1c5e59436a3e8db91d5920d0c"
},
"homepage": "https://dash0.com/"
},
@@ -1042,7 +1049,7 @@
"source": {
"source": "url",
"url": "https://github.com/datadog-labs/claude-code-plugin.git",
"sha": "96c28a8ce6f258ed54c9a17f16ee206deb8e3f28"
"sha": "c5c062abba0df33f6bfc2c0fd0f8d17857e3fa2c"
},
"homepage": "https://www.datadoghq.com/"
},
@@ -1306,7 +1313,7 @@
"source": {
"source": "url",
"url": "https://github.com/atlassian/forge-skills.git",
"sha": "8c1c2488f213f8f4bf0647b87176c36549e61e3f"
"sha": "ea409cc73b8cac3b6710c3ca7976dd64e570a2fc"
},
"homepage": "https://developer.atlassian.com/platform/forge/"
},
@@ -1395,7 +1402,7 @@
"source": {
"source": "url",
"url": "https://github.com/huggingface/skills.git",
"sha": "ce5f615271cade006271fa7822c8ce2d984c4eda"
"sha": "ea9a24f38a98baf2430dab3bcb31a89753ae9e6d"
},
"homepage": "https://github.com/huggingface/skills.git"
},
@@ -1423,7 +1430,7 @@
"source": {
"source": "url",
"url": "https://github.com/heygen-com/hyperframes.git",
"sha": "fdb8f33fc099f0c7ba5ef3dfb033def561234e92"
"sha": "091137e3c32f7c247b6a7cc1c81ece36cd60a937"
},
"homepage": "https://hyperframes.heygen.com"
},
@@ -1477,7 +1484,7 @@
"source": "github",
"repo": "jfrog/claude-plugin",
"commit": "259c8e718266c16e99b4f30ae9b1ed0f9f00d98d",
"sha": "97e25cc7db106c7fb6e2343968cbfe8fe5e5963a"
"sha": "ac0ea16e9e96c9837b26d3c7d6bdfecd41cb6149"
},
"homepage": "https://jfrog.com"
},
@@ -1491,7 +1498,7 @@
"source": {
"source": "url",
"url": "https://github.com/gemini-cli-extensions/knowledge-catalog.git",
"sha": "260294e6b662eaccafe1361e88496ea259df79ed"
"sha": "cf0cc18bd527188e7dd6e7933008fe9b3ced9940"
},
"homepage": "https://github.com/gemini-cli-extensions/knowledge-catalog"
},
@@ -1541,6 +1548,26 @@
"source": "./external_plugins/laravel-boost",
"homepage": "https://github.com/anthropics/claude-plugins-public/tree/main/external_plugins/laravel-boost"
},
{
"name": "learn-with-coursera",
"description": "Turn any learning intent into a personalized Coursera experience. Asks three quick questions (topic, familiarity, preferred format), searches Coursera's catalog, and delivers the right next step — a course, hands-on project, short video, or live roleplay — then maps a path forward. Requires the Coursera connector for catalog tools.",
"author": {
"name": "Coursera"
},
"category": "learning",
"source": {
"source": "git-subdir",
"url": "https://github.com/coursera/skills.git",
"path": "skills",
"ref": "main",
"sha": "ac28fd6ebf8584e3ee196159bd6d4514fa07de0f"
},
"strict": false,
"skills": [
"./learn-with-coursera"
],
"homepage": "https://github.com/coursera/skills"
},
{
"name": "learning-output-style",
"description": "Interactive learning mode that requests meaningful code contributions at decision points (mimics the unshipped Learning output style)",
@@ -1908,13 +1935,17 @@
"url": "https://github.com/oracle/netsuite-suitecloud-sdk.git",
"path": "packages/agent-skills",
"ref": "master",
"sha": "43bacf43763e1eedd0892b4652be3d45df94f0e7"
"sha": "b3ff2a960eb4e2f39d645ba10789d7d583fbf051"
},
"strict": false,
"skills": [
"./netsuite-ai-connector-instructions",
"./netsuite-sdf-roles-and-permissions",
"./netsuite-uif-spa-reference"
"./netsuite-uif-spa-reference",
"./netsuite-owasp-secure-coding",
"./netsuite-sdf-project-documentation",
"./netsuite-suitescript-records-reference",
"./netsuite-suitescript-upgrade"
],
"homepage": "https://github.com/oracle/netsuite-suitecloud-sdk"
},
@@ -2007,7 +2038,7 @@
"source": {
"source": "url",
"url": "https://github.com/gemini-cli-extensions/oracledb.git",
"sha": "6081bf97fc8f1a41c77a7110cb093291a5452a93"
"sha": "d5a26255c6f2ffb32b5920735512629014622693"
},
"homepage": "https://github.com/gemini-cli-extensions/oracledb"
},
@@ -2071,7 +2102,7 @@
"source": {
"source": "url",
"url": "https://github.com/gopigment/ai-plugins.git",
"sha": "f7bb2190a3f072bd9be5175bde6a0aa9596fcaaa"
"sha": "e760058c3d80356ac07c81be350120e3155ca96d"
},
"homepage": "https://www.pigment.com"
},
@@ -2133,7 +2164,7 @@
"source": {
"source": "url",
"url": "https://github.com/PostHog/ai-plugin.git",
"sha": "fa6f61965c1df5c70ad2c48e1b5bd8672ce9a7e6"
"sha": "d09ebca2302c085cef2dd576f2b6ec88fe254ce1"
},
"homepage": "https://posthog.com/docs/model-context-protocol"
},
@@ -2248,7 +2279,7 @@
"source": {
"source": "url",
"url": "https://github.com/qodo-ai/qodo-skills.git",
"sha": "8aec13d6ac60feb9d9f84f36aa1753234de17dc8"
"sha": "e7b677142bbb41eb8fd1cf4b50b2e759bb0c4f03"
},
"homepage": "https://github.com/qodo-ai/qodo-skills.git"
},
@@ -2276,7 +2307,7 @@
"source": {
"source": "url",
"url": "https://github.com/quarkusio/quarkus-agent-mcp.git",
"sha": "2bcba2030e9dca23b18845d026af7b97ad18515a"
"sha": "4c1fcf1cba1f292315f7d33261274798305ea954"
},
"homepage": "https://quarkus.io"
},
@@ -2338,7 +2369,7 @@
"source": {
"source": "url",
"url": "https://github.com/Digital-Process-Tools/claude-remember.git",
"sha": "02791ae02fce39217a360e53f3227183179814a9"
"sha": "8bd6255f081dc7123b6b64d335a2c8c5a379ea00"
},
"homepage": "https://github.com/Digital-Process-Tools/claude-remember"
},
@@ -2511,7 +2542,7 @@
"url": "https://github.com/SAP/open-ux-tools.git",
"path": "packages/fiori-mcp-server",
"ref": "main",
"sha": "5f7ba664c63cdd8912233b8b7693ea343b4e3209"
"sha": "2ad82bdef290e4a099441753be75987cf84ecd1a"
},
"homepage": "https://github.com/SAP/open-ux-tools/tree/main/packages/fiori-mcp-server"
},
@@ -2681,7 +2712,7 @@
"source": {
"source": "url",
"url": "https://github.com/slackapi/slack-mcp-plugin.git",
"sha": "4729a3eefeacf32548fc1bd27f0e51700a2a8d11"
"sha": "9ae6855c4cf81ce8ecd23b12560ff295721c0d07"
},
"homepage": "https://github.com/slackapi/slack-mcp-plugin/tree/main"
},
@@ -2711,7 +2742,7 @@
"source": {
"source": "url",
"url": "https://github.com/SonarSource/sonarqube-agent-plugins.git",
"sha": "5995f2b4c68da6707fec05dac944b0fa5d7b65c8"
"sha": "86eb67ba72ae804f604baa58990f5388c6655410"
},
"homepage": "https://www.sonarsource.com"
},
@@ -2839,7 +2870,7 @@
"source": {
"source": "url",
"url": "https://github.com/JetBrains/teamcity-cli.git",
"sha": "55117e13846d1f66a99cc1cb4b763435ee6afe4d"
"sha": "2406cb584cc5ca729ed9303b27bd070cf7b206ec"
},
"homepage": "https://www.jetbrains.com/teamcity/"
},
@@ -2870,7 +2901,7 @@
"source": {
"source": "url",
"url": "https://github.com/togethercomputer/skills.git",
"sha": "86bdd6627675eac3f2055f028e4acdd4d1b03fb0"
"sha": "9815b94d8ffd8a0c56a0c91faf266e82df7ff59f"
},
"homepage": "https://www.together.ai"
},
@@ -3044,7 +3075,7 @@
"source": {
"source": "url",
"url": "https://github.com/wix/skills.git",
"sha": "668e6ee9dc5a9fb4d72c25962233aa819f435d9a"
"sha": "9cd9d7c60470194a6c3170e3d093a818a2f11d6b"
},
"homepage": "https://dev.wix.com/docs/wix-cli/guides/development/about-wix-skills"
},

View File

@@ -30,6 +30,12 @@ on:
description: Cap on plugins bumped this run
required: false
default: '30'
plugin:
description: >-
Bump ONLY this plugin name (exact entry name; empty = all stale). A
frozen/sha-exempt target is still skipped (same as a full run).
required: false
default: ''
permissions:
contents: write
@@ -51,11 +57,12 @@ jobs:
# createCommitOnBranch-based bump so commits are signed by GitHub and
# satisfy the org-level required_signatures ruleset on main.
- uses: anthropics/claude-plugins-community/.github/actions/bump-plugin-shas@d207465eb6ec02b6f3f1dbb131717830dc9ecc68
- uses: anthropics/claude-plugins-community/.github/actions/bump-plugin-shas@426e469f322952061102b286b378c0c9733a0934
id: bump
with:
marketplace-path: .claude-plugin/marketplace.json
max-bumps: ${{ inputs.max_bumps || '30' }}
only: ${{ inputs.plugin }}
pr-mode: per-entry
claude-cli-version: latest

View File

@@ -196,7 +196,7 @@ jobs:
continue-on-error: true
# Pinned to claude-plugins-community#34 (WIF input support).
# TODO: re-pin to a main-branch SHA once #34 merges.
uses: anthropics/claude-plugins-community/.github/actions/scan-plugins@d207465eb6ec02b6f3f1dbb131717830dc9ecc68
uses: anthropics/claude-plugins-community/.github/actions/scan-plugins@426e469f322952061102b286b378c0c9733a0934
with:
# Anthropic auth via Workload Identity Federation — the action
# mints a GitHub OIDC token (id-token: write above) and the claude

View File

@@ -38,7 +38,26 @@ jobs:
with:
fetch-depth: 0
- uses: anthropics/claude-plugins-community/.github/actions/validate-plugins@d207465eb6ec02b6f3f1dbb131717830dc9ecc68
- name: Check for renamed plugins without renames entry
run: |
set -euo pipefail
base="${{ github.event.pull_request.base.sha || 'origin/main' }}"
# Names removed from plugins[] in this diff
removed=$(comm -23 \
<(git show "$base:.claude-plugin/marketplace.json" | jq -r '.plugins[].name' | sort) \
<(jq -r '.plugins[].name' .claude-plugin/marketplace.json | sort))
[ -z "$removed" ] && { echo "No plugin names removed."; exit 0; }
# Renames keys present in HEAD
rename_keys=$(jq -r '.renames // {} | keys[]' .claude-plugin/marketplace.json | sort)
missing=$(comm -23 <(echo "$removed" | sort) <(echo "$rename_keys"))
if [ -n "$missing" ]; then
echo "::error::Plugin name(s) removed without a renames entry: $missing"
echo "Add to .claude-plugin/marketplace.json top-level \"renames\": {\"<old>\": \"<new>\"} (or null if intentionally removed)."
exit 1
fi
echo "All removed names have renames entries."
- uses: anthropics/claude-plugins-community/.github/actions/validate-plugins@426e469f322952061102b286b378c0c9733a0934
with:
marketplace-path: .claude-plugin/marketplace.json
# Official curated marketplace: SHA-pin (I5) is a HARD error.

View File

@@ -42,6 +42,21 @@ plugin-name/
└── README.md # Documentation
```
## Plugin names are immutable
The `name` field in a marketplace entry is an **immutable slug**. Once a plugin has been published, its `name` must not change — users have it installed under that slug, and renaming it breaks their install with a `plugin-not-found` error.
- To change how a plugin is labeled in the UI, set or update `displayName` instead.
- If a rename is genuinely unavoidable, add an entry to the top-level `renames` map in `.claude-plugin/marketplace.json` so existing installs auto-migrate:
```json
"renames": {
"old-name": "new-name"
}
```
The Claude Code plugin loader reads this map and transparently rewrites the old slug to the new one on the user's next sync.
## Skill-bundle plugins
When a plugin's source repository ships skills (`SKILL.md` files) without a `.claude-plugin/plugin.json` manifest, the marketplace entry can declare the skills directly using `strict: false` and an explicit `skills` array.