richlander/dotnet-inspect/query
Claude Code and agent skill by richlander/dotnet-inspect
- community
Checking that the SKILL.md file is still in the repository.
Output formats, -D/-S discovery and selection, -Q query-capability discovery, value projection, @ categories, and output limits shared across commands.
Install
npx vskill@latest install richlander/dotnet-inspect/querySKILL.md
dotnet-inspect: Discover CLI Capabilities and Shape Inspection Output
Use this skill to shape the result the user needs. Skills teach productive starts and common arguments; installed explanation owns detailed bindings, legal values, prerequisites, coverage and continuations.
Run dnx dotnet-inspect -y -- <command>. If intent is unclear, use a bare target and let the router choose. Otherwise choose the result space directly:
| Result | Start | |
|---|---|---|
| API types or members | find JsonSerializer -n 5 --table; add --members for member names. | |
| Package IDs | find --packages 'Microsoft.Extensions.*' -n 5, then package <exact-id>. | |
| Libraries | find --libraries ./bin, then library path/to.dll. |
Unscoped API Find searches installed .NET Runtime, ASP.NET Core, and .NET Standard populations, including Microsoft.Extensions. Use --package, --project, or --package-prefix for package API scope. Restored projects need current assets. --packages, --libraries, and --members select different grains; do not combine them.
Discover only what is missing
-D/-S are the uppercase cross-command query namespace: discover sections and fields with -D, then select with -S. -Q discovers supported query facets, operators and values without inspecting the target.
Structural discovery does not run producers; --effective, where supported, probes for populated evidence. Explicit sections and categories can authorize expensive work. A category such as @Performance groups sections; a wildcard such as Performance:* selects matching names. For row formats, prefer one concrete section; a heterogeneous category is not one table.
If you do not know the capability, use explain "<question>". Copy a returned resource path rather than inventing one, and read its CLI binding before constructing unfamiliar predicates.
For supported vocabulary, query-space and facet resources, .hal --json includes _embedded data and _links navigation:
Vocabulary HAL nests values under ._embedded.vocabularies[]._embedded.values. When exact native value IDs are known, narrow the request with -Q before selecting locally; keep their case, not the explanation path's spelling:
Cache and select locally; follow emitted hrefs unchanged only for missing knowledge. Preserve scope (profile, population and completeness), data_scope, completion and applicable data_states where emitted. Unselected values remain unknown, not false; a complete selection is not necessarily the full catalog. An absent value establishes a negative only in an available, complete dataset whose scope covers the question. .data supplies direct data; .contract is for explanation-schema questions, not an obligatory extra request.
Common output arguments
| Need | Use | |
|---|---|---|
| Compact human-readable rows | --table | |
| Stable machine rows | --tsv or --jsonl | |
| Structured content | --json | |
| Selected columns or fields | --columns "Name;Namespace" or --fields after discovery | |
| First or last N items | -n N (or -N); add --tail for the end | |
| A row window or count | --rows 2..10, --count where supported | |
| One document or locator | --print --row 1, --urls, --paths, or --value | |
| Undecorated selected payload | --raw, without another format | |
| Supported graph view | --tree or --mermaid; --markdown --mermaid embeds a diagram |
Default shape depends on the selected content: a hierarchy or source payload need not be Markdown. Request --markdown explicitly when framing matters. On Type/Member Find, plain --json retains the typed root result array; --columns/--fields instead requests projected rows.
-n is like head, and --tail like tail, over the route's effective items. Some routes select semantic rows; others clip rendered lines. --lines explicitly requests line clipping. Strict semantic --rows windows fail when required positions are missing. Legacy --rows composes with an inferred or explicit rendered-line -n, with the row window applied first. Discover the route's selection contract when ordering or completeness matters.
Keep output limits separate from work bounds: --take bounds candidates on Package/Library Find, while --top needs an admitted ranking. A count is over the selected result, not automatically the complete population. Preserve warnings and exit status; zero rows with incomplete evaluation is not absence. Displayed fields do not imply support for filtering or ranking: use -Q before constructing --where or --order-by.
Keep service and presentation boundaries distinct
Where admitted, --envelope returns complete service Content, Share and diagnostics as JSON; it is not a wrapper around every output format. Use command help and installed explanation for route-specific admission. Unprojected content JSON and projected row JSON need not have the same schema.
--share url is useful only when the receiving browser can replay the represented scenario. Inspect share.kind when using an envelope; do not turn nonProjectable into an approximate link. A Member API Overview link is not a replay of its call graph or performance analysis.
Move between CLI and website
A Workspace packet is portable currency between the CLI and Inspect Web: it carries the context and admitted inspection recipe, not a result snapshot.
CLI to website: append --share url to a supported inspection:
Check the command's exit status, then open the final URL in share.txt. Ordinary content stays on stdout; the URL follows diagnostics on stderr. By contrast, the workspace authoring command emits its packet or URL on stdout.
Website to CLI: copy the canonical Base64URL value of the website URL's w parameter, not the whole URL, a file path or decoded JSON. For a Workspace containing System.Text.Json:
-w replays the saved subject/view where supported; --workspace supplies context for a new question. Neither sets a persistent current Workspace for later CLI commands. Unsupported saved views or host populations fail visibly.
Each host reacquires content under its own source permissions and limits. Packets carry no acquired binaries, computed results or credentials. Website Save Workspace is browser-local persistence, not portable export or cloud synchronization; use the packet or its URL for the handoff.
Reuse a Workspace search space
Find admits registration-only Ecosystem packets, not arbitrary Workspace content; do not combine this scope with competing source selectors or --tfm. Package inspection can add a missing Package to a derived Workspace without changing the input packet or replacing an existing Package version. Add --share packet to preserve ordinary stdout and emit the derived packet on stderr. Follow installed explanation for other admitted packet populations.
Packet arguments take the opaque packet value, not a file path. workspace --packet "$packet" validates a declaration; --inventory explicitly realizes it. Explain an extracted declaration with explain --component component.json; supply --parent-packet "$packet" only when parent-dependent context is needed. A declaration does not prove that its content was acquired, and CLI packet support does not imply browser support.
Stop once the requested answer has sufficient evidence. If discovery misses, try command help or the relevant focused skill; a search miss is not proof that a capability does not exist.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/query/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/richlander/dotnet-inspect/query)