Doc Sync
JetBrains/ideavim
Keeps IdeaVim documentation in sync with code changes. An agent skill from JetBrains/ideavim.
A skill your agent uses when defining or editing MPS node factories (the "actions" aspect) — NodeFactories roots, per-concept NodeFactory setup functions that initialize a freshly created node and…
$ npx skills add JetBrains/MPS --skill mps-aspect-actions -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install JetBrains/MPS mps-aspect-actions --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/JetBrains/MPS.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/mps-aspect-actions .claude/skills/mps-aspect-actions && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "mps-aspect-actions" agent skill from https://github.com/JetBrains/MPS/tree/master/.agents/skills/mps-aspect-actions into .claude/skills/mps-aspect-actions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mps-aspect-actions", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/JetBrains/MPS/tree/master/.agents/skills/mps-aspect-actionsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add JetBrains/MPS --skill mps-aspect-actions -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install JetBrains/MPS mps-aspect-actions --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JetBrains/MPS.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/mps-aspect-actions .agents/skills/mps-aspect-actions && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "mps-aspect-actions" agent skill from https://github.com/JetBrains/MPS/tree/master/.agents/skills/mps-aspect-actions into .agents/skills/mps-aspect-actions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mps-aspect-actions", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add JetBrains/MPS --skill mps-aspect-actions -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install JetBrains/MPS mps-aspect-actions --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JetBrains/MPS.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/mps-aspect-actions .cursor/skills/mps-aspect-actions && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "mps-aspect-actions" agent skill from https://github.com/JetBrains/MPS/tree/master/.agents/skills/mps-aspect-actions into .cursor/skills/mps-aspect-actions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mps-aspect-actions", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/JetBrains/MPS.git --path .agents/skills/mps-aspect-actions--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add JetBrains/MPS --skill mps-aspect-actions -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install JetBrains/MPS mps-aspect-actions --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JetBrains/MPS.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/mps-aspect-actions .gemini/skills/mps-aspect-actions && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "mps-aspect-actions" agent skill from https://github.com/JetBrains/MPS/tree/master/.agents/skills/mps-aspect-actions into .gemini/skills/mps-aspect-actions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mps-aspect-actions", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install JetBrains/MPS mps-aspect-actionsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add JetBrains/MPS --skill mps-aspect-actions -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/JetBrains/MPS.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/mps-aspect-actions .github/skills/mps-aspect-actions && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "mps-aspect-actions" agent skill from https://github.com/JetBrains/MPS/tree/master/.agents/skills/mps-aspect-actions into .github/skills/mps-aspect-actions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mps-aspect-actions", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add JetBrains/MPS --skill mps-aspect-actions -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install JetBrains/MPS mps-aspect-actions --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JetBrains/MPS.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/mps-aspect-actions .opencode/skills/mps-aspect-actions && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "mps-aspect-actions" agent skill from https://github.com/JetBrains/MPS/tree/master/.agents/skills/mps-aspect-actions into .opencode/skills/mps-aspect-actions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mps-aspect-actions", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
mps-aspect-actionsA skill your agent uses when defining or editing MPS node factories (the "actions" aspect) — NodeFactories roots, per-concept NodeFactory setup functions that initialize a freshly created node and…
Mps Aspect Actions is an agent skill from JetBrains/MPS, published by the product's own GitHub organization. Use when defining or editing MPS node factories (the "actions" aspect) — NodeFactories roots, per-concept NodeFactory setup functions that initialize a freshly created node and optionally copy data from a replaced sampleNode, plus the actions aspect's CopyPasteHandlers and PasteWrappers roots. Reach for this skill when a substitution, side transform, completion replacement, or add new initialized(...) should preserve fields from the node it is replacing, or when defaults set in a constructor are not enough.
Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including reference files (for example `references/aspect-model-stereotypes.md`, `references/common-failures.md` and `references/concept-reference.md`).
It works with JetBrains IDEs. The repository describes itself as: JetBrains Meta programming System. The licence is Apache-2.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 3e9cfcd. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Mps Aspect Actions loads about 2.2k tokens when it runs, and up to ~9.6k if it reads all its reference files. Until then it costs about 136 tokens; SKILL.md has 936 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from JetBrains/MPS at commit 3e9cfcd, republished under its Apache-2.0 licence (© JetBrains). 936 words, ~2,222 tokens.
.claude/skills/mps-aspect-actions/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.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.
The actions aspect customizes how new nodes of a concept are constructed by the MPS editor — typically during substitution, side transformations, right-transform/<ctrl-space> replacement, or auto-replace. The framework produces an empty instance of the target concept; the setup function then populates it, often copying fields from the node it is replacing (sampleNode). Lives in <lang>/models/<lang>.actions.mps, language jetbrains.mps.lang.actions. The aspect also hosts copy/paste handlers and paste wrappers (see references/copy-paste-and-paste-wrappers.md).
NodeFactories root per actions model; add per-concept NodeFactory children to it. Do not create one root per concept.NodeFactory per applicableConcept. Multiple factories for the same concept are not merged.newNode is attached to the model. newNode.parent, ancestors, and model-wide queries return null/empty. Use the enclosingNode implicit parameter when you need the would-be parent.sampleNode is typed as node<BaseConcept>. Always narrow with ifInstanceOf (sampleNode is <Concept> original) before accessing fields — direct dereference will NPE or fail to compile.SPropertyAccess (ref property → PropertyDeclaration) for properties; use SLinkAccess (ref link → LinkDeclaration) for both containment and reference child roles.<C()>, model.add root(<C()>), model.add new root(C), or pure rendering. If you need factory-initialised nodes in generator code, use new node<C>() with explicit property assignments or route creation through an intention that calls add new initialized.mps_mcp_insert_root_node_from_json, mps_mcp_update_node, optionally mps_mcp_parse_java_and_insert with featureKind: "STATEMENTS" for the body). Do not hand-edit .mps files.mps_mcp_check_root_node_problems on the NodeFactories root and rebuild the language.<lang>/models/<lang>.actions.mps; create with mps_mcp_create_model, passing moduleName: "<lang>" and modelName: "<lang>.actions" — aspect ID actions, case-sensitive, no @ suffix; see aspect-model-stereotypes.md). Used languages: jetbrains.mps.lang.actions, jetbrains.mps.baseLanguage, jetbrains.mps.lang.smodel. Add jetbrains.mps.lang.core as the base. Import the structure model of your language.NodeFactories root via mps_mcp_insert_root_node_from_json (blueprint in references/json-blueprints.md). Set name.NodeFactory child via mps_mcp_update_node. Set applicableConcept; attach a NodeSetupFunction with a StatementList body.ifInstanceOf (sampleNode is <Concept> original) { newNode.<prop> = original.<prop>; ... }. Cross-type narrowing is allowed — see references/setup-function-bodies.md.mps_mcp_check_root_node_problems, rebuild the language, exercise in a sandbox.NodeSetupFunction| Alias | FQN | Type | Nullable | Notes |
|---|---|---|---|---|
newNode | jetbrains.mps.lang.actions.structure.NodeSetupFunction_NewNode | node<applicableConcept> | no | The freshly created empty node. Populate it. |
sampleNode | jetbrains.mps.lang.actions.structure.NodeSetupFunction_SampleNode | node<BaseConcept> | yes | Node being replaced, if any. Narrow with ifInstanceOf. |
enclosingNode | jetbrains.mps.lang.actions.structure.NodeSetupFunction_EnclosingNode | node<BaseConcept> | yes | Prospective parent container; null during root-node creation or programmatic creation outside the editor. |
index | jetbrains.mps.lang.actions.structure.NodeSetupFunction_Index | int | — | 0-based position in the parent collection, or 0 if not in a collection. |
model | (plain VariableReference in generated Java) | SModel | yes | The SModel newNode will be inserted into. Most factories don't use this. |
Signature surfaced in the editor: (newNode, sampleNode, enclosingNode, index, model) -> void.
mps-aspect-behavior — concept constructors are the place to set defaults that don't depend on the node being replaced. Use a constructor for intrinsic defaults, a NodeFactory for context-sensitive carry-over.mps-aspect-intentions — intentions that call add new initialized(...) route through factories. Load the mps-aspect-intentions companion skill from the same origin when this applies, then open references/factory-initialized.md in the mps-aspect-intentions skill root for the NF_* family.mps-aspect-generator — generator output bypasses factories (quotations and add new root do not fire factories). Document where the generator must mimic the factory behavior.mps-model-manipulation — full smodel reference: SLinkAccess vs SPropertyAccess, IfInstanceOfStatement, IfInstanceOfVariable, and the NF_* family. For a setup-function body — copying properties and child links onto newNode — open only references/property-and-mutation-ops.md in the mps-model-manipulation skill root after loading that companion skill from the same origin.mps-aspect-structure-concepts — when adding the concept that applicableConcept targets.mps-aspect-constraints — for canBe* rules that gate insertion before a factory ever runs.Start here — most common case: one NodeFactory that initializes a freshly created node (optionally copying from sampleNode) → read only references/setup-function-bodies.md, plus references/json-blueprints.md if you insert the root through MCP; copy/paste behaviour → only references/copy-paste-and-paste-wrappers.md.
references/node-factories-and-triggers.md when you need the validated concept ref for NodeFactories / NodeFactory / NodeSetupFunction, the rule that MPS runs every applicable factory up the concept's super-concept and implemented-interface chain (not just the one whose applicableConcept exactly matches), and the precise list of triggers that fire / do not fire a factory.references/setup-function-bodies.md when writing the function body — copying properties vs. child links (SPropertyAccess vs SLinkAccess), cross-type narrowing in ifInstanceOf, the verbatim ChemMastery (same-type property copy) and Kaja (cross-type child-link copy) examples, and the JSON shape for an AssignmentExpression over SLinkAccess.references/json-blueprints.md when inserting the NodeFactories root or a NodeFactory child via MCP — minimal blueprints, the full IfInstanceOfStatement body, and the tip on using mps_mcp_parse_java_and_insert to skip the blueprint.references/copy-paste-and-paste-wrappers.md when the language needs custom copy pre-processing, paste post-processing, or paste-time wrapping of nodes — these other roots also live in the actions aspect.references/concept-reference.md for the validated FQN/ref table — the jetbrains.mps.lang.actions concepts plus the supporting BaseLanguage and smodel concepts used in setup bodies.references/common-failures.md when a freshly created node always has defaults, sampleNode.<prop> does not compile, enclosingNode is unexpectedly null, the factory fires twice, or it does not fire from quotations / generator code.© JetBrains, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 7 other files (references) in .agents/skills/mps-aspect-actions of JetBrains/MPS.
Open the folder on GitHubat commit 3e9cfcd
Mps Aspect Actions next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Mps Aspect Actions this skillJetBrains/MPS | 1.7k | — | ~2.2k | Automated safety check: Pass | Apache-2.0 | |
| Doc SyncJetBrains/ideavim | 10k | 2 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Evals Contextzgsm-ai/costrict | 4.4k | 1 repos | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| ChangelogJetBrains/ideavim | 10k | 1 repos | ~2.7k | Automated safety check: Pass | MIT | |
| Youtrack CommunityJetBrains/intellij-community | 21k | — | ~3.2k | Automated safety check: Notes | Custom licence | |
| Compose Multiplatform Patternsmonta-app/ocpp-emulator | 180 | 5 repos | ~2k | Automated safety check: Pass | Apache-2.0 |
JetBrains/ideavim
Keeps IdeaVim documentation in sync with code changes. An agent skill from JetBrains/ideavim.
zgsm-ai/costrict
Provides context about the CoStrict evals system structure in this monorepo.
JetBrains/ideavim
Maintains the IdeaVim changelog (CHANGES.md). An agent skill from JetBrains/ideavim.
JetBrains/intellij-community
YouTrack CLI for a community checkout; the monorepo uses youtrack.
monta-app/ocpp-emulator
Compose Multiplatform and Jetpack Compose patterns for KMP projects — state management, navigation, theming, performance, and platform-specific UI.
JetBrains/intellij-community
Compare Python type inference with ty, pyrefly, and basedpyright.
JetBrains/MPS
Analyze an MPS language by name — discover concepts, properties, references, children, aspects (editor/constraints/behavior), metadata, and answer type questions (is A a subtype of B, common…
JetBrains/MPS
Add, update, or delete MPS nodes using JSON blueprints — covers the unified blueprint format, staged construction for large subtrees, validation, and reference repair.
JetBrains/MPS
Open an MPS project in a running or freshly started MPS instance when MCP tools fail because no project is open (welcome screen), close an open project with mpsmcpcloseproject, or create a new empty…
JetBrains/MPS
Complete JetBrains MPS workflow guide for DSL projects — models, languages, generators, node JSON blueprints, type queries, validation, MPS MCP tool usage, and the index of companion skills.
JetBrains/MPS
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…
JetBrains/MPS
Define concepts, interface concepts, enumerations, and constrained data types in an MPS language's structure aspect.
Works with
A skill your agent uses when defining or editing MPS node factories (the "actions" aspect) — NodeFactories roots, per-concept NodeFactory setup functions that initialize a freshly created node and…. Mps Aspect Actions is an agent skill from JetBrains/MPS, published by the product's own GitHub organization. Use when defining or editing MPS node factories (the "actions" aspect) — NodeFactories roots, per-concept NodeFactory setup functions that initialize a freshly created node and optionally copy data from a replaced sampleNode, plus the actions aspect's CopyPasteHandlers and PasteWrappers roots.
Mps Aspect Actions fits situations like: editing MPS node factories (the actions aspect) — NodeFactories roots; per-concept NodeFactory setup functions that initialize a freshly created node and optionally copy data from a replaced sampleNode; plus the actions aspects CopyPasteHandlers and PasteWrappers roots.
Run `npx skills add JetBrains/MPS --skill mps-aspect-actions -a claude-code`. Or copy the skill folder (.agents/skills/mps-aspect-actions in JetBrains/MPS) into .claude/skills/mps-aspect-actions in your project. Claude Code loads it when a task matches its description.
Run `npx skills add JetBrains/MPS --skill mps-aspect-actions -a codex`. Or copy the skill folder (.agents/skills/mps-aspect-actions in JetBrains/MPS) into .agents/skills/mps-aspect-actions in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add JetBrains/MPS --skill mps-aspect-actions -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mps-aspect-actions, .gemini/skills/mps-aspect-actions, .github/skills/mps-aspect-actions and .opencode/skills/mps-aspect-actions in your project.
SKILL.md names no scripts, command-line tools or credentials: Mps Aspect Actions is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Mps Aspect Actions is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.2k tokens (SKILL.md is roughly 8.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 7.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Mps Aspect Actions: Doc Sync (JetBrains/ideavim, 10k stars), Evals Context (zgsm-ai/costrict, 4.4k stars), Changelog (JetBrains/ideavim, 10k stars) and Youtrack Community (JetBrains/intellij-community, 21k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
JetBrains (a GitHub organization, an official publisher) maintains it in JetBrains/MPS, which has 1,661 GitHub stars. The repository holds 41 skills in this directory. The repository was last updated on October 8, 2026.
Source: JetBrains/MPS on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.