Skip to content

Vendor upstream skills for 47 more hosted plugins - #9

Open
Mokshit06 wants to merge 3 commits into
mainfrom
devin/1788980406-vendor-more-skills
Open

Vendor upstream skills for 47 more hosted plugins#9
Mokshit06 wants to merge 3 commits into
mainfrom
devin/1788980406-vendor-more-skills

Conversation

@Mokshit06

@Mokshit06 Mokshit06 commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

Previously a hosted wrapper only inherited a vendor plugin's skills/ tree when the vendor plugin declared the same MCP server we host. That match is too strict: most vendors ship skills in a plugin whose MCP block differs from ours (different transport, different env names) or ships no MCP at all. Matching now runs on product identity only — the vendor repo/plugin has to be the same product as the wrapper, and it has to actually have skills — so the count of plugins with skills goes from 37 to 84.

Selection was scored (product slug vs. upstream plugin name, directory basename, repo owner/name) and then hand-checked, because slug similarity alone produces bad picks. Notable manual decisions:

  • Broad-repo false positives rejected: anthropics/claude-plugins-official, anthropics/knowledge-work-plugins, cursor/plugins all contain skills/ trees that scored well on nothing but being present.
  • AWS is the worst case, since every service slug scores ~0.9 against aws-*. aws-elasticache and aws-iam take a subset of aws-core's skills rather than the whole 24-skill tree; aws-redshiftaws-data-analytics, aws-lambdaaws-serverless, aws-aurora-dsqldatabases-on-aws.
  • Repo-internal .claude/skills (a vendor's own dev-workflow skills, not product skills) beat the real product plugin for metabase, grafana and netlify; those are pinned to the product plugin path instead.
  • No trustworthy match, left without skills: cognition-postgres, gmail, jotform, playwright, similarweb, square.

Every copied SKILL.md was parsed with a duplicate-key-strict YAML loader and checked for name/description (515 skills, 0 failures) — the class of breakage that made the vercel ai-gateway skill fail indexing. scripts/validate.py still reports 170 entries.

Note the Monte Carlo skills keep their upstream frontmatter name (monte-carlo-analyze-root-cause) even though the directory is analyze-root-cause; vendor content is left byte-identical.

Link to Devin session: https://staging.itsdev.in/sessions/d058734d22224e9c97db1d25474d50a3
Open in Devin Desktop: https://staging.itsdev.in/desktop/session/d058734d22224e9c97db1d25474d50a3?variant=devin-insiders
Requested by: @Mokshit06


Devin Review

Status Commit
🔴 Failed 6c47de4
Devin Review (Staging)

Match a hosted wrapper to an official vendor plugin on product identity alone, without requiring the vendor's MCP declaration to match ours, and copy that plugin's skills/ tree.

Co-Authored-By: Mokshit Jain <mokshit@cognition.ai>
@staging-devin-ai-integration

Copy link
Copy Markdown
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

Original prompt from Mokshit

devin look at this repo https://github.com/usacognition/devin-marketplace/tree/main

Right now this repo does a bunch of core stuff, like it has the code, there's a plugins folder where each plugin has its own folder, and then each plugin has like an audit log and an entry.json and an icon.png. All of that is a bit much. That's actually not how we want this plugin marketplace to look. What I really want is like, I just want a single, like, I guess see how the plugin format works. You can have a .devin hyphen plugin slash plugin.json, which can list a bunch of optional plugins or required plugins, because this marketplace, everything is actually just an optional plugin. So what I kind of want is like, I actually just want this to be a plugin where there's a plugin.json which has all these plugins pinned at their respective sha, whichever we have in this marketplace. And then our code, which reads this file as their source of truth, should just be able to do that.

--action-model metis3-high

Co-Authored-By: Mokshit Jain <mokshit@cognition.ai>
Co-Authored-By: Mokshit Jain <mokshit@cognition.ai>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant