Install
$ agentstack add skill-benknightdark-neo-skills-neo-csharp ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Modern C# (10+) Expert Skill
Trigger On
- The user asks to write, debug, refactor, or review C# code.
- The project directory contains
*.cs,*.csproj, or single-file C# scripts. - The target framework is .NET 6.0 (LTS) and above.
- Code modernization is needed (e.g., converting legacy nested namespaces to File-scoped namespaces).
Workflow
- Perceive (Version Awareness):
- Check
.csprojto identifyTargetFrameworkand determine the syntax upper limit: net6.0: C# 10 (File-scoped namespaces, Global usings).net7.0: C# 11 (Raw string literals, Required members).net8.0: C# 12 (Primary Constructors, Collection Expressions).net9.0: C# 13 (paramscollections,Lockobject).net10.0: C# 14 (Extension members,fieldkeyword).
- Reason (Planning Phase):
- Evaluate the modernization level of the current code to determine the refactoring strategy.
- In lower version environments (like .NET 6), avoid using higher version syntax (like Primary Constructors), but prioritize using File-scoped namespaces.
- In higher version environments, actively adopt new features to reduce boilerplate code.
- Act (Execution Phase):
- Write high-quality code, prioritizing "syntactic sugar" to improve readability.
- Implement strong typing and immutable data structures (
record,record struct). - Utilize Interpolated string handlers and Span to optimize performance-sensitive paths.
- Validate (Standard Validation):
- Validate the safety of NRT (Nullable Reference Types).
- Check if asynchronous operations correctly handle cancellation tokens (
CancellationToken). - Ensure naming conventions comply with official .NET recommendations.
Feature Roadmap (C# 10 - 14)
C# 10 & 11 (Foundation)
- File-scoped Namespaces: Reduce indentation levels.
- Global Using Directives: Centralize common namespaces management.
- Raw String Literals:
"""..."""easily handle multi-line and special characters. - Required Members: Ensure required properties during object initialization.
- List Patterns:
if (list is [1, 2, ..])powerful collection matching.
C# 12 & 13 (Productivity)
- Primary Constructors: Simplify class-level dependency injection.
- Collection Expressions: Uniformly use
[1, 2, 3]to initialize collections. paramsCollections: Method parameters support various collection types.- Implicit Span Conversion: Handle memory-safe code more naturally.
C# 14+ (Version-Specific Features)
- Extension Members: Extension properties, operators, and static members.
fieldKeyword: Directly access backing fields in property logic.- Null-conditional Assignment:
target?.Property = value;. - Scripting: Support
dotnet run file.csfor direct execution.
Coding Standards
- Clean Structure: Prioritize using File-scoped namespaces.
- Immutability: Use
recordfor Data Transfer Objects (DTO). - Performance: Use
SpanandReadOnlySpanin critical paths. - Async Safety: Always pass
CancellationToken, avoid.Resultor.Wait().
Deliver
- Version-Optimized Code: Provide the most appropriate modernized syntax code based on the target C# version.
- Modernization Insights: Provide specific refactoring suggestions for upgrading from older C# syntax to new features (e.g., from nested namespaces to File-scoped namespaces).
- Syntax Explanations: Clearly explain the design intent and syntax advantages behind the new C# features used.
Validate
- Ensure the provided code complies with the syntax specifications of the target C# version.
- Validate whether the code follows C# strong typing and Null safety (NRT) principles.
- Confirm the code has good readability and best practices at the pure C# language level (e.g., proper use of
Span,record, etc.).
Documentation
Official References
- What's new in C# 14 (Extension Members, field keyword)
- What's new in C# 13 (params collections, Lock object)
- What's new in C# 12 (Primary Constructors, Collection Expressions)
- What's new in C# 11 (Raw String Literals, Required Members)
- What's new in C# 10 (File-scoped Namespaces, Global Usings)
- Nullable Reference Types
Internal References
- [C# Coding Style and Naming Conventions Guide](reference/coding-style.md)
- [C# Anti-Patterns and Best Practices](reference/anti-patterns.md)
- [Modern C# Patterns Guide](reference/patterns.md)
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Benknightdark
- Source: Benknightdark/neo-skills
- License: MIT
- Homepage: https://neo-blog-iota.vercel.app/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.