Keystroke agent plugin
One install gives an agent both the Keystroke MCP server (the hosted
gateway to the user's connected services) and the using-keystroke skill
that routes external-service work through it instead of per-vendor plugins.
Publish-time check: confirm the MCP URL in
.mcp.json/mcp.json(https://api.keystroke.ai/v1/mcp) matches the production endpoint (KEYSTROKE_MCP_PATHis/v1/mcpon the platform API host).
Layout (dual-format)
Claude Code and the Agent Plugins 1.0.0 spec (Cursor et al.) read different file names for the same content. This directory carries both spellings:
| Component | Claude Code | Agent Plugins 1.0.0 |
|---|---|---|
| Manifest | .claude-plugin/plugin.json | plugin.json |
| MCP servers | .mcp.json | mcp.json |
| Skill | skills/using-keystroke/SKILL.md | same |
Auth is standard remote-MCP OAuth — no credentials ship in the plugin.
Claude Code namespaces the server's tools as
mcp__plugin_keystroke_keystroke__*; write any hook matchers against that
prefix, not the bare server name.
Distribution
-
Marketplace (recommended): this directory is published to
keystrokehq/keystroke-plugin, which carries its own.claude-plugin/marketplace.json. Users run/plugin marketplace add keystrokehq/keystroke-pluginthen/plugin install keystroke. The web app also serveshttps://web2.keystroke.ai/marketplace.json(fromapps/web/public/marketplace.json; moves to thekeystroke.aiapex after the domain cutover) pointing at that repo, so/plugin marketplace add https://web2.keystroke.ai/marketplace.jsonworks too. Changes here must be pushed to that repo to reach users. -
Community discovery: submit the repo to
anthropics/claude-plugins-community. -
Team / Enterprise: admins push it org-wide via claude.ai Organization settings → Plugins, so every seat gets the MCP server and skill automatically.
-
Standalone skill (non-plugin clients): copy
skills/using-keystroke/into~/.claude/skills/(or the agent's skills directory). For agents configured withAGENTS.md, paste the skill body under a "Keystroke" heading and add the MCP server to the client's MCP config.
Versioning
Bump version in both manifests on every release — Claude Code only
delivers updates when the manifest version changes.