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 targetFacet routing. Apply when working with @genplan models, the jetbrains.mps.lang.generator.plan language, attaching plans via DevKits or the Custom generation facet, or debugging cross-model mapping label resolution.
66
83%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
—
The risk profile of this skill
Companion names in this skill are lazy dependencies: load only those relevant to the current task. If this skill came from an MCP server, use the host's skill loader to resolve the companion's unique discovered entry URI on the same host-assigned originating server. If the host has no server-backed skill loader, stop and report that limitation; do not silently fall back to a filesystem copy. If this skill came from a filesystem catalog, load the named sibling from that same catalog at <skills-root>/<skill-name>/SKILL.md, even if remote skill loaders are also available. Do not invent a tool name or server endpoint.
A generation plan (Plan) is an ordered script that controls which generators run, in what sequence, and with what synchronization points. Without a plan, MPS determines order from mutual generator priorities and dependencies. A plan lets language designers specify that ordering once, in a single place, without requiring all involved languages to know about each other.
Language: jetbrains.mps.lang.generator.plan (id 7ab1a6fa-0a11-4b95-9e48-75f363d6cb00, version 3)
Also requires: jetbrains.mps.lang.smodel (for LanguageId / LanguageIdentity nodes)
.java files and XML descriptors from the same input).PlanContribution).genplan stereotype. File name pattern: <name>@genplan.mps. Pass moduleName: "<hosting module>" and modelName: "<name>@genplan" to mps_mcp_create_model. See aspect-model-stereotypes.md for all model identifiers. Set doNotGenerate=true (MPS adds this automatically).Plan.steps is 1..n. A plan with no steps is invalid.LanguageEntry.language (LanguageId) and GeneratorModulePointer.module (ModulePointer) are each cardinality 1 — missing them is a validation error.Checkpoint sits between them..mps genplan files. Use MPS MCP node tools.genplan (file like MyPlan@genplan.mps).jetbrains.mps.lang.generator.plan and jetbrains.mps.lang.smodel.Plan root node with a descriptive name.Transform steps in order (one per phase); group parallel-safe languages in one Transform with multiple LanguageEntry children.Checkpoint steps wherever downstream generators must resolve cross-model references.Fork steps for any output variant requiring its own branch (e.g. XML alongside Java); or add a separate PlanContribution root for conditional activation.mps_mcp_check_root_node_problems.mps-aspect-generator — for the generator rules and templates that the plan orchestrates.mps-aspect-textgen — for the text serialization that consumes generated models.mps-aspect-accessories — for DevKit setup, used languages, and runtime solutions that ship with a plan.mps-node-editing — generic JSON-blueprint node creation workflow.Start here — most common case: creating a plan and wiring it into a DevKit → read only references/plan-setup.md, plus references/step-catalog.md for the exact step concepts; cross-phase label resolution → only references/checkpoints.md; composing or branching plans → only references/composition-and-fork.md.
Transform, ApplyGenerators, Checkpoint, IncludePlan, Fork, CheckpointDeclaration, CheckpointSynchronization, DocumentationStep. See references/step-catalog.md.Transform and ApplyGenerators — open when wiring languages by identity (LanguageEntry.kind = Transform / TargetAt / Extend) or naming specific generator modules. Includes the verified "the plan" and "WithCompiledGenerator" JSON examples. See references/transform-and-applygenerators.md.InPlaceCheckpointSpec, DeclaredCheckpointSpec, InPlaceCheckpointRefSpec. See references/checkpoints.md.IncludePlan, Fork, and PlanContribution — open when composing plans from smaller pieces, splitting branches, or activating a conditional contribution without modifying the base plan. Includes "GenPlanWithFork", "LangConstraintsPlan", and "DocumentationPlan" JSON examples. See references/composition-and-fork.md.ParameterEquals or ConceptListSelector, or defining a ParameterDeclaration. See references/fork-selectors.md.InitModelAttributes, targetFacet) — open when routing the output of a branch to a specific facet such as documentation generation. Includes the verified ModelAttributeAssignment blueprint. See references/model-attributes.md.conceptReference strings or qualified concept names. See references/concept-quick-reference.md.FIND_INSTANCES, search by name) or to validate a plan using MPS UI and MCP tools. See references/verification-and-discovery.md.08ba017
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.