Back to skills

Dotnet Run File

Run script-like CSharp programs using dotnet run file.cs. Use this skill when users want to execute CSharp code directly, write one-liner scripts via stdin, or learn about run file directives.

40 stars
0 votes
0 copies
0 views
Added 12/19/2025
data-aic#shellbashapi

Works with

claude codeapi

Install via CLI

$openskills install NikiforovAll/claude-code-rules
Download Zip
Files
SKILL.md
---
name: dotnet-run-file
description: Run script-like CSharp programs using dotnet run file.cs. Use this skill when users want to execute CSharp code directly, write one-liner scripts via stdin, or learn about run file directives.
---

# .NET Run Files

Run C# code directly without creating project files using .NET 10's `dotnet run file.cs` feature.

## When to Use This Skill

Use this skill when the user wants to:
- Execute C# code quickly without creating a project
- Write one-liner scripts via stdin (ideal for Claude Code)
- Learn about run file directives (`#:package`, `#:sdk`, `#:property`)
- Create executable shell scripts in C#
- Convert a run file to a full project

## Guide

For detailed examples and directives reference, load `references/guide.md`.

## Quick Reference

### Basic Execution

```bash
# Run a .cs file
dotnet run app.cs

# Run from stdin
echo 'Console.WriteLine("Hello");' | dotnet run -

# Multi-line via heredoc
dotnet run - << 'EOF'
var now = DateTime.Now;
Console.WriteLine($"Time: {now}");
EOF
```

### Directives

```csharp
#:package Humanizer@*            // NuGet package (version required, wildcards ok)
#:sdk Microsoft.NET.Sdk.Web       // SDK selection
#:property LangVersion preview    // MSBuild property
#:project ../src/MyLib            // Project reference
```

### Convert to Project

```bash
dotnet project convert app.cs
```

## Core Operations

### 1. Run a C# File

**Steps**:
1. Create a `.cs` file with your code (top-level statements supported)
2. Add directives at the top if needed (packages, SDK, properties)
3. Execute: `dotnet run filename.cs`

**Example**:
```csharp
// hello.cs
Console.WriteLine("Hello from .NET!");
```
```bash
dotnet run hello.cs
```

### 2. Execute via Stdin

**Purpose**: Run C# code without creating files - ideal for quick scripts and AI-assisted workflows.

**Patterns**:
```bash
# Simple one-liner
echo 'Console.WriteLine(Math.PI);' | dotnet run -

# With package
dotnet run - << 'EOF'
#:package Humanizer@*
using Humanizer;
Console.WriteLine(TimeSpan.FromMinutes(90).Humanize());
EOF

# Heredoc for multi-line
dotnet run - << 'EOF'
using System.Text.Json;

var obj = new { Name = "Test", Value = 42 };
Console.WriteLine(JsonSerializer.Serialize(obj));
EOF
```

## Interactive Flow

When user asks to run C# code without specifics:

1. Ask what they want to accomplish
2. Determine if stdin one-liner or file-based is better
3. For simple tasks → use stdin pattern
4. For complex tasks → create a `.cs` file
5. Add necessary directives based on requirements
6. Execute and show results

## Claude Code Integration Tips

**For AI-assisted workflows**:
- Prefer stdin for quick calculations, data transformations, API calls
- Use heredoc syntax for multi-line code
- Output JSON for easy parsing: `dotnet run script.cs | jq .`

Comments (0)

No comments yet. Be the first to comment!