CtrlK
BlogDocsLog inGet started
Tessl Logo

elm-to-fsharp-guru

Specialized Elm-to-F# migration expert for morphir-dotnet. Expert in converting Elm code from finos/morphir-elm to idiomatic F# while maintaining AOT compatibility, type safety, and behavioral equivalence. Use when migrating Elm modules, converting patterns, implementing Myriad code generation, or translating UI code to Fun.Blazor. Triggers include "elm", "migration", "convert elm", "translate elm", "morphir-elm", "myriad", "fun.blazor", "elm architecture".

56

Quality

63%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./.claude/skills/elm-to-fsharp-guru/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

100%

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

This is an excellent skill description that clearly defines a highly specialized niche (Elm-to-F# migration for morphir-dotnet), lists concrete actions, provides explicit 'Use when' guidance, and enumerates trigger terms. It uses proper third-person voice throughout and would be easily distinguishable from other skills in a large collection.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions: converting Elm code to idiomatic F#, maintaining AOT compatibility/type safety/behavioral equivalence, migrating Elm modules, converting patterns, implementing Myriad code generation, and translating UI code to Fun.Blazor.

3 / 3

Completeness

Clearly answers both 'what' (converting Elm to F# with AOT compatibility, type safety, behavioral equivalence) and 'when' (explicit 'Use when...' clause with specific scenarios plus a 'Triggers include' list).

3 / 3

Trigger Term Quality

Explicitly lists natural trigger terms including 'elm', 'migration', 'convert elm', 'translate elm', 'morphir-elm', 'myriad', 'fun.blazor', 'elm architecture' — these cover both common user phrases and domain-specific terms users would naturally use.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive niche — Elm-to-F# migration for morphir-dotnet is extremely specific and unlikely to conflict with other skills. The trigger terms like 'morphir-elm', 'myriad', and 'fun.blazor' are unique to this domain.

3 / 3

Total

12

/

12

Passed

Implementation

27%

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

This skill attempts to be a comprehensive encyclopedia of Elm-to-F# migration but suffers severely from verbosity and poor content organization. Hundreds of lines are spent teaching Claude basic Elm and F# syntax it already knows, while the genuinely useful project-specific guidance (Morphir IR fidelity requirements, Myriad integration, coordination workflows) is buried deep in the document. The content would benefit enormously from aggressive trimming and splitting into referenced sub-files.

Suggestions

Remove or drastically reduce Sections 1 (Language Expertise) and 2 (Type System Mapping) — Claude already knows Elm and F# syntax. Replace with a concise mapping table (Elm concept → F# equivalent → key gotchas) of no more than 30 lines.

Split the monolithic file into referenced sub-files: move pattern catalog details to patterns/*.md, decision trees to a separate file, UI migration to its own file, and automation script docs alongside the actual scripts. Keep SKILL.md as a concise overview with clear navigation links.

Provide the actual automation scripts (analyze-elm-module.fsx, extract-elm-tests.fsx, etc.) in the bundle rather than just describing their interfaces — currently the actionability of the automation workflow is undermined by missing implementations.

Add explicit error recovery steps to the verification workflow: what specific actions to take when JSON roundtrip fails, when AOT warnings appear, or when compatibility tests show divergences.

DimensionReasoningScore

Conciseness

This skill is extremely verbose at ~1500+ lines. It extensively explains concepts Claude already knows (Elm syntax, F# syntax, what Option/Result types are, basic pattern matching, how JSON serialization works). Massive code examples for basic language features like Maybe→Option and Result→Result waste tokens on things Claude is deeply familiar with. The Elm and F# mastery sections alone are hundreds of lines of tutorial content.

1 / 3

Actionability

The skill provides many concrete code examples that are mostly executable, and includes specific CLI commands for automation scripts. However, much of the code is illustrative rather than project-specific (e.g., generic Elm/F# syntax examples), and key scripts referenced (analyze-elm-module.fsx, extract-elm-tests.fsx) are described but not provided in the bundle, making the automation guidance incomplete.

2 / 3

Workflow Clarity

The migration workflow in Section 9 has clear phases with checklists and the verification phase includes explicit validation steps (JSON roundtrip, AOT checks). However, the workflow is buried deep in a massive document, and the validation steps lack specific error recovery guidance—e.g., what to do when JSON roundtrip fails or when AOT warnings appear. The coordination workflows with other 'gurus' describe handoffs but lack concrete validation checkpoints.

2 / 3

Progressive Disclosure

This is a monolithic wall of text with everything inlined into a single massive file. References to pattern catalog files (patterns/custom-types.md, etc.), templates, and scripts are mentioned but none are provided in the bundle. Content that should clearly be in separate files (language syntax references, pattern catalog entries, decision trees, UI migration guides) is all crammed into the main SKILL.md.

1 / 3

Total

6

/

12

Passed

Validation

90%

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

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (1633 lines); consider splitting into references/ and linking

Warning

Total

10

/

11

Passed

Repository
finos/morphir-dotnet
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.