CtrlK
BlogDocsLog inGet started
Tessl Logo

morphir-dotnet

github.com/finos/morphir-dotnet

SkillAddedReview
aot-guru

.claude/skills/aot-guru/SKILL.md

Specialized Native AOT, trimming, and optimization expert for morphir-dotnet. Expert in single-file trimmed executables, AOT compilation, size optimization, and guiding toward AOT-compatible features. Use when troubleshooting compilation, diagnosing trimming issues, optimizing binary size, implementing reflection workarounds, or maintaining best practices. Triggers include "AOT", "Native AOT", "trimming", "single-file", "size optimization", "reflection error", "IL2026", "IL3050", "PublishAot", "PublishTrimmed", "source generator", "Myriad".

56

elm-to-fsharp-guru

.claude/skills/elm-to-fsharp-guru/SKILL.md

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".

60

fsharp-csharp-interop

.agents/skills/fsharp-csharp-interop/SKILL.md

Rules for F# code that C# calls, and C# code that calls F#, in morphir-dotnet. Covers parsed domain types, nullness metadata, TryParse/Create members, Match members for unions, collections, option and null, equality, ToString and AOT safety, and the .fsproj settings. Use when you add or change a public F# type, member or module that a C# project uses; when C# code calls F# types (unions, records, Result, option, list); when you create an F# project that C# references; or when you review a diff that crosses the F#/C# boundary. Triggers include "F# interop", "C# interop", "call F# from C#", "F# union in C#", "MaybeNullWhen", "NotNullWhen", "CompiledName", "F# nullness", "Nullable enable fsproj", "oblivious", "TryParse", "parse don't validate".

80

fsharp-csharp-interop

.claude/skills/fsharp-csharp-interop/SKILL.md

Rules for F# code that C# calls, and C# code that calls F#, in morphir-dotnet. Covers parsed domain types, nullness metadata, TryParse/Create members, Match members for unions, collections, option and null, equality, ToString and AOT safety, and the .fsproj settings. Use when you add or change a public F# type, member or module that a C# project uses; when C# code calls F# types (unions, records, Result, option, list); when you create an F# project that C# references; or when you review a diff that crosses the F#/C# boundary. Triggers include "F# interop", "C# interop", "call F# from C#", "F# union in C#", "MaybeNullWhen", "NotNullWhen", "CompiledName", "F# nullness", "Nullable enable fsproj", "oblivious", "TryParse", "parse don't validate".

77

morphir-architect

.claude/skills/morphir-architect/SKILL.md

Designs AST node structures, implements IR-to-code transformations, applies functional programming patterns, and architects code generation backends for morphir-dotnet. Use when building or extending Morphir IR types, working with Classic/Modern IR conversions, implementing visitor patterns, or structuring code generation pipelines. Triggers include "Morphir architecture", "Morphir design patterns", "AST node", "IR transformation", "morphir-dotnet structure", "code generation backend".

65

1.07x
openspec-apply-change

.agents/skills/openspec-apply-change/SKILL.md

Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks. Also use when the user says "openspec apply", "opsx apply", or "openspec implement".

66

openspec-apply-change

.claude/skills/openspec-apply-change/SKILL.md

Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks. Also use when the user says "openspec apply", "opsx apply", or "openspec implement".

66

openspec-archive-change

.agents/skills/openspec-archive-change/SKILL.md

Archive a completed OpenSpec change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete. Also use when the user says "openspec archive" or "opsx archive".

64

openspec-archive-change

.claude/skills/openspec-archive-change/SKILL.md

Archive a completed OpenSpec change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete. Also use when the user says "openspec archive" or "opsx archive".

64

openspec-explore

.agents/skills/openspec-explore/SKILL.md

Enter OpenSpec explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements in a project that uses OpenSpec. Use when the user wants to think through something before or during an OpenSpec change. Also use when the user says "openspec explore" or "opsx explore".

64

openspec-propose

.agents/skills/openspec-propose/SKILL.md

Propose a new OpenSpec change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation. Also use when the user says "openspec propose" or "opsx propose".

68

openspec-sync-specs

.agents/skills/openspec-sync-specs/SKILL.md

Sync delta specs from an OpenSpec change to main specs. Use when the user wants to update main specs with changes from a delta spec, without archiving the change. Also use when the user says "openspec sync" or "opsx sync".

72

openspec-update-change

.agents/skills/openspec-update-change/SKILL.md

Update an OpenSpec change by revising its existing planning artifacts and keeping them coherent with one another. Use when the user wants to revise a change's plan, fold new decisions into it, or reconcile its artifacts after an edit. Also use when the user says "openspec update change" or "opsx update". If the user means the openspec update CLI command, which refreshes generated files, run that command instead. Never edits code.

72

qa-tester

.claude/skills/qa-tester/SKILL.md

Specialized QA testing for morphir-dotnet. Use when user asks to create test plans, run tests, validate packages, report bugs, perform regression testing, or verify PR completion. Triggers include "test plan", "QA", "regression", "validate", "bug report", "test this", "verify implementation".

62

1.41x
release-manager

.claude/skills/release-manager/SKILL.md

Specialized release management for morphir-dotnet. Use when user asks to prepare releases, execute releases, monitor deployments, validate releases, resume failed releases, update changelog, create release notes, or manage release workflow. Triggers include "release", "deploy", "publish", "changelog", "version", "release notes", "what's new".

65

technical-writer

.claude/skills/technical-writer/SKILL.md

Expert communication craftsperson for morphir-dotnet. Master of Hugo/Docsy, Mermaid/PlantUML diagrams, and technical writing. Use when user asks to create documentation, update docs, write tutorials, create diagrams, fix Hugo issues, customize Docsy, validate examples, check links, enforce style guide, or solve communication challenges. Triggers include "document", "docs", "README", "tutorial", "example", "API docs", "style guide", "link check", "hugo", "docsy", "diagram", "mermaid", "plantuml", "visual", "navigation".

62

vulnerability-resolver

.claude/skills/vulnerability-resolver/SKILL.md

Specialized CVE and vulnerability management for morphir-dotnet. Use when user asks to scan for vulnerabilities, fix CVEs, suppress false positives, review security reports, or manage dependency-check. Triggers include "CVE", "vulnerability", "security scan", "dependency-check", "suppress", "false positive", "CVSS", "security fix".

67