About jetbrains-skill
A skill for using JetBrains IDE features as tools from an external client. It covers MCP setup, code analysis, refactoring, project file operations, and running configurations with safety constraints.
Key features
- 01MCP server setup for clients
- 02IDE diagnostics and symbol lookup
- 03Indexed project search
- 04File editing and reformatting
- 05Run configurations and terminal commands
Use cases
- 01Investigating IDE diagnostics
- 02Renaming symbols across a project
- 03Searching indexed project files
- 04Running a project configuration or command
MCP support
JetBrains IDEs expose an MCP server that external clients can connect to using auto-configured or manually copied SSE or Stdio settings. The skill describes setup and using IDE tools through that connection.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ ry-run/ run-skills --skill jetbrains-skillAfter installing, type/jetbrains-skillin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
SKILL_zh.mdagents/openai.yamlreferences/jetbrains-skill_zh.mdjetbrains-skill.mdDetails
From the project READMEJetBrains Skill
Quick start
Goal: use JetBrains IDE features (index, inspections, refactoring, run configurations, integrated terminal) as tools for an external client, while keeping changes auditable and safe.
notes + tool list (condensed): skills/jetbrains-skill/references/jetbrains-skill.md.
Connection & modes
Client setup (done in the IDE)
- Settings → Tools → MCP Server
- Enable MCP Server
- Use “Auto-configure” for supported clients (updates their JSON config), or copy SSE / Stdio config for manual setup
- Restart the external client to apply changes
Brave Mode (no confirmations)
The IDE can allow running shell commands / run configurations without per-action confirmation (“Brave mode”). This increases automation power but also increases risk. Require explicit user confirmation before enabling/disabling it.
Workflow decision tree
- Do I need IDE-grade analysis/refactoring?
- File diagnostics:
get_file_problems - Symbol semantics / docs:
get_symbol_info - Safe rename across project:
rename_refactoring(prefer over plain text replace) - Indexed search:
search_in_files_by_text/search_in_files_by_regex - Find files:
find_files_by_name_keyword(fast, name-only) orfind_files_by_glob(path glob)
- Do I just need file operations in the project?
- Read file text:
get_file_text_by_path - Create file:
create_new_file - Targeted replace:
replace_text_in_file(auto-saves) - Open in editor:
open_file_in_editor - Reformat:
reformat_file
- Do I need to run something?
- List run configs:
get_run_configurations - Run a config (wait for completion):
execute_run_configuration - Run a terminal command in IDE:
execute_terminal_command(may require confirmation; output is capped)
Constraints (avoid common mistakes)
- Always pass
projectPathwhen known to avoid ambiguity. - Many tools require paths relative to the project root and only operate on project files.
- Line/column positions are 1-based for location-based tools.
- Prefer controlling output with
maxLinesCount+truncateMode; do not rely on defaults for large outputs. - Terminal commands and running configurations are high-risk; require explicit confirmation for any potentially destructive command. Brave Mode removes guardrails.
Recommended high-value patterns
Debug via inspections first
get_file_problemsto find errors/warnings → 2)get_symbol_infoto understand the code → 3)rename_refactoringfor renames → 4)replace_text_in_fileonly for truly textual changes.
Use indexed search for scale
Prefer search_in_files_by_text / search_in_files_by_regex since it uses IDE search/indexing and highlights matches with ||.
Running and output control
Use execute_run_configuration with a sane timeout (ms). For terminal commands use execute_terminal_command, but remember output caps; for huge output, redirect to a file and read it via file tools.
References
- notes + tool list (condensed):
skills/jetbrains-skill/references/jetbrains-skill.md