Official agent skill

Mps Aspect Editor

by JetBrains in JetBrains/MPS

A skill your agent uses when creating or changing MPS editor definitions — the overall workflow from scaffolding a ConceptEditorDeclaration through componentizing reusable…

OfficialApache-2.0Auto-check passedDevelopment

Install Mps Aspect Editor

skills CLI
$ npx skills add JetBrains/MPS --skill mps-aspect-editor -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install JetBrains/MPS mps-aspect-editor --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/JetBrains/MPS.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/mps-aspect-editor .claude/skills/mps-aspect-editor && rm -rf skills-src

Use ~/.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/

Facts

Skill name
mps-aspect-editor
GitHub stars
1.7k
Token cost
~2.2k tokens
SKILL.md length
902 words
Files
17 (incl. references)
Skills in repo
41
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when creating or changing MPS editor definitions — the overall workflow from scaffolding a ConceptEditorDeclaration through componentizing reusable…

  • Works in 6 steps: Check whether the editor model already… → Scaffold first — mps_mcp_scaffold_editor… → Componentize reusable cell groups into… → …
  • Refining cell models and cell layouts
  • SKILL.md covers Loading companion skills, Critical Directives, Common Workflow and Node cell layout vs. inspected…, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Mps Aspect Editor is an agent skill from JetBrains/MPS, published by the product's own GitHub organization. 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 inheritance via super-concepts and interfaces, inspecting (printnodejson, shownoderepresentation) and validating (checkrootnodeproblems). Covers jetbrains.mps.lang.editor cell models…

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 18 other files, including reference files (for example `references/aspect-model-stereotypes.md`, `references/cell-models.md` and `references/editor-components.md`).

It sits in Development, covering Project scaffolding. It works with JetBrains IDEs. The repository describes itself as: JetBrains Meta programming System. The licence is Apache-2.0.

When your agent uses it

  • Refining cell models and cell layouts
  • Applying style sheets and indent-layout style items
  • Wiring smart references
  • Leveraging inheritance via super-concepts and interfaces

Example prompts

  • “/mps-aspect-editor”

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Check whether the editor model already exists — it almost always does. editor is one of a language's default aspects (alongside structure…
  2. Scaffold first — mps_mcp_scaffold_editor builds a default editor that wires properties/children/references to sensible cell models.
  3. Componentize reusable cell groups into an EditorComponentDeclaration and embed them with CellModel_Component — see…
  4. Refine cell choice and layout using the catalog below.
  5. Inspect with mps_mcp_print_node (structural, textual or HTML projection).
  6. Validate with mps_mcp_check_root_node_problems.

What it can do on your machine

Read from SKILL.md and the folder at commit 3e9cfcd. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    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.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Mps Aspect Editor loads about 2.2k tokens when it runs, and up to ~13k if it reads all its reference files. Until then it costs about 206 tokens; SKILL.md has 902 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~206
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~13k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from JetBrains/MPS at commit 3e9cfcd, republished under its Apache-2.0 licence (© JetBrains). 902 words, ~2,179 tokens.

Download SKILL.mdSave it as .claude/skills/mps-aspect-editor/SKILL.md (or your agent's skills folder). This skill also uses 16 other files; get the full folder from GitHub.
name
mps-aspect-editor
description
Use when creating or changing MPS editor definitions — the overall workflow from scaffolding a `ConceptEditorDeclaration` through componentizing reusable `EditorComponentDeclaration`s, refining cell models and cell layouts, applying style sheets and indent-layout style items, wiring smart references, leveraging inheritance via super-concepts and interfaces, inspecting (`print_node_json`, `show_node_representation`) and validating (`check_root_node_problems`). Covers `jetbrains.mps.lang.editor` cell models (`CellModel_RefNode`/`CellModel_RefNodeList`/`CellModel_RefCell`/`CellModel_Property`/`CellModel_Constant`), layout choices, and JSON blueprints for common editor shapes. For the non-layout side (action maps, keymaps, transformation/substitute menus) use `mps-aspect-editor-menus-and-keymaps`.
type
reference

MPS Editor — Technical Reference

Loading companion skills

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 jetbrains.mps.lang.editor language defines projectional editors as trees of cell models (display elements) with cell layouts and style items. This skill is the technical lookup: concept names, suffixes, style classes, and the rules that decide which cell model to use where.

Critical Directives

  • Always use CellModel_RefNodeList for 0..n or 1..n children. CellModel_RefNode is for single cardinality only.
  • Use IndentLayoutOnNewLineStyleClassItem (apply to the cell that should start on a new line) instead of the legacy IndentLayoutNewLineStyle (applied to the cell before the break) — the latter is easier to get wrong.
  • Reference cells: set the internal CellModel_Property (e.g. name) inside an InlineEditorComponent to readOnly=true so the referenced target cannot be accidentally renamed through the editor.
  • Smart references: no wrapping layout cell — just a single CellModel_RefCell whose editorComponent is an InlineEditorComponent with a CellModel_Property (relationDeclaration: name, readOnly: true).
  • List empty state: a CellModel_RefNodeList already synthesizes an editable empty cell (caret lands there, Ctrl+Space works). Add an explicit emptyCellModel (e.g. a CellModel_Constant "<no items>") only to customize the empty cell — but a plain constant is read-only and loses the instant-typing, so to keep it, put the hint in the constant's nullText (not text) and add an EditableStyleClassItem (flag=true). See the Editable Empty-List Placeholder pattern in references/editor-patterns.md.
  • Inheritance: components can be reused if defined for the concept, its super-concepts, or implemented interfaces.
  • Componentize shared cells: when several concept editors repeat the same cell group, factor it into an EditorComponentDeclaration (bound to the most general concept or interface that owns the relations) and reuse it via CellModel_Component. See references/editor-components.md.
  • Stylesheets: check for existing style classes in extended languages before creating new ones in a StyleSheet node.

Common Workflow

  1. Check whether the editor model already exists — it almost always does. editor is one of a language's default aspects (alongside structure, constraints, behavior, typesystem), so any non-trivial language already has it. Confirm with mps_mcp_get_project_structure (it lists the module's models) before doing anything else. Only when a brand-new language genuinely has no editor model do you create one — with mps_mcp_create_model with moduleName: "<lang>" and modelName: "<lang>.editor" (aspect ID editor, case-sensitive, no @ suffix; see aspect-model-stereotypes.md). Action maps, keymaps, transformation/substitute menus live in the same editor model — there is no separate aspect ID for them.
  2. Scaffold first — mps_mcp_scaffold_editor builds a default editor that wires properties/children/references to sensible cell models.
  3. Componentize reusable cell groups into an EditorComponentDeclaration and embed them with CellModel_Component — see references/editor-components.md for the manual and mps_mcp_scaffold_editor (type="component", includeComponents, detectComponents) paths.
  4. Refine cell choice and layout using the catalog below.
  5. Inspect with mps_mcp_print_node (structural, textual or HTML projection).
  6. Validate with mps_mcp_check_root_node_problems.
Show full SKILL.md (368 more words)Show less

Node cell layout vs. inspected cell layout

A ConceptEditorDeclaration holds two editor sections:

  • Node cell layout — the cellModel child (cardinality 1). The main editor, shown inline in the document where the node appears.
  • Inspected cell layout — the inspectedCellModel child (cardinality 0..1). A secondary definition shown in the Inspector tool window when the caret is on this node in the main editor. Typically used for less-important or less-frequently read/modified properties so they stay out of the main layout.

Both roles accept any EditorCellModel and are built the same way (collections, property cells, ref cells, …). The inspected section is optional — omit inspectedCellModel when everything belongs in the main editor. See references/editor-patterns/inspected-cell-layout.md.

  • mps-aspect-editor-menus-and-keymaps — for action maps, cell keymaps, transformation menus, substitute menus, side transforms, paste wrappers, copy-paste handlers, completion styling, and reference presentation. Use this skill alongside that one when authoring an editor end-to-end.
  • mps-aspect-structure-concepts — concept declarations supply the relations (properties / children / references) the editor wires up.
  • mps-language-aspects-overview — for the broader authoring order around editors.

Reference Index

Start here — most common case: laying out cells for one concept → read only references/cell-models.md; a known layout shape (child on its own line, indented block, vertical list) → only references/editor-patterns.md; a style item's accepted literals → only references/stylesheet-values.md.

  • Open references/cell-models.md for the catalog of cell-model concepts (ConceptEditorDeclaration, EditorComponentDeclaration, CellModel_Collection, CellModel_Constant, CellModel_Property, CellModel_ReadOnlyModelAccessor, CellModel_RefNode, CellModel_RefNodeList, CellModel_RefCell, CellModel_Component, InlineEditorComponent) with their suffixes and purpose.
  • Open references/indent-layout-styles.md for the style-item catalog (IndentLayoutOnNewLineStyleClassItem, IndentLayoutIndentStyleClassItem, IndentLayoutNewLineChildrenStyleClassItem, SelectableStyleSheetItem) used inside CellLayout_Indent.
  • Open references/editor-patterns.md for ready-to-paste JSON / pseudo-code patterns: indented child on a new line, named concept with keyword header, transparent list, smart-reference cell, a minimal ConceptEditorDeclaration JSON template, a concept editor with an inspected cell layout, the empty-constant vertical-gap separator, the editable empty-list placeholder with a disappearing nullText hint (EditableStyleClassItem), and the annotation (node attribute) editor with CellModel_AttributedNodeCell (attributed node), guillemet labels, and keyboard-deletability.
  • Open references/editor-components.md for how to factor editor design into reusable editor components: what an EditorComponentDeclaration is, the inheritance rule, and step-by-step manual (mps_mcp_insert_root_node_from_json + CellModel_Component) and scaffold (mps_mcp_scaffold_editor) recipes with a worked Kaja example.
  • Open references/stylesheet-values.md for the enum literals accepted by stylesheet items: _Colors_Enum (darkBlue, gray, darkGreen, black, …) for ForegroundColorStyleClassItem.color and other color items, _FontStyle_Enum (PLAIN, BOLD, ITALIC, BOLD_ITALIC, QUERY) for FontStyleStyleClassItem.style, plus UnderlineStyle and FocusPolicy.

© 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

Files

SKILL.md and 16 other files (references) in .agents/skills/mps-aspect-editor of JetBrains/MPS.

  • SKILL.md
  • references/aspect-model-stereotypes.md
  • references/cell-models.md
  • references/editor-components.md
  • references/editor-patterns.md
  • references/editor-patterns/annotation-editor.md
  • references/editor-patterns/child-below-header.md
  • references/editor-patterns/empty-list-placeholder.md
  • references/editor-patterns/indented-child-new-line.md
  • references/editor-patterns/inspected-cell-layout.md
  • references/editor-patterns/keyword-header.md
  • references/editor-patterns/minimal-editor.md
  • references/editor-patterns/smart-reference-cell.md
  • references/editor-patterns/transparent-list.md
  • references/editor-patterns/vertical-gap.md
  • references/indent-layout-styles.md
  • references/stylesheet-values.md

Open the folder on GitHubat commit 3e9cfcd

Compare with similar skills

Mps Aspect Editor 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.

Mps Aspect Editor compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Mps Aspect Editor this skillJetBrains/MPS1.7k—~2.2kAutomated safety check: PassApache-2.0
Project Scaffoldingaiskillstore/marketplace433—~2kAutomated safety check: PassNone
Doc SyncJetBrains/ideavim10k2 repos~2.6kAutomated safety check: PassMIT
Nx Generatenomcopter/react-mosaic4.8k7 repos~1.9kAutomated safety check: PassCustom licence
PonytailDavidObando/gsharp5657 repos~1.7kAutomated safety check: PassMIT
Run Nx Generatornrwl/nx29k2 repos~592Automated safety check: NotesMIT

Similar skills

  • Project Scaffolding

    aiskillstore/marketplace

    IDE-grade project scaffolding wizard for creating new projects with comprehensive configuration.

    433 GitHub stars~2k tokensUpdated today
    DevelopmentAuto-check passed
  • Doc Sync

    JetBrains/ideavim

    Official

    Keeps IdeaVim documentation in sync with code changes. An agent skill from JetBrains/ideavim.

    10k GitHub starsUsed in 2 repos~2.6k tokens
    DevelopmentAuto-check passed
  • Nx Generate

    nomcopter/react-mosaic

    Generate code using nx generators. An agent skill from nomcopter/react-mosaic.

    4.8k GitHub starsUsed in 7 repos~1.9k tokens
    DevelopmentAuto-check passed
  • Ponytail

    DavidObando/gsharp

    Forces the laziest solution that actually works, simplest, shortest, most minimal.

    565 GitHub starsUsed in 7 repos~1.7k tokens
    DevelopmentAuto-check passed
  • Run Nx generators with prioritization for workspace-plugin generators.

    29k GitHub starsUsed in 2 repos~592 tokens
    DevelopmentAuto-check: notes
  • Changelog

    JetBrains/ideavim

    Official

    Maintains the IdeaVim changelog (CHANGES.md). An agent skill from JetBrains/ideavim.

    10k GitHub starsUsed in 1 repo~2.7k tokens
    DevelopmentAuto-check passed

More from JetBrains/MPS

All 41 skills in this repo
  • Official

    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…

    1.7k GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Mps Node Editing

    JetBrains/MPS

    Official

    Add, update, or delete MPS nodes using JSON blueprints — covers the unified blueprint format, staged construction for large subtrees, validation, and reference repair.

    1.7k GitHub stars~5.1k tokensUpdated today
    Auto-check passed
  • Official

    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…

    1.7k GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Mps MCP Workflow

    JetBrains/MPS

    Official

    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.

    1.7k GitHub stars~6.6k tokensUpdated today
    Auto-check passed
  • Bugfix Workflow

    JetBrains/MPS

    Official

    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…

    1.7k GitHub stars~4.4k tokensUpdated today
    Auto-check passed
  • Official

    Define concepts, interface concepts, enumerations, and constrained data types in an MPS language's structure aspect.

    1.7k GitHub stars~2.8k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Mps Aspect Editor

What does Mps Aspect Editor do?

A skill your agent uses when creating or changing MPS editor definitions — the overall workflow from scaffolding a ConceptEditorDeclaration through componentizing reusable…. Mps Aspect Editor is an agent skill from JetBrains/MPS, published by the product's own GitHub organization. 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 inheritance via super-concepts and interfaces, inspecting (printnodejson, shownoderepresentation) and validating (checkrootnodeproblems).

When should I use Mps Aspect Editor?

Mps Aspect Editor fits situations like: refining cell models and cell layouts; applying style sheets and indent-layout style items; wiring smart references; leveraging inheritance via super-concepts and interfaces.

How do I install Mps Aspect Editor in Claude Code?

Run `npx skills add JetBrains/MPS --skill mps-aspect-editor -a claude-code`. Or copy the skill folder (.agents/skills/mps-aspect-editor in JetBrains/MPS) into .claude/skills/mps-aspect-editor in your project. Claude Code loads it when a task matches its description.

How do I install Mps Aspect Editor in Codex?

Run `npx skills add JetBrains/MPS --skill mps-aspect-editor -a codex`. Or copy the skill folder (.agents/skills/mps-aspect-editor in JetBrains/MPS) into .agents/skills/mps-aspect-editor in your project. Codex loads it when a task matches its description.

Can I use Mps Aspect Editor in Cursor, Gemini CLI or GitHub Copilot?

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-editor -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-editor, .gemini/skills/mps-aspect-editor, .github/skills/mps-aspect-editor and .opencode/skills/mps-aspect-editor in your project.

What does Mps Aspect Editor need to run?

SKILL.md names no scripts, command-line tools or credentials: Mps Aspect Editor is instructions for the agent only.

Does Mps Aspect Editor access the network?

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.

Is Mps Aspect Editor safe to install?

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.

What licence does Mps Aspect Editor use?

Mps Aspect Editor 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.

How many tokens does Mps Aspect Editor use?

About 2.2k tokens (SKILL.md is roughly 8.7k 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 11k tokens, read only when the agent opens those files.

What are the alternatives to Mps Aspect Editor?

Skills that share tags, products or a category with Mps Aspect Editor: Project Scaffolding (aiskillstore/marketplace, 433 stars), Doc Sync (JetBrains/ideavim, 10k stars), Nx Generate (nomcopter/react-mosaic, 4.8k stars) and Ponytail (DavidObando/gsharp, 565 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Mps Aspect Editor?

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 9, 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.