diff --git a/.agents/skills/dotnet-inspect/SKILL.md b/.agents/skills/dotnet-inspect/SKILL.md index db397b9..392aaab 100644 --- a/.agents/skills/dotnet-inspect/SKILL.md +++ b/.agents/skills/dotnet-inspect/SKILL.md @@ -21,10 +21,10 @@ Run `dnx dotnet-inspect -y -- `. `-y` skips interactive confirmation, a | Discover query facets and operators | `library -Q` lists query-capable sections; `type -Q "Body Shapes"` or `library -Q "Performance: Arrays" --json` describes accepted keys and operators without inspection. | | Find rendered body syntax | `library path/to.dll --where "Kind=ObjectCreationExpression"`, `type Type --library path/to.dll --where "Kind=InvocationExpression"`, or `member Type Method:1 --library path/to.dll --where "Kind=InvocationExpression"`; load `skill decompiler` for stable kinds and coordinates. | | Compare APIs or method bodies | `diff --package Foo@old..new --breaking` (`--additive` new APIs; `--alloc-regressions` for allocation regressions). Single-Library API Diff supports complete Content with unprojected `--json` or the complete service value with `--envelope`; its Share is currently non-projectable. Use `type` or `member ... --match --envelope` when one API coordinate's complete correspondence outcome and diagnostics are the question; ordered match endpoints are also non-projectable. `match Type.MethodA Type.MethodB --package Foo --body` adds C#/IL body differences to the structural result; `match Type.Method --similar --package Foo` ranks structural candidates for discovery. | -| Trace API evolution | `timeline --package Foo@old..new --type Type --members --at all`; omit `--at` to inspect the vector without acquiring packages. | +| Trace API evolution | `diff --history --package Foo@old..new --type Type --members --at all`; omit `--at` for full-population evaluation, repeat it for explicit checkpoints, use `--max-probes` for adaptive bisection, or add `--sample-percent P` for a deterministic population-relative survey with an optional `--max-probes` cap. | | Inspect packages and ecosystems | `package Foo`; use `-D` to discover sections, `-S "Package license files"` to list shipped license documents, and `-S "Signals,Audit: Findings"` to audit text-bearing files and SourceLink mappings. `package activity --ecosystem aspire` scans the named ecosystem's exact package set over the previous 42 days; add `--security-only`, paired exact `--from`/`--through` UTC timestamps, or complete Content `--json`; use `--envelope` for the full service value. Load `skill private-feeds` for custom/authenticated sources. | -| Query packages | `package query Foo` selects the latest eligible listed version; use `'Foo.*'` for a literal package-ID prefix. The closed nuspec license values are `any`, `MIT`, and `OSMF`; use them with `--where` and `--nuspec-only` to avoid opening archives. Add `--library-literal "TEXT" --tfm net10.0` to qualify package rows by decoded `ldstr` uses in each selected primary implementation library; prefix mode defaults to five candidates and accepts `--take 1..5`. `-n` and `--rows` select package Results, not occurrences. `--envelope` retains complete Content and diagnostics, but Package Query Share is currently non-projectable. | -| Inspect a Workspace | `workspace --package Foo@version --tfm net10.0`; repeat `--package` to compose ordered Package occurrences, then add inert top-level intent with `--register-library PACKAGE@VERSION/ASSEMBLY@ASSEMBLY_VERSION`, `--register-package-prefix PREFIX`, or `--register-ecosystem ID`. Filter the typed inventory with repeatable `--kind`; `-n` and `--rows` select complete inventory entries after that filter, while `--lines` explicitly selects rendered lines. Restore a current-format canonical packet with `--packet PACKET`; Workspace Definitions realizes its complete context and retained Navigation state before inventory. Exact Package duplicates coalesce; packages without compile assemblies remain members. Use `--verbose` for Package producer/target details and `--share packet` or `--share url` only on top-level inventory. Add `--active-package N` on direct construction for structural hierarchy, Library asset IDs, Type/Member inventory, lenses, and diagnostics. Use `--root-request TOKEN` instead to reopen the exact Root a `package query --library-literal` result names; it is refused rather than approximated by package id and version. | +| Query packages | `package query Foo` selects the latest eligible listed version; use `'Foo.*'` for a literal package-ID prefix. The closed nuspec license values are `any`, `MIT`, and `OSMF`; use them with `--where` and `--nuspec-only` to avoid opening archives. Add `--where "library-literal=TEXT" --tfm net10.0` to AND-compose exact decoded-`ldstr` qualification with ordinary terms. The Product planner authors `library-target` from `--tfm`; metadata-expensive queries admit at most five candidates. Final Results retain typed selected-library context, exact Root reopening, and complete occurrences. `-n` and `--rows` select package Results, not occurrences. `--envelope` retains complete `package-query` Content and diagnostics, but Package Query Share is currently non-projectable. | +| Inspect a Workspace | `workspace --package Foo@version --tfm net10.0`; repeat `--package` to compose ordered Package occurrences, then add inert top-level intent with `--register-library PACKAGE@VERSION/ASSEMBLY@ASSEMBLY_VERSION`, `--register-package-prefix PREFIX`, or `--register-ecosystem ID`. Filter the typed inventory with repeatable `--kind`; `-n` and `--rows` select complete inventory entries after that filter, while `--lines` explicitly selects rendered lines. Restore a current-format canonical packet with `--packet PACKET`; Workspace Definitions realizes its complete context and retained Navigation state before inventory. Exact Package duplicates coalesce; packages without compile assemblies remain members. Use `--verbose` for Package producer/target details and `--share packet` or `--share url` only on top-level inventory. Add `--active-package N` on direct construction for structural hierarchy, Library asset IDs, Type/Member inventory, lenses, and diagnostics. Use `--root-request TOKEN` instead to reopen the exact Root a `package query --where "library-literal=..."` result names; it is refused rather than approximated by package id and version. | | Replace a coordinate in a portable Workspace | `workspace --packet "$w" --replace-package 1 --to-version 12.1.2 --share packet`; select a direct Package by one-based navigation-row order. Use `--to-tfm` or both destination options; TFM changes require an unsubscribed single-member context. This explicitly acquires Packages and retains the packet's supported API/inspector intent while preserving unrelated state. Choose scalar `--share packet`/`--share url` or `--json --envelope` for the complete derived Share and typed outcome; do not restate noun selectors. Format 4 supports active Library/Type/Member views. Source and destination Versions must be exact. | | Inspect libraries | `library Foo` or `library path/to.dll`; use `-D` to discover sections, `-D --details` to add structural format capabilities, and `-S "Unsafe Members"` for standalone unsafe evidence. Use `library query ./bin --where "references=System.Text.Json"` or `library query --platform runtime ...` for Library-grain population qualification. Load `skill metadata` for raw ECMA-335 tables/heaps. | | Dependencies and relationships | `depends --package Foo@version --tfm net10.0` for a package graph plus declaration evidence; add `-S Dependencies` for evidence only or explicitly select `-S Pruning` to compare direct package candidates with an installed platform inventory. Use `depends Type`, `extensions Type`, or `implements Interface` for type relationships. Positional `depends Type` supports complete Content with `--json` or the complete service value with `--envelope`; asset mode does not support envelopes. Load `skill relationships` for scopes and semantics. | diff --git a/apm.lock.yaml b/apm.lock.yaml index 1c3fd3e..2c6bc38 100644 --- a/apm.lock.yaml +++ b/apm.lock.yaml @@ -1,5 +1,5 @@ lockfile_version: '1' -generated_at: '2026-09-21T18:56:37.858870+00:00' +generated_at: '2026-09-22T17:48:10.513027+00:00' apm_version: 0.14.0 dependencies: - repo_url: Faithlife/RepoConventions @@ -13,10 +13,10 @@ dependencies: content_hash: sha256:6e4dc45d96d7adc8f1d3e3300d9ee90eef9c2d0231ea83ad86fed64fca105034 - repo_url: richlander/dotnet-inspect host: github.com - resolved_commit: c119c51224012f4a4029ca8b3973b5223a459f2b + resolved_commit: 57bb126c07ee78ead43204f7cbca466cd030ee44 virtual_path: skills/dotnet-inspect is_virtual: true package_type: claude_skill deployed_files: - .agents/skills/dotnet-inspect - content_hash: sha256:73227c4be0d67e9127fbb1f8b93c8da7ac492f2190922902ffb5433e871a4c27 + content_hash: sha256:c8889cc85bc6b3d74851b7fd9bdce82a07b20416a605cb27505b9a2f6ee0f75d