Help us improve
Share bugs, ideas, or general feedback.
Installs the Amplicode IntelliJ plugin into IntelliJ IDEA (Ultimate/Community) and GigaIDE via JetBrains CLI, detecting existing installations and filtering compatible IDEs.
npx claudepluginhub amplicode/spring-skills --plugin spring-toolsHow this skill is triggered — by the user, by Claude, or both
Slash command
/amplicode-spring-skills:amplicode-installThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Installs the Amplicode IntelliJ plugin into all locally installed IntelliJ IDEA (Ultimate/Community) and GigaIDE installations the user picks.
Provides IntelliJ Platform SDK knowledge for writing, debugging, and migrating JetBrains IDE plugins — covers plugin.xml, services, actions, PSI/VFS, threading, custom languages, code insight, Kotlin UI DSL v2, tool windows, run configs, Gradle plugin, dynamic reload, verifier, signing, and Marketplace publishing.
Provides safety rules, workflows, and tool reference for debugging Java applications via IntelliJ debugger: breakpoints, stepping, expression evaluation, and runtime state inspection.
Tests AI IDEs for code execution vulnerabilities via hooks abuse, binary planting, IDE settings exploitation, tools auto-loading, and env var prefixing. Patterns tiered by interaction from zero to trusted workspace.
Share bugs, ideas, or general feedback.
Installs the Amplicode IntelliJ plugin into all locally installed IntelliJ IDEA (Ultimate/Community) and GigaIDE installations the user picks.
IU), IDEA Community (IC), and GigaIDE. Skips everything else.<ide-binary> installPlugins com.haulmont.amplicode https://amplicode.ru/marketplace. The IDE itself picks the right version for its build, downloads the ZIP, and unpacks it into the right plugins directory.installPlugins CLI handles fetching, version matching against the IDE build, and unpacking.The scripts live next to this SKILL.md under scripts/. Run the right one for the user's OS and parse its stdout as a JSON array; the script already filters down to compatible IDEs (IDEA Ultimate / Community / GigaIDE), so the agent only needs these fields per element: amplicodeInstalled, name, running, pid, hostsCurrentProcess, dataDirectoryName, exePath, appBundle.
bash scripts/detect-ides.shpwsh scripts/detect-ides.ps1 (fallback powershell if pwsh is not available)If the JSON array is empty — tell the user no compatible IDE was found and stop.
amplicodeInstalled: true — never reinstall, never ask.name). Do not add "all of them" as a separate option — multi-select already covers it. Recommend selecting all, but let the user decide.For each picked IDE, check the running flag from the detection JSON. Trust it — do not roll your own pgrep check; pgrep truncates long JVM command lines and gives false negatives. If running: true, the JetBrains CLI will fail with "Only one instance of IDEA can be run at a time."
Self-host check (do this first). For each picked IDE with running: true, look at hostsCurrentProcess. If true, you are running inside that IDE's terminal — sending SIGTERM to the IDE will kill you before installPlugins ever runs, leaving the user with a closed IDE and no plugin. Never offer auto-restart for such IDEs. Skip the question below for that IDE and go straight to the manual instructions described after "If the user picks the second option" — substitute the IDE's own exePath. Tell the user up front (in their language) why: "I'm running inside this IDE — if I close it, I die with it and the install step never runs. So you'll need to do this part yourself."
When at least one picked IDE has running: true and hostsCurrentProcess: false, offer the user an auto-restart flow for those IDEs. Phrase the user-facing question in the user's language (mirror whatever language the user has been chatting in); the wording below is the English baseline:
" is currently running. I can gracefully shut it down, install the plugin, and relaunch it. If the IDE has unsaved changes it will show a save dialog and refuse to exit — in that case I will stop and you handle it manually. OK?"
Ask a single-select question with two options:
If the user picks the second option, do not stop silently and do not just ask them to "re-run this skill" — they may be running you from inside that very IDE, in which case re-running the skill after closing the IDE is impossible. Instead, give them the exact command and the post-install steps they need to perform themselves. Tell them (in their language):
Close the IDE yourself, then run this command in a terminal:
"<exePath>" installPlugins com.haulmont.amplicode https://amplicode.ru/marketplaceSubstitute
<exePath>with the IDE launcher path from the detection JSON (quote it — there are usually spaces). Wait for it to finish; exit code 0 means the plugin is installed.Then open the IDE again. On any open project:
- If the Amplicode welcome screen appears — click Настроить Spring Agent.
- Otherwise open it manually via Find Action (
Cmd+Shift+Aon macOS,Ctrl+Shift+Aon Windows/Linux) → type Spring Agent Toolkit → Enter, then click Настроить Spring Agent.- After that, restart the MCP client you are using (so it picks up the new MCP server config).
Then stop the skill.
If the user agrees to auto-restart, for each running picked IDE do graceful quit → wait → install → relaunch:
Quit (SIGTERM, never SIGKILL):
kill -TERM <pid>taskkill /PID <pid> (no /F)Wait for shutdown by polling: re-run the detect script and look for the same dataDirectoryName. The IDE is fully down when running: false (the .pid file is removed). Poll every 5 seconds for up to 30 seconds — do NOT poll every second, that's just noise.
If still running after 30 seconds — stop. Tell the user (in their language): "The IDE didn't shut down within 30 seconds — there's probably an unsaved-changes dialog open. Finish saving/exiting it manually, then re-run this skill." Do not retry, do not force-kill.
Install as described in step 4.
Relaunch:
open -a "<appBundle>" (this is what appBundle is for; falls back to open -a "<exePath>" if missing).nohup "<exePath>" >/dev/null 2>&1 & (detach from the agent process group).Start-Process -FilePath "<exePath>" from PowerShell, or start "" "<exePath>" from cmd.For each picked IDE, run:
"<exePath>" installPlugins com.haulmont.amplicode https://amplicode.ru/marketplace
Notes:
Bash call. Always quote exePath — it commonly contains spaces.Tell the user the following (translate it into the user's language — mirror whatever language they have been chatting in):
Amplicode plugin installed into: .
Next:
- Open any project in the IDE — the Amplicode welcome screen should appear automatically. If it does not, open it manually: Find Action (
Cmd+Shift+Aon macOS,Ctrl+Shift+Aon Windows/Linux) → type Spring Agent Toolkit → Enter.- Click the "Настроить Spring Agent" button on that screen. The plugin will then write the Amplicode MCP server into the configs of the supported agents and install spring-skills. Without clicking this button, MCP is not configured. The welcome screen only shows up on an open project, not on the IDE's start window.
- Restart the MCP client you are currently using. Most clients read MCP config only at startup, so the newly added
amplicodeserver is not visible in the current session. After the restart, check the client's MCP server list.
Keep Настроить Spring Agent and Spring Agent Toolkit verbatim in the translated message — they are literal labels rendered in the IDE's UI, not strings to localize.
After the user restarts their MCP client and continues the conversation, if you can introspect the list of configured MCP servers and amplicode is not present, the user most likely skipped the welcome-screen button. Tell them (in their language):
Looks like the
amplicodeMCP server isn't connected on your side. That means the welcome-screen button wasn't pressed yet. Open any project in the IDE, then run Find Action (Cmd+Shift+A/Ctrl+Shift+A) → Spring Agent Toolkit → click Настроить Spring Agent on the screen that opens. Then restart this client again.