thread-abort-migration
github.com/dotnet/skills
Scanned Thu, 28 May 2026 17:48:56 GMT
Scan ID crawl-jg66otb2l4xr7usatefo29gl · 2ms
B
SCORE 75 / 100
Verdict: Safe to install
3 medium findings.
This skill ships without a capability manifest plus 2 other issues listed below.
0 critical0 high3 medium9 rules passed
Why grade B?
score · 75 / 100The current grade reflects 3 medium findings (3+ MEDs → B).
0 CRIT0 HIGH3 MED0 LOW
To reach a higher grade
- AReach Atarget score 95
Resolve 1 of 3 MED (cap is 2).
Thresholds are documented at /docs/grading. Source-of-truth is the grade() function in @skillox/scanner.
Findings · ordered by severity
medNo capability manifest declaredThe skill ships without a `manifest.yaml` or `capabilities` block in its frontmatter. Without a manifest, the runtime cannot enforce what this skill is permitted to do.rule: no-manifest▾
No capability manifest declared
The skill ships without a `manifest.yaml` or `capabilities` block in its frontmatter. Without a manifest, the runtime cannot enforce what this skill is permitted to do.
rule:
no-manifestmedLink text shows "thread.abort" but points at learn.microsoft.comThe visible link text contains the domain `thread.abort`, but the URL actually targets `learn.microsoft.com`. This is a phishing/smuggling pattern — the reader sees one host, the agent fetches another. Either update the text or the URL so they match.▾
Link text shows "thread.abort" but points at learn.microsoft.com
The visible link text contains the domain `thread.abort`, but the URL actually targets `learn.microsoft.com`. This is a phishing/smuggling pattern — the reader sees one host, the agent fetches another. Either update the text or the URL so they match.
137## More Info
138
139- [Thread.Abort breaking change in .NET 6+](https://learn.microsoft.com/dotnet/core/compatibility/core-libraries/6.0/thread-abort) — why `Thread.Abort` throws `PlatformNotSupportedException`← text→thread.abort · href→learn.microsoft.com
140- [Cancellation in managed threads](https://learn.microsoft.com/dotnet/standard/threading/cancellation-in-managed-threads) — the cooperative cancellation model with `CancellationToken`
141- [CancellationTokenSource class](https://learn.microsoft.com/dotnet/api/system.threading.cancellationtokensource) — API reference for creating and managing cancellation tokens
medLink text shows "task.waitasync" but points at learn.microsoft.comThe visible link text contains the domain `task.waitasync`, but the URL actually targets `learn.microsoft.com`. This is a phishing/smuggling pattern — the reader sees one host, the agent fetches another. Either update the text or the URL so they match.▾
Link text shows "task.waitasync" but points at learn.microsoft.com
The visible link text contains the domain `task.waitasync`, but the URL actually targets `learn.microsoft.com`. This is a phishing/smuggling pattern — the reader sees one host, the agent fetches another. Either update the text or the URL so they match.
142- [SYSLIB0006 warning](https://learn.microsoft.com/dotnet/fundamentals/syslib-diagnostics/syslib0006) — `Thread.Abort` is obsolete
143- [SYSLIB0046 warning](https://learn.microsoft.com/dotnet/fundamentals/syslib-diagnostics/syslib0046) — `Thread.Interrupt` is obsolete (added in .NET 9)
144- [`Task.WaitAsync(CancellationToken)`](https://learn.microsoft.com/dotnet/api/system.threading.tasks.task.waitasync) — cancellable waiting for task-based code (.NET 6+)← text→task.waitasync · href→learn.microsoft.com
145
skillox.io/r/crawl-jg66otb2l4xr7usatefo29gl