CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/dotnet-faketime

Wraps .NET's TimeProvider abstraction (System.TimeProvider, introduced .NET 8) and FakeTimeProvider from Microsoft.Extensions.TimeProvider.Testing: SetUtcNow, Advance, AutoAdvanceAmount, CreateTimer, Delay, and the pre-.NET-8 ISystemClock migration path. Use when testing C# or F# code that reads the current time, uses timers, or awaits Task.Delay.

75

Quality

94%

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

Overview
Quality
Evals
Security
Files

Quality

Content

85%

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

A well-structured, actionable skill with executable C#/XML/yaml examples, a sequenced workflow containing a real validation-and-recovery loop, and clean one-level-deep progressive disclosure. The main weakness is mild redundancy between the roadmap and the detailed step sections.

Suggestions

Collapse the 'How to use' 7-step roadmap into the detailed Step sections (or keep only one) to remove the duplication that hurts conciseness.

Delete the restating sentence "The package name is Microsoft.Extensions.TimeProvider.Testing; it ships the FakeTimeProvider type" since the PackageReference XML and surrounding text already convey it.

Trim the Overview's enumeration of what TimeProvider.System wraps (DateTimeOffset.UtcNow, TimeZoneInfo, Stopwatch, Timer) to only what the skill's tests actually exercise.

DimensionReasoningScore

Conciseness

Mostly efficient and code-forward, but the 7-step 'How to use' roadmap duplicates the detailed Step 1-4 sections, and lines like "The package name is Microsoft.Extensions.TimeProvider.Testing; it ships the FakeTimeProvider type" restate what the preceding XML already showed. Not score 3 because it could be tightened; not score 1 because it avoids generic concept explanation.

2 / 3

Actionability

Fully executable, copy-paste-ready artifacts: a TokenService class, two [Fact] tests using SetUtcNow and Advance, the PackageReference XML, DI registration, and a CI yaml block. Matches the 'fully executable code/commands' anchor.

3 / 3

Workflow Clarity

Clear numbered sequence (How to use 1-7 plus Step 1-4 detail) with an explicit validation checkpoint and error-recovery loop in Step 4: "run dotnet test... If a test hangs or times out... fix the injection and re-run before relying on the suite."

3 / 3

Progressive Disclosure

SKILL.md is an overview with well-signaled, one-level-deep links to three real reference files (advanced-clock-control.md, isystemclock-migration.md, anti-patterns-and-limitations.md, all present in references/). Content is appropriately split with easy navigation; no nested references.

3 / 3

Total

11

/

12

Passed

Description

100%

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 precise, third-person description that names concrete operations and gives explicit 'Use when' triggers covering C#/F# time-testing scenarios. It cleanly answers what and when without fluff or over-claims.

DimensionReasoningScore

Specificity

Lists multiple concrete capabilities/methods - "SetUtcNow, Advance, AutoAdvanceAmount, CreateTimer, Delay, and the pre-.NET-8 ISystemClock migration path" - matching the 'lists multiple specific concrete actions' anchor.

3 / 3

Completeness

Explicitly answers both what (wraps TimeProvider/FakeTimeProvider with named operations) and when ("Use when testing C# or F# code that reads the current time, uses timers, or awaits Task.Delay"), the strongest anchor. Not score 2 because the trigger clause is explicit, not implied.

3 / 3

Trigger Term Quality

Natural terms a developer would say are well covered: "testing C# or F# code", "reads the current time", "uses timers", "awaits Task.Delay", plus ".NET" and "timers". Not merely technical jargon - these are the phrases users actually say.

3 / 3

Distinctiveness Conflict Risk

A narrow niche (.NET TimeProvider/FakeTimeProvider testing) with distinct, specific triggers unlikely to fire for unrelated skills. Voice is third person ("Wraps...") with no first/second-person penalty.

3 / 3

Total

12

/

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.

Reviewed

Table of Contents