Compare commits

..

1 Commits

Author SHA1 Message Date
Claude
2ac7c3c7eb Add airtable plugin
Adds the airtable marketplace entry. Sourced from Airtable/skills at
plugins/airtable, pinned to aaeb4f3e (latest main, tag 2026-05-06).
Bundles the official Airtable MCP server (mcp.airtable.com/mcp) plus
skills for the Airtable data model and filter syntax.

https://claude.ai/code/session_01Vom6RzMA4p6erqGiZxg8yE

Co-authored-by: Tobin South <32489862+tobinsouth@users.noreply.github.com>
2026-05-11 19:29:02 +00:00
3 changed files with 28 additions and 83 deletions

View File

@@ -19,7 +19,7 @@
"url": "https://github.com/42Crunch-AI/claude-plugins.git",
"path": "plugins/api-security-testing",
"ref": "v1.0.1",
"sha": "69534e359680de7e3c40f39aadb343ce3cb53701"
"sha": "56273e0e20762d76640838300a7431c4260cad32"
},
"homepage": "https://42crunch.com"
},
@@ -35,7 +35,7 @@
"url": "https://github.com/adobe/skills.git",
"path": "plugins/creative-cloud/adobe-for-creativity",
"ref": "main",
"sha": "7cc6b49b8e2e2681314f59ea1026122330362aa7"
"sha": "0f1ad97af8b4de2107c2417184fc4c3114bda9d3"
},
"homepage": "https://github.com/adobe/skills/tree/main/plugins/creative-cloud/adobe-for-creativity"
},
@@ -57,7 +57,7 @@
"source": {
"source": "url",
"url": "https://github.com/SalesforceAIResearch/agentforce-adlc.git",
"sha": "d645d2c8ce0689a568224436061872ab9f0ab179"
"sha": "9ef4d9b1958d4ed21179017d0452a81ec13c1de2"
},
"homepage": "https://github.com/SalesforceAIResearch/agentforce-adlc"
},
@@ -107,7 +107,7 @@
"source": {
"source": "url",
"url": "https://github.com/gemini-cli-extensions/alloydb.git",
"sha": "4a75653275b095fcacf1508796b0fee8cc758c07"
"sha": "0723d3ada808fe8f33e1b2808fd7a843c3d63ad2"
},
"homepage": "https://cloud.google.com/alloydb"
},
@@ -120,7 +120,7 @@
"url": "https://github.com/awslabs/agent-plugins.git",
"path": "plugins/amazon-location-service",
"ref": "main",
"sha": "08bbd67c02fbbbcc84673efedad62c89c9865e3f"
"sha": "6cfb70e55aa142a8eda66e6ef7966d5921bdf9a2"
},
"homepage": "https://github.com/awslabs/agent-plugins"
},
@@ -165,7 +165,7 @@
"source": {
"source": "url",
"url": "https://github.com/astronomer/agents.git",
"sha": "535a040ca9e27aaed6da13f0f959625fb3294820"
"sha": "5935c4330dea4dfb8e93568956b10a543ecdb3d1"
},
"homepage": "https://github.com/astronomer/agents"
},
@@ -175,7 +175,7 @@
"source": {
"source": "url",
"url": "https://github.com/atlanhq/agent-toolkit.git",
"sha": "790398c87378f128bdc74c31bb7ecfb8e4695f29"
"sha": "acdf284da6aa98b14f8dad90a9827006d8df425c"
},
"homepage": "https://docs.atlan.com/"
},
@@ -217,7 +217,7 @@
"url": "https://github.com/auth0/agent-skills.git",
"path": "plugins/auth0",
"ref": "main",
"sha": "010dd3bf860404708c3dc5fe8e1a50df1f914e3c"
"sha": "f7724bf7984c5b00496cac0f54526bb1cf505dcb"
},
"homepage": "https://auth0.com/docs/quickstart/agent-skills"
},
@@ -233,7 +233,7 @@
"url": "https://github.com/aws/agent-toolkit-for-aws.git",
"path": "plugins/aws-agents",
"ref": "main",
"sha": "01fdfa8d13ca898a210d638c43a3062657056733"
"sha": "750230758fbf23acd60d075dedd7ead4092127ce"
},
"homepage": "https://github.com/aws/agent-toolkit-for-aws"
},
@@ -246,7 +246,7 @@
"url": "https://github.com/awslabs/agent-plugins.git",
"path": "plugins/aws-amplify",
"ref": "main",
"sha": "08bbd67c02fbbbcc84673efedad62c89c9865e3f"
"sha": "6cfb70e55aa142a8eda66e6ef7966d5921bdf9a2"
},
"homepage": "https://github.com/awslabs/agent-plugins"
},
@@ -262,7 +262,7 @@
"url": "https://github.com/aws/agent-toolkit-for-aws.git",
"path": "plugins/aws-core",
"ref": "main",
"sha": "01fdfa8d13ca898a210d638c43a3062657056733"
"sha": "750230758fbf23acd60d075dedd7ead4092127ce"
},
"homepage": "https://github.com/aws/agent-toolkit-for-aws"
},
@@ -278,7 +278,7 @@
"url": "https://github.com/aws/agent-toolkit-for-aws.git",
"path": "plugins/aws-data-analytics",
"ref": "main",
"sha": "01fdfa8d13ca898a210d638c43a3062657056733"
"sha": "750230758fbf23acd60d075dedd7ead4092127ce"
},
"homepage": "https://github.com/aws/agent-toolkit-for-aws"
},
@@ -307,7 +307,7 @@
"url": "https://github.com/awslabs/agent-plugins.git",
"path": "plugins/aws-serverless",
"ref": "main",
"sha": "08bbd67c02fbbbcc84673efedad62c89c9865e3f"
"sha": "6cfb70e55aa142a8eda66e6ef7966d5921bdf9a2"
},
"homepage": "https://github.com/awslabs/agent-plugins"
},
@@ -318,7 +318,7 @@
"source": {
"source": "url",
"url": "https://github.com/microsoft/azure-skills.git",
"sha": "2fc301fe5ab66ede17d2d738da8398e077e900d9"
"sha": "ed25b85a13ec001c53f538b07e0bfbe732673885"
},
"homepage": "https://github.com/microsoft/azure-skills"
},
@@ -340,7 +340,7 @@
"source": {
"source": "url",
"url": "https://github.com/base44/skills.git",
"sha": "ec420cf2edd2c7e9a523d5afe2e71498a6357fa4"
"sha": "c7039b37eca0e2916a565a7395040c00055bcf8b"
},
"homepage": "https://docs.base44.com"
},
@@ -356,7 +356,7 @@
"url": "https://github.com/Bigdata-com/bigdata-plugins-marketplace.git",
"path": "plugins/bigdata-com",
"ref": "main",
"sha": "c77a09caabdc8783adbcbf8bbe05a0f57da12b19"
"sha": "274b5365bdc61130225de736d3f3ca5210c0e37d"
},
"homepage": "https://docs.bigdata.com"
},
@@ -367,7 +367,7 @@
"source": {
"source": "url",
"url": "https://github.com/box/box-for-ai.git",
"sha": "16f1a0427710b0812519ea634cd5ce6830bde8fc"
"sha": "0fb23244e3c35cd562206c80eff1e22c456046ea"
},
"homepage": "https://github.com/box/box-for-ai"
},
@@ -377,7 +377,7 @@
"source": {
"source": "url",
"url": "https://github.com/brightdata/skills.git",
"sha": "d357bf7bc3a2cd39eb3ef66491e3a40f91a055fb"
"sha": "44b24797d82cfd535c5b97831d5c6ba86c9d60df"
},
"homepage": "https://docs.brightdata.com"
},
@@ -393,7 +393,7 @@
"source": {
"source": "url",
"url": "https://github.com/cap-js/mcp-server.git",
"sha": "8ce2e13ac70bd78415aedeaab0061af9396d3372"
"sha": "4d59d7070a52761a9b8028cbe710c8d7477cbc92"
},
"homepage": "https://cap.cloud.sap/"
},
@@ -404,7 +404,7 @@
"source": {
"source": "url",
"url": "https://github.com/ChromeDevTools/chrome-devtools-mcp.git",
"sha": "178b79049318a63d1df1bd40e069f0627fa06fcc"
"sha": "a1612be8e01401cf1711c64bc2ef5da5763ba956"
},
"homepage": "https://github.com/ChromeDevTools/chrome-devtools-mcp"
},

View File

@@ -4,13 +4,9 @@ name: Bump Plugin SHAs
# its pinned SHA, validate at the new SHA with `claude plugin validate`
# inline, then open one PR with all passing bumps.
#
# Bot-free — uses the default GITHUB_TOKEN. PRs opened with GITHUB_TOKEN don't
# trigger on:pull_request workflows, so the policy scan (`Scan Plugins`, a
# required status check on main) would never run and the bump PR could never
# merge. workflow_dispatch is exempt from that recursion guard, so we dispatch
# the scan ourselves on the bump branch after the PR is opened. The check run
# lands on the branch HEAD — the same SHA as the PR head — and satisfies the
# required check.
# Bot-free — uses the default GITHUB_TOKEN. Because GITHUB_TOKEN-opened PRs
# don't trigger on:pull_request workflows, validation runs in this workflow
# before the PR is opened; the PR body links back here as the CI evidence.
on:
schedule:
@@ -25,7 +21,6 @@ on:
permissions:
contents: write
pull-requests: write
actions: write # gh workflow run scan-plugins.yml on the bump branch
concurrency:
group: bump-plugin-shas
@@ -36,20 +31,8 @@ jobs:
steps:
- uses: actions/checkout@v4
# 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@c41c6911de0afffd2bc5cd8b21fb1e06444ee13b
id: bump
- uses: anthropics/claude-plugins-community/.github/actions/bump-plugin-shas@f846a0bcb0e721b1f93d60e8b73e91dafc4a1e87
with:
marketplace-path: .claude-plugin/marketplace.json
max-bumps: ${{ inputs.max_bumps || '20' }}
claude-cli-version: latest
# `bump/plugin-shas` is the action's default `pr-branch`. The scan diffs
# the branch against origin/main (the action's base-ref fallback when
# there's no pull_request event) and scans only the bumped entries.
- name: Dispatch policy scan on bump branch
if: steps.bump.outputs.pr-url != ''
env:
GH_TOKEN: ${{ github.token }}
run: gh workflow run scan-plugins.yml --ref bump/plugin-shas

View File

@@ -1,15 +1,10 @@
name: Scan Plugins
# Claude policy scan of changed external marketplace entries.
#
# `scan` is a required status check on main. A path-filtered workflow never
# reports a check run when its paths don't match, which would leave unrelated
# PRs blocked forever — so this workflow runs on every PR and skips the heavy
# scan setup at the step level when nothing scan-relevant changed. The check
# always reports.
on:
pull_request:
paths:
- '.claude-plugin/marketplace.json'
- '.github/policy/**'
workflow_dispatch:
inputs:
scan_all:
@@ -29,42 +24,9 @@ jobs:
with:
fetch-depth: 0
# Same paths the workflow-level filter used to gate on. workflow_dispatch
# always runs the scan (no PR diff to inspect).
- name: Check for scan-relevant changes
id: changes
env:
EVENT_NAME: ${{ github.event_name }}
BASE_SHA: ${{ github.event.pull_request.base.sha }}
run: |
if [[ "$EVENT_NAME" == "workflow_dispatch" ]]; then
echo "relevant=true" >> "$GITHUB_OUTPUT"
exit 0
fi
if git diff --quiet "$BASE_SHA" HEAD -- .claude-plugin/marketplace.json .github/policy/; then
echo "relevant=false" >> "$GITHUB_OUTPUT"
echo "::notice::No changes to marketplace.json or policy/ — skipping policy scan."
else
echo "relevant=true" >> "$GITHUB_OUTPUT"
fi
# The shared action no-ops gracefully when ANTHROPIC_API_KEY is unset
# (sensible default for community repos). Here `scan` is a required
# check, so a silent no-op would make it a rubber stamp — fail closed.
- name: Require ANTHROPIC_API_KEY when a scan is needed
if: steps.changes.outputs.relevant == 'true'
env:
API_KEY_SET: ${{ secrets.ANTHROPIC_API_KEY != '' }}
run: |
if [[ "$API_KEY_SET" != "true" ]]; then
echo "::error::ANTHROPIC_API_KEY is not configured; refusing to skip a required policy scan."
exit 1
fi
# Blocking: policy failures fail the job. Loosen by removing
# fail-on-findings if the false-positive rate is too high.
- if: steps.changes.outputs.relevant == 'true'
uses: anthropics/claude-plugins-community/.github/actions/scan-plugins@b277757588871fe55b2620de8c6dfda470e2e9d8
- uses: anthropics/claude-plugins-community/.github/actions/scan-plugins@b277757588871fe55b2620de8c6dfda470e2e9d8
with:
anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }}
policy-prompt: .github/policy/prompt.md