CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

r3-reactive-extensions

Build reactive/event-driven C# with R3 (Cysharp's modern reimplementation of Reactive Extensions). Covers the Observable<T>/Observer<T> model, the OnErrorResume error contract, async dispatch with AwaitOperation, Task/IAsyncEnumerable integration, TimeProvider/FrameProvider scheduling, the concurrency contract, and how R3 differs from System.Reactive (Rx.NET).

Quality

74%

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 ./skills/r3-reactive-extensions/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

63%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 well-organized, largely actionable reference body with verified code examples and clear DO/DON'T guidance. Its main weaknesses are duplicated link/resource sections that pad the token budget and progressive disclosure promises that are broken: the three referenced reference files are absent from the bundle.

Suggestions

Ship the three referenced files (rx-net-differences.md, async-and-integration-patterns.md, scheduling-and-concurrency.md) in the bundle, or inline their critical content and drop the links — the body currently points to files that do not exist.

Remove the duplication between 'Canonical sources' and 'Additional Resources' (same three links appear twice), keeping only one resource section.

Tighten the 'Why R3 Exists' section to two or three sentences per defect or fold it into the reference file, reducing tokens without losing the key behavioral facts.

DimensionReasoningScore

Conciseness

The body is mostly dense, novel R3-specific material, but contains noticeable padding: the 'Canonical sources' block and the closing 'Additional Resources' section repeat the same three links, and the five-point 'Why R3 Exists' rationale could be tightened — matching the 3 anchor ('mostly efficient but includes some unnecessary explanation or could be tightened') rather than 4.

3 / 5

Actionability

Concrete, syntactically valid C# throughout with captured verified outputs, an install command, an AwaitOperation dispatch table, and DO/DON'T lists; minor gaps remain since several snippets depend on undefined surrounding context (model, _api, Render, Handle, source), matching the 4 anchor rather than fully copy-paste-ready 5.

4 / 5

Workflow Clarity

Coherent conceptual sequence (when to use → install → quick start → verified core behaviors → concurrency → scheduling → DO/DON'T checklist) with unambiguous guidance for composing pipelines, but it is a reference-style skill without multi-step checkpoints or validation loops, fitting the 4 anchor; the simple-skill exception (under 50 lines) does not apply at ~270 lines.

4 / 5

Progressive Disclosure

The in-body structure is good and the three references are clearly signaled and one level deep, but scored against the actual bundle the referenced files (rx-net-differences.md, async-and-integration-patterns.md, scheduling-and-concurrency.md) are missing from the bundle entirely, making the promised detail inaccessible — more than a minor organization gap (4) though the organization itself is above the minimal-structure anchors.

3 / 5

Total

14

/

20

Passed

Description

75%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 highly specific, well-differentiated description that comprehensively lists R3's capabilities and clearly distinguishes the library from System.Reactive. Its main gap is the absence of an explicit 'Use when...' trigger clause, which caps completeness, and a few missing natural operator-name keywords.

Suggestions

Add an explicit trigger clause, e.g. 'Use when composing event streams, UI input handling, timers, or push-based pipelines in C#, or when migrating from System.Reactive/UniRx.'

Include natural operator keywords users would actually say (debounce, throttle, merge, combine-latest, distinct-until-changed) and 'UniRx' to strengthen trigger matching.

Trim the long capability list slightly and use the freed space for the when-clause so the description stays concise.

DimensionReasoningScore

Specificity

The description enumerates multiple concrete capabilities — 'the Observable<T>/Observer<T> model', 'the OnErrorResume error contract', 'async dispatch with AwaitOperation', 'Task/IAsyncEnumerable integration', 'TimeProvider/FrameProvider scheduling', 'the concurrency contract' — giving comprehensive coverage of what the skill covers, matching the 5 anchor rather than 4 (no coverage gaps of note).

5 / 5

Completeness

The 'what' is clear and detailed, but there is no 'Use when...' clause or equivalent explicit trigger guidance; 'when' is only weakly implied by 'Build reactive/event-driven C#', so per the rubric guideline completeness is capped at 3.

3 / 5

Trigger Term Quality

Good natural keyword coverage ('reactive', 'event-driven', 'C#', 'Observable', 'System.Reactive', 'Rx.NET') including synonyms, but a few natural terms users would say are missing — operator names like 'debounce', 'throttle', 'merge', and 'UniRx' — matching the 4 anchor rather than comprehensive 5.

4 / 5

Distinctiveness Conflict Risk

Clear niche (R3 specifically, explicitly contrasted with 'System.Reactive (Rx.NET)') with distinct trigger terms; minimal conflict risk with other skills.

5 / 5

Total

17

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 8 missing

Warning

Total

15

/

16

Passed

Repository

Aaronontheweb/dotnet-skills

Path

skills/r3-reactive-extensions/SKILL.md

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.