CtrlK
BlogDocsLog inGet started
Tessl Logo

write-script-csharp

MUST use when writing C# scripts.

55

Quality

61%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./system_prompts/auto-generated/skills/write-script-csharp/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is highly actionable with concrete commands and executable C# examples, but it is verbose and repetitive, scatters its workflow checkpoints across prose, and keeps everything inline in one file rather than progressively disclosing detail via bundle references.

Suggestions

Consolidate the repeated deploy/push guidance into a single stated rule and reference it once, removing the restatements across the preview, metadata, and after-writing sections.

Reformat the post-write workflow into one ordered checklist (write -> preview -> generate-metadata -> diff -> deploy-only-when-asked) with the dry-run and diff checkpoints as explicit gated steps.

Move the general wmill CLI operational guidance into a separate reference file and keep SKILL.md focused on the C# specifics, adding clearly signaled one-level-deep links to improve progressive disclosure.

DimensionReasoningScore

Conciseness

The body conveys genuinely non-obvious wmill CLI semantics rather than concepts Claude already knows, but it is padded with repetition — the 'only deploy when the user explicitly asks' distinction is restated across multiple sections — so it fits 'mostly efficient but could be tightened' rather than the lean every-token-earns-its-place anchor at 3.

2 / 3

Actionability

It supplies specific executable commands (e.g. `wmill script preview <script_path>`, `wmill generate-metadata --dry-run`, `wmill generate-metadata rehash`) and complete, copy-paste-ready C# examples for both the Main scaffold and NuGet `#r` usage, matching the 'fully executable code/commands; copy-paste ready' anchor.

3 / 3

Workflow Clarity

Explicit gating rules and validation checkpoints exist (dry-run to preview metadata, diffing .lock files to catch version bumps, narrowing with a path argument), but they are embedded in scattered, repetitive prose rather than a single clearly sequenced workflow, fitting the 'sequence present but checkpoints implicit' anchor instead of the crisp checklist form at 3.

2 / 3

Progressive Disclosure

The body is organized into labelled sections, but it is a single monolithic file with both general wmill CLI guidance and C#-specific content inline and no bundle files (references/, scripts/, assets/) to offload detail into, matching 'some structure but content that should be separate is inline' rather than the well-signaled one-level-deep reference structure at 3.

2 / 3

Total

9

/

12

Passed

Description

57%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description provides a clear, distinct trigger for a well-scoped C# niche but is terse: it states only one action and uses that same phrase as both the trigger and the implied capability, leaving 'what this skill does' under-specified.

Suggestions

Add 2-3 concrete capabilities after the trigger, e.g. 'Scaffold a public static Main method, add NuGet packages via the #r directive, and keep wmill metadata in sync. MUST use when writing C# scripts.'

Include natural term variations such as 'C#', '.cs', or 'dotnet script' so the description matches how users actually phrase the request.

Make the 'what' explicit and distinct from the 'when' so the description clearly answers both questions instead of relying on the trigger phrase to imply the capability.

DimensionReasoningScore

Specificity

The phrase "writing C# scripts" names the domain and a single action, but it lists only one action rather than multiple concrete capabilities (e.g. scaffolding a Main method, adding NuGet packages, syncing wmill metadata), so it matches the 'names domain and some actions, but not comprehensive' anchor rather than the multi-action anchor at 3.

2 / 3

Completeness

An explicit trigger is present ("MUST use when writing C# scripts"), satisfying the 'when', but the 'what' is only implied by repeating that same trigger — no concrete capabilities are stated — so it does not clearly answer both what and why at the level required for 3, yet it is stronger than the missing-when cases at 1.

2 / 3

Trigger Term Quality

"C# scripts" is a natural term a user would say, but the description offers only that single phrase with no common variations (e.g. C#, .cs, csx, dotnet script), fitting the 'some relevant keywords but missing common variations' anchor and falling short of the broad coverage expected at 3.

2 / 3

Distinctiveness Conflict Risk

"writing C# scripts" carves out a clear language-specific niche with a distinct trigger that is unlikely to fire for non-C# script skills, matching the 'clear niche with distinct triggers; unlikely to conflict' anchor; it is well above the generic overlap cases scored at 1 or 2.

3 / 3

Total

9

/

12

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
windmill-labs/windmill
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.