Official agent skill

Mps Aspect Intentions

by JetBrains in JetBrains/MPS

A skill your agent uses when defining or editing MPS intentions (the Alt+Enter context-action aspect) — adding IntentionDeclaration roots, parameterized or surround-with variants…

OfficialApache-2.0Auto-check passedDevelopment

Install Mps Aspect Intentions

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

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

GitHub CLI
$ gh skill install JetBrains/MPS mps-aspect-intentions --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-intentions .claude/skills/mps-aspect-intentions && 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-intentions
GitHub stars
1.7k
Token cost
~2.2k tokens
SKILL.md length
871 words
Files
9 (incl. references)
Skills in repo
41
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when defining or editing MPS intentions (the Alt+Enter context-action aspect) — adding IntentionDeclaration roots, parameterized or surround-with variants…

  • Works in 6 steps: Ensure an intentions model exists in the… → Insert an IntentionDeclaration root with… → Fill descriptionFunction (returns a… → …
  • Editing MPS intentions (the Alt+Enter context-action aspect) — adding IntentionDeclaration roots
  • SKILL.md covers Loading companion skills, Critical Directives, Common-Path Workflow and Implicit parameters available…, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Mps Aspect Intentions is an agent skill from JetBrains/MPS, published by the product's own GitHub organization. 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 language's intentions model and uses jetbrains.mps.lang.intentions.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including reference files (for example `references/aspect-model-stereotypes.md`, `references/blocks-and-parameters.md` and `references/common-failures.md`).

It sits in Development. It works with JetBrains IDEs and Model Context Protocol. The repository describes itself as: JetBrains Meta programming System. The licence is Apache-2.0.

When your agent uses it

  • Editing MPS intentions (the Alt+Enter context-action aspect) — adding IntentionDeclaration roots
  • Surround-with variants
  • Description/isApplicable/execute blocks
  • Child-filter functions

Example prompts

  • “/mps-aspect-intentions”

Workflow steps

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

  1. Ensure an intentions model exists in the language (create with mps_mcp_create_model, passing moduleName: "" and modelName: ".intentions"…
  2. Insert an IntentionDeclaration root with mps_mcp_insert_root_node_from_json (see blueprint in references/json-blueprints.md). Set name…
  3. Fill descriptionFunction (returns a short label String), executeFunction (the transformation), and optionally isApplicableFunction (gate…
  4. For multiple menu entries per blueprint use ParameterizedIntentionDeclaration with paramType + queryFunction; use IntentionParameter…
  5. For wrap-the-selection transforms use SurroundWithIntentionDeclaration and read editorContext.getSelectedNodes().
  6. Validate (mps_mcp_check_root_node_problems), rebuild the language, exercise via Alt+Enter on a sandbox instance. Headlessly: after MAKE…

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 Intentions loads about 2.2k tokens when it runs, and up to ~13k if it reads all its reference files. Until then it costs about 103 tokens; SKILL.md has 871 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~103
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). 871 words, ~2,172 tokens.

Download SKILL.mdSave it as .claude/skills/mps-aspect-intentions/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.
name
mps-aspect-intentions
description
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 language's `intentions` model and uses `jetbrains.mps.lang.intentions`.
type
reference

MPS Intentions Aspect

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.

Intentions are user-invoked transformations shown in the Alt+Enter popup on a node. They are the canonical way to offer optional refactorings (wrap, convert, introduce, preview) alongside quick-fixes. Authoring lives in <lang>/languageModels/intentions.mps, language jetbrains.mps.lang.intentions.

Critical Directives

  • Edit intention roots through MPS MCP tools (mps_mcp_insert_root_node_from_json, mps_mcp_update_node, mps_mcp_parse_java_and_insert). Do not hand-edit serialized .mps files.
  • The intentions model must list every language used in any block body as a used language. In particular, the add new initialized(...) surface syntax requires jetbrains.mps.lang.actions — add it with mps_mcp_model_used_language(kind="language"). Plain (non-NF_*) variants like parent.role.add new(C) do not need this import.
  • Use n as C (MPS SNodeTypeCastExpression with asCast=true) — never a Java (C) n cast.
  • Use :eq: (NPEEqualsExpression) instead of == whenever either operand might be null.
  • The execute body runs on the EDT inside an MPS write action automatically — do not spawn threads or open dialogs that block.
  • descriptionFunction runs every time the Alt+Enter popup opens — keep it cheap.
  • After editing, validate with mps_mcp_check_root_node_problems on the intention root and rebuild the language before testing.

Common-Path Workflow

  1. Ensure an intentions model exists in the language (create with mps_mcp_create_model, passing moduleName: "<lang>" and modelName: "<lang>.intentions" — aspect ID intentions, case-sensitive, no @ suffix; see aspect-model-stereotypes.md). Used languages: jetbrains.mps.lang.intentions; add jetbrains.mps.lang.actions if you will use factory-initialized splicing.
  2. Insert an IntentionDeclaration root with mps_mcp_insert_root_node_from_json (see blueprint in references/json-blueprints.md). Set name, forConcept, and isAvailableInChildNodes if the popup should bubble from descendants.
  3. Fill descriptionFunction (returns a short label String), executeFunction (the transformation), and optionally isApplicableFunction (gate predicate) and childFilterFunction (per-descendant filter when isAvailableInChildNodes=true).
  4. For multiple menu entries per blueprint use ParameterizedIntentionDeclaration with paramType + queryFunction; use IntentionParameter wherever you want "the current value" inside other blocks.
  5. For wrap-the-selection transforms use SurroundWithIntentionDeclaration and read editorContext.getSelectedNodes().
  6. Validate (mps_mcp_check_root_node_problems), rebuild the language, exercise via Alt+Enter on a sandbox instance. Headlessly: after MAKE, call mps_mcp_list_node_intentions on a sandbox node to confirm the intention is registered and shows the expected description, then mps_mcp_apply_intention(nodeReference = <the entry's targetNode>, intentionId = <the entry's id>) to smoke-test executeFunction (for parameterized declarations also pass the row description). Surround-with intentions are not covered by these tools.

Implicit parameters available in every block

AliasFQNWhere
nodejetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_nodeAll blocks; typed as forConcept. In ChildFilterFunction this is the nearest enclosing forConcept ancestor.
editorContextjetbrains.mps.lang.sharedConcepts.structure.ConceptFunctionParameter_editorContextAll blocks; the current EditorContext.
childNodejetbrains.mps.lang.intentions.structure.ConceptFunctionParameter_childNodeOnly inside ChildFilterFunction; the descendant under the cursor.
parameter (IntentionParameter)jetbrains.mps.lang.intentions.structure.IntentionParameterOnly inside ParameterizedIntentionDeclaration blocks; resolves to the current queried value.
Show full SKILL.md (368 more words)Show less
  • mps-aspect-actions — when the intention needs factory-initialized children, the NodeFactories live there.
  • mps-aspect-constraints — for gating that should apply everywhere (not just Alt+Enter), prefer can-be rules over isApplicable.
  • mps-aspect-editor-menus-and-keymaps — when the action belongs on a substitute/transformation menu or a keystroke, not in the Alt+Enter popup.
  • mps-model-manipulation — full smodel/baseLanguage reference; covers the NF_* family. For an executeFunction body — the AST edit itself — 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-collections-and-closures — collections / closures reference; covers the dual IsEmptyOperation and closure literals in isApplicable / execute bodies.
  • mps-node-editing — MCP recipes for inserting children, updating references, and staged construction.
  • mps-aspect-structure-concepts — when adding the concept that forConcept targets.
  • mps-quotations — when the execute body builds a complex subtree literal.
  • mps-tests → EditorTestCase — for testing that an intention is offered and produces the expected tree.

Reference Index

Start here — most common case: one plain intention (description / isApplicable / execute) → read only references/blocks-and-parameters.md, plus references/json-blueprints.md when inserting the root through MCP; the execute body's AST edits → only references/execute-idioms.md; the intention never shows up → only references/common-failures.md.

  • Open references/blocks-and-parameters.md when wiring descriptionFunction, isApplicableFunction, executeFunction, or childFilterFunction, or when you need to look up the implicit parameter concept FQNs for any of them.
  • Open references/execute-idioms.md when writing an executeFunction body — typical AST-editing operations (insert sibling, isInstanceOf, asCast, list add, select-in-editor), the verbatim WrapInParens and AddOnEntry examples, the attach-an-annotation (node attribute) idiom (forConcept = BaseConcept + context-gated isApplicable, .@role.add(...) vs .@Mark = ...), and the SelectInEditorOperation JSON shape live there.
  • Open references/factory-initialized.md when an executeFunction allocates new nodes and you want the concept's NodeFactory to seed defaults — the NF_* family table, the add new initialized(<default>) semantics, and the used-language requirement live there.
  • Open references/parameterized-intentions.md when authoring or debugging a ParameterizedIntentionDeclaration — paramType + queryFunction semantics, IntentionParameter usage, the per-value isApplicableFunction filter, and the full SetCardinalityTo example and JSON skeleton are there.
  • Open references/surround-and-child-filter.md when authoring a SurroundWithIntentionDeclaration or when configuring isAvailableInChildNodes + a ChildFilterFunction — verbatim WrapInParens and AddOnEntry.childFilterFunction walk-throughs are there.
  • Open references/json-blueprints.md when inserting an intention root via mps_mcp_insert_root_node_from_json — minimal blueprints for IntentionDeclaration, ParameterizedIntentionDeclaration, and SurroundWithIntentionDeclaration and the validated concept-reference table.
  • Open references/common-failures.md when an intention does not appear, fires on the wrong node, leaves the caret in the wrong place, or shows duplicates — the symptom/cause/fix table is there.

© 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 8 other files (references) in .agents/skills/mps-aspect-intentions of JetBrains/MPS.

  • SKILL.md
  • references/aspect-model-stereotypes.md
  • references/blocks-and-parameters.md
  • references/common-failures.md
  • references/execute-idioms.md
  • references/factory-initialized.md
  • references/json-blueprints.md
  • references/parameterized-intentions.md
  • references/surround-and-child-filter.md

Open the folder on GitHubat commit 3e9cfcd

Compare with similar skills

Mps Aspect Intentions 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 Intentions compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Mps Aspect Intentions this skillJetBrains/MPS1.7k—~2.2kAutomated safety check: PassApache-2.0
Idea MCPdtprj/dongting208—~698Automated safety check: PassApache-2.0
Java DebugAmplicode/spring-skills126—~2.7kAutomated safety check: PassNone
Claude Docs Consultantcentminmod/my-claude-code-setup2.7k—~959Automated safety check: PassMIT
Spock AdbWahdanZ/SpockAdb116—~3.3kAutomated safety check: PassApache-2.0
Amplicode InstallAmplicode/spring-skills126—~2.6kAutomated safety check: PassNone

Similar skills

  • Idea MCP

    dtprj/dongting

    IntelliJ IDEA MCP for Java code analysis, testing, refactoring, and project navigation.

    208 GitHub stars~698 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Java Debug

    Amplicode/spring-skills

    Safety rules, workflows, and tool reference for debugging applications via IntelliJ debugger: breakpoints, debug sessions, stepping, evaluating expressions, inspecting runtime state.

    126 GitHub stars~2.7k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Claude Docs Consultant

    centminmod/my-claude-code-setup

    Consult official Claude Code documentation from code.claude.com using selective fetching.

    2.7k GitHub stars~959 tokensUpdated 2 days ago
    Agent WorkflowsAuto-check passed
  • Spock Adb

    WahdanZ/SpockAdb

    Debug Android apps on a connected device or emulator through the Spock ADB MCP server (tools named android).

    116 GitHub stars~3.3k tokensUpdated 4 days ago
    MobileAuto-check passed
  • Amplicode Install

    Amplicode/spring-skills

    Installs the Amplicode IntelliJ plugin into IntelliJ IDEA (Ultimate/Community) and GigaIDE on the user's machine.

    126 GitHub stars~2.6k tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed
  • Spring Data Jpa

    Amplicode/spring-skills

    Rules and guidelines for working with Spring Data JPA in the project.

    126 GitHub stars~838 tokensUpdated 1 mo ago
    Agent WorkflowsAuto-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 yesterday
    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 yesterday
    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 yesterday
    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 yesterday
    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 yesterday
    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 yesterday
    Auto-check passed

Categories

Questions about Mps Aspect Intentions

What does Mps Aspect Intentions do?

A skill your agent uses when defining or editing MPS intentions (the Alt+Enter context-action aspect) — adding IntentionDeclaration roots, parameterized or surround-with variants…. Mps Aspect Intentions is an agent skill from JetBrains/MPS, published by the product's own GitHub organization. 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.

When should I use Mps Aspect Intentions?

Mps Aspect Intentions fits situations like: editing MPS intentions (the Alt+Enter context-action aspect) — adding IntentionDeclaration roots; surround-with variants; description/isApplicable/execute blocks; child-filter functions.

How do I install Mps Aspect Intentions in Claude Code?

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

How do I install Mps Aspect Intentions in Codex?

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

Can I use Mps Aspect Intentions 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-intentions -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-intentions, .gemini/skills/mps-aspect-intentions, .github/skills/mps-aspect-intentions and .opencode/skills/mps-aspect-intentions in your project.

What does Mps Aspect Intentions need to run?

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

Does Mps Aspect Intentions 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 Intentions 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 Intentions use?

Mps Aspect Intentions 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 Intentions 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 Intentions?

Skills that share tags, products or a category with Mps Aspect Intentions: Idea MCP (dtprj/dongting, 208 stars), Java Debug (Amplicode/spring-skills, 126 stars), Claude Docs Consultant (centminmod/my-claude-code-setup, 2.7k stars) and Spock Adb (WahdanZ/SpockAdb, 116 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Mps Aspect Intentions?

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.