CtrlK
BlogDocsLog inGet started
Tessl Logo

orchardcore-nswag-regenerate

Regenerate the OrchardCore.OpenApi module's NSwag-generated C#/TypeScript API clients, and verify the regeneration produces a stable (non-reshuffled) diff. Use when asked to "regenerate the NSwag client(s)", update Services/OpenApiClient.cs or .scripts/bloom/services/OpenApiClient.ts, or investigate noisy diffs from NSwag regeneration.

72

Quality

87%

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

SKILL.md
Quality
Evals
Security

Quality

Content

75%Weight 40%Scale 1-5

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

A dense, domain-specific body that provides executable commands for the common regeneration paths and explains the repo-specific determinism root causes Claude would not already know. It is well-structured and self-contained, with only minor verbosity and a couple of under-specified steps in the optional offline/verification paths.

Suggestions

Provide the actual Python/jq one-liner for rewriting documentGenerator.fromDocument.url and the generator outputs in the offline-generation section, instead of describing it generically.

Add an inline validation checkpoint to the main regeneration workflow (e.g. 'after generating, diff the committed OpenApiClient.cs/.ts and confirm only expected changes') rather than relegating all verification to a separate empirical-stability section.

Trim the discursive asides — the git-stash 'scoped out' note and the forward-looking 'Lesson' paragraph — or move them into a short 'Background' reference so the actionable steps stay front and center.

DimensionReasoningScore

Conciseness

Mostly lean and assumes Claude's competence (no general explanations of C#, dotnet, or OpenAPI), but a few discursive passages — the 'Why Default tenant specifically' rationale, the git-stash/scoped-out aside, and the forward-looking 'Lesson' paragraph — could be trimmed without losing actionable value.

4 / 5

Actionability

Gives copy-paste-ready commands for both the preferred and manual paths (dotnet run, yarn build, nswag run <path>) plus an executable OrderActionsBy snippet, but the offline path's step 2 only describes 'a small Python/jq one-liner' without providing it, and the verification section is procedural rather than scripted.

4 / 5

Workflow Clarity

The preferred, manual, and offline paths are clearly sequenced, and a dedicated verification section states the expected pass/fail criterion (byte-identical except the tenant base-URL prefix). The main regenerate workflow lacks an inline validate-then-proceed checkpoint, leaving a minor validation gap rather than a missing one.

4 / 5

Progressive Disclosure

Self-contained with no bundle files and well-organized section headers (Preferred, Where things live, Manual, Reproducible/offline, Determinism, Verifying stability); the detailed root-cause 'Determinism' section is arguably splittable into a reference file, but staying one level deep with no nested references keeps navigation simple.

4 / 5

Total

16

/

20

Passed

Description

100%Weight 40%Scale 1-5

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

A tightly written description that states concrete actions, names the exact files involved, and gives explicit third-person trigger guidance with natural phrasing and synonyms. It cleanly answers both what the skill does and when to use it with minimal conflict risk.

DimensionReasoningScore

Specificity

Names multiple concrete actions — regenerate the C# and TypeScript NSwag clients and verify a stable, non-reshuffled diff — and pins the exact output files (Services/OpenApiClient.cs, .scripts/bloom/services/OpenApiClient.ts), giving comprehensive coverage of this niche.

5 / 5

Completeness

Explicitly answers both 'what' (regenerate clients and verify a stable diff) and 'when' (a 'Use when...' clause with three concrete triggers including file edits and noisy-diff investigation).

5 / 5

Trigger Term Quality

Quotes the natural phrase a user would say ('regenerate the NSwag client(s)') and adds synonyms like 'investigate noisy diffs from NSwag regeneration', covering the common ways the request is phrased.

5 / 5

Distinctiveness Conflict Risk

Scoped to a single named module (OrchardCore.OpenApi) and a narrow NSwag-regeneration task, with triggers unlikely to fire for any other skill.

5 / 5

Total

20

/

20

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
OrchardCMS/OrchardCore
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.