@shnitzel/plugscout 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +228 -0
- package/assets/cli/logo.txt +24 -0
- package/config/item-insights.json +316 -0
- package/config/providers.json +46 -0
- package/config/ranking-policy.json +14 -0
- package/config/recommendation-weights.json +7 -0
- package/config/registries.json +1423 -0
- package/config/security-policy.json +19 -0
- package/config/sources.json +30 -0
- package/data/catalog/items.json +182109 -0
- package/data/catalog/mcps.json +163843 -0
- package/data/catalog/skills.json +4768 -0
- package/data/catalog/sync-state.json +62 -0
- package/data/curated/mcps.json +78 -0
- package/data/curated/skills.json +174 -0
- package/data/quarantine/quarantined.json +3 -0
- package/data/raw/2024-05-15/mcps.json +20 -0
- package/data/raw/2024-05-20/skills.json +20 -0
- package/data/raw/2024-06-05/mcps.json +20 -0
- package/data/raw/2024-06-05/skills.json +29 -0
- package/data/security-reports/.gitkeep +0 -0
- package/data/security-reports/2026-02-06/report.json +8 -0
- package/data/security-reports/2026-02-10/report.json +9 -0
- package/data/security-reports/2026-02-11/report.json +9 -0
- package/data/security-reports/2026-02-12/report.json +9 -0
- package/data/security-reports/2026-02-13/report.json +8 -0
- package/data/security-reports/2026-02-14/report.json +8 -0
- package/data/security-reports/2026-02-23/report.json +8 -0
- package/data/security-reports/2026-02-25/report.json +8 -0
- package/data/security-reports/2026-02-26/report.json +8 -0
- package/data/security-reports/2026-03-10/report.json +8 -0
- package/data/security-reports/audits/.gitkeep +0 -0
- package/data/security-reports/audits/2026-02-06T10-17-33-872Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-06T10-17-33-881Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-10T20-22-24-474Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-10T20-22-24-483Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-10T20-42-12-305Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-10T20-42-12-319Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-10T20-43-15-728Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-10T20-43-15-738Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-10T21-22-14-047Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-10T21-22-14-051Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-10T21-29-59-237Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-10T21-29-59-243Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-11T20-21-51-074Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-11T20-21-51-123Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-11T20-28-33-021Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-11T20-28-33-026Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-11T20-34-43-623Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-11T20-34-43-625Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-11T21-06-33-281Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-11T21-06-33-285Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-11T21-08-58-836Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-11T21-08-58-843Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-12T12-26-07-150Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-12T12-26-07-159Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-12T14-37-36-565Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-12T14-37-36-569Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-12T14-47-32-103Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-12T14-47-32-213Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-12T14-47-47-769Z-mcp_filesystem.json +8 -0
- package/data/security-reports/audits/2026-02-12T15-05-49-085Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-12T15-05-49-087Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-12T16-37-42-204Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-12T16-37-42-243Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-12T16-47-16-589Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-12T16-47-16-596Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-12T17-38-24-899Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-12T17-38-24-905Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-12T17-56-00-835Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-12T17-56-00-840Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-12T18-19-26-005Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-12T18-19-26-008Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-12T18-34-38-642Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-12T18-34-38-645Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-13T05-44-27-648Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-13T05-44-27-656Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-13T05-48-50-827Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-13T05-48-50-900Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-13T10-53-33-850Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-13T10-53-33-853Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-14T17-51-27-279Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-14T17-51-27-282Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-14T19-43-39-991Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-14T19-43-39-997Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-23T19-24-43-515Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-23T19-24-43-518Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-25T14-45-02-763Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-25T14-45-02-778Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-25T14-46-58-957Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-25T14-46-58-960Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-25T14-57-37-133Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-25T14-57-37-139Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-25T15-03-23-507Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-25T15-03-23-513Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-25T15-03-41-157Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-25T15-03-41-162Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-25T15-05-18-042Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-25T15-05-18-048Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-25T15-39-08-519Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-25T15-39-08-526Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-25T18-35-54-463Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-25T18-35-54-466Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T05-52-21-092Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T05-52-21-093Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T05-52-27-076Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T05-52-27-079Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T05-52-27-084Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T05-52-27-086Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T05-52-37-249Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T05-52-37-258Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T05-52-37-259Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T05-52-37-274Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T05-53-28-389Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T05-53-28-391Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T05-53-33-868Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T05-53-33-880Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T05-53-33-892Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T05-53-33-900Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T05-53-43-064Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T05-53-43-066Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T05-53-43-068Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T14-55-47-466Z-claude-plugin_workspace-ops.json +8 -0
- package/data/security-reports/audits/2026-02-26T14-55-47-468Z-copilot-extension_repo-security.json +8 -0
- package/data/security-reports/audits/2026-02-26T16-55-59-431Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T16-55-59-432Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T16-55-59-435Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T16-55-59-439Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T16-56-08-566Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T16-56-08-570Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T16-56-08-589Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T16-56-08-591Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T16-56-47-356Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T16-56-47-358Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T16-56-53-607Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T16-56-53-612Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T16-56-53-624Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T16-56-53-628Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T16-57-09-879Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T16-57-09-881Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T16-57-10-846Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-02-26T16-57-10-848Z-mcp_remote-browser.json +8 -0
- package/data/security-reports/audits/2026-03-10T18-15-05-007Z-claude-plugin_playwright.json +8 -0
- package/data/security-reports/audits/2026-03-10T18-36-16-092Z-claude-plugin_playwright.json +8 -0
- package/data/whitelist/approved.json +5 -0
- package/dist/catalog/adapter.js +39 -0
- package/dist/catalog/adapters/claude-code-marketplace-v1.js +260 -0
- package/dist/catalog/adapters/claude-connectors-scrape-v1.js +107 -0
- package/dist/catalog/adapters/claude-plugins-scrape-v1.js +107 -0
- package/dist/catalog/adapters/claude-plugins-v0.1.js +48 -0
- package/dist/catalog/adapters/copilot-extensions-v0.1.js +48 -0
- package/dist/catalog/adapters/copilot-plugin-marketplace-v1.js +117 -0
- package/dist/catalog/adapters/mcp-registry-v0.1.js +211 -0
- package/dist/catalog/adapters/openai-skills-github-v1.js +100 -0
- package/dist/catalog/adapters/openai-skills-v1.js +48 -0
- package/dist/catalog/adapters/shared.js +94 -0
- package/dist/catalog/remote-registry.js +196 -0
- package/dist/catalog/repository.js +161 -0
- package/dist/catalog/sync-state.js +61 -0
- package/dist/catalog/sync.js +153 -0
- package/dist/cli.js +25 -0
- package/dist/commands/ExplainerVideo.js +225 -0
- package/dist/commands/ingest.js +11 -0
- package/dist/commands/validate-data.js +10 -0
- package/dist/config/runtime.js +51 -0
- package/dist/config/sources.js +21 -0
- package/dist/ingestion/mcps.js +77 -0
- package/dist/ingestion/skills.js +76 -0
- package/dist/install/dependencies.js +58 -0
- package/dist/install/review-state.js +70 -0
- package/dist/install/skillsh.js +245 -0
- package/dist/interfaces/cli/doctor.js +90 -0
- package/dist/interfaces/cli/formatters/colors.js +24 -0
- package/dist/interfaces/cli/formatters/csv.js +10 -0
- package/dist/interfaces/cli/formatters/json.js +3 -0
- package/dist/interfaces/cli/formatters/markdown.js +6 -0
- package/dist/interfaces/cli/formatters/table.js +82 -0
- package/dist/interfaces/cli/index.js +1277 -0
- package/dist/interfaces/cli/options.js +93 -0
- package/dist/interfaces/cli/output.js +9 -0
- package/dist/interfaces/cli/types.js +1 -0
- package/dist/interfaces/cli/ui/home.js +114 -0
- package/dist/interfaces/cli/ui/web-report.js +384 -0
- package/dist/interfaces/cli/update-check.js +180 -0
- package/dist/lib/json.js +11 -0
- package/dist/lib/logger.js +13 -0
- package/dist/lib/paths.js +18 -0
- package/dist/lib/validation/contracts.js +245 -0
- package/dist/mcps/normalize.js +38 -0
- package/dist/models/records.js +31 -0
- package/dist/recommendation/engine.js +135 -0
- package/dist/recommendation/project-analysis.js +231 -0
- package/dist/recommendation/requirements.js +58 -0
- package/dist/security/assessment.js +56 -0
- package/dist/security/whitelist.js +70 -0
- package/dist/skills/normalize.js +39 -0
- package/dist/validation/curated.js +72 -0
- package/dist/video/Root.js +6 -0
- package/dist/video/index.js +3 -0
- package/package.json +102 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Amit Rintzler
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
<h1 align="center">PlugScout</h1>
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="https://github.com/amitrintzler/skills-and-mcps/releases/latest"><img alt="Release" src="https://img.shields.io/github/v/release/amitrintzler/skills-and-mcps?display_name=tag&label=release" /></a>
|
|
5
|
+
<a href="https://github.com/amitrintzler/skills-and-mcps/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/amitrintzler/skills-and-mcps/actions/workflows/ci.yml/badge.svg?branch=main" /></a>
|
|
6
|
+
<a href="https://nodejs.org/"><img alt="Node >=18.17" src="https://img.shields.io/badge/node-%3E%3D18.17-339933?logo=node.js&logoColor=white" /></a>
|
|
7
|
+
<a href="https://www.linkedin.com/in/amit-rintzler-94444535/"><img alt="LinkedIn Amit Rintzler" src="https://img.shields.io/badge/LinkedIn-Amit%20Rintzler-0A66C2?logo=linkedin&logoColor=white" /></a>
|
|
8
|
+
</p>
|
|
9
|
+
|
|
10
|
+
<p align="center">
|
|
11
|
+
<a href="https://github.com/amitrintzler/skills-and-mcps/actions/workflows/daily-security.yml"><img alt="Daily Security" src="https://github.com/amitrintzler/skills-and-mcps/actions/workflows/daily-security.yml/badge.svg?branch=main" /></a>
|
|
12
|
+
<a href="https://github.com/amitrintzler/skills-and-mcps/actions/workflows/security-codeql.yml"><img alt="Security / CodeQL" src="https://github.com/amitrintzler/skills-and-mcps/actions/workflows/security-codeql.yml/badge.svg?branch=main" /></a>
|
|
13
|
+
<a href="https://github.com/amitrintzler/skills-and-mcps/actions/workflows/security-dependency-review.yml"><img alt="Dependency Review (PR)" src="https://img.shields.io/badge/dependency%20review-PR%20only-2563eb" /></a>
|
|
14
|
+
<a href="https://github.com/amitrintzler/skills-and-mcps/actions/workflows/security-secrets.yml"><img alt="Secrets Scan" src="https://img.shields.io/badge/secrets-gitleaks-ef4444" /></a>
|
|
15
|
+
<a href="https://github.com/amitrintzler/skills-and-mcps/actions/workflows/security-sbom-trivy.yml"><img alt="SBOM + Trivy" src="https://img.shields.io/badge/SBOM%20%2B%20Trivy-enabled-0ea5e9" /></a>
|
|
16
|
+
<a href="https://github.com/amitrintzler/skills-and-mcps/actions/workflows/catalog-sync.yml"><img alt="Catalog Sync (Scheduled)" src="https://img.shields.io/badge/catalog%20sync-scheduled-0ea5e9" /></a>
|
|
17
|
+
</p>
|
|
18
|
+
|
|
19
|
+
PlugScout helps teams discover, score, and safely install Claude plugins, Claude connectors, Copilot extensions, Skills, and MCP servers with policy-aware risk controls.
|
|
20
|
+
|
|
21
|
+
Written by Amit Rintzler.
|
|
22
|
+
|
|
23
|
+
License: MIT. Copyright (c) 2026 Amit Rintzler. Reuse is allowed, but redistributed copies must keep the copyright and license notice.
|
|
24
|
+
|
|
25
|
+
Quick links:
|
|
26
|
+
- [Install](#install-plugscout-v020)
|
|
27
|
+
- [Quick Start](#quick-start-2-minute-path)
|
|
28
|
+
- [Core Commands](#core-commands)
|
|
29
|
+
- [Safety Model](#safety-model)
|
|
30
|
+
- [Docs](#where-to-go-next)
|
|
31
|
+
|
|
32
|
+
## What is PlugScout?
|
|
33
|
+
|
|
34
|
+
PlugScout is a Node.js CLI that unifies multiple AI tooling ecosystems into one searchable catalog and applies trust/risk policy before installation.
|
|
35
|
+
|
|
36
|
+
You can:
|
|
37
|
+
- Discover Claude plugins, Claude connectors, Copilot extensions, Skills, and MCP servers from one place.
|
|
38
|
+
- Score candidates using trust-first ranking.
|
|
39
|
+
- Enforce install gates using whitelist + quarantine policy.
|
|
40
|
+
- Run continuous checks in CI and scheduled workflows.
|
|
41
|
+
|
|
42
|
+
## Who this is for
|
|
43
|
+
|
|
44
|
+
- Teams managing AI tooling catalogs across providers.
|
|
45
|
+
- Developers who want safe recommendations for a specific repository.
|
|
46
|
+
- Maintainers responsible for whitelist/quarantine governance.
|
|
47
|
+
|
|
48
|
+
## Prerequisites
|
|
49
|
+
|
|
50
|
+
- Node.js `>=18.17`
|
|
51
|
+
- npm
|
|
52
|
+
- `skills` CLI or `npx` for modern skill installs
|
|
53
|
+
- `skill.sh` is optional and only needed for some legacy `skill.sh`-style installs
|
|
54
|
+
|
|
55
|
+
## Install PlugScout (v0.3.1)
|
|
56
|
+
|
|
57
|
+
**Global install (recommended):**
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npm install -g plugscout
|
|
61
|
+
plugscout setup
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
`plugscout setup` is a single command that installs prerequisites, writes default config, and syncs all catalogs. No extra steps needed.
|
|
65
|
+
|
|
66
|
+
**From source:**
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
git clone https://github.com/amitrintzler/skills-and-mcps.git plugscout
|
|
70
|
+
cd plugscout
|
|
71
|
+
git checkout v0.3.1
|
|
72
|
+
npm install
|
|
73
|
+
npm run setup
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Install newest release tag instead of pinning `v0.3.1`:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
git checkout $(git describe --tags --abbrev=0)
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Quick Start (2-minute path)
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
npm install -g plugscout
|
|
86
|
+
plugscout setup
|
|
87
|
+
plugscout scan --project . --format table
|
|
88
|
+
plugscout recommend --project . --only-safe --sort trust --limit 10
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Or from source:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
npm install && npm run setup
|
|
95
|
+
npm run scan -- --project . --format table
|
|
96
|
+
npm run recommend -- --project . --only-safe --sort trust --limit 10 --details
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Run `plugscout` with no args to open the home screen.
|
|
100
|
+
|
|
101
|
+
Important: `top` and `recommend` are repo-aware rankings, not global popularity charts. A higher score means a better match for the current repository under the active policy, using `fit + trust + freshness - security - blocked`. Review each suggestion before installing, and do not install blindly from rank alone.
|
|
102
|
+
|
|
103
|
+
Installs are now review-gated: run `show --id <catalog-id>` or `assess --id <catalog-id>` before `install`. Use `--override-review` only when you intentionally want to bypass that safeguard.
|
|
104
|
+
|
|
105
|
+
For supported legacy MCP entries, PlugScout now prefers direct installers when the target is unambiguous:
|
|
106
|
+
- npm package targets install through `npm install -g`
|
|
107
|
+
- container targets install through `docker pull`
|
|
108
|
+
- ambiguous or binary-asset installs remain explicit/manual
|
|
109
|
+
|
|
110
|
+
PlugScout also performs a daily interactive update check against GitHub Releases and prints a download hint when a newer release is available.
|
|
111
|
+
|
|
112
|
+
Video preview/render commands are optional maintainer tooling. They are kept in `devDependencies` and are not required to install or run the CLI package.
|
|
113
|
+
|
|
114
|
+
## Typical Workflow
|
|
115
|
+
|
|
116
|
+
Use this lifecycle for day-to-day operation:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
npm run sync
|
|
120
|
+
npm run scan -- --project . --format table
|
|
121
|
+
npm run top -- --project . --limit 5
|
|
122
|
+
npm run recommend -- --project . --only-safe --sort trust --limit 10 --explain-scan
|
|
123
|
+
npm run assess -- --id mcp:filesystem
|
|
124
|
+
npm run install:item -- --id mcp:filesystem --yes
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Expected output shape (trimmed):
|
|
128
|
+
|
|
129
|
+
```text
|
|
130
|
+
ID TYPE PROVIDER RISK BLOCKED
|
|
131
|
+
copilot-extension:actions-... copilot-extension github low(0) false
|
|
132
|
+
claude-plugin:repo-threat-... claude-plugin anthropic low(0) false
|
|
133
|
+
skill:ci-hardening skill openai low(0) false
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Core Commands
|
|
137
|
+
|
|
138
|
+
| Command | Purpose |
|
|
139
|
+
| --- | --- |
|
|
140
|
+
| `npm run setup` | **One-step setup**: install prerequisites + init config + sync catalogs |
|
|
141
|
+
| `npm run about` | Show version and framework scope |
|
|
142
|
+
| `npm run init` | Create project defaults and setup local config (interactive) |
|
|
143
|
+
| `npm run doctor -- --install-deps` | Validate runtime prerequisites and bootstrap the `skills` CLI when missing |
|
|
144
|
+
| `npm run sync` | Refresh catalog data from configured registries |
|
|
145
|
+
| `npm run scan -- --project . --format table` | Analyze repository capabilities/archetype |
|
|
146
|
+
| `npm run top -- --project . --limit 5` | Show top-ranked items for the current context |
|
|
147
|
+
| `npm run top -- --project . --limit 5 --details` | Explain rank math, trust/risk interpretation, and install hint per item |
|
|
148
|
+
| `npm run recommend -- --project . --only-safe --sort trust --limit 10` | Generate policy-aware recommendations |
|
|
149
|
+
| `npm run recommend -- --project . --only-safe --sort trust --limit 10 --details` | Include per-item acceptance evidence (provenance, reasons, tradeoffs) |
|
|
150
|
+
| `npm run assess -- --id <catalog-id>` | Evaluate risk for one candidate before install |
|
|
151
|
+
| `npm run install:item -- --id <catalog-id> --yes --install-deps` | Install a candidate if policy allows and bootstrap supported install deps when requested |
|
|
152
|
+
| `npm run status -- --verbose` | Report catalog health, staleness, and policy status |
|
|
153
|
+
| `node dist/cli.js web --open` | Generate readable HTML report with score legend and decision cards |
|
|
154
|
+
|
|
155
|
+
Packaged CLI-only commands:
|
|
156
|
+
|
|
157
|
+
- `plugscout setup` (**first-time setup**: prerequisites + config + sync in one step)
|
|
158
|
+
- `plugscout` (home screen)
|
|
159
|
+
- `plugscout upgrade check`
|
|
160
|
+
- `plugscout web --open` (readable browser report)
|
|
161
|
+
- `plugscout <command> --no-update-check` (skip daily auto-check for the current run)
|
|
162
|
+
|
|
163
|
+
Full command reference: [`docs/cli-reference.md`](docs/cli-reference.md)
|
|
164
|
+
|
|
165
|
+
## Safety Model
|
|
166
|
+
|
|
167
|
+
PlugScout blocks high-risk and critical installs by default.
|
|
168
|
+
|
|
169
|
+
| Tier | Score | Default install policy |
|
|
170
|
+
| --- | --- | --- |
|
|
171
|
+
| low | 0-24 | allow |
|
|
172
|
+
| medium | 25-49 | allow with warning |
|
|
173
|
+
| high | 50-74 | block |
|
|
174
|
+
| critical | 75-100 | block |
|
|
175
|
+
|
|
176
|
+
Risk score meaning:
|
|
177
|
+
- `0` is lowest observed risk signal.
|
|
178
|
+
- `100` is highest risk signal.
|
|
179
|
+
- Higher score means higher risk and stronger install gating.
|
|
180
|
+
|
|
181
|
+
Whitelist and quarantine state are enforced in recommendation and install flows, and can be continuously maintained with daily verification/quarantine automation.
|
|
182
|
+
|
|
183
|
+
Security deep-dive: [`docs/security/README.md`](docs/security/README.md)
|
|
184
|
+
|
|
185
|
+
## Plugin and Connector Catalog Sources
|
|
186
|
+
|
|
187
|
+
- Claude plugins: `https://claude.com/plugins` (scraped with sanitization + host allowlist guards)
|
|
188
|
+
- Claude connectors: `https://claude.com/connectors` (scraped with sanitization + host allowlist guards)
|
|
189
|
+
- Anthropic GitHub plugin manifests: `anthropics/claude-plugins-official`, `anthropics/knowledge-work-plugins`, `anthropics/financial-services-plugins`
|
|
190
|
+
- GitHub skills marketplaces: `numman-ali/n-skills`, `mhattingpete/claude-skills-marketplace`, `neondatabase-labs/ai-rules`
|
|
191
|
+
- GitHub Claude Code plugin marketplaces: `docker/claude-plugins`, `pleaseai/claude-code-plugins`
|
|
192
|
+
- Copilot plugins (official): `https://raw.githubusercontent.com/github/copilot-plugins/main/.github/plugin/marketplace.json`
|
|
193
|
+
- Copilot plugins (curated): `https://raw.githubusercontent.com/github/awesome-copilot/main/.github/plugin/marketplace.json`
|
|
194
|
+
|
|
195
|
+
Legacy endpoints returning `404` are not used for sync anymore:
|
|
196
|
+
|
|
197
|
+
- `https://api.anthropic.com/v1/plugins/catalog`
|
|
198
|
+
- `https://api.github.com/copilot/extensions/catalog`
|
|
199
|
+
|
|
200
|
+
## Where To Go Next
|
|
201
|
+
|
|
202
|
+
- Architecture: [`docs/architecture.md`](docs/architecture.md)
|
|
203
|
+
- CLI Reference: [`docs/cli-reference.md`](docs/cli-reference.md)
|
|
204
|
+
- Security: [`docs/security/README.md`](docs/security/README.md)
|
|
205
|
+
- CI Quarantine Automation: [`docs/ci/daily-quarantine.md`](docs/ci/daily-quarantine.md)
|
|
206
|
+
- End-to-End Use Cases: [`docs/use-cases.md`](docs/use-cases.md)
|
|
207
|
+
- Configuration and Data Reference: [`docs/reference.md`](docs/reference.md)
|
|
208
|
+
- Functionality Validation Matrix: [`docs/validation-functionality.md`](docs/validation-functionality.md)
|
|
209
|
+
|
|
210
|
+
## Contributing
|
|
211
|
+
|
|
212
|
+
- Follow repository standards in [`AGENTS.md`](AGENTS.md).
|
|
213
|
+
- Run checks before opening a PR:
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
npm run lint
|
|
217
|
+
npm run test
|
|
218
|
+
npm run build
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
## Support
|
|
222
|
+
|
|
223
|
+
- Open an issue in the repository for bugs or feature requests.
|
|
224
|
+
- Include command, input, and output snippets when reporting failures.
|
|
225
|
+
|
|
226
|
+
## License
|
|
227
|
+
|
|
228
|
+
This repository does not yet include a root `LICENSE` file. Choose and add one before publishing for third-party reuse.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
.-----------------------------------------.
|
|
2
|
+
| Scouting plugins so you don't have to. |
|
|
3
|
+
'-----------------------------------------'
|
|
4
|
+
\/
|
|
5
|
+
___________
|
|
6
|
+
_/ ★ ☆ ★ \_
|
|
7
|
+
/_______________\
|
|
8
|
+
|_________________|
|
|
9
|
+
| (◉) (◉) |
|
|
10
|
+
| ∧ |
|
|
11
|
+
| '~~~~~~~' |
|
|
12
|
+
|_________________|
|
|
13
|
+
_/| [ * ] |\_
|
|
14
|
+
/ |_______________| \
|
|
15
|
+
| |
|
|
16
|
+
_| |_
|
|
17
|
+
(_) (_)
|
|
18
|
+
██████╗ ██╗ ██╗ ██╗ ██████╗ ███████╗ ██████╗ ██████╗ ██╗ ██╗████████╗
|
|
19
|
+
██╔══██╗██║ ██║ ██║██╔════╝ ██╔════╝██╔════╝██╔═══██╗██║ ██║╚══██╔══╝
|
|
20
|
+
██████╔╝██║ ██║ ██║██║ ███╗███████╗██║ ██║ ██║██║ ██║ ██║
|
|
21
|
+
██╔═══╝ ██║ ██║ ██║██║ ██║╚════██║██║ ██║ ██║██║ ██║ ██║
|
|
22
|
+
██║ ███████╗╚██████╔╝╚██████╔╝███████║╚██████╗╚██████╔╝╚██████╔╝ ██║
|
|
23
|
+
╚═╝ ╚══════╝ ╚═════╝ ╚═════╝ ╚══════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝
|
|
24
|
+
{{version}} · maintained by {{author}}
|
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
{
|
|
2
|
+
"insights": [
|
|
3
|
+
{
|
|
4
|
+
"id": "skill:secure-prompting",
|
|
5
|
+
"benefitSummary": "Reduces prompt-injection and unsafe output risk in agent workflows.",
|
|
6
|
+
"bestFor": ["Agent apps", "Security-focused AI features", "LLM integrations"],
|
|
7
|
+
"whenToUse": ["Before shipping prompt-driven features", "When adding external context/tool calls"],
|
|
8
|
+
"tradeoffs": ["Adds stricter prompts and validation steps", "Can reduce response flexibility"],
|
|
9
|
+
"usageNotes": ["Pair with strict security posture", "Use with risk assessment before install in CI"]
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"id": "skill:ci-hardening",
|
|
13
|
+
"benefitSummary": "Raises CI trust by enforcing least-privilege, deterministic builds, and stronger scan gates.",
|
|
14
|
+
"bestFor": ["Repositories with GitHub Actions", "Teams with compliance requirements"],
|
|
15
|
+
"whenToUse": ["When PR checks are unstable", "Before open-source release"],
|
|
16
|
+
"tradeoffs": ["More strict checks can initially fail often", "Requires policy tuning"],
|
|
17
|
+
"usageNotes": ["Start in warn mode for new policies, then move to blocking"]
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"id": "skill:threat-modeling-lite",
|
|
21
|
+
"benefitSummary": "Finds critical security gaps early with fast, repeatable threat-model templates.",
|
|
22
|
+
"bestFor": ["Security reviews", "Architecture changes", "New attack surface"],
|
|
23
|
+
"whenToUse": ["Before major releases", "When adding auth/network features"],
|
|
24
|
+
"tradeoffs": ["Requires reviewer time", "Needs periodic updates as architecture changes"],
|
|
25
|
+
"usageNotes": ["Attach output to PRs for audit traceability"]
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"id": "skill:release-readiness",
|
|
29
|
+
"benefitSummary": "Improves release quality with structured gates for versioning, changelog, and test health.",
|
|
30
|
+
"bestFor": ["Semver-managed projects", "Teams with frequent releases"],
|
|
31
|
+
"whenToUse": ["Before tagging release", "During RC validation"],
|
|
32
|
+
"tradeoffs": ["Adds process overhead", "Can block rushed releases"],
|
|
33
|
+
"usageNotes": ["Combine with CI build + test + audit checks"]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"id": "skill:docs-automation",
|
|
37
|
+
"benefitSummary": "Keeps technical docs aligned with code and CLI behavior with lower manual effort.",
|
|
38
|
+
"bestFor": ["CLI frameworks", "Security workflow docs", "Onboarding guides"],
|
|
39
|
+
"whenToUse": ["After command changes", "Before publish"],
|
|
40
|
+
"tradeoffs": ["Generated docs still need human review", "Can drift if not run regularly"],
|
|
41
|
+
"usageNotes": ["Run from CI for consistent docs freshness"]
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"id": "skill:fast-web-scrape",
|
|
45
|
+
"benefitSummary": "Accelerates bulk web extraction tasks for catalog enrichment and monitoring.",
|
|
46
|
+
"bestFor": ["Data gathering", "Market catalog snapshots"],
|
|
47
|
+
"whenToUse": ["When ingestion sources are fragmented", "For non-official optional feeds"],
|
|
48
|
+
"tradeoffs": ["Higher legal/compliance risk", "Potential anti-bot breakage"],
|
|
49
|
+
"usageNotes": ["Use only where source terms allow scraping"]
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"id": "skill:docker-container-ops",
|
|
53
|
+
"benefitSummary": "Improves container build reliability, image hygiene, and local-to-CI consistency.",
|
|
54
|
+
"bestFor": ["Containerized services", "CI pipelines", "Developer platform teams"],
|
|
55
|
+
"whenToUse": ["When Dockerfiles grow complex", "When image size or startup time matters"],
|
|
56
|
+
"tradeoffs": ["Can require base image and workflow changes", "Hardening may slow builds initially"],
|
|
57
|
+
"usageNotes": ["Use with dependency scanning and least-privilege container defaults"]
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"id": "skill:kubernetes-ops",
|
|
61
|
+
"benefitSummary": "Reduces rollout risk by improving Kubernetes config review, debugging, and operational safety.",
|
|
62
|
+
"bestFor": ["Platform teams", "Multi-service deployments", "Container orchestration"],
|
|
63
|
+
"whenToUse": ["When manifests or Helm charts change", "When incidents involve rollout or networking issues"],
|
|
64
|
+
"tradeoffs": ["Cluster behavior can vary by environment", "Requires strong config discipline"],
|
|
65
|
+
"usageNotes": ["Pair with policy checks and progressive delivery where possible"]
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"id": "skill:terraform-guardrails",
|
|
69
|
+
"benefitSummary": "Adds safer infrastructure changes with plan review, policy checks, and drift-aware workflows.",
|
|
70
|
+
"bestFor": ["Infrastructure as code", "Multi-environment cloud estates", "Platform governance"],
|
|
71
|
+
"whenToUse": ["Before apply", "During IAM/networking changes", "When reviewing drift-prone stacks"],
|
|
72
|
+
"tradeoffs": ["More checks can slow urgent changes", "Requires shared policy conventions"],
|
|
73
|
+
"usageNotes": ["Use with separate plan/apply stages and reviewed state backends"]
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"id": "skill:aws-platform-ops",
|
|
77
|
+
"benefitSummary": "Speeds AWS delivery and troubleshooting across IAM, networking, compute, and serverless workflows.",
|
|
78
|
+
"bestFor": ["AWS-heavy teams", "Application platforms", "Cloud operations"],
|
|
79
|
+
"whenToUse": ["When launching new workloads", "When debugging permissions, scaling, or runtime issues"],
|
|
80
|
+
"tradeoffs": ["AWS service sprawl can increase context load", "Environment parity matters"],
|
|
81
|
+
"usageNotes": ["Keep environment-specific settings explicit and review IAM changes carefully"]
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"id": "skill:postgres-ops",
|
|
85
|
+
"benefitSummary": "Improves database reliability through better query analysis, migration review, and indexing decisions.",
|
|
86
|
+
"bestFor": ["Transactional backends", "Data-heavy apps", "Teams running PostgreSQL in production"],
|
|
87
|
+
"whenToUse": ["When queries regress", "Before schema migrations", "When latency or lock contention rises"],
|
|
88
|
+
"tradeoffs": ["Tuning can require production-specific context", "Indexing choices can increase write cost"],
|
|
89
|
+
"usageNotes": ["Validate with explain plans and staged migration rollouts"]
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"id": "skill:observability-incident-response",
|
|
93
|
+
"benefitSummary": "Shortens time-to-understanding during incidents by correlating logs, metrics, traces, and timelines.",
|
|
94
|
+
"bestFor": ["On-call teams", "SRE/platform groups", "Production services with telemetry"],
|
|
95
|
+
"whenToUse": ["During incidents", "For noisy regressions", "Before writing postmortems"],
|
|
96
|
+
"tradeoffs": ["Signal quality depends on telemetry coverage", "Too many dashboards can slow triage"],
|
|
97
|
+
"usageNotes": ["Prefer a small set of trusted dashboards and preserve incident notes as you investigate"]
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"id": "mcp:filesystem",
|
|
101
|
+
"benefitSummary": "Safe local file operations for analysis, diffing, and controlled write workflows.",
|
|
102
|
+
"bestFor": ["Local development", "Refactor support", "Repository maintenance"],
|
|
103
|
+
"whenToUse": ["When tool needs workspace file access"],
|
|
104
|
+
"tradeoffs": ["Needs strict path controls", "Write access can be dangerous without guardrails"],
|
|
105
|
+
"usageNotes": ["Prefer read-first policies in sensitive repos"]
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"id": "mcp:github-actions-auditor",
|
|
109
|
+
"benefitSummary": "Detects insecure workflow patterns and permission issues before they reach production.",
|
|
110
|
+
"bestFor": ["GitHub Actions-heavy repos", "Security hardening efforts"],
|
|
111
|
+
"whenToUse": ["After workflow edits", "During security reviews"],
|
|
112
|
+
"tradeoffs": ["Can produce noisy findings initially", "Needs suppression policy"],
|
|
113
|
+
"usageNotes": ["Pair with CodeQL + dependency review checks"]
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"id": "mcp:dependency-intel",
|
|
117
|
+
"benefitSummary": "Adds actionable dependency risk context and upgrade paths for faster remediation.",
|
|
118
|
+
"bestFor": ["Node/Python ecosystems", "SBOM-driven programs"],
|
|
119
|
+
"whenToUse": ["When audit reports are frequent", "Before release cut"],
|
|
120
|
+
"tradeoffs": ["Requires periodic feed updates", "May recommend breaking upgrades"],
|
|
121
|
+
"usageNotes": ["Use with allowlist policy and risk tiers"]
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"id": "mcp:policy-as-code",
|
|
125
|
+
"benefitSummary": "Enforces repeatable policy decisions across CI/CD and repo configuration.",
|
|
126
|
+
"bestFor": ["Governance teams", "High-compliance projects"],
|
|
127
|
+
"whenToUse": ["When manual review is inconsistent", "Before scaling contributor base"],
|
|
128
|
+
"tradeoffs": ["Policy authoring takes time", "Overly strict policies can reduce velocity"],
|
|
129
|
+
"usageNotes": ["Start with visibility mode then enforce"]
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"id": "mcp:release-governance",
|
|
133
|
+
"benefitSummary": "Prevents weak releases by validating versioning, gates, and readiness evidence.",
|
|
134
|
+
"bestFor": ["Package publishers", "Teams with release SLAs"],
|
|
135
|
+
"whenToUse": ["Pre-release checklist", "Hotfix validation"],
|
|
136
|
+
"tradeoffs": ["Introduces extra release checks", "Needs agreement on policy thresholds"],
|
|
137
|
+
"usageNotes": ["Integrate with changelog + semver automation"]
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"id": "mcp:repo-observability",
|
|
141
|
+
"benefitSummary": "Tracks quality/security trends so regressions are visible early.",
|
|
142
|
+
"bestFor": ["Long-lived repos", "Cross-team platform ownership"],
|
|
143
|
+
"whenToUse": ["Weekly health reviews", "Incident follow-ups"],
|
|
144
|
+
"tradeoffs": ["Needs baseline metrics", "Can add dashboard noise"],
|
|
145
|
+
"usageNotes": ["Focus on a small set of KPIs first"]
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"id": "mcp:remote-browser",
|
|
149
|
+
"benefitSummary": "Enables browser automation workflows for dynamic UIs and end-to-end checks.",
|
|
150
|
+
"bestFor": ["UI validation", "Synthetic user flows"],
|
|
151
|
+
"whenToUse": ["When APIs are insufficient for validation"],
|
|
152
|
+
"tradeoffs": ["Higher security exposure via remote control", "More flaky than API-level tests"],
|
|
153
|
+
"usageNotes": ["Currently high-risk in this policy setup; requires explicit override"]
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"id": "mcp:io.github.github/github-mcp-server",
|
|
157
|
+
"benefitSummary": "Brings first-party GitHub repository, issue, and PR workflows directly into agent tooling.",
|
|
158
|
+
"bestFor": ["GitHub-centric teams", "Code review workflows", "Repository automation"],
|
|
159
|
+
"whenToUse": ["When triaging issues or PRs", "When automating repository maintenance"],
|
|
160
|
+
"tradeoffs": ["Requires careful token scoping", "Can create noisy automation if overused"],
|
|
161
|
+
"usageNotes": ["Prefer least-privilege GitHub auth and explicit write approvals"]
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"id": "mcp:io.github.grafana/mcp-grafana",
|
|
165
|
+
"benefitSummary": "Makes dashboards, metrics, and incident context queryable from the same workflow as code changes.",
|
|
166
|
+
"bestFor": ["SRE teams", "On-call engineers", "Platform observability workflows"],
|
|
167
|
+
"whenToUse": ["During incident triage", "When validating production impact of a change"],
|
|
168
|
+
"tradeoffs": ["Signal quality depends on dashboard hygiene", "Access control must match production sensitivity"],
|
|
169
|
+
"usageNotes": ["Use with a small set of trusted dashboards and alert entry points"]
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"id": "mcp:io.github.browserbase/mcp-server-browserbase",
|
|
173
|
+
"benefitSummary": "Adds reliable cloud browser automation for login-heavy or dynamic product flows.",
|
|
174
|
+
"bestFor": ["QA automation", "Customer workflow validation", "Browser-based data collection"],
|
|
175
|
+
"whenToUse": ["When APIs are insufficient", "When reproducing browser-only failures"],
|
|
176
|
+
"tradeoffs": ["Browser automation is slower and costlier than API checks", "Needs secret handling discipline"],
|
|
177
|
+
"usageNotes": ["Use for high-value user flows, not every validation path"]
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"id": "mcp:com.cloudflare.mcp/mcp",
|
|
181
|
+
"benefitSummary": "Connects code changes to Cloudflare deployment, routing, storage, and edge configuration workflows.",
|
|
182
|
+
"bestFor": ["Edge apps", "Workers deployments", "Platform teams using Cloudflare"],
|
|
183
|
+
"whenToUse": ["When debugging edge behavior", "When rolling out infra or platform changes"],
|
|
184
|
+
"tradeoffs": ["Environment drift can hide configuration mistakes", "Write access should be tightly scoped"],
|
|
185
|
+
"usageNotes": ["Pair with explicit environment targeting and change review"]
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"id": "mcp:io.github.upstash/context7",
|
|
189
|
+
"benefitSummary": "Supplies up-to-date technical documentation context without depending on stale model memory.",
|
|
190
|
+
"bestFor": ["Library-heavy projects", "Framework migrations", "Agent-assisted coding"],
|
|
191
|
+
"whenToUse": ["When working across fast-moving libraries", "When docs accuracy matters more than speed"],
|
|
192
|
+
"tradeoffs": ["Adds a docs lookup hop", "Coverage depends on upstream indexing"],
|
|
193
|
+
"usageNotes": ["Prefer it for framework and SDK questions before relying on memory"]
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"id": "claude-plugin:workspace-ops",
|
|
197
|
+
"benefitSummary": "Speeds internal operations by letting teams query docs/tasks from Claude.",
|
|
198
|
+
"bestFor": ["Knowledge-heavy orgs", "Ops workflows"],
|
|
199
|
+
"whenToUse": ["For internal support and coordination"],
|
|
200
|
+
"tradeoffs": ["Depends on source system quality", "Access control must be verified"],
|
|
201
|
+
"usageNotes": ["Scope permissions to least privilege"]
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"id": "claude-plugin:repo-threat-review",
|
|
205
|
+
"benefitSummary": "Improves PR security review quality with threat-oriented feedback loops.",
|
|
206
|
+
"bestFor": ["Security-conscious engineering teams", "Critical repos"],
|
|
207
|
+
"whenToUse": ["On risky PRs", "When adding new integrations"],
|
|
208
|
+
"tradeoffs": ["Can surface many low-priority findings", "Needs tuning to team context"],
|
|
209
|
+
"usageNotes": ["Use with blocked-tier policy for merge gates"]
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"id": "claude-plugin:incident-summarizer",
|
|
213
|
+
"benefitSummary": "Cuts incident response time by turning fragmented logs into coherent timelines.",
|
|
214
|
+
"bestFor": ["On-call teams", "Postmortems"],
|
|
215
|
+
"whenToUse": ["During incident triage", "After outages"],
|
|
216
|
+
"tradeoffs": ["Quality depends on input signal quality", "May miss hidden causal chains"],
|
|
217
|
+
"usageNotes": ["Keep manual validation loop before final report"]
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"id": "claude-plugin:compliance-evidence",
|
|
221
|
+
"benefitSummary": "Automates evidence collection for audits and recurring compliance checks.",
|
|
222
|
+
"bestFor": ["SOC2/ISO-style programs", "Security governance"],
|
|
223
|
+
"whenToUse": ["Before audits", "For monthly compliance snapshots"],
|
|
224
|
+
"tradeoffs": ["Can produce bulky evidence sets", "Needs clear retention strategy"],
|
|
225
|
+
"usageNotes": ["Store outputs in immutable audit artifacts"]
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"id": "claude-plugin:mcp-toolkit",
|
|
229
|
+
"benefitSummary": "Lets Claude Code reach containerized MCP servers through Docker's gateway tooling instead of bespoke local setup.",
|
|
230
|
+
"bestFor": ["Teams standardizing on Docker Desktop", "Cross-platform local development", "MCP-heavy workflows"],
|
|
231
|
+
"whenToUse": ["When local MCP setup is fragmented", "When you want repeatable dev environments"],
|
|
232
|
+
"tradeoffs": ["Adds Docker Desktop as a dependency", "Container mediation can hide low-level issues"],
|
|
233
|
+
"usageNotes": ["Best fit when your team already uses Docker as the local platform standard"]
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"id": "claude-plugin:chrome-devtools-mcp",
|
|
237
|
+
"benefitSummary": "Gives Claude Code high-fidelity browser debugging for performance, DOM, and runtime inspection tasks.",
|
|
238
|
+
"bestFor": ["Frontend engineering", "Web debugging", "Performance troubleshooting"],
|
|
239
|
+
"whenToUse": ["When browser issues are hard to reproduce from logs alone", "When inspecting live UI state matters"],
|
|
240
|
+
"tradeoffs": ["Can be slower than unit-level validation", "Needs care around pages with sensitive content"],
|
|
241
|
+
"usageNotes": ["Use it selectively for interactive debugging and regression validation"]
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"id": "claude-plugin:firebase",
|
|
245
|
+
"benefitSummary": "Connects app development workflows to a widely used backend platform for faster iteration on auth, data, and hosting.",
|
|
246
|
+
"bestFor": ["Product teams using Firebase", "Rapid app development", "Mobile and web backends"],
|
|
247
|
+
"whenToUse": ["When your stack depends on Firebase services", "When debugging app/backend integration issues"],
|
|
248
|
+
"tradeoffs": ["Tight platform coupling can reduce portability", "Environment separation matters"],
|
|
249
|
+
"usageNotes": ["Keep project and environment targeting explicit to avoid accidental production changes"]
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"id": "copilot-extension:repo-security",
|
|
253
|
+
"benefitSummary": "Brings dependency and code-scan findings directly into developer workflows.",
|
|
254
|
+
"bestFor": ["GitHub-native teams", "Shift-left security adoption"],
|
|
255
|
+
"whenToUse": ["During PR authoring/review", "When fixing vulnerabilities"],
|
|
256
|
+
"tradeoffs": ["Findings volume may overwhelm teams at first", "Requires triage discipline"],
|
|
257
|
+
"usageNotes": ["Use with severity thresholds in CI"]
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"id": "copilot-extension:actions-guardian",
|
|
261
|
+
"benefitSummary": "Hardens GitHub Actions quickly with actionable permission and supply-chain checks.",
|
|
262
|
+
"bestFor": ["Repos with many workflows", "Security hardening programs"],
|
|
263
|
+
"whenToUse": ["After workflow changes", "Before enabling public contributions"],
|
|
264
|
+
"tradeoffs": ["May flag legacy patterns aggressively", "Requires remediation backlog"],
|
|
265
|
+
"usageNotes": ["Pair with branch protection required checks"]
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
"id": "copilot-extension:sbom-advisor",
|
|
269
|
+
"benefitSummary": "Turns SBOM/security data into prioritized fix plans for maintainers.",
|
|
270
|
+
"bestFor": ["Dependency-heavy repos", "Security operations teams"],
|
|
271
|
+
"whenToUse": ["After SBOM generation", "For quarterly risk reviews"],
|
|
272
|
+
"tradeoffs": ["Requires accurate package metadata", "False positives possible"],
|
|
273
|
+
"usageNotes": ["Cross-check with Dependabot and audit outputs"]
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"id": "copilot-extension:release-gatekeeper",
|
|
277
|
+
"benefitSummary": "Ensures release quality by enforcing agreed policy gates in one flow.",
|
|
278
|
+
"bestFor": ["Teams with strict release policies", "Public package maintainers"],
|
|
279
|
+
"whenToUse": ["Before release publish", "Before tag creation"],
|
|
280
|
+
"tradeoffs": ["Can block urgent releases", "Needs calibrated policy exceptions"],
|
|
281
|
+
"usageNotes": ["Define emergency override process upfront"]
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"id": "skill:open-source-maintainer",
|
|
285
|
+
"benefitSummary": "Systematizes GitHub maintenance workflows across issues, PRs, contributor activity, and release hygiene.",
|
|
286
|
+
"bestFor": ["Open-source maintainers", "Engineering leads", "Busy repository owners"],
|
|
287
|
+
"whenToUse": ["When project maintenance starts consuming too much ad hoc time", "Before release or backlog cleanup cycles"],
|
|
288
|
+
"tradeoffs": ["Can formalize workflows that were previously lightweight", "Still needs human judgment on community interactions"],
|
|
289
|
+
"usageNotes": ["Use it with a clear triage policy and issue/PR labeling scheme"]
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
"id": "skill:orchestration",
|
|
293
|
+
"benefitSummary": "Improves complex task execution by structuring decomposition, delegation, and multi-step coordination.",
|
|
294
|
+
"bestFor": ["Agentic workflows", "Large refactors", "Parallelizable engineering work"],
|
|
295
|
+
"whenToUse": ["When a task spans multiple domains", "When one pass of a single agent is insufficient"],
|
|
296
|
+
"tradeoffs": ["Coordination overhead can outweigh benefits on simple tasks", "Bad task boundaries create churn"],
|
|
297
|
+
"usageNotes": ["Use for genuinely multi-step work, not routine single-file edits"]
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"id": "skill:engineering-workflow-skills",
|
|
301
|
+
"benefitSummary": "Bundles practical software delivery skills like planning, test fixing, and code review execution into one reusable workflow layer.",
|
|
302
|
+
"bestFor": ["General software engineering", "Teams with repeatable coding workflows", "Maintainers juggling multiple tasks"],
|
|
303
|
+
"whenToUse": ["When work repeatedly follows the same engineering loop", "When consistency matters across contributors"],
|
|
304
|
+
"tradeoffs": ["Broad workflow bundles can be less opinionated than specialized skills", "May overlap with local team conventions"],
|
|
305
|
+
"usageNotes": ["Use as a default engineering baseline, then layer narrower skills as needed"]
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
"id": "skill:neon-plugin",
|
|
309
|
+
"benefitSummary": "Specializes database development around Neon, Postgres, auth, and modern serverless data workflows.",
|
|
310
|
+
"bestFor": ["Neon-backed apps", "Serverless Postgres stacks", "Teams using Drizzle or modern TS backends"],
|
|
311
|
+
"whenToUse": ["When schema, auth, or query workflows are tied to Neon", "When app and database changes move together"],
|
|
312
|
+
"tradeoffs": ["Strong vendor coupling", "Less useful outside the Neon ecosystem"],
|
|
313
|
+
"usageNotes": ["Best fit when Neon is an explicit platform dependency, not a hypothetical future option"]
|
|
314
|
+
}
|
|
315
|
+
]
|
|
316
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"providers": [
|
|
3
|
+
{
|
|
4
|
+
"id": "mcp",
|
|
5
|
+
"enabled": true,
|
|
6
|
+
"officialOnly": true,
|
|
7
|
+
"trustLevel": "high",
|
|
8
|
+
"poll": {
|
|
9
|
+
"mode": "daily",
|
|
10
|
+
"rateLimitPerMinute": 120
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"id": "openai",
|
|
15
|
+
"enabled": true,
|
|
16
|
+
"officialOnly": false,
|
|
17
|
+
"trustLevel": "medium",
|
|
18
|
+
"poll": {
|
|
19
|
+
"mode": "daily",
|
|
20
|
+
"rateLimitPerMinute": 60
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"id": "anthropic",
|
|
25
|
+
"enabled": true,
|
|
26
|
+
"officialOnly": true,
|
|
27
|
+
"trustLevel": "high",
|
|
28
|
+
"authEnv": "ANTHROPIC_API_KEY",
|
|
29
|
+
"poll": {
|
|
30
|
+
"mode": "daily",
|
|
31
|
+
"rateLimitPerMinute": 60
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": "github",
|
|
36
|
+
"enabled": true,
|
|
37
|
+
"officialOnly": false,
|
|
38
|
+
"authEnv": "GITHUB_TOKEN",
|
|
39
|
+
"trustLevel": "high",
|
|
40
|
+
"poll": {
|
|
41
|
+
"mode": "daily",
|
|
42
|
+
"rateLimitPerMinute": 90
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
}
|