Judge whether code is sound and safe to call — its exception surface (throws, catches, exception types) and the unsafe operations in a method body.
Use this skill to judge whether code is sound and safe to call: what it can throw, how it handles errors, and where it steps outside safe, managed execution. This is single-version analysis; for how these signals change between versions, use the compatibility skill.
dnx dotnet-inspect -y -- <command>There is no dedicated "Exceptions" section; exception behavior comes from
method-body analysis. Exception Regions shows the exact catch/filter/finally
layout; graph fields and hidden facts summarize behavior:
dnx dotnet-inspect -y -- member Type Method:1 -S "Exception Regions"
dnx dotnet-inspect -y -- member Type Method:1 -S "Call Graph" --fields "Throws,ThrowSites,ExceptionTypes,ConstructedExceptions,Catch,Finally"
dnx dotnet-inspect -y -- member Type Method:1 -S "Call Graph" --fields "Throws,Catch,Finally"
dnx dotnet-inspect -y -- member Type Method:1 -S Facts --tsvThrows/ThrowSites count throw sites; ExceptionTypes/ConstructedExceptions
name the exception types; Catch/Finally show handling. Exception Regions
retains IL ranges and caught types. -S Facts (member, single method) lists the
hidden facts in the body and supports --tsv.
dnx dotnet-inspect -y -- member Type Method:1 --library MyLib.dll -S "Unsafe Operations,IL"-S "Unsafe Operations" shows the unsafe operations in a single method body,
with IL evidence. For the library-wide safety surface (unsafe members, P/Invoke
methods) and provenance/supply-chain signals, see the signals skill.
For one crash or profiler coordinate, use library coordinate 0x06000001+0x5 --library Foo.dll for the default source-location, member,
instruction, exception, callsite, and return-address context. Safety evidence
is opt-in: library coordinate 0x06000001+0x5 --library Foo.dll -S "Context: Safety".
To confirm whether one definite unsafe operation appeared at an adjacent version boundary, first correlate caller-selected package cells:
dnx dotnet-inspect -y -- diff --history --package MyLib@1.0.0..2.0.0 \
-t MyType -m Method \
--finding analysis.unsafety --at first --at lastRepeat --at for sparse probes or use --at all for an explicitly bounded
dense traversal. A gap-spanning Added row locates a candidate boundary; it
does not claim the exact introduction version. Confirm the adjacent pair:
dnx dotnet-inspect -y -- diff --package MyLib@1.4.0..1.5.0 \
-t MyType -m Method \
--finding analysis.unsafetyPairFinding.Added is the introduction proof. Present and Removed
distinguish persistence from disappearance; the command compares only the two
supplied endpoints.
71591ae
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.