Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/camiloandresgtruniandes-csharp-dotnet
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 26, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/csharp-dotnet
What's inside
- Skill name
csharp-dotnet- Description
- C# and .NET patterns for OpenClaw. Triggers when writing C#, implementing .NET APIs, working with EF Core, or making architecture decisions in .NET projects. Use for: Clean Architecture, dependency injection, async patterns, Result pattern, Minimal APIs, EF Core queries, and unit testing in C#.
- License
- MIT
- Metadata
- author: lucy-camilo · version: 1.0
- Instructions
- 313 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
## Clean Architecture (REQUIRED)
```
src/
├── Domain/ # Entities, value objects, interfaces — NO dependencies
├── Application/ # Use cases, DTOs, repository interfaces
├── Infrastructure/ # EF Core, external services
└── API/ # Controllers, Minimal APIs, middleware
```
**Rule:** Dependencies only point inward. Domain knows nothing.
---
## Dependency Injection (REQUIRED)
```csharp
// ALWAYS: Interface-based DI
builder.Services.AddScoped<IUserRepository, UserRepository>();
builder.Services.AddScoped<IUserService, UserService>();
// DbContext always Scoped
builder.Services.AddDbContext<AppDbContext>(opts =>
opts.UseSqlServer(connectionString));
// AutoMapper
builder.Services.AddAutoMapper(typeof(MappingProfile));
```
| Lifetime | Use |
|---|---|
| **Scoped** | DbContext, Repositories, Services (per-request state) |
| **Transient** | Lightweight stateless services |
| **Singleton** | Config, global caching |
---
## Entity Framework Core (REQUIRED)
### DbContext
```csharp
public class AppDbContext : DbContext
{
public DbSet<User> Users => Set<User>();
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<User>(entity =>
{
entity.HasKey(e => e.Id);
entity.Property(e => e.Email).IsRequired().HasMaxLength(256);
entity.HasIndex(e => e.Email).IsUnique();
});
modelBuilder.ApplyConfigurationsFromAssembly(typeof(AppDbContext).Assembly);
}
}
```
### Query patterns
```csharp
// Eager loading — NO lazy loading in production
var users = await context.Users
.Include(u => u.Orders)
.Where(u => u.IsActive)
.Select(u => new UserDto { Id = u.Id, Email = u.Email })
.ToListAsync(ct);
```
---
## Async/Await (REQUIRED)
```csharp
// ALWAYS async at API boundary
[HttpGet("{id}")]
public async Task<ActionResult<UserDto>> GetById(int id, CancellationToken ct)
{
var user = await _service.GetByIdAsync(id, ct);
return user is null ? NotFound() : Ok(user);
}
// CancellationToken on every async operation
public async Task<UserDto?> GetByIdAsync(int id, CancellationToken ct = default)
{
ct.ThrowIfCancellationRequested();
return await _repository.GetByIdAsync(id, ct);
}
```
---
## Result Pattern (REQUIRED for business logic)
```csharp
public record Result<T>(T? Value, Error? Error)
{
public bool IsSuccess => Error is null;
public bool IsFailure => !IsSuccess;
public static Result<T> Success(T value) => new(value, null);
public static Result<T> Failure(Error error) => new(default, error);
}
public record Error(string Code, string Message);
// Usage
public async Task<Result<OrderDto>> CreateOrderAsync(CreateOrderCommand cmd, CancellationToken ct)
{
if (!await _userRepository.ExistsAsync(cmd.UserId, ct))
return Result<OrderDto>.Failure(new Error("USER_NOT_FOUND", "User does not exist"));
var order = await _repository.CreateAsync(cmd, ct);
return Result<OrderDto>.Success(_mapper.Map<OrderDto>(order));
}
```From CamiloAndresGTRUniandes/lucy-ai, MIT.
More from CamiloAndresGTRUniandes/lucy-ai
- 0.605score
igniteui-angular-components
imported-and-adapted-by-lucy-camilo
Ignite UI for Angular non-grid UI components: setup, forms, layouts, feedback, data display, directives, charts, Dock/Layout/Tile managers.
SkillBFreshness: B★ 19Claude Code +9 - 0.605score
igniteui-angular-theming
imported-and-adapted-by-lucy-camilo
Ignite UI for Angular theming: palettes, Sass themes, typography, elevations, component tokens, dark/light themes, spacing, sizing, and roundness.
SkillBFreshness: B★ 19Claude Code +9 - 0.605score
igniteui-angular-generate-from-image-design
imported-and-adapted-by-lucy-camilo
Implement Angular views from design images using Ignite UI Angular components and theming.
SkillBFreshness: B★ 19Claude Code +9 - 0.605score
igniteui-angular-grids
imported-and-adapted-by-lucy-camilo
Ignite UI for Angular data grids: flat, tree, hierarchical, pivot, grid lite, columns, editing, selection, grouping, export, remote data, paging, state, sizing.
SkillBFreshness: B★ 19Claude Code +9 - 0.605score
azure-devops-cli
imported-and-adapted-by-lucy-camilo
Manage Azure DevOps resources via CLI including projects, repos, pipelines, builds, pull requests, work items, artifacts, and service endpoints.
SkillBFreshness: B★ 19Claude Code +9 - 0.604score
lucy-agent
lucy-ai
Lucy-ai's own agent ecosystem installer, updater, and verifier.
SkillBFreshness: B★ 19Claude Code +9 - 0.603score
ado-effort-estimation
imported-and-adapted-by-lucy-camilo
Estimate Azure Boards work with a mandatory clarifying-question gate and story-point guardrails.
SkillBFreshness: B★ 19Claude Code +9 - 0.603score
issue-creation
imported-and-adapted-by-lucy-camilo
Create clear issue drafts with reproducible context, acceptance criteria, and definition of done.
SkillBFreshness: B★ 19Claude Code +9 - 0.603score
find-skills
imported-and-adapted-by-lucy-camilo
Discover, evaluate, and install agent skills when the user asks for new capabilities, asks whether a skill exists, shares a skill archive, or wants help…
SkillBFreshness: B★ 19Claude Code +9 - 0.603score
dotnet10-csharp14
lucy-camilo
Project-agnostic .NET 10 and C# 14 best practices: field keyword, null-conditional assignment, extension members, unbound generic nameof, runtime…
SkillBFreshness: B★ 19Claude Code +9 - 0.603score
git-commit
imported-and-adapted-by-lucy-camilo
Create git commits with conventional commit message analysis, safe staging, and logical grouping.
SkillBFreshness: B★ 19Claude Code +9 - 0.603score
judgment-day
imported-and-adapted-by-lucy-camilo
Run high-rigor adversarial review cycles until implementation quality is accepted or escalated.
SkillBFreshness: B★ 19Claude Code +9
Signals
- Stars
- 19
- Forks
- 2
- Open issues
- 0
- Last commit (this folder)
- Apr 27, 2026 (6 months ago)
- Last release
- Jul 31, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.0
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from lucy-camilo
- 0.603score
dotnet10-csharp14
lucy-camilo
Project-agnostic .NET 10 and C# 14 best practices: field keyword, null-conditional assignment, extension members, unbound generic nameof, runtime…
SkillBFreshness: B★ 19Claude Code +9 - 0.603score
orchestrator-doctrine
lucy-camilo
Master orchestration doctrine for Lucy/OpenClaw: how to combine SDD, sub-agents, decision critique, mentoring, reviews, git/PR workflow, and specialist skills…
SkillBFreshness: B★ 19Claude Code +9 - 0.603score
pr-review
lucy-camilo
Comprehensive, project-agnostic pull request review workflow.
SkillBFreshness: B★ 19Claude Code +9 - 0.603score
sdd
lucy-camilo
Spec-Driven Development workflow for OpenClaw.
SkillBFreshness: B★ 19Claude Code +9 - 0.603score
security
lucy-camilo
Project-agnostic application security review guidance based on OWASP risks and secure engineering practices.
SkillBFreshness: B★ 19Claude Code +9
Cite this page
csharp-dotnet skill. Agent Mart. https://agentmart.dev/skills/camiloandresgtruniandes-csharp-dotnet (last updated 2026-10-24)