
Description
Create or refresh project-local DSL skills under `.agents/skills/<dsl-name>-dsl/` for one or more MPS languages after discovering concepts, sandbox examples, JSON blueprints, references, or gotchas.
SKILL.md
When to Use
- A new MPS sample or DSL project has no generated DSL skill under
.agents/skills/<dsl-name>-dsl/, or the existing one is outdated. - The user says "bootstrap DSL skill", "generate DSL skill", or "document this DSL".
- You have just explored a DSL and want to persist your findings for future sessions as a project-local skill.
Prerequisites
- MPS MCP tools are available.
- The project has one or more language modules and at least one sandbox, example solution, or editable model that exercises the DSLs.
- Use MPS MCP tools for discovery and model edits. Do not hand-edit serialized
.mpsXML.
Workflow
- Discover languages: Call
mps_mcp_get_project_structurewithincludeModels: false. Identify all editable DSL language modules and derive each concept-tools language ref asl:<uuid>:<languageName>. - Choose skill scope: Prefer one generated skill per language. Use one combined skill only when the project languages are tightly coupled and users normally edit them together.
- Find examples: For each language or language group, call
mps_mcp_get_project_structurewith the relevant sandbox/example solution asstartingPointandincludeRootNodes: true. Record editable model refs and representative root refs. - Read concepts: Call
mps_mcp_get_concept_detailswith the relevantl:<uuid>:<languageName>refs. Capture rootable concepts, concrete children, properties, child roles, references, and usefulshortDescriptiontext. - Sample sparingly: Use
mps_mcp_print_nodeonly on representative roots or subtrees needed for reference targets, required roles, or reusable blueprints. Avoid dumping every root. - Generate DSL skills: Create or update
.agents/skills/<dsl-name>-dsl/for each selected scope. Preserve user-added notes unless they are stale or wrong. - Cross-link related skills: When generated skills cover languages that extend, depend on, or are commonly used inside each other, add short links and usage notes between them.
- Verify: Confirm linked reference files exist, blueprint JSON parses, no
.DS_Storeor editor artifacts were added, and one or two recorded node refs still resolve if the sandbox may have changed.
Generated Skill Layout
.agents/skills/<dsl-name>-dsl/
|-- SKILL.md
`-- references/
|-- concepts.md
|-- sandbox.md
|-- workflows.md
|-- gotchas.md
`-- blueprints/
|-- <operation>-skeleton.json
`-- <operation>-subtree.json
The <dsl-name> slug is derived from the language namespace: use stable lowercase, split camel case and separators into words, and prefer the namespace's final meaningful segment unless the project consistently names the DSL differently. The -dsl suffix is mandatory — callers (such as mps-mcp-workflow) discover generated skills with the glob .agents/skills/*-dsl/.
Generated SKILL.md Requirements
- Frontmatter:
name: <dsl-name>-dsldescription:Use when creating, editing, validating, or inspecting this DSL's models.
- Short domain summary: two to four sentences. For combined skills, name each covered language and when to use the combined workflow.
- Critical rules:
- Use MPS MCP tools; do not hand-edit
.mpsXML. - Use
mps_mcp_get_concept_detailswithl:<uuid>:<languageName>, not<uuid>(<languageName>). - Prefer skeleton-plus-subtree insertion for large or uncertain roots.
- Validate changed roots with
mps_mcp_check_root_node_problems.
- Use MPS MCP tools; do not hand-edit
- Quick start:
- Use the recorded sandbox model for examples or new sample roots.
- Start from
references/blueprints/for known shapes. - Dry-run root JSON with
mps_mcp_insert_root_node_from_json. - Insert roots with
mps_mcp_insert_root_node_from_json. - Add child-role subtrees incrementally for large roots.
- Run
mps_mcp_check_root_node_problemsand any task-required build/generation checks.
- Project references:
- Concept-tools language ref for each covered language.
- Sandbox/example model refs.
- Primary editable modules.
- Dependencies or extension relationships between covered project languages, if relevant.
- Related DSL skills:
- Link sibling generated skills when another project language supplies child concepts, expressions, commands, reference targets, or extensions used by this language.
- Explain when to load each related skill.
- Reference directory links.
Reference Files
references/concepts.md: concept hierarchy, rootable concepts, properties, child roles, references, and semantic notes.references/sandbox.md: sandbox model refs, representative roots, configuration nodes, reference targets, and stable node refs.references/workflows.md: creation/editing recipes, including when to use full-root JSON versus skeleton-plus-subtrees.references/gotchas.md: reference formats, ordering constraints, required roles, expression precedence issues, extension-language dependencies, and known validation failures.references/blueprints/: valid compact JSON skeletons and subtree templates.
More skills from the MPS repository
View all 31 skillsmps-aspect-accessories
configure JetBrains MPS module dependencies
Jul 17ArchitectureConfigurationEngineeringmps-aspect-actions
define and edit MPS node factories
Jul 17ArchitectureEngineeringmps-aspect-behavior
define and edit MPS concept behavior
Jul 13ArchitectureEngineeringmps-aspect-constraints
define JetBrains MPS language constraints
Jul 23ArchitectureCode Analysismps-aspect-dataflow
define and debug MPS dataflow builders
Jul 13Data Analysismps-aspect-editor
define MPS editor layouts
Jul 23DesignUI Components
More from JetBrains
View publishermps-aspect-editor-menus-and-keymaps
author MPS editor menus and keymaps
MPS
Jul 23EngineeringUI Componentsmps-aspect-generation-plan
modify MPS generation plans
MPS
Jul 13ArchitectureEngineeringmps-aspect-generator
define JetBrains MPS generator rules
MPS
Jul 17ArchitectureCode AnalysisEngineeringmps-aspect-intentions
define and edit MPS intentions
MPS
Jul 23ArchitectureEngineeringmps-aspect-migrations
author and debug MPS migration scripts
MPS
Jul 13DebuggingMigrationmps-aspect-structure-concepts
define concepts in MPS structure aspect
MPS
Jul 23Data Modeling