CtrlK
BlogDocsLog inGet started
Tessl Logo

mps-aspect-constraints

Use when defining or editing MPS language constraints — property validators / setters / getters, referent search scopes (imperative or inherited via `ScopeProvider.getScope`), `referentSetHandler` side effects, default-scope blocks, `canBeChild` / `canBeParent` / `canBeAncestor` / `canBeRoot` placement rules, `defaultConcreteConcept` for abstract concepts, `set <read-only>` and `{name}` aliasing, and scope helpers (`SimpleRoleScope`, `ListScope`, `CompositeScope`, `HidingByNameScope`). Reach for this skill whenever the task involves authoring or modifying `<lang>/languageModels/constraints.mps`.

72

Quality

90%

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

81%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.

A tightly written routing skill: dense with real pitfalls and concrete MCP tool calls, a validated workflow with error-recovery paths, and disciplined deferral of detail to per-job reference files. The main weaknesses are navigational redundancy between its two index sections and a path inconsistency (file-vs-directory references) in the Reference Index.

Suggestions

Merge the Section index and Reference Index into a single routing table — they cover the same jobs, and `scope-fqn-reference` is currently pointed to from three separate places.

Fix the path inconsistency in the Reference Index: it names `references/property-constraints.md` and `references/referent-constraints.md` as files, while the Section index shows these are directories containing multiple files.

Inline one minimal `ConceptConstraints` root JSON blueprint in the workflow (step 3 currently defers entirely to `references/concept-roots.md`) so the single most common case is executable without a file read.

DimensionReasoningScore

Conciseness

Efficient and assumes domain competence ("The **constraints** aspect controls *runtime* rules about nodes" — no tutorial padding; no explaining what MPS is). Not 5: the Section index and Reference Index overlap in purpose, and `scope-fqn-reference` is pointed to in three places (directives, workflow step 2, index), which could be tightened. Not 3: nearly every line is routing, a pitfall, or a concrete directive — there is no unnecessary explanation.

4 / 5

Actionability

Concrete executable guidance: named MCP tools with parameters ("create it with `mps_mcp_create_model` (`moduleName: "<lang>", `modelName: "<lang>.constraints"` — aspect ID `constraints`, case-sensitive, no `@` suffix")"), exact FQNs, and hard rules ("**must explicitly assign** `node.<prop> = propertyValue`"). Not 5: the executable JSON blueprints are entirely deferred to reference files, so inline coverage of common cases has minor gaps. Not 3: what is inline is specific and directly executable, not pseudocode or vague direction.

4 / 5

Workflow Clarity

The Common-Path Workflow is a clearly sequenced 6-step procedure ending in "Validate with `mps_mcp_check_root_node_problems` and rebuild the language", with explicit error-recovery routing ("if the new constraint is invisible at runtime, run `mps_mcp_reload_all`" and `references/common-failures.md` for symptom-driven fixes). Explicit validation plus feedback loops matches anchor 5, not 4.

5 / 5

Progressive Disclosure

Good hub structure: a "one row, one read" Section index table, a "Start here" pointer for the most common case, and one-level-deep references. Not 5: the Reference Index refers to `references/property-constraints.md` and `references/referent-constraints.md` as single files while the Section index shows those are directories (`references/property-constraints/nodepropertyconstraint-shape.md`), and the two indexes are partially redundant; also no bundle files were present to verify the referenced paths. Not 3: references are clearly signaled, shallow, and content is appropriately split rather than inlined.

4 / 5

Total

17

/

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.

The description is a model trigger: it names the domain, enumerates every concrete capability with real class/concept names, gives an explicit 'Use when' clause plus a concrete file-path trigger, and occupies an unambiguous niche. No fluff, no over-claims, no padding.

DimensionReasoningScore

Specificity

Lists multiple specific concrete capabilities — "property validators / setters / getters, referent search scopes (imperative or inherited via `ScopeProvider.getScope`), `referentSetHandler` side effects, default-scope blocks, `canBeChild` / `canBeParent` / `canBeAncestor` / `canBeRoot` placement rules, `defaultConcreteConcept` ... scope helpers (`SimpleRoleScope`, `ListScope`, `CompositeScope`, `HidingByNameScope`)" — with named classes and concepts. Anchor 5 fits: comprehensive coverage with no real gaps, so not 4.

5 / 5

Completeness

Explicitly answers both: "what" is the enumerated set of constraint capabilities, and "when" is stated twice — "Use when defining or editing MPS language constraints" and "Reach for this skill whenever the task involves authoring or modifying `<lang>/languageModels/constraints.mps`". Matches the anchor-5 example pattern exactly, not merely the 4 anchor's 'when could be more specific'.

5 / 5

Trigger Term Quality

Natural terms an MPS user would actually say — "defining or editing", "constraints", "validators", "scopes", "canBeChild", plus the file path `<lang>/languageModels/constraints.mps`. For this niche domain the coverage is comprehensive including the concrete file location, so anchor 5 over 4.

5 / 5

Distinctiveness Conflict Risk

Clear niche: the MPS constraints aspect of one named file with concept-specific vocabulary (ConceptConstraints, referentSetHandler, canBe* rules). It is unlikely to trigger for sibling concerns (structure, typesystem, editor, behavior), which the body explicitly disambiguates. Minimal conflict risk — anchor 5, not 4.

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: 31 missing, 18 deeper-than-1-level

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.