mirror of
https://github.com/anthropics/claude-plugins-official.git
synced 2026-06-11 18:53:33 +00:00
Compare commits
1 Commits
exc-failur
...
add-lusha
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
deedb37dbd |
@@ -57,7 +57,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/SalesforceAIResearch/agentforce-adlc.git",
|
||||
"sha": "1db738befed88c2ee6d068482cfd64a10c97e2ef"
|
||||
"sha": "55220ca32965a7543261a2ed00a0e33da59f7c80"
|
||||
},
|
||||
"homepage": "https://github.com/SalesforceAIResearch/agentforce-adlc"
|
||||
},
|
||||
@@ -97,22 +97,6 @@
|
||||
},
|
||||
"homepage": "https://www.airtable.com"
|
||||
},
|
||||
{
|
||||
"name": "airwallex",
|
||||
"description": "Airwallex CLI plugin for Claude — skills for payments, billing, invoicing, beneficiary creation, card provisioning, and cashflow management.",
|
||||
"author": {
|
||||
"name": "Airwallex"
|
||||
},
|
||||
"category": "productivity",
|
||||
"source": {
|
||||
"source": "git-subdir",
|
||||
"url": "https://github.com/airwallex/airwallex-marketplace.git",
|
||||
"path": "plugins/airwallex",
|
||||
"ref": "master",
|
||||
"sha": "a903ab7693a5f6d46f2fab6f895a2f96a879ee0f"
|
||||
},
|
||||
"homepage": "https://www.airwallex.com/docs"
|
||||
},
|
||||
{
|
||||
"name": "alloydb",
|
||||
"description": "Create, connect, and interact with an AlloyDB for PostgreSQL database and data.",
|
||||
@@ -136,7 +120,7 @@
|
||||
"url": "https://github.com/awslabs/agent-plugins.git",
|
||||
"path": "plugins/amazon-location-service",
|
||||
"ref": "main",
|
||||
"sha": "fc54dfa24a1f05095b9fcbb4baa4750996bb171d"
|
||||
"sha": "187edde6e122116b43211049195627a5069bda80"
|
||||
},
|
||||
"homepage": "https://github.com/awslabs/agent-plugins"
|
||||
},
|
||||
@@ -177,7 +161,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/apollographql/skills.git",
|
||||
"sha": "9ccf13477e116ec095ba9b606212492ffbd42926"
|
||||
"sha": "e1d07720e9bcfbf867fa2907192c94ec2ed421e1"
|
||||
},
|
||||
"homepage": "https://www.apollographql.com"
|
||||
},
|
||||
@@ -219,7 +203,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/atlanhq/agent-toolkit.git",
|
||||
"sha": "789507c02d2495235240d10d67aaac8b2051023a"
|
||||
"sha": "cda594f40503cd2ae144052237fa2890e024828c"
|
||||
},
|
||||
"homepage": "https://docs.atlan.com/"
|
||||
},
|
||||
@@ -261,7 +245,7 @@
|
||||
"url": "https://github.com/auth0/agent-skills.git",
|
||||
"path": "plugins/auth0",
|
||||
"ref": "main",
|
||||
"sha": "9d93554c5d91bd087a46f4d6825f80c3eb981945"
|
||||
"sha": "c38453f6a99bbfeaf73b5be81db987ec6af982da"
|
||||
},
|
||||
"homepage": "https://auth0.com/docs/quickstart/agent-skills"
|
||||
},
|
||||
@@ -290,7 +274,7 @@
|
||||
"url": "https://github.com/awslabs/agent-plugins.git",
|
||||
"path": "plugins/aws-amplify",
|
||||
"ref": "main",
|
||||
"sha": "fc54dfa24a1f05095b9fcbb4baa4750996bb171d"
|
||||
"sha": "187edde6e122116b43211049195627a5069bda80"
|
||||
},
|
||||
"homepage": "https://github.com/awslabs/agent-plugins"
|
||||
},
|
||||
@@ -351,13 +335,13 @@
|
||||
"url": "https://github.com/awslabs/agent-plugins.git",
|
||||
"path": "plugins/aws-serverless",
|
||||
"ref": "main",
|
||||
"sha": "fc54dfa24a1f05095b9fcbb4baa4750996bb171d"
|
||||
"sha": "187edde6e122116b43211049195627a5069bda80"
|
||||
},
|
||||
"homepage": "https://github.com/awslabs/agent-plugins"
|
||||
},
|
||||
{
|
||||
"name": "aws-startup-advisor",
|
||||
"description": "Personalized architecture, cost, security, and migration guidance for startups. From day-one account setup and security baselines to production-ready infrastructure, cost optimization, and beyond. Includes AWS Activate Credits eligibility, 60+ exclusive startup offers, and multi-account multi-region support. Built on expertise from AWS Startup Solutions Architects and patterns from 350,000+ startups.",
|
||||
"description": "Skills for startups building on AWS: an Activate knowledge base (FAQ, credits, programs, partner offers, sample architectures, 277+ learn articles), a prompt library of 29+ copy-paste prompts plus installable agents, and an interactive discovery workflow that scaffolds an AWS architecture.",
|
||||
"author": {
|
||||
"name": "Amazon Web Services"
|
||||
},
|
||||
@@ -367,7 +351,7 @@
|
||||
"url": "https://github.com/awslabs/startups.git",
|
||||
"path": "advisor/plugins/aws-startup-advisor",
|
||||
"ref": "main",
|
||||
"sha": "30808e64b08ba13aedcecade5a27bfbff06dba09"
|
||||
"sha": "440c6a2681b89518622d4a9c65f72efdcde398c3"
|
||||
},
|
||||
"homepage": "https://github.com/awslabs/startups"
|
||||
},
|
||||
@@ -378,7 +362,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/microsoft/azure-skills.git",
|
||||
"sha": "58fd90942ab5045481bf1632fa0c2d7746367e13"
|
||||
"sha": "b2b5d8b16346b5c965545208aff885d0c156c299"
|
||||
},
|
||||
"homepage": "https://github.com/microsoft/azure-skills"
|
||||
},
|
||||
@@ -474,7 +458,7 @@
|
||||
"url": "https://github.com/carta/plugins.git",
|
||||
"path": "plugins/carta-cap-table",
|
||||
"ref": "main",
|
||||
"sha": "ea02da68e7be8bf4bc2bffe8f1fd7253f8d0b101"
|
||||
"sha": "eb00237daa211b0dc8dd815e013310c6ea9fc827"
|
||||
},
|
||||
"homepage": "https://carta.com"
|
||||
},
|
||||
@@ -490,7 +474,7 @@
|
||||
"url": "https://github.com/carta/plugins.git",
|
||||
"path": "plugins/carta-crm",
|
||||
"ref": "main",
|
||||
"sha": "ea02da68e7be8bf4bc2bffe8f1fd7253f8d0b101"
|
||||
"sha": "49cfc652620672f3e4d4ca31c4ba4c6ebcc568de"
|
||||
},
|
||||
"homepage": "https://carta.com"
|
||||
},
|
||||
@@ -506,7 +490,7 @@
|
||||
"url": "https://github.com/carta/plugins.git",
|
||||
"path": "plugins/carta-investors",
|
||||
"ref": "main",
|
||||
"sha": "ea02da68e7be8bf4bc2bffe8f1fd7253f8d0b101"
|
||||
"sha": "e66d331cd8e669ee121c96ee35b0c91acd828970"
|
||||
},
|
||||
"homepage": "https://carta.com"
|
||||
},
|
||||
@@ -533,7 +517,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/ChromeDevTools/chrome-devtools-mcp.git",
|
||||
"sha": "89718901174be7c0c58a1a2b29281ab2f053cd53"
|
||||
"sha": "30d59a78727c31ec9d70d2bd6d9310e78f1888b3"
|
||||
},
|
||||
"homepage": "https://github.com/ChromeDevTools/chrome-devtools-mcp"
|
||||
},
|
||||
@@ -816,7 +800,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/CrowdStrike/foundry-skills.git",
|
||||
"sha": "b3f4ecb48333d6007117a29650daa1989a228b5c"
|
||||
"sha": "5b661388dd24840b45766740eeb729fafae8da40"
|
||||
},
|
||||
"homepage": "https://github.com/CrowdStrike/foundry-skills"
|
||||
},
|
||||
@@ -862,7 +846,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/dash0hq/dash0-agent-plugin.git",
|
||||
"sha": "8801a21931d80c543c0f51a4b7eef4cd1311c1b5"
|
||||
"sha": "0300130371547c86630970138e302025c4b0a621"
|
||||
},
|
||||
"homepage": "https://dash0.com/"
|
||||
},
|
||||
@@ -887,7 +871,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/gemini-cli-extensions/data-agent-kit-starter-pack.git",
|
||||
"sha": "fb9086456d5fbc780edf86f0ac413345ba628173"
|
||||
"sha": "7b17cb5147718013933d4b08011e6fea7d170d89"
|
||||
},
|
||||
"homepage": "https://github.com/gemini-cli-extensions/data-agent-kit-starter-pack"
|
||||
},
|
||||
@@ -910,7 +894,7 @@
|
||||
"url": "https://github.com/awslabs/agent-plugins.git",
|
||||
"path": "plugins/databases-on-aws",
|
||||
"ref": "main",
|
||||
"sha": "fc54dfa24a1f05095b9fcbb4baa4750996bb171d"
|
||||
"sha": "187edde6e122116b43211049195627a5069bda80"
|
||||
},
|
||||
"homepage": "https://github.com/awslabs/agent-plugins"
|
||||
},
|
||||
@@ -924,7 +908,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/datadog-labs/claude-code-plugin.git",
|
||||
"sha": "96c28a8ce6f258ed54c9a17f16ee206deb8e3f28"
|
||||
"sha": "eeb2f746a857f8d97f69cd0968fb63874541c112"
|
||||
},
|
||||
"homepage": "https://www.datadoghq.com/"
|
||||
},
|
||||
@@ -952,7 +936,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/datarobot-oss/datarobot-agent-skills.git",
|
||||
"sha": "90a33c0c87362f28be88c14c0ef0f3469e6d2596"
|
||||
"sha": "bf57624a502f8ebb664ce402154fe407f6d5912f"
|
||||
},
|
||||
"homepage": "https://datarobot.com"
|
||||
},
|
||||
@@ -978,7 +962,7 @@
|
||||
"url": "https://github.com/awslabs/agent-plugins.git",
|
||||
"path": "plugins/deploy-on-aws",
|
||||
"ref": "main",
|
||||
"sha": "fc54dfa24a1f05095b9fcbb4baa4750996bb171d"
|
||||
"sha": "187edde6e122116b43211049195627a5069bda80"
|
||||
},
|
||||
"homepage": "https://github.com/awslabs/agent-plugins"
|
||||
},
|
||||
@@ -994,7 +978,7 @@
|
||||
"url": "https://github.com/wonderwhy-er/DesktopCommanderMCP.git",
|
||||
"path": "plugins/claude",
|
||||
"ref": "main",
|
||||
"sha": "cf857bf061cb3b0e8673717dcac1f0fa2ecbdd40"
|
||||
"sha": "ce4669cca7a07bd5d493cedb01df400790ec9e23"
|
||||
},
|
||||
"homepage": "https://desktopcommander.app"
|
||||
},
|
||||
@@ -1117,7 +1101,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/voxel51/fiftyone-skills.git",
|
||||
"sha": "d34365bd643b889d67dafcc120a8c525699fb54c"
|
||||
"sha": "6c002d680529e35a2e04adc34c03b564a3991728"
|
||||
},
|
||||
"homepage": "https://docs.voxel51.com/"
|
||||
},
|
||||
@@ -1249,7 +1233,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/huggingface/skills.git",
|
||||
"sha": "14cea99d5cd028974dbdd8bc12118882cd7a1b67"
|
||||
"sha": "49abf82b2ef2ff2bcc6ca072aac0fe8627390a1d"
|
||||
},
|
||||
"homepage": "https://github.com/huggingface/skills.git"
|
||||
},
|
||||
@@ -1277,7 +1261,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/heygen-com/hyperframes.git",
|
||||
"sha": "8228932e17e3371d5cf77ac5d5988f5322892dad"
|
||||
"sha": "f5d81cb5a7b1d15cdc08c15bafbc7e3c91123a74"
|
||||
},
|
||||
"homepage": "https://hyperframes.heygen.com"
|
||||
},
|
||||
@@ -1504,7 +1488,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/mapbox/mapbox-agent-skills.git",
|
||||
"sha": "75ac667cae24c7ad7bdbbac55ac0a64d2df1543e"
|
||||
"sha": "fc705cd9a4f823e10d5d4ee5adad4c6cd16de0a9"
|
||||
},
|
||||
"homepage": "https://www.mapbox.com"
|
||||
},
|
||||
@@ -1596,7 +1580,7 @@
|
||||
"url": "https://github.com/awslabs/startups.git",
|
||||
"path": "migrate/plugins/migration-to-aws",
|
||||
"ref": "main",
|
||||
"sha": "30808e64b08ba13aedcecade5a27bfbff06dba09"
|
||||
"sha": "440c6a2681b89518622d4a9c65f72efdcde398c3"
|
||||
},
|
||||
"homepage": "https://github.com/awslabs/startups"
|
||||
},
|
||||
@@ -1634,7 +1618,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/mongodb/agent-skills.git",
|
||||
"sha": "9ea7387c7a1638604542c6efd52e5efc6a7fc393"
|
||||
"sha": "bcd651808429ac1ca1e9f294cee61e42028d27de"
|
||||
},
|
||||
"homepage": "https://www.mongodb.com/docs/mcp-server/overview/"
|
||||
},
|
||||
@@ -1759,7 +1743,7 @@
|
||||
"url": "https://github.com/growthxai/output.git",
|
||||
"path": "coding_assistants/claude/plugins/outputai",
|
||||
"ref": "main",
|
||||
"sha": "d3c9b1f472358527386f7cc2bb6d4833d9bfe034"
|
||||
"sha": "34badf9feb80a9f8ab83c5945de7342ab8d32d0a"
|
||||
},
|
||||
"homepage": "https://output.ai"
|
||||
},
|
||||
@@ -1869,7 +1853,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/PostHog/ai-plugin.git",
|
||||
"sha": "a487311487bc369ee75e70c893d0a0c5ed478ba8"
|
||||
"sha": "3ab2bf762552526a5db4183451a6b01b02b9205d"
|
||||
},
|
||||
"homepage": "https://posthog.com/docs/model-context-protocol"
|
||||
},
|
||||
@@ -2001,7 +1985,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/quarkusio/quarkus-agent-mcp.git",
|
||||
"sha": "01847d5d2eca02bc5751cce18deb41ad76a7a873"
|
||||
"sha": "629622a4b7aa9dfc8724cc758ca389c3e24c0e77"
|
||||
},
|
||||
"homepage": "https://quarkus.io"
|
||||
},
|
||||
@@ -2014,7 +1998,7 @@
|
||||
"url": "https://github.com/railwayapp/railway-skills.git",
|
||||
"path": "plugins/railway",
|
||||
"ref": "main",
|
||||
"sha": "831130cda8a659e8c47addd28be2744e9e67d31c"
|
||||
"sha": "7718b39037adb6fb33948ff751be7f7086f2da83"
|
||||
},
|
||||
"homepage": "https://docs.railway.com/ai/claude-code-plugin"
|
||||
},
|
||||
@@ -2037,7 +2021,7 @@
|
||||
"source": "url",
|
||||
"url": "https://github.com/RevenueCat/rc-claude-code-plugin.git",
|
||||
"path": "revenuecat",
|
||||
"sha": "b34f9bebe02ceb7e3f32e6d7d081cdfb2e7c37a6"
|
||||
"sha": "81262a339601c4b64b909c370225cbd7917ade1f"
|
||||
},
|
||||
"homepage": "https://www.revenuecat.com"
|
||||
},
|
||||
@@ -2063,7 +2047,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/Digital-Process-Tools/claude-remember.git",
|
||||
"sha": "a4ff96f38622f7c4920dc349d59cc980663336f4"
|
||||
"sha": "c2c82ab5fd2f4f5c0cddc9c7d8a749655dec4cb9"
|
||||
},
|
||||
"homepage": "https://github.com/Digital-Process-Tools/claude-remember"
|
||||
},
|
||||
@@ -2077,7 +2061,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/resend/resend-skills.git",
|
||||
"sha": "0f598ef55623e37a76f972e93a53ffa91c1dc9d1"
|
||||
"sha": "376d1c3fb37cc7d22ab21cce836f4d6f323922de"
|
||||
},
|
||||
"homepage": "https://resend.com"
|
||||
},
|
||||
@@ -2089,7 +2073,7 @@
|
||||
"source": "url",
|
||||
"url": "https://github.com/RevenueCat/rc-claude-code-plugin.git",
|
||||
"path": "revenuecat",
|
||||
"sha": "b34f9bebe02ceb7e3f32e6d7d081cdfb2e7c37a6"
|
||||
"sha": "81262a339601c4b64b909c370225cbd7917ade1f"
|
||||
},
|
||||
"homepage": "https://www.revenuecat.com"
|
||||
},
|
||||
@@ -2174,7 +2158,7 @@
|
||||
"url": "https://github.com/awslabs/agent-plugins.git",
|
||||
"path": "plugins/sagemaker-ai",
|
||||
"ref": "main",
|
||||
"sha": "fc54dfa24a1f05095b9fcbb4baa4750996bb171d"
|
||||
"sha": "187edde6e122116b43211049195627a5069bda80"
|
||||
},
|
||||
"homepage": "https://github.com/awslabs/agent-plugins"
|
||||
},
|
||||
@@ -2188,7 +2172,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/sanity-io/agent-toolkit.git",
|
||||
"sha": "7e04973754975e73b306b1d4dbae561160d797e9"
|
||||
"sha": "d7545f5cc6f8fb39554083b52ad074a6d912db9f"
|
||||
},
|
||||
"homepage": "https://www.sanity.io"
|
||||
},
|
||||
@@ -2204,7 +2188,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/cap-js/mcp-server.git",
|
||||
"sha": "b78913198fe1021f0d8b36b0e4ba0ca27003452f"
|
||||
"sha": "92dc99f5ba0c56957ed5d390484693a69ebd1206"
|
||||
},
|
||||
"homepage": "https://cap.cloud.sap/"
|
||||
},
|
||||
@@ -2222,7 +2206,7 @@
|
||||
"url": "https://github.com/SAP/open-ux-tools.git",
|
||||
"path": "packages/fiori-mcp-server",
|
||||
"ref": "main",
|
||||
"sha": "b326a9a52b1da51effed574587e31fe5a2755b96"
|
||||
"sha": "7432d23a7b5c3bd1c0a01cf76696bf0c417ecd1f"
|
||||
},
|
||||
"homepage": "https://github.com/SAP/open-ux-tools/tree/main/packages/fiori-mcp-server"
|
||||
},
|
||||
@@ -2261,7 +2245,7 @@
|
||||
{
|
||||
"name": "security-guidance",
|
||||
"description": "Security review for Claude-generated code. Pattern-based warnings on edits, LLM-powered diff review on Stop, and an agentic commit reviewer that catches injection, XSS, SSRF, hardcoded secrets, and 25+ other vulnerability classes.",
|
||||
"version": "2.0.4",
|
||||
"version": "2.0.3",
|
||||
"author": {
|
||||
"name": "Anthropic",
|
||||
"email": "support@anthropic.com"
|
||||
@@ -2305,7 +2289,7 @@
|
||||
"url": "https://github.com/getsentry/cli.git",
|
||||
"path": "plugins/sentry-cli",
|
||||
"ref": "main",
|
||||
"sha": "5b78ddaf28252cb514007526025b138569445fd4"
|
||||
"sha": "5abcacdf8f0b613bceee7aa7aebb9db1d75ed5e2"
|
||||
},
|
||||
"homepage": "https://sentry.io"
|
||||
},
|
||||
@@ -2331,7 +2315,7 @@
|
||||
"url": "https://github.com/ServiceNow/sdk.git",
|
||||
"path": "providers/claude/plugin",
|
||||
"ref": "master",
|
||||
"sha": "35ef6130d8a49e67b531bde2f987808426273d15"
|
||||
"sha": "06adf37ca78c270a57f93e7b9dfbb7bf16e24611"
|
||||
},
|
||||
"homepage": "https://servicenow.github.io/sdk/"
|
||||
},
|
||||
@@ -2392,7 +2376,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/slackapi/slack-mcp-plugin.git",
|
||||
"sha": "38fb959299386a6d2c202511ef7e76909a072663"
|
||||
"sha": "7b9458950d38bb01ddb48b669f9fa89bcdfd98b8"
|
||||
},
|
||||
"homepage": "https://github.com/slackapi/slack-mcp-plugin/tree/main"
|
||||
},
|
||||
@@ -2422,7 +2406,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/SonarSource/sonarqube-agent-plugins.git",
|
||||
"sha": "712b93281f4e67c16ed9b81dde090e1f73f8bfc8"
|
||||
"sha": "c64e09af314406a8d8806d57cd11cda81578ce20"
|
||||
},
|
||||
"homepage": "https://www.sonarsource.com"
|
||||
},
|
||||
@@ -2468,7 +2452,7 @@
|
||||
"url": "https://github.com/stripe/ai.git",
|
||||
"path": "providers/claude/plugin",
|
||||
"ref": "main",
|
||||
"sha": "e27ee0091ed20f7557f3241e00ade3d4846af9d6"
|
||||
"sha": "38cc559cab7eab62f11bc3809b93af45f28063f6"
|
||||
},
|
||||
"homepage": "https://github.com/stripe/ai/tree/main/providers/claude/plugin"
|
||||
},
|
||||
@@ -2536,7 +2520,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/JetBrains/teamcity-cli.git",
|
||||
"sha": "3cc3013c0f8106ffc845b34fb322d763803bcb0e"
|
||||
"sha": "533c8cb20928be912188fd8ae40fcba24cc720ca"
|
||||
},
|
||||
"homepage": "https://www.jetbrains.com/teamcity/"
|
||||
},
|
||||
@@ -2567,7 +2551,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/togethercomputer/skills.git",
|
||||
"sha": "9772f2a2f83e2184c341dd2650ac4c7efb76c33b"
|
||||
"sha": "f957e2929edebde0c364e804f8b38a3714db92b4"
|
||||
},
|
||||
"homepage": "https://www.together.ai"
|
||||
},
|
||||
@@ -2629,7 +2613,7 @@
|
||||
"url": "https://github.com/UI5/plugins-coding-agents.git",
|
||||
"path": "plugins/ui5",
|
||||
"ref": "main",
|
||||
"sha": "767ac53cb056a0c900374ccea0df96c54b769eb2"
|
||||
"sha": "7acd8328399a221e161ae5bb04a5675696f92920"
|
||||
},
|
||||
"homepage": "https://github.com/UI5/plugins-coding-agents"
|
||||
},
|
||||
@@ -2647,40 +2631,10 @@
|
||||
"url": "https://github.com/UI5/plugins-coding-agents.git",
|
||||
"path": "plugins/ui5-typescript-conversion",
|
||||
"ref": "main",
|
||||
"sha": "767ac53cb056a0c900374ccea0df96c54b769eb2"
|
||||
"sha": "7acd8328399a221e161ae5bb04a5675696f92920"
|
||||
},
|
||||
"homepage": "https://github.com/UI5/plugins-coding-agents"
|
||||
},
|
||||
{
|
||||
"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).",
|
||||
"author": {
|
||||
"name": "Val Town"
|
||||
},
|
||||
"category": "deployment",
|
||||
"source": {
|
||||
"source": "git-subdir",
|
||||
"url": "https://github.com/val-town/plugins.git",
|
||||
"path": "plugin",
|
||||
"ref": "main",
|
||||
"sha": "e01069e11ea6e46b8d2d5fd2945f2dd4d33e6a57"
|
||||
},
|
||||
"homepage": "https://val.town"
|
||||
},
|
||||
{
|
||||
"name": "vanta",
|
||||
"description": "The Vanta plugin connects Claude Code to Vanta's security and compliance platform through the Vanta MCP server. It combines Vanta's test-specific remediation intelligence with your local repository context to help you fix compliance failures faster.",
|
||||
"author": {
|
||||
"name": "Vanta"
|
||||
},
|
||||
"category": "security",
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/VantaInc/vanta-mcp-plugin.git",
|
||||
"sha": "345d86b55faa649e955b7ea5569cf52d8425c2d5"
|
||||
},
|
||||
"homepage": "https://help.vanta.com/en/articles/14094979-connecting-to-vanta-mcp#h_887ce3f337"
|
||||
},
|
||||
{
|
||||
"name": "vanta-mcp-plugin",
|
||||
"description": "The Vanta plugin connects Claude Code to Vanta's security and compliance platform through the Vanta MCP server. It combines Vanta's test-specific remediation intelligence with your local repository context to help you fix compliance failures faster.",
|
||||
@@ -2741,7 +2695,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/wix/skills.git",
|
||||
"sha": "f99715fc149208608a148c0fe0ed16c0f80ee734"
|
||||
"sha": "2da8231fcdc49a48af64b050ba5e1a85c3968670"
|
||||
},
|
||||
"homepage": "https://dev.wix.com/docs/wix-cli/guides/development/about-wix-skills"
|
||||
},
|
||||
@@ -2834,7 +2788,7 @@
|
||||
"source": {
|
||||
"source": "url",
|
||||
"url": "https://github.com/Zoominfo/zoominfo-mcp-plugin.git",
|
||||
"sha": "cfdebda5f3ce24d0d964cc0b3e9e5dd9ea9d507d"
|
||||
"sha": "678c0d1b584b77fb8e0cdc14138fc1afc5a21cf2"
|
||||
},
|
||||
"homepage": "https://www.zoominfo.com"
|
||||
},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "security-guidance",
|
||||
"version": "2.0.4",
|
||||
"version": "2.0.3",
|
||||
"description": "Security review for Claude-generated code. Pattern-based warnings on edits, LLM-powered diff review on Stop, and an agentic commit reviewer that catches injection, XSS, SSRF, hardcoded secrets, and 25+ other vulnerability classes.",
|
||||
"author": {
|
||||
"name": "David Dworken",
|
||||
|
||||
@@ -102,41 +102,6 @@ SDK_BOOTSTRAP_ERR_CODES = {
|
||||
"_uncategorized": 99,
|
||||
}
|
||||
|
||||
# Exception-type encoding for the "exc:<TypeName>" err_kinds (the generic
|
||||
# `except Exception` path — venv/pip raised a Python exception rather than
|
||||
# a CalledProcessError with categorizable stderr).
|
||||
#
|
||||
# #2154 telemetry surfaced that the dominant remaining venv BUILD_FAILED
|
||||
# bucket (phase=venv, err=99) is ~99% `exc:` with stderr_sig=NULL — i.e.
|
||||
# exceptions, not stderr-bearing subprocess failures — so the stderr_sig
|
||||
# hash couldn't distinguish them. This maps the exception TYPE to a stable
|
||||
# code so BQ can tell FileNotFoundError (python/venv binary missing) from
|
||||
# PermissionError (read-only home) from a bare OSError, etc.
|
||||
#
|
||||
# All the FileNotFoundError/PermissionError/etc. entries are OSError
|
||||
# subclasses, so they ALSO carry an errno (see _encode_errno) — the type
|
||||
# code gives the Python class, errno gives the OS-level cause. APPEND-ONLY.
|
||||
SDK_BOOTSTRAP_EXC_CODES = {
|
||||
"FileNotFoundError": 1, # interpreter/venv path component missing
|
||||
"PermissionError": 2, # read-only home, sandboxed FS
|
||||
"NotADirectoryError": 3,
|
||||
"IsADirectoryError": 4,
|
||||
"FileExistsError": 5, # (sentinel race is handled separately; this
|
||||
# is FileExistsError from elsewhere in venv)
|
||||
"OSError": 6, # bare OSError — errno carries the real cause
|
||||
"BlockingIOError": 7,
|
||||
"BrokenPipeError": 8,
|
||||
"ConnectionError": 9,
|
||||
"TimeoutError": 10, # distinct from subprocess.TimeoutExpired
|
||||
"InterruptedError": 11,
|
||||
"MemoryError": 12,
|
||||
"UnicodeDecodeError": 13,
|
||||
"ValueError": 14,
|
||||
"RuntimeError": 15,
|
||||
# 16–98 reserved; APPEND-ONLY.
|
||||
"_other_exc": 99, # an exception type not in this map
|
||||
}
|
||||
|
||||
|
||||
def _encode_phase(s):
|
||||
"""Map err_phase string to its telemetry integer code, or 0 if unset.
|
||||
@@ -193,55 +158,6 @@ def _encode_stderr_sig(err_kind):
|
||||
return int.from_bytes(h[:2], "big") % 1000
|
||||
|
||||
|
||||
def _encode_exc_kind(err_kind):
|
||||
"""Map an "exc:<TypeName>[:errno]" err_kind to its exception-type code
|
||||
(SDK_BOOTSTRAP_EXC_CODES). Returns 0 for non-exc err_kinds (so the
|
||||
sdk_bootstrap_exc field auto-omits on stderr/categorized failures).
|
||||
Unmapped exception types → 99 (_other_exc)."""
|
||||
if not err_kind or not err_kind.startswith("exc:"):
|
||||
return 0
|
||||
# "exc:OSError:28" → "OSError"; "exc:RuntimeError" → "RuntimeError"
|
||||
name = err_kind[len("exc:"):].split(":", 1)[0].strip()
|
||||
if not name:
|
||||
return 0
|
||||
return SDK_BOOTSTRAP_EXC_CODES.get(name, SDK_BOOTSTRAP_EXC_CODES["_other_exc"])
|
||||
|
||||
|
||||
def _encode_errno(err_kind):
|
||||
"""Extract the OS errno from an "exc:<TypeName>:<errno>" err_kind.
|
||||
OSError-family exceptions embed their errno (ENOENT=2, EACCES=13,
|
||||
ENOSPC=28, …) — the OS-level cause is far more actionable than the
|
||||
Python class alone. Returns 0 when absent/non-numeric (field omitted)."""
|
||||
if not err_kind or not err_kind.startswith("exc:"):
|
||||
return 0
|
||||
parts = err_kind.split(":")
|
||||
if len(parts) < 3:
|
||||
return 0
|
||||
try:
|
||||
return int(parts[2])
|
||||
except (ValueError, IndexError):
|
||||
return 0
|
||||
|
||||
|
||||
def _probe_has_pip() -> bool:
|
||||
"""True iff the current interpreter can run pip (`-m pip --version`).
|
||||
|
||||
Probed only on the venv_ensurepip_fail path (see __main__), NOT on the
|
||||
happy path — it's an extra subprocess we only want when diagnosing a
|
||||
failure. The result decides whether a `pip install --target` fallback
|
||||
(Option A) is even viable for this machine: ensurepip/venv missing but
|
||||
pip present → --target would work; pip also missing → it wouldn't, and
|
||||
the user needs a system package (python3-venv / a complete Python)."""
|
||||
try:
|
||||
r = subprocess.run(
|
||||
[sys.executable, "-m", "pip", "--version"],
|
||||
capture_output=True, timeout=10,
|
||||
)
|
||||
return r.returncode == 0
|
||||
except Exception:
|
||||
return False
|
||||
|
||||
|
||||
def _sdk_on_syspath() -> bool:
|
||||
# find_spec is ~10ms; actually importing the SDK pulls in
|
||||
# transitive deps and costs ~800ms — too heavy for a
|
||||
@@ -448,13 +364,6 @@ def main() -> tuple[int, str, str]:
|
||||
except subprocess.TimeoutExpired:
|
||||
return BUILD_FAILED, err_phase, "subprocess_timeout"
|
||||
except Exception as e:
|
||||
# Embed errno for OSError-family exceptions ("exc:OSError:28") so
|
||||
# telemetry can decode the OS-level cause (ENOENT/EACCES/ENOSPC/…),
|
||||
# not just the Python class. #2154 follow-up: this is the dominant
|
||||
# remaining venv BUILD_FAILED bucket. See _encode_exc_kind/_encode_errno.
|
||||
errno = getattr(e, "errno", None)
|
||||
if isinstance(errno, int):
|
||||
return BUILD_FAILED, err_phase, f"exc:{type(e).__name__}:{errno}"
|
||||
return BUILD_FAILED, err_phase, f"exc:{type(e).__name__}"
|
||||
finally:
|
||||
# Only remove the sentinel if THIS process created it. The
|
||||
@@ -558,30 +467,6 @@ if __name__ == "__main__":
|
||||
sig = _encode_stderr_sig(err_kind)
|
||||
if sig:
|
||||
metrics["sdk_bootstrap_stderr_sig"] = sig
|
||||
# Exception-type + errno for the "exc:" bucket (the dominant
|
||||
# remaining venv BUILD_FAILED mode per #2154 telemetry). Both
|
||||
# auto-omit (0) on stderr/categorized failures.
|
||||
exc = _encode_exc_kind(err_kind)
|
||||
if exc:
|
||||
metrics["sdk_bootstrap_exc"] = exc
|
||||
exc_errno = _encode_errno(err_kind)
|
||||
if exc_errno:
|
||||
metrics["sdk_bootstrap_errno"] = exc_errno
|
||||
# venv_ensurepip_fail (code 11) is the top categorizable venv
|
||||
# failure, and telemetry shows it's NOT just Debian — macOS has the
|
||||
# most distinct affected users. Probe whether this interpreter has
|
||||
# pip so we know if a `pip install --target` fallback (Option A)
|
||||
# would actually help, vs the user needing a system package. Probed
|
||||
# only here (not on the happy path) to avoid an extra subprocess
|
||||
# per healthy session.
|
||||
if _encode_err_kind(err_kind) == 11:
|
||||
metrics["sdk_has_pip"] = _probe_has_pip()
|
||||
# Interpreter version (major*100 + minor, e.g. 309 / 312), emitted on
|
||||
# every bootstrap. Disambiguates the macOS cohort (Apple 3.9 vs a 3.10+
|
||||
# with broken ensurepip) for both venv_ensurepip_fail AND
|
||||
# HOOK_PY_INCOMPATIBLE (whose "py_3.9" err_kind otherwise collapses to
|
||||
# err=99, losing the version). Cheap — no subprocess, just sys.version_info.
|
||||
metrics["sdk_hook_py"] = sys.version_info[0] * 100 + sys.version_info[1]
|
||||
pv = _plugin_version_int()
|
||||
if pv:
|
||||
metrics["pv"] = pv
|
||||
|
||||
Reference in New Issue
Block a user