796 Commits

Author SHA1 Message Date
Mohamed Hegazy
009392eee4
security-guidance: 5 venv-specific err_kind categories + stderr_signature bucket (2.0.1 → 2.0.2)
PR #2112's telemetry visibility surfaced an immediate finding from
the first 3h of v2.0.1 data: **2,406 phase=2 / err=99 sessions** —
"venv stage / uncategorized" — dominating BUILD_FAILED. The original
err_kind detection patterns were all pip-flavored (pip_no_match,
dns_fail, ssl_verify, etc.) and didn't catch venv-creation failure
modes, so they all collapsed to the catch-all _uncategorized (99)
bucket.

This PR fills the gap on two axes.

## 1. Five new venv-specific err_kind categories (codes 11-15)

Each gated on `err_phase == "venv"` so the same substring doesn't
mis-fire in pip-phase failures:

  - 11 `venv_ensurepip_fail` — Debian/Ubuntu without python3-venv
    installed; stderr matches "ensurepip is not available" or
    "ensurepip ... returned non-zero". Predicted to be the biggest
    chunk based on Linux distro market share.
  - 12 `venv_path_too_long` — Windows MAX_PATH (260) or POSIX
    ENAMETOOLONG. Triggered when state_dir + venv layout exceeds
    the path limit (deep Lib/site-packages/<pkg>/<...> paths).
  - 13 `venv_no_module` — `python3 -m venv` itself missing
    ("No module named 'venv'"). Rare but distinctive.
  - 14 `venv_already_exists` — Errno 17 / "file exists" — sentinel
    race past O_EXCL or stale dir survived `--clear`.
  - 15 `venv_setup_failed` — generic "virtual environment was not
    created successfully" catch-all for venv setup failures that
    don't match a more specific category.

All 5 occupy reserved slots in SDK_BOOTSTRAP_ERR_CODES per the
APPEND-ONLY contract from PR #2112.

## 2. `sdk_bootstrap_stderr_sig` integer hash

For "other:<tail>" err_kinds (which encode to _uncategorized = 99),
emit a bounded integer hash (0-999) of the first ~30 chars of the
stderr tail. This restores cardinality to the _uncategorized bucket
in BQ aggregation without unbounded keyspace — same stderr message
always maps to the same bucket, so a real failure mode replicating
across thousands of machines clusters cleanly. Bounded at 1000
buckets: well below any "high cardinality" alarm but wide enough to
distinguish ~30 distinct dominant patterns (birthday-paradox
collision probability ~50% at ~37 distinct inputs).

The field auto-omits (`if sig:` gate) when err_kind is categorized
— no key-budget cost on the common-case categorized failures.

## Version bump 2.0.1 → 2.0.2

PR #2114 confirmed the version-bump mechanism is the only way to
propagate code changes to the existing fleet — without a bump, CC's
plugin updater short-circuits on string-equality of installation
version vs marketplace version. Following the policy we established:
**bump patch on every functional PR**.

By 17:31:42Z on 2026-06-01 (1m22s after #2114 merged), v2.0.1 was
already appearing in BQ. v2.0.2 should follow the same propagation
curve — ~30% adoption within 3 hours, full convergence within a few
days.

## Verified locally

  - py_compile clean.
  - 15 new tests in test_venv_failure_deepdive.py (added to internal
    test suite at sg-staging/tests/, not in this PR):

      * 5 parametrized: each new err_kind maps to its expected code (11-15).
      * 1 APPEND-ONLY regression: existing codes 1-10 + 99 unchanged.
      * 6 stderr_sig: non-other inputs → 0; None/empty → 0; deterministic
        same-input → same-output; bounded to 0-999; distinct inputs →
        distinct hashes (5/5 with P(collision) ≈ 1%); leading-chars focus
        (path-varying stderr with shared 30-char prefix collide as designed).
      * 1 static-shape catcher: every new `err_kind = "venv_..."` branch
        in main() is guarded by `err_phase == "venv"`. Catches the
        regression where someone adds a venv pattern without the phase
        gate and starts mis-categorizing pip-phase failures.
      * 1 map-coverage: all err_kind strings assigned anywhere in
        ensure_agent_sdk.main() are present in SDK_BOOTSTRAP_ERR_CODES
        (catches new categories added in code but forgotten in the map).
      * 1 emit-shape: the metric block uses `_encode_stderr_sig`, the
        `sdk_bootstrap_stderr_sig` key is written conditionally on `if
        sig:`. Catches the regression where someone removes the
        helper or makes the emit unconditional (would pad every
        categorized BUILD_FAILED row with a zero-valued field).

  - Full suite: 452/452 pass + 2 skipped (live API tests, opt-in).

## What this unblocks in BQ

```sql
-- For the 2,406 sessions/3h that were phase=2/err=99 on v2.0.1,
-- v2.0.2+ will split them across the new categories. Query:
SELECT
  CAST(JSON_VALUE(additional_metadata, "$.sdk_bootstrap_err") AS INT64) AS err,
  CAST(JSON_VALUE(additional_metadata, "$.sdk_bootstrap_stderr_sig") AS INT64) AS sig,
  COUNT(*) AS sessions
FROM `proj-product-data-nhme.raw_events.claude_code_internal_event`
WHERE _PARTITIONTIME >= ...
  AND CAST(JSON_VALUE(additional_metadata, "$.sdk_bootstrap") AS INT64) = 3
  AND CAST(JSON_VALUE(additional_metadata, "$.sdk_bootstrap_phase") AS INT64) = 2  -- venv
GROUP BY err, sig
ORDER BY sessions DESC
```

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-01 16:05:49 -07:00
Mohamed Hegazy
9f6eae5114
Merge pull request #2155 from anthropics/fix-nvidia-skills-sha
fix(nvidia-skills): add missing source.sha (validator invariant I5; unblocks all PRs touching marketplace.json)
2026-06-01 15:57:55 -07:00
github-actions[bot]
1fe78a3f60
bump(carta-crm): e66d331c → f512df80 (#2127)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-01 17:49:39 -05:00
Mohamed Hegazy
267c4e6f06
fix(nvidia-skills): add missing source.sha (validator invariant I5)
The nvidia-skills entry was added in PR #2088 with:

  "source": {
    "source": "git-subdir",
    "url": "https://github.com/NVIDIA/skills.git",
    "path": "plugins/nvidia-skills",
    "ref": "main"
  }

It's missing the required `sha` field. The marketplace validator
enforces invariant I5 ("source.sha is missing or not a 40-char hex
SHA") on every git-subdir source — without it, the action fails:

  ##[error]invariant I5: nvidia-skills: source.sha is missing or not
  a 40-char hex SHA

This has been silently failing the "Validate Plugins" CI on every
PR that touches marketplace.json since #2088 merged on 2026-05-03.
Confirmed by checking the last 5 completed validate runs on main —
all 5 , including PR #2114 (security-guidance bump that you merged
earlier today). The validator failure was getting swallowed because
all the other PR-level checks (Check MCP URLs, Scan Plugins, Validate
Plugin Licenses) were passing, and humans were `gh pr merge --admin`-ing
through it.

Fix: add the sha field pinned to the current upstream HEAD of
github.com/NVIDIA/skills.git on the `main` branch.

  Resolved via: git ls-remote https://github.com/NVIDIA/skills.git refs/heads/main
  SHA:          62b685a20ac45285cafd1e22782abbed33172c17

This mirrors the shape of other git-subdir entries with both `ref`
and `sha` (e.g. 42crunch-api-security-testing pins ref="v1.5.5",
sha="b404d99a...", adobe-for-creativity pins ref="main", sha="8d74ee6b...").

Unblocks every in-flight PR that touches marketplace.json — including
PR #2154 (security-guidance venv-deepdive) which is currently
red-blocked on this.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-01 15:24:29 -07:00
github-actions[bot]
12b3721b22
bump(carta-cap-table): e66d331c → f512df80 (#2126)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-01 15:28:15 -05:00
github-actions[bot]
e11db042eb
bump(aws-serverless): 9d46cc0a → f16aaf2a (#2124)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-01 15:28:09 -05:00
github-actions[bot]
b92bc59595
bump(aws-amplify): 9d46cc0a → f16aaf2a (#2123)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-01 15:25:31 -05:00
Mohamed Hegazy
5adb5a2d26
Merge pull request #2114 from anthropics/bump-2-0-1-propagate-fixes
security-guidance: bump 2.0.0 → 2.0.1 to propagate 8 weeks-of-fixes to existing users
2026-06-01 10:30:17 -07:00
github-actions[bot]
a63dc11763
bump(atomic-agents): bb9708ec → 57d6099f (#2121)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-01 12:12:10 -05:00
github-actions[bot]
025f4d4477
bump(adobe-for-creativity): 0a015c06 → 8d74ee6b (#2119)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-01 11:12:45 -05:00
Bryan Thompson
e586a0fc00
Add nvidia-skills plugin (#2088) 2026-06-01 09:09:21 -07:00
Mohamed Hegazy
17b532f92e
security-guidance: bump 2.0.0 → 2.0.1 to propagate 8 weeks-of-fixes to the existing fleet
The 8 PRs we shipped since 2026-05-26 (#2076, #2077, #2078, #2086,
#2091, #2100, #2101, #2105) all changed plugin code without bumping
the version. CC's plugin updater uses string equality for the
freshness check (pluginOperations.ts:1835):

    const isUpToDate =
      installation.version === newVersion ||
      installation.installPath === versionedPath ||
      installation.installPath === zipPath
    if (isUpToDate) return { alreadyUpToDate: true }

Users who installed v2.0.0 anywhere between 2026-05-26 and 2026-05-31
have `installation.version === "2.0.0"` in their installed_plugins.json.
The marketplace also advertises "2.0.0" (until this commit), so
isUpToDate returns true and the plugin cache directory is never
refreshed — they keep running whatever 2.0.0 code was current on the
day they installed. The marketplace git pull happens; the per-user
cache install does NOT.

Empirical evidence: in BQ today (5/31) on Windows v2.0.0 fires,
**73% emit sdk_bootstrap outcome 4 (SKIP_WIN32)** — a code path
retired in PR #2055's Windows-enable fix. Those users are running a
plugin tree that pre-dates the fix, even though their telemetry
shows pv=20000.

The fix is a one-line version bump. Once the marketplace advertises
2.0.1, every CC autoupdate cycle sees installation.version (2.0.0)
!= newVersion (2.0.1), installs the new version, and the user's next
session loads the fixed code.

This PR:

1. plugins/security-guidance/.claude-plugin/plugin.json: 2.0.0 → 2.0.1
2. .claude-plugin/marketplace.json security-guidance entry: 2.0.0 → 2.0.1

What 2.0.1 carries (versus 2.0.0 as published 5/26):

  - #2076 — Graphite gt commit/push detection
  - #2077 — hookSpecificOutput.additionalContext on async-rewake exit-2
  - #2078 — CLAUDE_CONFIG_DIR support
  - #2086 — core.quotePath=false on diff feeders (Arabic/Hebrew/CJK paths)
  - #2091 — fix Bash(...|...) if-clause regression from #2076
  - #2100 — drop text=True from subprocess.run, bake PYTHONUTF8=1 (Windows non-cp1252 path crash)
  - #2101 — core.quotePath=false on GIT_CMD globally
  - #2105 — output_format → output_config.format API migration (#2098)

Verified locally:

  - plugin.json + marketplace.json both valid JSON.
  - _read_plugin_version_int() returns 20001 (was 20000).
  - Existing test suite passes — 408 tests, no regressions caused by
    the version bump itself. (29 unrelated failures are from
    test_telemetry_failure_signals.py which expects PR #2112's
    not-yet-merged code.)

Going forward: bumping `patch` on every functional PR closes this
gap entirely. Without that policy, every fix only reaches NEW
installs, never the existing fleet.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-31 12:10:16 -07:00
github-actions[bot]
7a0a7f486e
Bump 58 plugin SHA pin(s) to upstream HEAD (#2079)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-29 21:18:49 +00:00
Bryan Thompson
502de97746
Add vibe-prospecting plugin (#1997) 2026-05-28 15:30:04 -07:00
Bryan Thompson
06b6d5b96f
Refresh Convex plugin: rename to convex, bump SHA to v1.0.1, richer metadata (#1980)
* Refresh Convex plugin: rename to `convex`, bump SHA to v1.0.1, richer metadata

Picked up from sethconvex's PR #1966 (auto-closed by membership gate).
Original entry added by Tobin in PR #1918 (2026-05-18).

Changes to the Convex marketplace.json entry:

- **Rename slug** `convex-backend` → `convex` to match the single-brand-word
  convention used by every peer in the database/backend neighborhood
  (`supabase`, `firebase`, `mongodb`, `prisma`, `clickhouse`, `cockroachdb`,
  `cloud-sql-postgresql`, `alloydb`). New `displayName: "Convex"` keeps the
  directory UI label unchanged.

- **Bump SHA pin to `59663a5`** (plugin v1.0.1) — current HEAD of
  `get-convex/convex-backend-skill` `main`. New SHA adds:
  - `agents/convex-expert.md` — subagent encoding non-negotiable Convex code
    rules (object-form syntax, validator requirements, index naming,
    internal-vs-public, schema evolution, resource limits). Loaded only
    when delegated to.
  - `monitors/monitors.json` — runtime-error monitor streaming
    `npx convex logs`, surfacing matched errors as notifications. Self-guards
    on unlinked projects. `when: on-skill-invoke:design` so it only starts
    after the skill is invoked.
  - `.mcp.json` — auto-wires the Convex MCP server
    (`npx -y convex@latest mcp start`, local stdio).
  - Public-facing README (install / how-to-use / what's bundled / capabilities).
  - `paths` gate on the skill — `[convex/**, convex.json, package.json]` for
    auto-invocation precision.
  - `description` / `when_to_use` split on the skill frontmatter.

- **Refresh marketplace entry metadata** — `displayName`, `keywords` (15
  discovery tags), `author.url`, expanded `description`, category changed from
  `development` to `database` (matches every peer), `homepage` repointed at the
  plugin repo (matches the `supabase` pattern).

Verified locally:
- Author affiliation confirmed: `seth@convex.dev` commit email, write access
  to the canonical `get-convex/` org.
- `claude plugin validate`: PASS.
- Static audit: PASS @ 92 (manifest 96, security 93, quality 80, docs 100).
- MCP server is local stdio (`has_remote_mcp=false`) — passes the -official
  add-official Phase 2e gate.

Recommender skill changes from the original PR are split into a follow-up.

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

* Re-pin Convex to 5e59870 (post upstream fix merge)

Upstream PR get-convex/convex-backend-skill#1 merged 2026-05-23. The
agents-field array-shape fix now applies; claude plugin validate passes
on both the full plugin (with marketplace.json) and the isolated
plugin.json — including the external-validator gate this PR previously
failed on.

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

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 03:54:06 +01:00
github-actions[bot]
1109c43a9d
Bump 68 plugin SHA pin(s) to upstream HEAD (#2049)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-27 18:09:45 +01:00
Bryan Thompson
fd06e9957e
Bump carta-* SHA pins (3 plugins) to upstream HEAD (#2052) 2026-05-27 17:23:47 +01:00
Mohamed Hegazy
0bde168648
Update security-guidance plugin 2026-05-26 14:06:52 -07:00
Bryan Thompson
3449c10cd1
fix(UI5): Rename GitHub repository and bump SHAs (#1976)
Updates ui5 and ui5-typescript-conversion to the renamed upstream
repo UI5/plugins-coding-agents (formerly UI5/plugins-claude) and
bumps both SHA pins to current upstream main.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 10:48:25 -05:00
github-actions[bot]
1d5ba6426a
Bump 51 plugin SHA pin(s) to upstream HEAD (#1957)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-21 13:51:20 -07:00
Den Delimarsky
0a6ff87909
Add mcp-tunnels plugin
Adds the /create-docker-mcp-tunnel command, which drives the MCP tunnels
Docker Compose quickstart end to end: preflight checks, certificate
generation, proxy config, cloudflared, an optional sample FastMCP server,
and verification from Managed Agents and the Messages API.

Migrated from anthropic-experimental/mcp-tunnel-skills.

🏠 Remote-Dev: homespace
2026-05-21 05:24:44 +00:00
claude[bot]
d68033bd1a
Bump mercadopago to 63ff263c (v2 + PreToolUse hook gating) (#1949)
Bumps the mercadopago plugin pin from 1de8d97e to 63ff263c (latest main).

v2 replaces the mcp-launcher.sh keychain-read / npx -y mcp-remote
wrapper with a plain type:"http" MCP entry pointing at
https://mcp.mercadopago.com/mcp, and consolidates 13 skills into 4
orchestration skills. The pinned SHA also includes the May 19 fix
that gates the PreToolUse hook on project relevance so it no longer
runs on unrelated projects.

Description updated to match the partner's v2 self-description.

https://claude.ai/code/session_01KRC2Uv6UaFFdrt7sjn45yT

Co-authored-by: Claude <noreply@anthropic.com>
2026-05-20 22:47:38 +01:00
Bryan Thompson
ae21a93679
Bump snowflake-cortex-code to v3.1.0 (#1932) 2026-05-19 18:55:48 +01:00
Tobin South
6a05dc286d
Add 24 first-party plugins from major-brand orgs (#1919)
Promote first-party plugins from recognizable companies that publish
deep, actively-maintained Claude Code plugins from their official GitHub
orgs. All entries are SHA-pinned to current default-branch HEAD.

Development:
- apollo-skills (Apollo GraphQL): 14 GraphQL skills + Apollo MCP server
- appwrite (Appwrite): 11 SDK skills + 2 commands + dual MCP
- forge-skills (Atlassian): Forge scaffold/review/debug + 2 hosted MCPs
- buildkite (Buildkite): 6 CI/CD skills + hosted MCP
- circle-skills (Circle): 16 USDC/stablecoin dev skills + hosted MCP
- codspeed (CodSpeed): perf profiling skills + remote MCP
- dominodatalab (Domino Data Lab): 22 skills + 3 agents + bundled MCP
- lumen (Ory): local semantic code-search MCP + auto-index hooks
- mcp-apps (Model Context Protocol): MCP Apps SDK skills
- resend (Resend): email API/CLI/React Email skills + bundled MCP
- teamcity-cli (JetBrains): TeamCity CI/CD CLI agent skill
- togetherai-skills (Together AI): 12 inference/training/GPU skills

Database:
- clickhouse-best-practices (ClickHouse): 28 schema/query/ingestion rules
- datahub-skills (DataHub): 12 catalog/lineage/quality skills + 4 agents
- duckdb-skills (DuckDB): 9 file-query/docs/extension skills
- redis-development (Redis): data structures, query engine, vector search

Security:
- duende-skills (Duende): 22 OAuth/OIDC/IdentityServer skills + 2 agents
- workos (WorkOS): AuthKit/SSO/Directory Sync/RBAC router skill

Monitoring:
- rootly (Rootly): 18 incident-management skills + 3 agents + hosted MCP
- sentry-cli (Sentry): Sentry CLI agent skill

Design:
- hyperframes (HeyGen): 15 HTML-to-video framework skills
- runway-api (Runway): 17 video/image/audio generation skills

Productivity / Location:
- hunter (Hunter.io): 9 prospecting skills + remote MCP
- mapbox (Mapbox): 19 geospatial skills + 3 remote MCP servers

Source structure: 19 repo-root plugins (url source), 5 subdirectory
plugins (git-subdir source). All cross-referenced against existing
entries to avoid duplicates.

Two candidates excluded pending upstream fixes:
- launchdarkly: plugin.json has unrecognized 'logo' key (schema error)
- medusa-dev: skill has malformed YAML frontmatter
2026-05-19 08:20:20 -05:00
Tobin South
d42e163958
Bump 25 plugin SHA pins to upstream HEAD (huggingface–railway) (#1914)
* Bump 26 plugin SHA pins to upstream HEAD

* Revert mercadopago SHA bump

The new upstream SHA adds a PreToolUse hook that fires on every
Bash/Edit/Write/Read in all sessions and globally blocks reading .env
files, regardless of project relevance. The policy scan flags this as
out of scope for what the plugin description advertises. Leave at the
prior pin until the upstream gates the hook on project relevance.
2026-05-19 08:19:35 -05:00
Bryan Thompson
4bf08583c3
Add carta-crm and carta-investors plugins (#1877) 2026-05-19 05:04:40 +01:00
Tobin South
9f0275ae44
Add convex-backend plugin (#1918) 2026-05-18 16:56:50 -07:00
Tobin South
0b9a622ecb
Fix broken plugin source configs and bump their SHAs (#1915)
* Fix broken plugin source configs and bump their SHAs

Several external plugins had source configs that no longer matched the
upstream layout, so the automated SHA bump skipped them indefinitely.
Add the missing path field where the manifest moved into a subdirectory,
correct stale ref/commit metadata, and update the skills list for the
one strict:false skills-only entry.

- rc, revenuecat: upstream moved the plugin from repo root into
  revenuecat/. Add path and bump SHA.
- zilliz: plugin moved from repo root into plugins/zilliz/. Add path
  and bump SHA.
- sumup: plugin lives at providers/claude/plugin/ (declared by the
  upstream marketplace.json) but our entry never had a path. Add it
  and bump SHA.
- mintlify: pure SHA bump. Repo layout unchanged between SHAs; the
  upstream remains a marketplace-style repo with no plugin.json, same
  as the currently pinned SHA.
- netsuite-suitecloud (strict:false skills entry): bump SHA and add
  the four new skill directories upstream added since the last pin.
- 42crunch-api-security-testing: ref said v1.0.1 but the pinned SHA
  is actually v1.5.5. Correct the label; the SHA is already current.
- jfrog: commit and sha fields had drifted apart. Set both to
  upstream HEAD.

Each new SHA verified to be on the upstream default branch and the
referenced manifest validated with claude plugin validate.

* Revert mintlify and netsuite-suitecloud changes

The validate-plugins check requires a plugin manifest at the pinned SHA
even for strict:false entries. Neither repo has one at any SHA, so a
SHA bump fails CI. Leave them at the existing pin until either the
upstream adds a manifest or the validator learns to honor strict:false.
2026-05-18 23:33:38 +01:00
Tobin South
af4e1ad69e
Bump 21 plugin SHA pins to upstream HEAD (#1911) 2026-05-18 20:55:03 +01:00
Tobin South
de2bcc9411
Bump 27 plugin SHA pins to upstream HEAD (#1912) 2026-05-18 20:52:54 +01:00
github-actions[bot]
0c54d4ac15
Bump 20 plugin SHA pin(s) to upstream HEAD (#1904)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-18 18:52:12 +01:00
Bryan Thompson
61b760aafc
Add save-to-spotify plugin (#1905) 2026-05-18 08:59:59 -07:00
Bryan Thompson
f475d3ce58
Add zoominfo plugin (#1885) 2026-05-17 17:49:38 -07:00
Bryan Thompson
d7b273d2b4
Bump crowdstrike-falcon-foundry SHA to v1.0.0 (#1842)
Pins to the v1.0.0 tag (a6a500c) instead of pre-release HEAD (e7fa026).
2026-05-17 17:49:15 -07:00
Bryan Thompson
b5a156b6ec
Add carta-cap-table plugin (#1876) 2026-05-16 07:55:29 -05:00
Tobin South
32b176e6aa
Bump pagerduty plugin to latest upstream SHA (#1862)
Picks up v1.1.0: new /create-pagerduty-skill command (Early Access).
2026-05-16 07:55:14 -05:00
Bryan Thompson
d8e4105231
Bump vanta-mcp-plugin SHA to 345d86b5 (#1843) 2026-05-16 07:55:04 -05:00
Bryan Thompson
5dbfa0fade
Bump box plugin SHA and enumerate skills (#1845) 2026-05-15 23:54:38 +01:00
Twisha Bansal
1a2f18b05c
chore: modify data-agent-kit-starter-pack plugin details (#1826)
* chore: modify data-agent-kit-starter-pack plugin details

Updated the description and homepage of the data-agent-kit-starter-pack plugin, and changed the SHA.

* update sha for latest commit
2026-05-12 22:59:22 +01:00
Dickson Tsai
1cf022eba1
Fix servicenow-sdk ref: ServiceNow/sdk uses master, not main (#1830)
The ServiceNow/sdk repository's default branch is 'master' and there is
no 'main' branch. The pinned SHA (06adf37) is the current head of
'master'. Update the ref so future SHA bumps target the correct branch.
2026-05-12 18:05:45 +01:00
Tobin South
7f6f5a8836
Add airtable plugin (#1817)
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: Claude <noreply@anthropic.com>
2026-05-11 15:12:42 -05:00
Tobin South
6196a61bde
Add mercadopago plugin (#1813)
Mercado Pago full-product integration toolkit — 13 skills, agents, and a
bundled MCP for live API data. Sourced from
mercadopago/mercadopago-claude-marketplace at plugins/mercadopago, pinned
to 1de8d97e.

Closes #1272

https://claude.ai/code/session_01XCupEyAPLqxo2eHgVoWevi

Co-authored-by: Claude <noreply@anthropic.com>
2026-05-11 12:37:36 -05:00
Bryan Thompson
480a410cc0
Add sap-cds-mcp plugin + SAP SE author block on cds-mcp (#1778)
CAP CDS work as one cohesive unit, split out of #1616 to keep that PR
narrowly scoped to sap-hana-cli (which is currently held on an upstream
plugin.json fix).

- Adds new sap-cds-mcp entry alongside existing cds-mcp (additive,
  non-breaking — both point to cap-js/mcp-server). Pinned at 8ce2e13a.
- Adds the unified SAP SE author block to existing cds-mcp.

Per the SAP namespace policy agreed with SAP (Tobin 2026-04-29 +
Florian/Klaus/Avital 2026-05-04 email).
2026-05-11 17:54:50 +01:00
Bryan Thompson
0ed7932459
Align SAP author blocks on existing entries (#1779)
Metadata-only refresh per the SAP namespace policy (Florian/Klaus/Avital,
2026-05-04). No slug renames, no new entries.

- sap-mdk-server: expand author from {"name":"SAP"} to the unified
  SAP SE block with ospo@sap.com.
- ui5: add unified UI5 author block (openui5@sap.com per Florian's
  carve-out for the SAPUI5/OpenUI5 brand).
- ui5-typescript-conversion: same UI5 author block as ui5.

Split out of #1616 to keep that PR scoped to sap-hana-cli only.
2026-05-11 17:51:50 +01:00
Bryan Thompson
00679aef88
Add sap-fiori-mcp-server plugin (#1777)
MCP server for SAP Fiori development tools — build and modify SAP Fiori
applications with AI assistance. Pinned at d9d4ab7e (latest main of
SAP/open-ux-tools).
2026-05-09 21:40:06 +01:00
Tobin South
76b35e91d1
Tighten policy scan: hook scope, telemetry, disclosure; make blocking (#1771)
* Tighten policy scan: hook scope, telemetry, disclosure; make blocking

policy/prompt.md — adds Part 2 (hook scope and disclosure):
- Enumerate every registered hook and read its source.
- Flag has_broad_scope_hooks when UserPromptSubmit/PreToolUse/
  PostToolUse runs without a project-relevance gate, or any hook
  reads user data beyond the plugin's stated scope — regardless of
  whether it makes network calls.
- Flag has_undisclosed_telemetry when any hook or shipped code calls
  a non-MCP host without explicit disclosure + opt-out.
- Flag description_matches_behavior=false when the install
  description would not lead a reasonable user to expect the
  hooks/telemetry/data-access found.
- passes=false when any of the above trip. Violations must cite the
  specific hook/file and what the user wasn't told.

The bar is now "handles user data responsibly," not merely "isn't
malicious." A non-malicious plugin that observes more than its stated
purpose justifies will fail.

policy/schema.json — adds required hooks[], has_broad_scope_hooks,
has_undisclosed_telemetry, description_matches_behavior.

scan-plugins.yml:
- fail-on-findings: true (blocking — loosen later if FP rate too high)
- workflow_dispatch with scan_all input for full re-review of all
  external entries
- timeout-minutes: 360 (full scan of 117 entries at ~96s each ≈ 3h)
- trigger on .github/policy/** so prompt edits get scanned

* Bump vercel SHA to test the tightened scan against it
2026-05-07 17:34:32 -05:00
Bryan Thompson
ccd0c95a3d
Remove flint from marketplace (#1769) 2026-05-07 14:01:43 -07:00
Bryan Thompson
fcb236134f
Remove optibot from marketplace (#1768) 2026-05-07 14:01:05 -07:00
Bryan Thompson
7ce4a6fb53
Add clickhouse plugin (#1683)
* Add clickhouse plugin

* Pin clickhouse to SHA db1c108
2026-05-07 15:31:12 -05:00
Bryan Thompson
83cbef8d25
Add pigment plugin (#1684)
* Add pigment plugin

* Pin pigment to SHA 5bdf088
2026-05-07 15:31:06 -05:00