CtrlK
BlogDocsLog inGet started
Tessl Logo

mps-aspect-generator

Use when defining or modifying MPS generators — author a generator module, add or edit root/reduction/weaving/pattern mapping rules, attach template macros ($COPY_SRC, $LOOP, $IF, $PROPERTY, $REF, $SWITCH, $MAP_SRC, $WEAVE, $INSERT, $LABEL, $TRACE, $VAR), wire mapping labels, build template switches, write pre/post mapping scripts, navigate `genContext`, or debug "rule didn't fire", missing references, empty output, infinite reduction loops, and generated-Java compile failures.

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

85%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 strong, expert-calibrated body: concrete MCP tool invocations, a validated 8-step workflow with real feedback loops, and non-obvious gotchas throughout. The two deductions are step-1 verbosity and — more significantly — a Reference Index whose referenced files are absent from the bundle as provided, leaving the carefully built navigation unresolvable.

Suggestions

Ship the references/ bundle alongside SKILL.md: none of the 18+ cited files (references/macro-catalog.md, references/rule-consequences.md, references/common-failures.md, etc.) exist in the package, so the Reference Index dead-ends — verify every referenced path resolves in the skill root.

Reduce cross-skill reference indirection: pointers like references/runtime-solutions.md 'in the mps-aspect-accessories skill root' and references/dot-expression-basics.md in mps-model-manipulation add a second hop; inline the one or two key facts (e.g. the stable-vs-variable split) or maintain a single cross-skill index instead.

Trim step 1 of the common-path workflow: the nested parentheticals about startingPoint resolution (name-vs-reference ambiguity, generators-array emission) could become a single gotcha bullet or move to references/module-structure.md, tightening the most common entry path.

DimensionReasoningScore

Conciseness

The body is dense and expert-aimed — it assumes MPS knowledge with zero padding about what MPS or a generator is, and every directive carries non-obvious gotcha value (e.g. "applicableConcept must be a structure-model node ref ... never the c:<langUUID>/<conceptId> form"). However, step 1's nested parenthetical digressions on startingPoint resolution and the meta companion-loading policy section are more than trivially trimmable, keeping it below the lean anchor-5.

4 / 5

Actionability

Provides copy-paste-ready commands with exact parameter forms: "mps_mcp_get_project_structure(moduleKind=\"Language\")", "mps_mcp_create_module(type=\"generator\", parentLanguage=\"<lang>\")", the exact ref syntax "r:<modelUUID>(<lang>.structure)/<nodeId>", a worked output-path example, and named validation/reading tools with argument-level guidance. For an instruction-only skill, guidance is fully executable and covers the common cases.

5 / 5

Workflow Clarity

The 8-step common-path workflow has explicit validation checkpoints and feedback loops: step 7 validates with mps_mcp_check_root_node_problems (including the onlyNodesWithProblems=false re-run when siblings look missing), step 8 MAKEs then reads generated text with a staleness re-MAKE warning, and the Generator Tracer / $TRACE$ bisection gives error-recovery guidance.

5 / 5

Progressive Disclosure

The Reference Index is well designed — one level deep, per-entry 'read when' conditions, and a 'start here — most common case' entry point — but scored against the actual bundle, none of the 18+ referenced files (references/macro-catalog.md, references/common-failures.md, etc.) exist in the package, so every navigation pointer dead-ends; several pointers additionally route through companion-skill roots (references/runtime-solutions.md 'in the mps-aspect-accessories skill root', references/dot-expression-basics.md in mps-model-manipulation), adding a second hop. Absent references are more than anchor 4's 'minor organization gaps', though the in-body structure is far better organized than anchors 1-2.

3 / 5

Total

17

/

20

Passed

Description

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

An excellent description: explicit 'Use when' triggers, comprehensive concrete action coverage, and natural failure-symptom keywords that a user working on MPS generators would genuinely say. The only weakness is mild trigger overlap with closely related companion skills in the same MPS family.

DimensionReasoningScore

Specificity

Enumerates multiple concrete actions covering the full workflow: "author a generator module, add or edit root/reduction/weaving/pattern mapping rules, attach template macros ($COPY_SRC, $LOOP, $IF, ...), wire mapping labels, build template switches, write pre/post mapping scripts, navigate genContext" plus specific debug symptoms ("rule didn't fire", "infinite reduction loops", "generated-Java compile failures"). Coverage spans setup, all rule kinds, the complete macro list, and failure modes, exceeding the 'minor gaps' of anchor 4.

5 / 5

Completeness

Explicitly answers both: the "Use when defining or modifying MPS generators ... or debug ..." clause states when, and the action list (author module, add rules, attach macros, wire labels, build switches, write scripts, navigate genContext) states what, with concrete trigger phrases — matching the anchor-5 example pattern.

5 / 5

Trigger Term Quality

Contains the natural phrases an MPS user would actually say when they need this skill: "MPS generators", "generator module", "mapping rules", "template macros", "mapping labels", "rule didn't fire", "empty output", "missing references", "infinite reduction loops". Both action terms and failure-symptom synonyms are comprehensively covered rather than just 'good coverage with a few missing'.

5 / 5

Distinctiveness Conflict Risk

"MPS generators" is a clear, highly specific niche with distinct triggers, but closely related sibling skills in the same MPS family (mps-aspect-textgen, mps-aspect-generation-plan, mps-baselanguage) share trigger space around generated output and macro query bodies, creating minor overlap risk consistent with anchor 4 rather than the minimal-conflict of anchor 5.

4 / 5

Total

19

/

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: 32 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.