feat(plugins): add pingroom-mcp and pingroom-cli - #539
Open
mahdi-salmanzade wants to merge 2 commits into
Open
Conversation
Two sibling plugins from github.com/pingroom/skills, both pinned to e08b3cf11722f66c9394842e83b0ab88d6daee51: - pingroom (path: mcp) — hosted HTTP MCP connector plus its skill - pingroom-cli (path: cli) — skill for the @pingroom/cli, no MCP server Keywords are kept disjoint so the CTA doesn't double-fire: the MCP entry owns "pingroom", the CLI entry owns the shell-scoped terms. Claude-Session: https://claude.ai/code/session_01HQtwQ9Mf8BZErMAzp764LE
Verified against grok 1.0.13: installing the catalog entry registers the plugin under its manifest name, so an entry named `pingroom` installed as `pingroom-mcp` and `grok plugin list`/`uninstall` disagreed with the catalog. Renaming the entry keeps them consistent; the keywords are unchanged, so `pingroom` still triggers the CTA. The bumped sha picks up a Grok Build install section in the repo's README. Claude-Session: https://claude.ai/code/session_01HQtwQ9Mf8BZErMAzp764LE
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR does
Adds PingRoom — an event platform for reaching a human from an agent session. Two sibling plugins from the same repo: the hosted MCP connector, and a skill for the
@pingroom/clifor shells, CI, and hooks.pingroom-mcpandpingroom-clihttps://github.com/pingroom/skills.git@45d0902dd964cc42fddf19a186fe6022b4e1a31f—path: mcpandpath: cliWhat each ships (per the regenerated index):
pingroom-mcppingroom-mcp, with a generated tool reference) + 1 HTTP MCP serverpingroom-clipingroom-cli)No commands, agents, hooks, LSP servers, or executable code in either plugin directory.
Ownership
sourcerepo is published under our official org (or I've explained why not below).github.com/pingroom/skillsis the PingRoom org's public skills repo, MIT licensed. The fork this PR comes from is a personal account; the plugin source is not.Checklist
.grok-plugin/marketplace.json(valid JSON, kebab-casename). — two entries, see note belowsha, and that commit is public + reachable..grok-plugin/plugin-index.json(python3 scripts/generate-plugin-index.py).python3 scripts/validate-catalog.pypasses locally.python3 scripts/generate-plugin-index.py --checkpasses locally.homepage+ cleardescriptionset; local plugins includeREADME.md+.grok-plugin/plugin.json. — remote source; repo has a README, and each plugin dir has a.claude-plugin/plugin.jsonplugin.jsonand at the repo root.Security
curl | bash, remote-code download/exec, orpostinstallRCE..env, or env vars.Neither plugin directory contains any executable code —
mcp/is aplugin.json, an.mcp.json, and aSKILL.mdplus one reference file;cli/is aplugin.jsonand aSKILL.md. No hooks, no scripts, no install step.https://api.pingroom.io/api/agent/mcp— the hosted PingRoom MCP server, the only endpoint thepingroom-mcpplugin contacts. It is the product's own API.pingroom-clicontacts nothing on its own; it documents a CLI the user installs separately withnpm i -g @pingroom/cli, which talks to the same host./mcp) so pings are attributed to the user's own PingRoom account and can only reach rooms that account is a member of. Nothing is read from the environment or the filesystem. The CLI holds its own token frompingroom activate/pingroom pair, stored by the CLI itself, outside the plugin.Notes for reviewers
On "exactly one entry": this adds two, for the same reason
mongodb/mongodb-atlasare two — they are different surfaces with different install stories (a hosted MCP connection vs. a locally installed CLI for shells and CI), and the skills cross-reference each other rather than duplicating. Theirkeywordsare deliberately disjoint so the CTA fires for one or the other, never both:pingroom-mcpownspingroom/ping room/pingroom mcp, andpingroom-cliowns the shell-scoped terms. Happy to split into two PRs or drop the CLI entry if you'd rather.Both entries are named for their manifests. Verified end to end against
grok 1.0.13:grok plugin validatepasses on each directory, and installing from a marketplace source registers them aspingroom-mcpandpingroom-cliwith the MCP server resolved — an entry namedpingroominstalled aspingroom-mcp, which would have madegrok plugin listanduninstalldisagree with the catalog.The two plugins are also published as Claude Code plugins from the same repo, which is why the manifests live at
.claude-plugin/plugin.json— accepted per CONTRIBUTING.mcp/.mcp.jsonwas added alongside the inlinemcpServersdeclaration so the server resolves the same way under Grok Build.🤖 Generated with Claude Code
https://claude.ai/code/session_01HQtwQ9Mf8BZErMAzp764LE