原始内容
claude-code-plugin-dev 
Claude Code plugin for development workflow automation.
Table of Contents
Introduction
This plugin provides development workflow automation for Claude Code.
Features
- Issue tracking integration (GitHub Issues and Jira)
- Automated deep code reviews using parallel agents
- PR generation with commit messages
- Linting and code quality checks
- Automated test generation with coverage enforcement across 10 languages (RSpec, PHPUnit/Pest, pytest, Jest/Vitest, xUnit, Swift Testing/XCUITest, Kotest, Go, GoogleTest, Rust)
- Codebase migration between languages and frameworks via a six-step rulebook/translate/compile/test/verify engine
- Security threat modeling (STRIDE) and code-ownership / bus-factor analysis, ISO 27001-aligned
- Database schema documentation and natural language querying
- Project documentation review (README, architecture, user guide)
- User-facing copy audits (microcopy, voice & tone, i18n readiness)
- SEO / GEO and front-end web quality audits (performance, Core Web Vitals, accessibility)
- Sprint work summaries grouped by repository
- Weekly development and project-status reports from Jira, GitHub, and monday.com
- Tracker coverage checks — verify a planning doc's items exist in monday.com and/or Jira
- Translation asset management via Loco (localise.biz) API
- monday.com board, item, and work-management operations
- Firebase Crashlytics crash analysis via BigQuery
- Figma design-to-code review for Android, iOS, and web
- PayPal payment management
- AWS infrastructure management and documentation search
- Google Cloud infrastructure management via gcloud
- New Relic observability data and alert management
- Heroku application management and deployment
- App Store Connect management (builds, TestFlight, reviews, IAPs)
- Google Play Store review management and analytics
- Google Workspace integration (Gmail, Calendar, Drive, Docs, Sheets, Slides, Forms, Tasks, Contacts, Chat) via optional
workspace-mcpsetup
Installation
Quick Start
The plugin bundles MCP servers that need node (for npx) and uv (for uvx). Most skills also use a CLI as a
fallback when the MCP isn't available. Install the core for everyone, then only the optional CLIs for the skills you
actually use.
macOS (Homebrew)
# Core (required)
brew install node uv gh jq
In Claude Code:
claude plugin marketplace add cloud-officer/claude-code-plugin-dev
claude plugin install co-dev@cloud-officer
After install:
# Browser automation (Playwright MCP) — first run only
npx playwright install chromium
Optional service CLIs — install only what you need (each maps to a skill in the Skills table below):
brew install awscli google-cloud-sdk heroku newrelic-cli # cloud
brew tap ankitpokhrel/jira-cli && brew install jira-cli # jira
brew install mint && mint install zelentsov-dev/asc-mcp # iOS App Store Connect
Language servers (LSPs) — only what you write. The plugin declares LSPs for many languages, but each binary needs to be on your PATH for that language to activate:
# JavaScript/TypeScript (covers .ts/.tsx/.js/.jsx/.mts/.cts/.mjs/.cjs)
npm i -g typescript typescript-language-server
# Python (covers .py/.pyi)
brew install pyright
# Ruby (covers .rb/.rake/.gemspec/.ru)
gem install ruby-lsp
# Go (covers .go)
go install golang.org/x/tools/gopls@latest
# Bash/shell (covers .sh/.bash/.zsh)
npm i -g bash-language-server
# Rust (covers .rs)
rustup component add rust-analyzer
# YAML (covers .yml/.yaml; provides GitHub Actions/k8s schema validation)
npm i -g yaml-language-server
# Swift (covers .swift) — bundled with Xcode, no install needed if Xcode is installed
# PHP (covers .php)
npm i -g intelephense
# Kotlin (covers .kt/.kts) — JetBrains' official LSP, requires Java 17+
brew install JetBrains/utils/kotlin-lsp
# Java (covers .java)
brew install jdtls
# C/C++/Objective-C (covers .c/.cpp/.h/.hpp/.m/.mm) — bundled with llvm
brew install llvm
# Perl (covers .pl/.pm/.t)
npm i -g perlnavigator-server
Each LSP is inert until matching files exist — you only pay startup cost in repos that actually have those file types.
Linux (Debian/Ubuntu)
# Core (required)
sudo apt update && sudo apt install -y curl jq git nodejs npm
curl -LsSf https://astral.sh/uv/install.sh | sh
# gh: https://github.com/cli/cli/blob/trunk/docs/install_linux.md
In Claude Code:
claude plugin marketplace add cloud-officer/claude-code-plugin-dev
claude plugin install co-dev@cloud-officer
After install:
npx playwright install chromium
Optional service CLIs: each tool ships its own Linux installer — see official docs for aws, gcloud, heroku,
newrelic, jira-cli. App Store Connect is macOS-only.
Language servers (LSPs): the npm, gem, go install, and rustup
install commands listed under the macOS section are cross-platform. Use your distro's package manager for
clangd (often clang-tools or llvm) and pyright (or
pip install pyright). Swift LSP requires Xcode (macOS only).
Windows (Scoop)
# Core (required)
scoop install nodejs uv gh jq
In Claude Code:
claude plugin marketplace add cloud-officer/claude-code-plugin-dev
claude plugin install co-dev@cloud-officer
After install:
npx playwright install chromium
Optional service CLIs: install via scoop, winget, or each tool's installer. App Store Connect is macOS-only.
Language servers (LSPs): the npm, gem, go install, and rustup
install commands listed under the macOS section work on Windows under their respective toolchains. Use
scoop install llvm for clangd. Swift LSP is macOS-only (requires Xcode).
Configure Remote MCPs (optional)
Some skills use remote MCP servers (no local install). Add only the ones you'll use — claude mcp add defaults to
local scope, so each is registered for the current folder only rather than always-loaded for every project:
claude mcp add atlassian --transport http https://mcp.atlassian.com/v1/mcp
claude mcp add bigquery --transport http https://bigquery.googleapis.com/mcp
claude mcp add figma --transport http https://mcp.figma.com/mcp
claude mcp add monday --transport http https://mcp.monday.com/mcp --header 'Authorization: Bearer ${MONDAY_TOKEN}'
claude mcp add newrelic --transport http https://mcp.newrelic.com/mcp/
claude mcp add paypal --transport http https://mcp.paypal.com/http
Most prompt for OAuth on first use. monday is the exception — it authenticates with a personal access token instead
of OAuth, so it takes a Bearer header (the token stays a runtime ${MONDAY_TOKEN} reference, never written into the
stored config). Skills that need a remote MCP fall back to a CLI when one exists — see the Setup column in the
Skills table for which skill needs which.
Naming caveat for multi-tenant setups. Each server name owns exactly one OAuth grant — Claude Code stores the access token keyed by the name and reuses it for every call. If you work across multiple tenants of the same service (e.g. two Atlassian sites, two New Relic accounts) from different folders on one machine, give each instance a distinct name rather than reusing the bare name. Otherwise the OAuth token from whichever folder authorized first leaks into the other folder, even though local-scope registration looks isolated.
# in ~/work/companya
claude mcp add atlassian-companya --transport http https://mcp.atlassian.com/v1/mcp
# in ~/work/companyb
claude mcp add atlassian-companyb --transport http https://mcp.atlassian.com/v1/mcp
This applies to every OAuth-at-connect remote MCP listed above (atlassian, bigquery, figma, newrelic, paypal) — not to stdio servers like
google-workspace, which select identity per-call via a parameter. If you rename instances, update the Recommended Permissions entries to allow each variant.
Google Workspace MCP (optional)
The
co-dev plugin focuses on engineering workflows (issues, PRs, code review, deployments). Pair it with the open-source workspace-mcp server to add Gmail, Calendar, Drive, Docs, Sheets, Slides, Forms, Tasks, Contacts, and Google Chat — useful alongside several of this plugin's skills (e.g.
weekly-dev-report can email the report directly once Gmail is wired up, and
sprint-summary output can be pasted straight into a shared Doc or Calendar event).
This MCP is not bundled with the plugin — the steps below are independent and only needed if you want Workspace access from Claude Code.
Step 1 — Google Cloud admin setup (one-time, per Workspace org)
Sign in at console.cloud.google.com with your Workspace admin account — the org must be associated with the project, otherwise the Internal audience option will not appear later.
- Create the project — top-bar dropdown → New Project → name
workspace-mcp, Organization = your Workspace org (e.g.yourcompany.com). If your org doesn't appear, the Workspace and Cloud accounts aren't linked yet — fix at admin.google.com → Account → Google Cloud. - Enable the APIs — APIs & Services → Library → enable each, one by one: Gmail, Google Calendar, Google Drive, Google Docs, Google Sheets, Google Slides, Google Forms, Tasks, People (for Contacts), Google Chat.
- Configure the OAuth consent screen — APIs & Services → OAuth consent screen → Get started.
- App name:
Workspace MCP - User support email: your admin email
- Audience: Internal (restricts auth to users in your org, no Google verification, no 100-user testing cap). If only External is offered, you signed in with the wrong account or created the project under No Organization.
- Developer contact: your admin email
- App name:
- Create the OAuth client credentials — APIs & Services → Credentials → Create Credentials → OAuth Client ID.
- Application type: Desktop app (Web application will not work — it causes redirect URI errors during auth)
- Name:
workspace-mcp-desktop
- Copy the Client ID (
...apps.googleusercontent.com) and Client Secret (GOCSPX-...). Treat the secret like a password; never commit it.
The same Client ID and Secret work for every user in the org since the consent screen is Internal. Multiple Workspace organizations (e.g. a personal org and a separate company org) each need their own Cloud project and credentials — the same Client ID cannot be reused across orgs.
Step 2 — Per-machine install
macOS:
brew install uv direnv
Hook direnv into your shell — add to ~/.zshrc (once, then source ~/.zshrc):
eval "$(direnv hook zsh)"
Then in the directory where you'll launch Claude Code, create an .envrc file with everything workspace-mcp needs:
export GOOGLE_OAUTH_CLIENT_ID="your-client-id"
export GOOGLE_OAUTH_CLIENT_SECRET="your-client-secret"
export USER_GOOGLE_EMAIL="you@yourdomain.com"
export PORT="8765" # any unused port — see "Multi-account & multi-session" below for why this matters
Approve it with direnv allow (run from that directory). direnv loads the vars whenever you
cd in and unloads them when you cd out — keep one
.envrc per workspace org / per concurrently-running session, each with its own USER_GOOGLE_EMAIL and
PORT. See Multi-Account Setups (direnv) below for the caveats around switching mid-session.
Windows (PowerShell, no admin needed):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
[System.Environment]::SetEnvironmentVariable("GOOGLE_OAUTH_CLIENT_ID", "your-client-id", "User")
[System.Environment]::SetEnvironmentVariable("GOOGLE_OAUTH_CLIENT_SECRET", "your-client-secret", "User")
[System.Environment]::SetEnvironmentVariable("USER_GOOGLE_EMAIL", "you@yourdomain.com", "User")
[System.Environment]::SetEnvironmentVariable("PORT", "8765", "User")
Close and reopen PowerShell so the new env vars take effect. Git for Windows must also be installed (Claude Code uses Git Bash internally) — get it from git-scm.com with default options.
User-scope env vars are global on Windows, so if you need a second workspace account or run multiple Claude sessions concurrently, override
USER_GOOGLE_EMAIL and PORT per session before launching Claude (
$env:USER_GOOGLE_EMAIL="..."; $env:PORT="8766"; claude).
Step 3 — Add the MCP server
Run this from the directory where you want the server active (the default scope is local — the registration is tied
to that working directory, not your whole user account). The server inherits
GOOGLE_OAUTH_CLIENT_ID, GOOGLE_OAUTH_CLIENT_SECRET, USER_GOOGLE_EMAIL, and
PORT from the shell environment Claude Code is launched in, so no -e flags are needed:
claude mcp add google-workspace -- uvx workspace-mcp --tool-tier complete
(Add --scope user if you want the server available globally in every directory; add
--scope project to write it to a shared .mcp.json in the repo — but never with hard-coded credentials, since
.mcp.json typically gets committed.)
On first use, a browser window opens for OAuth — sign in with the matching Google account and approve the scopes. Tokens cache locally:
- macOS:
~/.google_workspace_mcp/credentials/ - Windows:
%USERPROFILE%\.google_workspace_mcp\credentials\
No browser prompt on subsequent startups. To update workspace-mcp: uv cache clean — Claude Code fetches the latest
version on next startup. To revoke access: delete the credentials directory above, or remove the Workspace MCP app
at myaccount.google.com/permissions. To rotate the Client Secret if it
leaks: APIs & Services → Credentials → workspace-mcp-desktop → Reset Secret, then update env vars and re-auth.
Multi-account & multi-session port assignment (important)
The workspace-mcp server binds a local port for its OAuth callback (default 8000). Every workspace-mcp instance
running concurrently on the machine needs a unique port. There are two scenarios where this matters — most people
anticipate the first but not the second:
- Multiple accounts on the same machine (e.g. personal + company in different folders). Each folder's
.envrc(macOS/direnv) — or each session's PowerShell overrides (Windows) — needs its ownPORT, otherwise both instances try to bind8000and the second one fails. - Multiple Claude Code sessions running at the same time, even from different directories. Per-directory env vars
don't help if two sessions still resolve to the same
PORT— every running Claude Code session spawns its own MCP processes, and if any two of them point at the same port, the later one's workspace-mcp won't start. Even with a single account per directory, every directory whose Claude session might run concurrently with another needs its own port.
Pick ports above 8000 (e.g. 8765, 8766, 8767, …) and assign one per account
and per concurrently-running session. The setup is then one .envrc per directory plus a single
claude mcp add from each. Example with two accounts on macOS:
# ~/work/personal-stuff/.envrc
export GOOGLE_OAUTH_CLIENT_ID="personal-client-id"
export GOOGLE_OAUTH_CLIENT_SECRET="personal-secret"
export USER_GOOGLE_EMAIL="you@personal.com"
export PORT="8765"
# ~/work/cloudofficer/.envrc
export GOOGLE_OAUTH_CLIENT_ID="company-client-id"
export GOOGLE_OAUTH_CLIENT_SECRET="company-secret"
export USER_GOOGLE_EMAIL="you@company.com"
export PORT="8766"
Run direnv allow once in each directory, then register the server from each (no
-e flags — credentials and port come from .envrc):
cd ~/work/personal-stuff && claude mcp add google-workspace -- uvx workspace-mcp --tool-tier complete
cd ~/work/cloudofficer && claude mcp add google-workspace -- uvx workspace-mcp --tool-tier complete
The port only matters during the OAuth callback handshake; it does not need to be reachable from outside the machine. Verify everything is registered (run from inside each directory):
claude mcp list
Sample prompts once it's up:
List my unread emails
Search drive for the Q3 proposal
Create a calendar event for tomorrow at 2pm
Complementary Plugins (optional)
These official plugins from the claude-plugins-official marketplace pair well with
co-dev. They're independent — install only the ones relevant to your work. The
claude-plugins-official marketplace is auto-installed by Claude Code, so no marketplace add step is needed.
| Plugin | What it adds | Install |
|---|---|---|
plugin-dev |
Toolkit for developing Claude Code plugins — 7 skills (hooks, MCP, structure, settings, commands, agents, skills) + validators | claude plugin install plugin-dev@claude-plugins-official |
claude-md-management |
Audit and revise CLAUDE.md files based on session learnings | claude plugin install claude-md-management@claude-plugins-official |
claude-code-setup |
Analyze a codebase and recommend Claude Code automations to add | claude plugin install claude-code-setup@claude-plugins-official |
skill-creator |
Guided skill creation workflow (overlaps with plugin-dev's skill-development skill — pick one) |
claude plugin install skill-creator@claude-plugins-official |
code-simplifier |
Refactor recently-modified code for clarity, DRY, and consistency | claude plugin install code-simplifier@claude-plugins-official |
code-review |
Lean automated PR review with confidence scoring (alternative to co-dev's /code-review-deep, which is broader and not PR-bound) |
claude plugin install code-review@claude-plugins-official |
security-guidance |
Proactive security hints via PreToolUse hooks (complements code-review-deep's reactive audit) |
claude plugin install security-guidance@claude-plugins-official |
frontend-design |
Opinionated patterns for production-grade frontend interfaces | claude plugin install frontend-design@claude-plugins-official |
superpowers |
Brainstorming and subagent-driven workflows | claude plugin install superpowers@claude-plugins-official |
agent-sdk-dev |
Toolkit for building apps on the Anthropic Agent SDK (a different stack from Claude Code plugins) | claude plugin install agent-sdk-dev@claude-plugins-official |
document-skills |
Anthropic's xlsx/docx/pptx/pdf skills — deliver co-dev reports (weekly-dev-report, sprint-summary, query-db, …) as Office/PDF files. Separate marketplace (see note). |
claude plugin marketplace add anthropics/skills then claude plugin install document-skills@anthropic-agent-skills |
stripe |
Stripe's official plugin — integration skills (best practices, SDK/API upgrades) plus Stripe's own MCP + agent tools | claude plugin install stripe@claude-plugins-official |
vercel |
Vercel's official plugin — deployment ops via the Vercel MCP, plus /deploy /env /status commands and a deployment-expert agent |
claude plugin install vercel@claude-plugins-official |
huggingface-skills |
Hugging Face's official skills — build, train, evaluate, and use open-source models, datasets, and Spaces (HF CLI, trainers, evaluation, Gradio). For ML/model work. | claude plugin install huggingface-skills@claude-plugins-official |
sentry |
Sentry error monitoring — access error reports, analyze stack traces, search issues, debug production errors, and set up Sentry SDKs | claude plugin install sentry@claude-plugins-official |
azure |
Microsoft's official Azure plugin — bundles the Azure MCP + ~28 ops skills: list resources, deploy, validate, diagnose, RBAC/Entra, and optimize costs across 50+ services | claude plugin install azure@claude-plugins-official |
firebase |
Google Firebase plugin — bundles the Firebase MCP to manage Firestore, auth, cloud functions, hosting, and storage. Complements co-dev's crashlytics skill |
claude plugin install firebase@claude-plugins-official |
The
stripeplugin bundles Stripe's own MCP and agent tools, so you do not need a separateclaude mcp add stripe. For local webhook testing you can optionally add the Stripe CLI (used by Stripe's plugin and your app dev, not byco-devitself):brew install stripe/stripe-cli/stripethenstripe login(stripe listen,stripe trigger).The
vercelplugin bundles the Vercel MCP, so no separateclaude mcp add vercelis needed. That MCP is read-only (docs, list projects/deployments, logs); write operations (deploy,promote, env changes) run through thevercelCLI — install it too:brew install vercel-clithenvercel login.The
huggingface-skillsplugin's Hub operations use the Hugging Face CLI — install it withbrew install hfthenhf auth login. Its training and evaluation skills additionally need a Python ML environment (torch, transformers, TRL) specific to your project.The
sentryplugin is skill-based (SDK setup + debug workflows). For CLI operations — release tracking and source-map uploads — install the Sentry CLI:brew install sentry-cli(also packaged as thesentry-cliplugin).The
azureplugin bundles the Azure MCP (@azure/mcp), so no separateclaude mcp addis needed. It authenticates with your Azure CLI credentials — install it withbrew install azure-clithenaz login.The
firebaseplugin bundles the Firebase MCP, so no separateclaude mcp addis needed. Its CLI operations (deploy, emulators, security rules) use the Firebase CLI — install it withbrew install firebase-clithenfirebase login. It complementsco-dev'scrashlyticsskill (crash data via BigQuery) rather than replacing it.
document-skillslives on Anthropic's ownanthropic-agent-skillsmarketplace (notclaude-plugins-official), so it needs the one-timeclaude plugin marketplace addstep above. It is not open source — review each skill'sLICENSE.txt. Optional: Claude Code can already generate these formats on demand via open-source libraries (openpyxl,python-docx,python-pptx,reportlab); the skills mainly add standardized, repeatable formatting.
Configure Environment Variables
All credentials are read from environment variables — they are never stored in the plugin. Each skill's required vars are listed in the Setup column of the Skills table below.
For switching between accounts/projects per directory, see the Multi-Account Setups section.
Multi-Account Setups (direnv)
Every account-bound MCP server in this plugin reads its credentials from environment variables — no credentials are stored in
.mcp.json. This makes direnv a natural fit for switching between accounts (different AWS profiles, separate Postgres instances, multiple GitHub orgs, etc.) by setting per-directory env vars in an
.envrc file.
Important caveat: Claude Code spawns MCP servers once, at startup, and they inherit the shell environment at that moment. The implication:
- ✓ Works:
cd ~/project-a && claude— MCPs pick up project-a's env vars from.envrc. Quit,cd ~/project-b && claude— MCPs pick up project-b's env vars. - ✗ Does not work: starting Claude Code in one project, then
cd-ing to another mid-session. The already-running MCP servers keep the original env vars and continue talking to the original account.
Bottom line: to switch accounts, quit Claude Code and relaunch it from the target directory. direnv handles the rest.
Recommended Permissions
This plugin bundles several MCP servers. By default, Claude Code will prompt for permission each time an MCP tool is called. To auto-approve these tools, add the following entries to the
permissions.allow array in your ~/.claude/settings.json:
{
"permissions": {
"allow": [
"mcp__appstore__*",
"mcp__aws__*",
"mcp__chrome-devtools__*",
"mcp__context7__*",
"mcp__fetch__*",
"mcp__gcloud__*",
"mcp__github__*",
"mcp__mongodb__*",
"mcp__mysql__*",
"mcp__playstore__*",
"mcp__playwright__*",
"mcp__postgres__*",
"mcp__redis__*"
]
}
}
If you also use remote MCP servers (see Configure Remote MCPs), add their patterns too:
{
"permissions": {
"allow": [
"mcp__atlassian__*",
"mcp__bigquery__*",
"mcp__figma__*",
"mcp__monday__*",
"mcp__newrelic__*",
"mcp__paypal__*"
]
}
}
Note: These entries merge with your existing
allow list — you don't need to replace it. Only add entries for the MCP servers you actually use.
Renamed instances (see Naming caveat for multi-tenant setups) need their own
permission entry — e.g. mcp__atlassian-companya__* and mcp__atlassian-companyb__* instead of (or in addition to) the
bare mcp__atlassian__*.
Usage
Skills
These skills are automatically available to Claude. The Setup column lists what you need to configure for each — env vars, one-time auth commands, or remote MCP additions. Skills with no setup work out of the box.
| Skill | Description | Setup |
|---|---|---|
analyze-db |
Generate docs/db.md with database schema docs | DB-specific env vars — see query-db row |
appstore |
Manage App Store Connect (builds, TestFlight, reviews, IAPs) | macOS-only. mint install zelentsov-dev/asc-mcp. Env: ASC_KEY_ID, ASC_ISSUER_ID, ASC_PRIVATE_KEY_PATH (path to .p8). Create API key |
aws |
Manage AWS infrastructure and services | aws configure, or env: AWS_PROFILE (or) AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY + AWS_REGION |
code-review-deep |
Exhaustive multi-phase code audit using parallel agents | None — uses bundled github + context7 MCPs |
create-issue |
Create GitHub or Jira issues with proper templates | GitHub: GITHUB_PERSONAL_ACCESS_TOKEN (or) gh auth login. Jira: atlassian remote MCP (or) jira init |
create-pr |
Generate PR content, open the PR, return to default branch | GitHub: gh auth login (or) GITHUB_PERSONAL_ACCESS_TOKEN |
crashlytics |
Query Firebase Crashlytics crash data from BigQuery | bigquery remote MCP (or) gcloud auth application-default login. Env: BQ_PROJECT, BQ_CRASHLYTICS_DATASET |
doc-tracker-coverage |
Verify a Google Doc section's items are tracked in Monday/Jira | Google Doc read: Workspace Docs MCP (or) claude.ai Google Drive MCP (or) published-to-web doc. monday: claude mcp add monday (${MONDAY_TOKEN}). Jira: atlassian remote MCP (or) jira init Optional env: DOC_TRACKER_COVERAGE_TEAMS |
gcloud |
Manage Google Cloud infrastructure and services | gcloud auth login && gcloud config set project <id>. Optional: CLOUDSDK_ACTIVE_CONFIG_NAME for named configs |
heroku |
Manage Heroku apps, dynos, logs, and databases | heroku login |
loco |
Manage Loco translation assets (create, delete, scan) | Env: LOCO_API_KEY (or) per-project LOCO_API_KEY_<PROJECT> (e.g. LOCO_API_KEY_IOS) |
migrate-code |
Port a codebase to another language/framework via a six-step rulebook/translate/compile/test/verify engine | None — uses the repo's own build/test commands + bundled context7 MCP |
monday |
Manage monday.com boards, items, groups, columns, and updates | claude mcp add monday with a ${MONDAY_TOKEN} Bearer header — see Configure Remote MCPs. Token from avatar → Developers → My access tokens. MCP-only, no CLI fallback |
monday-weekly-report |
Weekly project-status report from monday.com board(s) | claude mcp add monday with a ${MONDAY_TOKEN} Bearer header (see monday above). For attribution enable dynamic API. Optional env: MONDAY_WEEKLY_REPORT_BOARDS, MONDAY_WEEKLY_REPORT_TO (required for --send), MONDAY_WEEKLY_REPORT_CC |
newrelic |
Query New Relic observability data, alerts, and logs | newrelic remote MCP (or) newrelic profile add --name default --apiKey NRAK-... --accountId ... |
paypal |
Manage PayPal invoices, payments, and disputes | paypal remote MCP (required — no CLI fallback) |
playstore |
Fetch, analyze, and respond to Google Play reviews | Env: GOOGLE_APPLICATION_CREDENTIALS (path to service-account JSON; needs Google Play Developer API + Play Console access). Requires uv/uvx on PATH. |
query-db |
Query databases using natural language via CLI | Per DB: PG (PGHOST, PGPORT, PGUSER, PGPASSWORD, PGDATABASE) · MySQL (MYSQL_*) · Mongo (MDB_MCP_CONNECTION_STRING) · Redis (REDIS_URL) · SQLite (SQLITE_DB) · BigQuery (BQ_PROJECT, BQ_DATASETS) · ES (ES_URL, ES_API_KEY) |
review-architecture |
Review or create docs/architecture.md | None — uses bundled fetch + context7 MCPs |
review-copy |
Audit user-facing copy — microcopy, form/help text, voice & tone, i18n readiness, marketing; writes docs/copy-review.md | None — uses git + optional loco handoff for i18n keys |
review-design |
Compare UI code against Figma designs (Android, iOS, web) | figma remote MCP (required — no CLI fallback) |
review-ownership-map |
Code ownership & bus factor from git history — flags single points of failure on sensitive code | None — read-only git analysis |
review-readme |
Review or create README.md to match standards | None — uses bundled fetch + context7 MCPs |
review-seo |
Audit SEO + GEO + front-end web quality (perf, Core Web Vitals, accessibility) for a codebase and/or live URL | None — uses curl + bundled fetch + chrome-devtools MCPs |
review-threat-model |
Repo-specific STRIDE threat model — trust boundaries, abuse paths, ISO 27001 evidence | None — read-only code analysis |
review-user-guide |
Review or create docs/user-guide.md with user documentation | None — uses bundled fetch + context7 MCPs |
run-linters |
Run linters and fix any issues found | None — runs project linters already configured in the repo |
sprint-summary |
Summarize sprint items grouped by repo in ~3-day blocks | atlassian remote MCP (or) jira init |
verify-resolved-issues |
Audit resolved/fixed/done issues, verify fixes, close or reopen | GitHub: gh auth login (or) GITHUB_PERSONAL_ACCESS_TOKEN. Jira: atlassian remote MCP (or) jira init |
weekly-dev-report |
Weekly dev activity report from Jira sprint + GitHub | atlassian remote MCP (or) jira init. GitHub: gh auth login. Optional env: WEEKLY_DEV_REPORT_TO (required for --send), WEEKLY_DEV_REPORT_CC, GITHUB_USERNAME_MAP |
work-issue |
Implement GitHub/Jira issue(s) end-to-end and open a PR | GitHub: gh auth login (or) GITHUB_PERSONAL_ACCESS_TOKEN. Jira: atlassian remote MCP (or) jira init |
write-tests |
Generate and run tests in the repo's own framework (unit/integration/e2e); enforces 80/80 line/branch coverage | None — uses the test runner already in the repo (RSpec, pytest, Jest/Vitest, go test, dotnet, xcodebuild, gradle, PHPUnit/Pest, cargo, ctest, …) |
Language Servers (LSPs)
The plugin declares LSPs for 13 languages. Each is idle until you open a matching file in your workspace — opening
app.ts activates the TypeScript LSP, opening lib.go activates
gopls, etc. No LSP runs in a repo that doesn't have matching file extensions.
Why they matter: an active LSP gives Claude real type information from your installed dependencies — function
signatures, references, type definitions, completions — instead of inferring from source code. This is what stops Claude
from hallucinating method names on third-party libraries or guessing the shape of a return type. Any skill that touches
code (code-review-deep, migrate-code, run-linters, work-issue, write-tests, create-pr, the deep-analysis
agents) becomes meaningfully more accurate.
Activation rules:
- LSPs spawn on demand when matching file extensions exist in the workspace, and stop when Claude Code exits.
- If the LSP binary is not on your
PATH, that language silently falls back to source-only analysis — the rest of the plugin is unaffected. - Each LSP communicates over stdio with Claude Code's LSP host; you don't interact with them directly.
- They are independent of the bundled MCP servers — different protocol, different lifecycle, different purpose. MCPs give Claude tools (e.g., "search GitHub", "query a database"). LSPs give Claude knowledge of your code.
Bundled LSPs:
| Language | LSP binary | File extensions |
|---|---|---|
| TypeScript /JavaScript | typescript-language-server |
.ts, .tsx, .js, .jsx, .mts, .cts, .mjs, .cjs |
| Python | pyright-langserver |
.py, .pyi |
| Ruby | ruby-lsp |
.rb, .rake, .gemspec, .ru |
| Go | gopls |
.go |
| Bash | bash-language-server |
.sh, .bash, .zsh |
| Rust | rust-analyzer |
.rs |
| YAML | yaml-language-server |
.yml, .yaml (provides GitHub Actions / k8s schema validation) |
| Swift | sourcekit-lsp (bundled with Xcode) |
.swift |
| PHP | intelephense |
.php |
| Kotlin | kotlin-lsp (JetBrains, pre-alpha) |
.kt, .kts — JVM-only Gradle/Maven projects; KMP not yet supported |
| Java | jdtls |
.java |
| C / C++ / Objective-C | clangd |
.c, .cpp, .cc, .cxx, .h, .hpp, .hh, .hxx, .m, .mm |
| Perl | perlnavigator |
.pl, .pm, .t |
Install commands per LSP are in the macOS Quick Start section. Install only the LSPs for languages you actually write — each one adds a small startup cost only when its file types appear in a workspace.
Local Development
claude --plugin-dir /path/to/claude-code-plugin-dev
Contributing
We love your input! We want to make contributing to this project as easy and transparent as possible, whether it's:
- Reporting a bug
- Discussing the current state of the code
- Submitting a fix
- Proposing new features
- Becoming a maintainer
Pull requests are the best way to propose changes to the codebase. We actively welcome your pull requests:
- Fork the repo and create your branch from
master. - If you've added code that should be tested, add tests. Ensure the test suite passes.
- Update the documentation.
- Make sure your code lints.
- Issue that pull request!
When you submit code changes, your submissions are understood to be under the same License that covers the project. Feel free to contact the maintainers if that's a concern.