Markdown Converter
Agent skill for markdown-converter
- never use "var", always use explicit type names
Sign in to like and favorite skills
never use "var", always use explicit type names
always use uppercase for acronyms and initialisms in PascalCase, but only use uppercase for acronyms and initialisms in camelCase if it is not at the start of a symbol name
always use full variable names for delegates and lambda parameters; never use abbreviations or single-letter names like "x", "y", "z", etc.
always use four spaces for indentation, and always terminate files with a newline character
always keep vertical whitespace usage consistent; if there is any already-existing code in the proximity, inspect it and use the same vertical whitespace usage conventions
always keep syntax and formatting styles consistent with those of already-existing code; if there is any already-existing code in the proximity, inspect it and use the same syntax and formatting styles
always align lambda operators for switch expressions, as in the following example:
return UserType switch { UserType.Staff => "internal", UserType.Client => "external", _ => throw new ArgumentOutOfRangeException(@$"Unsupported User Type ""{UserType}""") };
don't add comments for obvious code; only add comments when they add value by explaining why something is done a certain way or providing context that isn't immediately clear from the code itself
when adding code comments use StartCase, but not if that would change the letter case for acronyms, initialisms, symbol names, etc.
when adding summaries for code elements (like classes, methods, properties, etc.) use sentence case with correct indentation and punctuation, including a punctuation mark at the end of each sentence
always enclose references to symbol names, branch names, etc. in double quotation marks unless it is possible to use a
when using a
never use the null-forgiving operator (!) to suppress null handling; then only times where this is acceptable are the following:
when creating asynchronous methods, never use the "Async" suffix in the method name unless there is also a synchronous version of the same method in the same scope
always keep any and all code and comments in British English, and never use American English
always use full words for symbols, never use abbreviations
in comments, use "TRUE", "FALSE", and "NULL" when referring to the boolean and null literals, to clearly distinguish them from their natural-language meanings
always ensure that the generated code is syntactically correct and adheres to best practices for the target programming language
always ensure that the generated code is efficient and optimized for performance, avoiding unnecessary computations or memory usage, unless readability and maintainability are significantly compromised
always ensure that the generated code is secure, following best practices to prevent vulnerabilities such as injection attacks, data leaks, and unauthorized access
always keep the generated code consistent with the existing codebase in terms of style, conventions, and architecture
always keep generated code targeted towards the objective, avoiding unnecessary features or complexity that do not directly contribute to the specified goal
prefer simplicity and clarity over complexity and unnecessary features
always prefer global using directives, and add or move them to a "Internals/UsingDirectives.cs" file in the project root