JetBrains MPS is a development environment for creating domain-specific languages, which are programming languages designed for a particular field or task. It provides editors with features such as completion, semantic checks, and type checking, and can generate code in languages including Java and XML.
Borrowing it
Nothing to install: this file belongs to JetBrains/MPS. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/JetBrains/MPS/master/.agents/skills/mps-distribution-build/SKILL.mdgit clone --depth 1 https://github.com/JetBrains/MPSWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/jetbrains/mps/mps-distribution-build)<a href="https://agentmods.dev/skills/jetbrains/mps/mps-distribution-build"><img src="https://agentmods.dev/badge/skills/jetbrains/mps/mps-distribution-build.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00100 | $0.02203 |
| Opus 5 | $0.00050 | $0.01102 |
| Sonnet 5 | $0.00020 | $0.00441 |
| Haiku 4.5 | $0.00010 | $0.00220 |
Grade A, and why
mps-distribution-build scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 79 lines — stays where its author put it; the contents beside it link to each section on GitHub.
MPS Distribution Build — Ant Pipeline & Plugin Bundling
This skill explains how the generated Ant scripts under build/mps*.xml assemble MPS distribution archives, and how to add a new plain Java/Kotlin plugin module (e.g. plugins/mcp-tools) so it ends up in the produced archives. Authoring the model that generates these Ant scripts is covered separately by mps-build-language — this skill focuses on the output side and the plugin-bundling touchpoints.
Critical Directives
- The Ant files are generated. All
build/mps*.xmlfiles carry<!-- Generated by MPS -->. Do not hand-edit them as a permanent solution — author the change inplugins/mps-build/solutions/mpsBuild/models/build.mpsand regenerate. - A new per-plugin
BuildProjectis invisible to the distribution until it is also wired into thempsaggregator BuildProject andmpsDistribution. A plugin can build intobuild/artifacts/<projectName>/but never enter the final zip ifmps.xmlis not updated. - IDEA platform jars under
<MPS>/lib/and<MPS>/plugins/<idea-plugin>/lib/are fetched bybuild.xml platform(Ivy viagetDependencies.xml). They do not exist on a clean checkout, and noBuildProjectdeclares the fetch. Every per-plugin script implicitly requiresant -f build/build.xml platformto have already run. - There is no
${idea.plugins.dir}macro — do not invent one. Reference fetched IDEA-plugin jars via${basedir}/plugins/<idea-plugin>/lib/(matches the IDEA project libraries under.idea/libraries/*.xml). - The
test/source root is not part of the production jar. Test compilation belongs in a sibling test-onlyBuildProject(cf.mpsTesting.xml), not layered onto the production jar. - Validate cheap first: regenerate, then run
ant -f build/<projectName>.xml assemblein isolation before running the fullbuild/run_build.sh.
Common-Path Workflow — Bundle a New Plain Java/Kotlin Plugin
Running example: bundling plugins/mcp-tools (a JAVA_MODULE with Kotlin sources, depending on com.intellij.mcpServer).
What ships with it
9 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- references/architecture.md 6.2 KB
- references/build-mps-authoring.md 3.8 KB
- references/build-mps-source-of-truth.md 2.0 KB
- references/diagnostics.md 1.8 KB
- references/key-files.md 1.2 KB
- references/plugin-bundling-options.md 3.7 KB
- references/test-suite-wiring.md 1.2 KB
- references/touchpoint-checklist.md 737 B
- references/validation.md 1.1 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 79 lines · 100 tokens per session scan A 57ace86a00cf
mps-distribution-build is a skill published in the GitHub repository JetBrains/MPS (1,656 stars, last pushed yesterday), licensed Apache-2.0. It adds 100 tokens to every session and 2,203 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
migrate-intellij-util
Optimize memory usage, consistency, and performance by migrating standard Java/Kotlin classes to IntelliJ's specialized com.intellij.util implementations.
authoring-java-sdk-tasks
Writes Airflow task logic in Java, Kotlin, or any JVM language using the Airflow Java SDK. Use when the user wants to implement Airflow tasks in Java/JVM, asks about @Builder.Dag/@Builder.Task/@Builder.XCom, the Task/BundleBuilder interfaces, reading connections/variables/XComs from Java, the JSON-to-Java type…
null-safety
Use when annotating nullability in Spring Boot 3 / Spring Framework 6 code, integrating Kotlin, or adding static nullability checks without assuming Spring Framework 7 JSpecify defaults.
jackson-3-migration
Migrer Jackson 2.x til Jackson 3.x (tools.jackson) i Kotlin/Java-prosjekter — automatisert OpenRewrite-pass pluss manuell Kotlin-spesifikk opprydding og verifisering.
java-to-kotlin
Trinnvis Java-til-Kotlin-migrering med rammeverk-bevisste transformasjoner for Spring, Ktor og Nav-mønstre.
langium
A comprehensive skill to understanding how Langium-based projects work — from grammar definition through code generation, runtime parsing, linking, validation, and LSP integration.