Use when creating or changing MPS editor definitions — the overall workflow from scaffolding a ConceptEditorDeclaration through componentizing reusable EditorComponentDeclarations, refining cell models and cell layouts, applying style sheets and indent-layout style items, wiring smart references, leveraging…
Use when defining or modifying an MPS generation plan — explicit ordering of generators, checkpoints for cross-model reference resolution, forks for parallel branches, IncludePlan composition, conditional PlanContribution activation, ParameterEquals/ConceptListSelector fork selectors, and InitModelAttributes for…
Use when defining or editing MPS intentions (the Alt+Enter context-action aspect) — adding IntentionDeclaration roots, parameterized or surround-with variants, description/isApplicable/execute blocks, child-filter functions, factory-initialized AST splicing, or debugging why an intention is not offered. Lives in the…
Use when authoring or debugging MPS migration scripts that upgrade user models after a language definition changes — covers jetbrains.mps.lang.migration (MigrationScript class-based, PureMigrationScript declarative, MoveConcept/MoveContainmentLink/MoveReferenceLink/MoveProperty, ordering via OrderDependency, data…
Define concepts, interface concepts, enumerations, and constrained data types in an MPS language's structure aspect. Covers smart-reference detection, alias rules, cardinality, INamedConcept usage, bulk creation, and the full mpsmcpalterstructure / mpsmcpquerystructure reference. Use when authoring or modifying a…
Use when authoring or debugging MPS TextGen — concept-to-plain-text serialisation for languages whose final output is text (source files, config, scripts, DDL, XML, markdown). Covers ConceptTextGenDeclaration roots, append / indent buffer / with indent statements, text layout areas, context objects (e.g. imports…
Author and edit MPS jetbrains.mps.baseLanguage (Java) nodes — choose between the Java parser and JSON AST blueprints, map Java syntax to baseLanguage concepts/roles, harvest persistent member references, and validate. Use when writing class/method bodies, fields, expressions, statements, or any Java/BaseLanguage code…
Structured MPS bugfix workflow driven by a YouTrack issue ID — preflight tool checks, version/branch derivation, parallel-agent problem analysis, solution design, branch creation, implementation, review, and YouTrack updates. Use when the user invokes "/bugfix", asks to "fix a bug", "work on a bug", "investigate an…
Use when authoring or modifying MPS Build Language scripts (BuildProject roots) — the declarative DSL that generates Ant build.xml to package MPS language plugins, IDEA plugins, plain Java modules, standalone IDE/RCP distributions, module tests, or run code from solution tasks. Covers build solution setup, macros…
Use when running or generating MPS Console code, or when writing jetbrains.mps.lang.smodel.query queries anywhere in MPS (intentions, behavior, actions, generator queries, plain BaseLanguage). Covers the console command languages (jetbrains.mps.console.base / ideCommands / internalCommands / scripts): BLCommand /…
Use when bundling a new plain Java/Kotlin plugin into MPS distribution archives, debugging packaging/layout issues in build/mps.xml, tracing where per-plugin artefacts end up, or editing plugins/mps-build/solutions/mpsBuild/models/build.mps (the source of truth that generates every build/mps.xml). The skill covers the…
Create or refresh project-local DSL skills under .agents/skills/ -dsl/ for one or more MPS languages after discovering concepts, sandbox examples, JSON blueprints, references, or gotchas.
Use when authoring or modifying MPS IDE plugins — code that integrates with the MPS / IntelliJ host IDE shell. Covers ActionDeclaration, ActionGroupDeclaration, ToolDeclaration/TabbedToolDeclaration (dockable tool windows), KeymapChangesDeclaration (shortcuts), PreferencesComponentDeclaration (settings pages)…
Use when authoring XML documents as MPS root nodes or building XML-generating generator templates with jetbrains.mps.core.xml — covers XmlFile, XmlDocument, prolog (XML declaration, DOCTYPE, processing instructions, comments), elements, attributes, CDATA, entity references, and macro attachment via the smodelAttribute…
Analyze an MPS language by name — discover concepts, properties, references, children, aspects (editor/constraints/behavior), and metadata. Use when investigating an unfamiliar language, exploring concept structure, or finding sample nodes to use as templates for JSON blueprints.
Entry point for authoring or modifying an MPS language — index of all aspects (structure, editor, constraints, behavior, typesystem, intentions, actions, generator, textgen, accessories, generation plans), the recommended authoring order, cross-aspect call patterns, dependency/rebuild rules, and validation flow. Start…
Investigate inheritance between MPS languages and between concepts — extended languages, superconcepts, implemented interfaces, sub-/assignable concepts, and cross-language specialization. Use when tracing language hierarchies, finding extension points, or checking concept assignability.
Use when designing how multiple MPS languages relate or compose — choosing between language referencing, extension, reuse, and embedding, or deciding where a cross-language dependency should live and how generated code interacts. Covers the 2×2 modularity taxonomy adapted to MPS, a decision procedure, per-kind recipes…
Complete JetBrains MPS workflow guide for DSL projects — models, languages, generators, node JSON blueprints, validation, MPS MCP tool usage, and the index of companion skills. Use whenever working in an MPS project, when AGENTS.md says to load the MPS workflow skill, or when you need to pick the right MPS…
Use when writing or editing MPS BaseLanguage code that lives inside a model — behavior methods, typesystem rules, checking rules, generator queries, constraints, intentions, scope/canBe callbacks, dataflow builders — and combines the smodel, collections, and closures language extensions. Covers querying nodes…
Add, update, or delete MPS nodes using JSON blueprints — covers the unified blueprint format, staged construction for large subtrees, validation, and reference repair. Use whenever creating, editing, or restructuring nodes in any MPS model (structure, editor, behavior, generator, application code, etc.).
Use when writing or debugging MPS quotations and anti-quotations — "node literals" that create SNode trees inline in behavior, typesystem, intentions, generator, and other model code. Covers heavy quotations (Quotation, ), light quotations (NodeBuilder, constructor-style for bootstrapping), and the four anti-quotation…