CtrlK
BlogDocsLog inGet started
Tessl Logo

mps-aspect-behavior

Use when defining or editing MPS `ConceptBehavior` — per-concept methods (non-virtual / virtual / abstract / static / virtual static), constructors, virtual dispatch (MRO), super and interface-default calls (`super<Interface>.method`), overriding methods from `lang.core.behavior` interfaces such as `ScopeProvider.getScope` / `INamedConcept.getName` / `BaseConcept.getPresentation`, calling sibling methods (`LocalBehaviorMethodCall`) and behavior methods from other aspects via `node.method(...)`. Reach for this skill whenever the task involves authoring or modifying `<lang>/languageModels/behavior.mps`.

68

Quality

85%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

—

The risk profile of this skill

SKILL.md
Quality
Evals
Security

Quality

Content

67%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is a tightly written, expert-facing reference: concrete MCP tool invocations with parameters, a high-value modifier table, and a validated workflow. Its one serious defect is that the entire progressive-disclosure layer it is built around — the nine reference files it routes to — is absent from the bundle, leaving the detailed blueprints, examples, and troubleshooting unreachable.

Suggestions

Ship the `references/` directory: every file named in the Reference Index (method-declarations.md, json-blueprints.md, local-and-super-calls.md, inheritance-and-dispatch.md, constructors.md, calling-from-other-aspects.md, lang-core-behavior-overrides.md, common-failures.md, aspect-model-stereotypes.md) is currently missing, so the 'Open X when...' routing leads nowhere.

Inline the minimal `ConceptBehavior` / `ConceptMethodDeclaration` JSON blueprint (currently deferred to the missing json-blueprints.md) so the most common case is executable from SKILL.md alone, and note the `List<SNode>` → `sequence<node<X>>` return-type fix once instead of three times.

Add an explicit error-recovery loop to the workflow (run `mps_mcp_check_root_node_problems` → fix reported problems → re-check before rebuild) rather than delegating failure handling to the absent common-failures.md.

DimensionReasoningScore

Conciseness

The body is dense and expert-level with no padding — the modifier table and Critical Directives carry high information per token and assume MPS competence ("the `constructor` child is **mandatory**", "abstract implies virtual"). Not 5 because there is minor repetition: the MPS-typed return-type / Java-parser caveat appears three times (Critical Directives, workflow step 4, Related Skills) and null-return behavior twice. Not 3 because these are trimmable instances, not whole padded sections explaining things Claude already knows.

4 / 5

Actionability

Guidance is concrete and executable: named MCP tools with exact parameters (`mps_mcp_create_model` with `moduleName`/`modelName`, `mps_mcp_parse_java_and_insert` with `featureKind: "METHOD"`, `insert: {mode: "child", parentRef: ..., role: "method"}`), plus concrete defaults ("empty body is fine"). Not 5 because the actual JSON blueprints users would copy-paste are deferred to `references/json-blueprints.md` — which is missing from the bundle — so the common case cannot be completed end-to-end from the body alone. Not 3 because what is inline is specific, not pseudocode.

4 / 5

Workflow Clarity

The Common-Path Workflow is a clear 1–5 sequence with an explicit validation checkpoint (step 5: `mps_mcp_check_root_node_problems`, then rebuild the language), reinforced by the Critical Directive to run it after edits. Not 5 because the body has no explicit error-recovery loop (validate → fix → re-validate) — failure handling is delegated to a `references/common-failures.md` file that does not exist in the bundle. Not 3 because validation is explicit and repeated, not merely implicit.

4 / 5

Progressive Disclosure

The body's structure is exemplary — a 'Start here' routing paragraph plus per-reference 'Open X when...' triggers, all one level deep — but scored against the actual bundle, the disclosure layer is broken: there is no `references/` directory, so all nine-plus referenced paths (`method-declarations.md`, `json-blueprints.md`, `inheritance-and-dispatch.md`, `constructors.md`, `lang-core-behavior-overrides.md`, `common-failures.md`, etc.) are dangling and none of the detailed content can actually be loaded. Not 3/4 because the rubric's structural anchors (clear signals, one level deep) are met in the text but not in the bundle — navigation leads nowhere, which is a worse failure than unclear signaling.

2 / 5

Total

14

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A model description: dense with concrete domain artifacts, opens with 'Use when...' and closes with 'Reach for this skill whenever...', covers all capability categories (methods, constructors, dispatch, overrides, cross-aspect calls), and stays in third person throughout. Trigger terms span both natural phrasing and exact technical identifiers users would echo.

DimensionReasoningScore

Specificity

The description enumerates multiple concrete capabilities: "per-concept methods (non-virtual / virtual / abstract / static / virtual static), constructors, virtual dispatch (MRO), super and interface-default calls", overriding named interface methods, and cross-aspect calls via `node.method(...)` — comprehensive coverage with named artifacts, not vague language. Not 4 because there are no meaningful gaps: modifiers, constructors, dispatch, overrides, and call shapes are all covered.

5 / 5

Completeness

Explicitly answers both questions: "Use when defining or editing MPS `ConceptBehavior`..." opens with the trigger, the body states what the skill does, and "Reach for this skill whenever the task involves authoring or modifying `<lang>/languageModels/behavior.mps`" closes with a second concrete trigger phrase. Not 4 because both 'what' and 'when' are explicit and concretely phrased rather than merely present.

5 / 5

Trigger Term Quality

Natural terms an MPS user would actually say are present: "defining or editing", "constructors", "virtual dispatch", "overriding methods", "super...calls", plus concrete identifiers like `ScopeProvider.getScope`, `INamedConcept.getName`, `BaseConcept.getPresentation`, and the file path `<lang>/languageModels/behavior.mps` (the file-extension/synonym equivalent for this domain). Not 4 because both the colloquial phrases and the technical synonyms (MRO, `LocalBehaviorMethodCall`, `node.method(...)`) are covered.

5 / 5

Distinctiveness Conflict Risk

Clear niche: MPS behavior-aspect authoring, keyed to unique artifacts (`ConceptBehavior`, `behavior.mps`, `lang.core.behavior` overrides) that no sibling aspect skill (actions, constraints, generator) would claim. Not 4 because the trigger terms (behavior.mps, ConceptBehavior, getScope overrides) are unambiguous even against the closely related companion skills listed in the body.

5 / 5

Total

20

/

20

Passed

Validation

81%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

relative_links

Relative link issues: 1 missing

Warning

referenced_paths_exist

Referenced path issues: 19 missing

Warning

Total

13

/

16

Passed

Repository
JetBrains/MPS
Reviewed

Table of Contents

Is this your skill?

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.