[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DZH52D4NGTK8F437KXRG3M":3,"skill-same:01M6DZH52D4NGTK8F437KXRG3M":618},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":48,"repositoryHtmlUrl":49,"repositoryHomepageUrl":50,"ownerHtmlUrl":51,"ownerBlogUrl":52,"ownerDescription":53,"updatedAt":54,"install":55,"resources":68},"01M6DZH52D4NGTK8F437KXRG3M","eliminate-redundant-restores",null,"Remove repeated NuGet restores from multi-step .NET builds safely. USE FOR: build\u002Ftest\u002Fpublish steps that each restore, Directory.Build.rsp with -restore, safe restore suppression, NETSDK1004\u002FNETSDK1047 after --no-restore. DO NOT USE FOR: slow first restore, only one restore, version or lock errors, unranked build slowness (use build-perf-baseline).","managedcode\u002Fdotnet-skills","managedcode","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F78253589?v=4","01M6DYDJR3EG8KB5G4PC65XCTT","Managed Code","01M6DYDJX0ZT432N04NYJW89DN",514,"MIT","https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fdotnet-skills\u002Fplugins\u002Fdotnet-msbuild\u002Fskills\u002Feliminate-redundant-restores\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"eliminate redundant restores","use","for","lock","errors","with","multi","do","build","restore","only","version","directory","remove","baseline","first","publish","nuget","perf","test","safe","2026-11-10 10:12:30",false,"---\nname: eliminate-redundant-restores\ndescription: \"Remove repeated NuGet restores from multi-step .NET builds safely. USE FOR: build\u002Ftest\u002Fpublish steps that each restore, Directory.Build.rsp with -restore, safe restore suppression, NETSDK1004\u002FNETSDK1047 after --no-restore. DO NOT USE FOR: slow first restore, only one restore, version or lock errors, unranked build slowness (use build-perf-baseline).\"\nlicense: MIT\n---\n\n# Eliminate Redundant Restores\n\nA no-op restore still evaluates every project and checks restore state, so each extra restore in a multi-step build costs seconds to tens of seconds in a large repo. The cure is easy to get wrong: `--no-restore` on a step that no earlier restore actually covered turns a slow build into a failed one. This skill finds which invocations restore, proves which are already covered, and changes only those.\n\n## When to Use\n\n- A pipeline or script runs several `dotnet`\u002F`msbuild` steps and the log shows restore output in more than one of them\n- A restore step exists, yet later steps still print `Determining projects to restore...`\n- A repository `Directory.Build.rsp` or the active MSBuild installation's `MSBuild.rsp` contains `-restore`\n- Someone asks where `--no-restore` or `-restore:false` can safely be added\n- `NETSDK1004` or `NETSDK1047` appeared after `--no-restore` was added\n\n## When Not to Use\n\n- The first restore is slow (feed latency, missing package cache): that is caching, not redundancy\n- There is only one restore across all invocations: nothing to deduplicate\n- Restore errors about versions, lock files or auditing: fix the restore itself\n- Unranked \"why is my build slow\": start with `build-perf-baseline`, then `build-perf-diagnostics`\n\n## Inputs\n\nDiscover repository inputs in the working directory; do not ask the user for paths.\n\n- CI definitions (`*.yml`, `.github\u002Fworkflows`, `azure-pipelines*.yml`, `Jenkinsfile`) and build scripts (`build.cmd`, `build.sh`, `build.ps1`, `eng\u002F`)\n- `Directory.Build.rsp`, `Directory.Build.props`\u002F`.targets`, `NuGet.config`\n- Auto-loaded `MSBuild.rsp` beside the active MSBuild executable, or response files passed explicitly with `@file`. A repository-local `MSBuild.rsp` is not auto-loaded\n- Restore evidence if present: step logs or a binlog\n\n## Workflow\n\n### Step 1: Confirm restore is repeated and worth removing\n\n- Log evidence: `Determining projects to restore...` or `All projects are up-to-date for restore.` once per invocation.\n- Binlog evidence: restore evaluations carry the global properties `MSBuildRestoreSessionId` and `ExcludeRestorePackageImports=true`; the Target Performance Summary lists `Restore` with N calls.\n- Quantify each no-op restore. If there is one restore, or the repeated ones total about a second, report \"nothing worth removing\" and stop without editing.\n\n### Step 2: Inventory every invocation in execution order\n\n| Invocation | Restores? |\n|---|---|\n| `dotnet build`, `test`, `publish`, `pack` | Implicitly, unless `--no-restore`; also check inherited rsp flags |\n| `dotnet run` | Implicitly before building; `--no-restore` can still inherit rsp restore on older SDKs. With `--no-build`, no build or restore runs |\n| `dotnet test`, `publish`, `pack` with `--no-build` | No implicit restore, but an rsp `-restore` can still enable restore; add `--no-restore -restore:false` |\n| `dotnet msbuild`, `msbuild.exe`, CI MSBuild tasks | With `-restore` or `-t:Restore`, including flags inherited from repository `Directory.Build.rsp` or installation-level `MSBuild.rsp`, even when a step looks build-only |\n| `dotnet restore`, `nuget restore`, `msbuild -t:Restore` | Explicit restore |\n| CI build task with a \"restore packages\" option | Check its default |\n\nStarting with .NET SDK 9.0.1xx, `--no-restore` forwards `-restore:false` to override rsp flags; older SDKs can still inherit `-restore` despite skipping the CLI's implicit restore. Whenever an rsp enables restore, use the version-independent `--no-restore -restore:false` with `dotnet build`, `test`, `publish` or `pack`, even with `--no-build`. `dotnet msbuild` and `msbuild.exe` take `-restore:false`, not `--no-restore`.\n\n`dotnet run` does not expose the MSBuild `-restore:false` override. With an rsp on older SDKs, first build using `dotnet build --no-restore -restore:false`, then run using `dotnet run --no-build` with the same project, configuration, framework and runtime inputs (or execute the built DLL directly). Passing `-restore:false` to `dotnet run` is not a restore-suppression strategy.\n\n### Step 3: Decide per invocation\n\nKeep the first restore. Skip a later one only when all four checks pass:\n\n| Check | If it fails |\n|---|---|\n| **Same project set.** A restore covers its entry project or solution and that project's ProjectReference closure. It does not cover a project in another solution or `.slnf`, a tool built from another path, or a project an orchestrating `.proj` builds through the `MSBuild` task (`-restore` on the orchestrator leaves those unrestored and they fail with NETSDK1004) | Keep restore on that step, or add the project to the explicit restore step |\n| **Same restore inputs.** `-r`\u002F`--runtime`, RID-producing `-a`\u002F`--arch`, `--os`, `--ucr`\u002F`--use-current-runtime`, `TargetFramework(s)`, `RuntimeIdentifier(s)`, `PublishAot`, package sources (`--source`, `--configfile`, `RestoreSources`), `RestorePackagesPath`, and any `-p:` value a PackageReference condition reads. Architecture\u002FOS options combine with the SDK's current RID; `--use-current-runtime` selects it. Missing RID targets fail with NETSDK1047 (`Assets file ... doesn't have a target for 'net10.0\u002Flinux-x64'`) | Match the effective RID in the explicit restore (for example `publish --os linux --arch x64` requires `restore -r linux-x64`), or keep restore on the later step. A generic restore does not cover these aliases merely because there is no `-r`. Do not require `SelfContained=true` on restore solely because publish is self-contained: RID-only restore covers ordinary SDK projects. Match `Configuration` or `SelfContained` only if repository conditions change package inputs |\n| **Same available restore state.** Earlier `project.assets.json` files must exist where the later invocation looks for them. Match `--artifacts-path`, `UseArtifactsOutput`\u002F`ArtifactsPath`, and `MSBuildProjectExtensionsPath`\u002F`BaseIntermediateOutputPath`; another job or workspace does not automatically share these files | Align the explicit restore's output layout with build\u002Ftest, or retain restore in the later workspace. For `build --artifacts-path artifacts --no-restore`, use `restore --artifacts-path artifacts` first; ordinary `obj\u002F` assets do not cover that layout |\n| **Nothing changes packages in between.** A step that generates or edits a project, runs `dotnet add package`, rewrites `Directory.Packages.props` or `NuGet.config` invalidates the earlier restore | Move the explicit restore after that step |\n\n### Step 4: Apply the smallest change\n\n- One explicit restore carrying every restore input, then `--no-restore`, `-restore:false` or `--no-build` on later steps.\n- Several `dotnet test` steps over one solution: build once, then `dotnet test --no-build` on each. Add `--no-restore -restore:false` if an rsp enables restore, including on .NET 8 and earlier. `--no-restore` alone still rebuilds.\n- Keep self-contained publish settings. A `publish --no-build` still needs a prior build with matching configuration, framework, RID and self-contained output; restore compatibility does not prove that build outputs exist.\n- Scope the change to CI and scripts. Leave `-restore` in `Directory.Build.rsp`, because developers rely on it; pass `-restore:false` per invocation instead.\n- Never remove the first restore. If it is a `--locked-mode` gate, keep it there.\n- Do not bundle static graph restore or package caching into this change.\n\n```bash\n# One restore carries every input later steps use\ndotnet restore MyApp.sln -r linux-x64\n# Explicit overrides also work when an rsp enables restore on older SDKs\ndotnet build MyApp.sln -c Release --no-restore -restore:false\ndotnet test MyApp.sln -c Release --no-build --no-restore -restore:false\ndotnet publish src\u002FApi -c Release -r linux-x64 --no-restore -restore:false\n# msbuild invocations need the explicit switch if an rsp file adds -restore\ndotnet msbuild Packaging.proj -t:Pack -restore:false\n```\n\n### Step 5: Validate and report truthfully\n\n1. Run the changed pipeline or script end to end in a clean temporary copy (no `obj\u002F`, no `project.assets.json`). A project that was never restored only fails there. YAML syntax or flag-presence checks do not validate restore coverage or test execution. If you cannot run it, say \"not validated\" and list the steps and projects to confirm.\n2. Success evidence: every later step passed; `Restore` calls (binlog) or `Determining projects to restore` lines fell from N to the expected count; for a time claim, before\u002Fafter medians of at least three runs.\n3. Report a restore failure (NETSDK1004, NETSDK1047) separately from a build failure, and never claim success after either.\n\n## Output\n\nExplain which steps restored, which earlier restore covers them, what changed, and what remains unvalidated. State whether redundant restores were removed or no change was needed, keeping the required first restore. Use prose or a findings table as appropriate; no fixed table headings or verdict syntax are required.\n\n## Common Pitfalls\n\n| Pitfall | Solution |\n|---|---|\n| Adding `--no-restore` to every command | Apply the Step 3 checks per step |\n| Missing that an rsp adds `-restore` to \"build-only\" msbuild steps | Search for `*.rsp` before concluding a step does not restore |\n| Deleting `-restore` from `Directory.Build.rsp` | Override per CI invocation; the rsp serves developers |\n| Orchestrator `.proj` restored, children not | Restore each child explicitly, or keep restore on the step that builds it |\n| Publishing with `-r`, architecture\u002FOS options, or `--use-current-runtime` after a generic restore | Restore with the same effective runtime identifier, including SDK-host defaults used by the aliases |\n| A generator step edits PackageReferences after restore | Restore after the generator |\n","# Eliminate Redundant Restores\n\nA no-op restore still evaluates every project and checks restore state, so each extra restore in a multi-step build costs seconds to tens of seconds in a large repo. The cure is easy to get wrong: `--no-restore` on a step that no earlier restore actually covered turns a slow build into a failed one. This skill finds which invocations restore, proves which are already covered, and changes only those.\n\n## When to Use\n\n- A pipeline or script runs several `dotnet`\u002F`msbuild` steps and the log shows restore output in more than one of them\n- A restore step exists, yet later steps still print `Determining projects to restore...`\n- A repository `Directory.Build.rsp` or the active MSBuild installation's `MSBuild.rsp` contains `-restore`\n- Someone asks where `--no-restore` or `-restore:false` can safely be added\n- `NETSDK1004` or `NETSDK1047` appeared after `--no-restore` was added\n\n## When Not to Use\n\n- The first restore is slow (feed latency, missing package cache): that is caching, not redundancy\n- There is only one restore across all invocations: nothing to deduplicate\n- Restore errors about versions, lock files or auditing: fix the restore itself\n- Unranked \"why is my build slow\": start with `build-perf-baseline`, then `build-perf-diagnostics`\n\n## Inputs\n\nDiscover repository inputs in the working directory; do not ask the user for paths.\n\n- CI definitions (`*.yml`, `.github\u002Fworkflows`, `azure-pipelines*.yml`, `Jenkinsfile`) and build scripts (`build.cmd`, `build.sh`, `build.ps1`, `eng\u002F`)\n- `Directory.Build.rsp`, `Directory.Build.props`\u002F`.targets`, `NuGet.config`\n- Auto-loaded `MSBuild.rsp` beside the active MSBuild executable, or response files passed explicitly with `@file`. A repository-local `MSBuild.rsp` is not auto-loaded\n- Restore evidence if present: step logs or a binlog\n\n## Workflow\n\n### Step 1: Confirm restore is repeated and worth removing\n\n- Log evidence: `Determining projects to restore...` or `All projects are up-to-date for restore.` once per invocation.\n- Binlog evidence: restore evaluations carry the global properties `MSBuildRestoreSessionId` and `ExcludeRestorePackageImports=true`; the Target Performance Summary lists `Restore` with N calls.\n- Quantify each no-op restore. If there is one restore, or the repeated ones total about a second, report \"nothing worth removing\" and stop without editing.\n\n### Step 2: Inventory every invocation in execution order\n\n| Invocation | Restores? |\n|---|---|\n| `dotnet build`, `test`, `publish`, `pack` | Implicitly, unless `--no-restore`; also check inherited rsp flags |\n| `dotnet run` | Implicitly before building; `--no-restore` can still inherit rsp restore on older SDKs. With `--no-build`, no build or restore runs |\n| `dotnet test`, `publish`, `pack` with `--no-build` | No implicit restore, but an rsp `-restore` can still enable restore; add `--no-restore -restore:false` |\n| `dotnet msbuild`, `msbuild.exe`, CI MSBuild tasks | With `-restore` or `-t:Restore`, including flags inherited from repository `Directory.Build.rsp` or installation-level `MSBuild.rsp`, even when a step looks build-only |\n| `dotnet restore`, `nuget restore`, `msbuild -t:Restore` | Explicit restore |\n| CI build task with a \"restore packages\" option | Check its default |\n\nStarting with .NET SDK 9.0.1xx, `--no-restore` forwards `-restore:false` to override rsp flags; older SDKs can still inherit `-restore` despite skipping the CLI's implicit restore. Whenever an rsp enables restore, use the version-independent `--no-restore -restore:false` with `dotnet build`, `test`, `publish` or `pack`, even with `--no-build`. `dotnet msbuild` and `msbuild.exe` take `-restore:false`, not `--no-restore`.\n\n`dotnet run` does not expose the MSBuild `-restore:false` override. With an rsp on older SDKs, first build using `dotnet build --no-restore -restore:false`, then run using `dotnet run --no-build` with the same project, configuration, framework and runtime inputs (or execute the built DLL directly). Passing `-restore:false` to `dotnet run` is not a restore-suppression strategy.\n\n### Step 3: Decide per invocation\n\nKeep the first restore. Skip a later one only when all four checks pass:\n\n| Check | If it fails |\n|---|---|\n| **Same project set.** A restore covers its entry project or solution and that project's ProjectReference closure. It does not cover a project in another solution or `.slnf`, a tool built from another path, or a project an orchestrating `.proj` builds through the `MSBuild` task (`-restore` on the orchestrator leaves those unrestored and they fail with NETSDK1004) | Keep restore on that step, or add the project to the explicit restore step |\n| **Same restore inputs.** `-r`\u002F`--runtime`, RID-producing `-a`\u002F`--arch`, `--os`, `--ucr`\u002F`--use-current-runtime`, `TargetFramework(s)`, `RuntimeIdentifier(s)`, `PublishAot`, package sources (`--source`, `--configfile`, `RestoreSources`), `RestorePackagesPath`, and any `-p:` value a PackageReference condition reads. Architecture\u002FOS options combine with the SDK's current RID; `--use-current-runtime` selects it. Missing RID targets fail with NETSDK1047 (`Assets file ... doesn't have a target for 'net10.0\u002Flinux-x64'`) | Match the effective RID in the explicit restore (for example `publish --os linux --arch x64` requires `restore -r linux-x64`), or keep restore on the later step. A generic restore does not cover these aliases merely because there is no `-r`. Do not require `SelfContained=true` on restore solely because publish is self-contained: RID-only restore covers ordinary SDK projects. Match `Configuration` or `SelfContained` only if repository conditions change package inputs |\n| **Same available restore state.** Earlier `project.assets.json` files must exist where the later invocation looks for them. Match `--artifacts-path`, `UseArtifactsOutput`\u002F`ArtifactsPath`, and `MSBuildProjectExtensionsPath`\u002F`BaseIntermediateOutputPath`; another job or workspace does not automatically share these files | Align the explicit restore's output layout with build\u002Ftest, or retain restore in the later workspace. For `build --artifacts-path artifacts --no-restore`, use `restore --artifacts-path artifacts` first; ordinary `obj\u002F` assets do not cover that layout |\n| **Nothing changes packages in between.** A step that generates or edits a project, runs `dotnet add package`, rewrites `Directory.Packages.props` or `NuGet.config` invalidates the earlier restore | Move the explicit restore after that step |\n\n### Step 4: Apply the smallest change\n\n- One explicit restore carrying every restore input, then `--no-restore`, `-restore:false` or `--no-build` on later steps.\n- Several `dotnet test` steps over one solution: build once, then `dotnet test --no-build` on each. Add `--no-restore -restore:false` if an rsp enables restore, including on .NET 8 and earlier. `--no-restore` alone still rebuilds.\n- Keep self-contained publish settings. A `publish --no-build` still needs a prior build with matching configuration, framework, RID and self-contained output; restore compatibility does not prove that build outputs exist.\n- Scope the change to CI and scripts. Leave `-restore` in `Directory.Build.rsp`, because developers rely on it; pass `-restore:false` per invocation instead.\n- Never remove the first restore. If it is a `--locked-mode` gate, keep it there.\n- Do not bundle static graph restore or package caching into this change.\n\n```bash\n# One restore carries every input later steps use\ndotnet restore MyApp.sln -r linux-x64\n# Explicit overrides also work when an rsp enables restore on older SDKs\ndotnet build MyApp.sln -c Release --no-restore -restore:false\ndotnet test MyApp.sln -c Release --no-build --no-restore -restore:false\ndotnet publish src\u002FApi -c Release -r linux-x64 --no-restore -restore:false\n# msbuild invocations need the explicit switch if an rsp file adds -restore\ndotnet msbuild Packaging.proj -t:Pack -restore:false\n```\n\n### Step 5: Validate and report truthfully\n\n1. Run the changed pipeline or script end to end in a clean temporary copy (no `obj\u002F`, no `project.assets.json`). A project that was never restored only fails there. YAML syntax or flag-presence checks do not validate restore coverage or test execution. If you cannot run it, say \"not validated\" and list the steps and projects to confirm.\n2. Success evidence: every later step passed; `Restore` calls (binlog) or `Determining projects to restore` lines fell from N to the expected count; for a time claim, before\u002Fafter medians of at least three runs.\n3. Report a restore failure (NETSDK1004, NETSDK1047) separately from a build failure, and never claim success after either.\n\n## Output\n\nExplain which steps restored, which earlier restore covers them, what changed, and what remains unvalidated. State whether redundant restores were removed or no change was needed, keeping the required first restore. Use prose or a findings table as appropriate; no fixed table headings or verdict syntax are required.\n\n## Common Pitfalls\n\n| Pitfall | Solution |\n|---|---|\n| Adding `--no-restore` to every command | Apply the Step 3 checks per step |\n| Missing that an rsp adds `-restore` to \"build-only\" msbuild steps | Search for `*.rsp` before concluding a step does not restore |\n| Deleting `-restore` from `Directory.Build.rsp` | Override per CI invocation; the rsp serves developers |\n| Orchestrator `.proj` restored, children not | Restore each child explicitly, or keep restore on the step that builds it |\n| Publishing with `-r`, architecture\u002FOS options, or `--use-current-runtime` after a generic restore | Restore with the same effective runtime identifier, including SDK-host defaults used by the aliases |\n| A generator step edits PackageReferences after restore | Restore after the generator |\n",{"name":5,"license":15,"description":7},"main","497cc9aba79a931ac6fb8d36a48cc22fe3d6d74b","external-sources\u002Fupstreams\u002Fdotnet-skills\u002Fplugins\u002Fdotnet-msbuild\u002Fskills\u002Feliminate-redundant-restores",41,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills","https:\u002F\u002Fskills.managed-code.com","https:\u002F\u002Fgithub.com\u002Fmanagedcode","https:\u002F\u002Fwww.managed-code.com","Open Source Community for .NET Developers: Reliable, Actively Maintained, and Community-Driven. Made in Ukraine 🇺🇦 with ❤️","2026-11-12 19:59:36",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add managedcode\u002Fdotnet-skills --skill eliminate-redundant-restores",{"tool":61,"command":62},"bunx","bunx skills add managedcode\u002Fdotnet-skills --skill eliminate-redundant-restores",{"tool":64,"command":65},"pnpm","pnpm dlx skills add managedcode\u002Fdotnet-skills --skill eliminate-redundant-restores","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fdotnet-skills\u002Fplugins\u002Fdotnet-msbuild\u002Fskills\u002Feliminate-redundant-restores\u002FSKILL.md",true,[69,75,79,83,87,91,95,99,103,107,111,115,119,123,127,131,135,139,143,147,151,155,159,163,167,171,175,179,183,187,191,195,199,203,207,211,215,219,223,227,231,235,239,243,247,251,255,259,263,267,271,275,279,283,287,291,295,299,302,306,310,314,318,322,326,330,334,338,342,346,350,354,358,362,366,370,374,378,382,386,390,394,398,402,406,410,414,418,422,426,430,434,438,442,446,450,454,458,462,466,470,474,478,482,486,490,494,498,502,506,510,514,518,522,526,530,534,538,542,546,550,554,558,562,566,570,574,578,582,586,590,594,598,602,606,610,614],{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"guides\u002Faccessibility\u002Faccessibility.md","REFERENCE","参考文档",25581,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Faccessibility\u002Faccessibility.md",{"path":76,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":77,"sourceHtmlUrl":78},"guides\u002Faccessibility\u002Faccessible-error-announcement.md",7354,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Faccessibility\u002Faccessible-error-announcement.md",{"path":80,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":81,"sourceHtmlUrl":82},"guides\u002Fbuilt-in-ai\u002Flanguage-detection.md",3658,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fbuilt-in-ai\u002Flanguage-detection.md",{"path":84,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":85,"sourceHtmlUrl":86},"guides\u002Fbuilt-in-ai\u002Flanguage-model.md",7400,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fbuilt-in-ai\u002Flanguage-model.md",{"path":88,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":89,"sourceHtmlUrl":90},"guides\u002Fbuilt-in-ai\u002Fsummarizer.md",6149,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fbuilt-in-ai\u002Fsummarizer.md",{"path":92,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":93,"sourceHtmlUrl":94},"guides\u002Fbuilt-in-ai\u002Ftranslator.md",5519,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fbuilt-in-ai\u002Ftranslator.md",{"path":96,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":97,"sourceHtmlUrl":98},"guides\u002Fcss-layout\u002Fcss-layout.md",20117,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fcss-layout\u002Fcss-layout.md",{"path":100,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":101,"sourceHtmlUrl":102},"guides\u002Fcss\u002Fcss.md",27837,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fcss\u002Fcss.md",{"path":104,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":105,"sourceHtmlUrl":106},"guides\u002Fcss\u002Fhighlight-text-ranges.md",5657,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fcss\u002Fhighlight-text-ranges.md",{"path":108,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":109,"sourceHtmlUrl":110},"guides\u002Fforms\u002Fanimated-select-picker.md",8423,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fforms\u002Fanimated-select-picker.md",{"path":112,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":113,"sourceHtmlUrl":114},"guides\u002Fforms\u002Fautofill-address-form.md",4192,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fforms\u002Fautofill-address-form.md",{"path":116,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":117,"sourceHtmlUrl":118},"guides\u002Fforms\u002Fautofill-highlight-inputs.md",2364,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fforms\u002Fautofill-highlight-inputs.md",{"path":120,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":121,"sourceHtmlUrl":122},"guides\u002Fforms\u002Fautofill-payment-form.md",8777,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fforms\u002Fautofill-payment-form.md",{"path":124,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":125,"sourceHtmlUrl":126},"guides\u002Fforms\u002Fautofill-sign-in-form.md",10093,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fforms\u002Fautofill-sign-in-form.md",{"path":128,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":129,"sourceHtmlUrl":130},"guides\u002Fforms\u002Fautofill-sign-up-form.md",11287,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fforms\u002Fautofill-sign-up-form.md",{"path":132,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":133,"sourceHtmlUrl":134},"guides\u002Fforms\u002Fbrand-consistent-forms.md",9024,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fforms\u002Fbrand-consistent-forms.md",{"path":136,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":137,"sourceHtmlUrl":138},"guides\u002Fforms\u002Fbranded-select-styling.md",5696,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fforms\u002Fbranded-select-styling.md",{"path":140,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":141,"sourceHtmlUrl":142},"guides\u002Fforms\u002Fcustom-select-picker-layouts.md",5249,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fforms\u002Fcustom-select-picker-layouts.md",{"path":144,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":145,"sourceHtmlUrl":146},"guides\u002Fforms\u002Fform-fields-automatically-fit-contents.md",6087,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fforms\u002Fform-fields-automatically-fit-contents.md",{"path":148,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":149,"sourceHtmlUrl":150},"guides\u002Fforms\u002Fforms.md",15430,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fforms\u002Fforms.md",{"path":152,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":153,"sourceHtmlUrl":154},"guides\u002Fforms\u002Frequired-field-feedback.md",7358,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fforms\u002Frequired-field-feedback.md",{"path":156,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":157,"sourceHtmlUrl":158},"guides\u002Fforms\u002Frich-media-picker.md",7044,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fforms\u002Frich-media-picker.md",{"path":160,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":161,"sourceHtmlUrl":162},"guides\u002Fforms\u002Fselect-menu-interaction.md",6007,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fforms\u002Fselect-menu-interaction.md",{"path":164,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":165,"sourceHtmlUrl":166},"guides\u002Fforms\u002Fvalidate-input-after-interaction.md",9288,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fforms\u002Fvalidate-input-after-interaction.md",{"path":168,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":169,"sourceHtmlUrl":170},"guides\u002Fhtml\u002Fhtml.md",18647,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fhtml\u002Fhtml.md",{"path":172,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":173,"sourceHtmlUrl":174},"guides\u002Fpasskeys\u002Fpasskey-authentication.md",10249,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fpasskeys\u002Fpasskey-authentication.md",{"path":176,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":177,"sourceHtmlUrl":178},"guides\u002Fpasskeys\u002Fpasskey-conditional-create.md",6893,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fpasskeys\u002Fpasskey-conditional-create.md",{"path":180,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":181,"sourceHtmlUrl":182},"guides\u002Fpasskeys\u002Fpasskey-management.md",9700,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fpasskeys\u002Fpasskey-management.md",{"path":184,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":185,"sourceHtmlUrl":186},"guides\u002Fpasskeys\u002Fpasskey-reauthentication.md",5306,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fpasskeys\u002Fpasskey-reauthentication.md",{"path":188,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":189,"sourceHtmlUrl":190},"guides\u002Fpasskeys\u002Fpasskey-registration.md",9807,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fpasskeys\u002Fpasskey-registration.md",{"path":192,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":193,"sourceHtmlUrl":194},"guides\u002Fpasskeys\u002Fpasskeys.md",4282,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fpasskeys\u002Fpasskeys.md",{"path":196,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":197,"sourceHtmlUrl":198},"guides\u002Fperformance\u002Fbatch-analytics-events.md",6739,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fperformance\u002Fbatch-analytics-events.md",{"path":200,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":201,"sourceHtmlUrl":202},"guides\u002Fperformance\u002Fbreak-up-long-tasks.md",2325,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fperformance\u002Fbreak-up-long-tasks.md",{"path":204,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":205,"sourceHtmlUrl":206},"guides\u002Fperformance\u002Fcalculate-total-foreground-time.md",2993,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fperformance\u002Fcalculate-total-foreground-time.md",{"path":208,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":209,"sourceHtmlUrl":210},"guides\u002Fperformance\u002Fconditional-async-dependencies.md",3656,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fperformance\u002Fconditional-async-dependencies.md",{"path":212,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":213,"sourceHtmlUrl":214},"guides\u002Fperformance\u002Fdefer-rendering-heavy-content.md",7087,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fperformance\u002Fdefer-rendering-heavy-content.md",{"path":216,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":217,"sourceHtmlUrl":218},"guides\u002Fperformance\u002Fdefer-work-until-scroll-ends.md",3433,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fperformance\u002Fdefer-work-until-scroll-ends.md",{"path":220,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":221,"sourceHtmlUrl":222},"guides\u002Fperformance\u002Fdeprioritize-background-fetches.md",1879,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fperformance\u002Fdeprioritize-background-fetches.md",{"path":224,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":225,"sourceHtmlUrl":226},"guides\u002Fperformance\u002Fdetect-initial-visibility-state.md",4812,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fperformance\u002Fdetect-initial-visibility-state.md",{"path":228,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":229,"sourceHtmlUrl":230},"guides\u002Fperformance\u002Fefficient-background-processing.md",5405,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fperformance\u002Fefficient-background-processing.md",{"path":232,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":233,"sourceHtmlUrl":234},"guides\u002Fperformance\u002Ffaster-spa-view-transitions.md",3557,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fperformance\u002Ffaster-spa-view-transitions.md",{"path":236,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":237,"sourceHtmlUrl":238},"guides\u002Fperformance\u002Ffull-session-analytics.md",5992,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fperformance\u002Ffull-session-analytics.md",{"path":240,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":241,"sourceHtmlUrl":242},"guides\u002Fperformance\u002Fidentify-heavy-scripts.md",4373,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fperformance\u002Fidentify-heavy-scripts.md",{"path":244,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":245,"sourceHtmlUrl":246},"guides\u002Fperformance\u002Fidentify-inp-causes.md",5640,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fperformance\u002Fidentify-inp-causes.md",{"path":248,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":249,"sourceHtmlUrl":250},"guides\u002Fperformance\u002Fimprove-next-page-load-performance.md",7691,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fperformance\u002Fimprove-next-page-load-performance.md",{"path":252,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":253,"sourceHtmlUrl":254},"guides\u002Fperformance\u002Finteractions-in-complex-layouts.md",3448,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fperformance\u002Finteractions-in-complex-layouts.md",{"path":256,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":257,"sourceHtmlUrl":258},"guides\u002Fperformance\u002Foptimize-image-priority.md",4027,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fperformance\u002Foptimize-image-priority.md",{"path":260,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":261,"sourceHtmlUrl":262},"guides\u002Fperformance\u002Foptimize-preload-priority.md",3387,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fperformance\u002Foptimize-preload-priority.md",{"path":264,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":265,"sourceHtmlUrl":266},"guides\u002Fperformance\u002Foptimize-script-priority.md",2650,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fperformance\u002Foptimize-script-priority.md",{"path":268,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":269,"sourceHtmlUrl":270},"guides\u002Fperformance\u002Fperformance.md",18681,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fperformance\u002Fperformance.md",{"path":272,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":273,"sourceHtmlUrl":274},"guides\u002Fperformance\u002Fresolution-optimized-pseudo-elements.md",2399,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fperformance\u002Fresolution-optimized-pseudo-elements.md",{"path":276,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":277,"sourceHtmlUrl":278},"guides\u002Fperformance\u002Fschedule-tasks-by-priority.md",2390,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fperformance\u002Fschedule-tasks-by-priority.md",{"path":280,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":281,"sourceHtmlUrl":282},"guides\u002Fperformance\u002Fsequence-distributed-events.md",3637,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fperformance\u002Fsequence-distributed-events.md",{"path":284,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":285,"sourceHtmlUrl":286},"guides\u002Fprivacy\u002Fprivacy.md",11323,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fprivacy\u002Fprivacy.md",{"path":288,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":289,"sourceHtmlUrl":290},"guides\u002Fsecurity\u002Fsecurity.md",26040,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fsecurity\u002Fsecurity.md",{"path":292,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":293,"sourceHtmlUrl":294},"guides\u002Fuser-experience\u002Fadapt-scrollbar-to-contrast-preferences.md",3668,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fadapt-scrollbar-to-contrast-preferences.md",{"path":296,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":297,"sourceHtmlUrl":298},"guides\u002Fuser-experience\u002Fanchor-positioning-tab-underline.md",3011,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fanchor-positioning-tab-underline.md",{"path":300,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":185,"sourceHtmlUrl":301},"guides\u002Fuser-experience\u002Fanimate-element-entry-exit.md","https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fanimate-element-entry-exit.md",{"path":303,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":304,"sourceHtmlUrl":305},"guides\u002Fuser-experience\u002Fanimate-to-from-top-layer.md",5739,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fanimate-to-from-top-layer.md",{"path":307,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":308,"sourceHtmlUrl":309},"guides\u002Fuser-experience\u002Fanimate-to-intrinsic-sizes.md",5510,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fanimate-to-intrinsic-sizes.md",{"path":311,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":312,"sourceHtmlUrl":313},"guides\u002Fuser-experience\u002Fapply-webgl-shaders.md",10194,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fapply-webgl-shaders.md",{"path":315,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":316,"sourceHtmlUrl":317},"guides\u002Fuser-experience\u002Fcalculate-event-differentials.md",4566,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fcalculate-event-differentials.md",{"path":319,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":320,"sourceHtmlUrl":321},"guides\u002Fuser-experience\u002Fcalculate-with-intrinsic-sizes.md",10018,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fcalculate-with-intrinsic-sizes.md",{"path":323,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":324,"sourceHtmlUrl":325},"guides\u002Fuser-experience\u002Fcapture-location-agnostic-data.md",3688,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fcapture-location-agnostic-data.md",{"path":327,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":328,"sourceHtmlUrl":329},"guides\u002Fuser-experience\u002Fcarousel-slide-effects.md",8571,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fcarousel-slide-effects.md",{"path":331,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":332,"sourceHtmlUrl":333},"guides\u002Fuser-experience\u002Fcarousel-snap-highlights.md",6016,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fcarousel-snap-highlights.md",{"path":335,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":336,"sourceHtmlUrl":337},"guides\u002Fuser-experience\u002Fchild-state-based-styling.md",5049,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fchild-state-based-styling.md",{"path":339,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":340,"sourceHtmlUrl":341},"guides\u002Fuser-experience\u002Fcomplex-shapes.md",3675,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fcomplex-shapes.md",{"path":343,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":344,"sourceHtmlUrl":345},"guides\u002Fuser-experience\u002Fcomponent-specific-light-dark-theme.md",9644,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fcomponent-specific-light-dark-theme.md",{"path":347,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":348,"sourceHtmlUrl":349},"guides\u002Fuser-experience\u002Fconsistent-cross-document-transitions.md",12204,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fconsistent-cross-document-transitions.md",{"path":351,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":352,"sourceHtmlUrl":353},"guides\u002Fuser-experience\u002Fcontent-based-styling.md",5449,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fcontent-based-styling.md",{"path":355,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":356,"sourceHtmlUrl":357},"guides\u002Fuser-experience\u002Fcoordinate-global-events.md",3601,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fcoordinate-global-events.md",{"path":359,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":360,"sourceHtmlUrl":361},"guides\u002Fuser-experience\u002Fcross-document-transitions.md",4668,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fcross-document-transitions.md",{"path":363,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":364,"sourceHtmlUrl":365},"guides\u002Fuser-experience\u002Fcustomize-scrollbar-color-and-thickness.md",2516,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fcustomize-scrollbar-color-and-thickness.md",{"path":367,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":368,"sourceHtmlUrl":369},"guides\u002Fuser-experience\u002Fdark-mode.md",15795,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fdark-mode.md",{"path":371,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":372,"sourceHtmlUrl":373},"guides\u002Fuser-experience\u002Fdeclarative-button-actions.md",5760,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fdeclarative-button-actions.md",{"path":375,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":376,"sourceHtmlUrl":377},"guides\u002Fuser-experience\u002Fdeclarative-dialog-popover-control.md",9628,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fdeclarative-dialog-popover-control.md",{"path":379,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":380,"sourceHtmlUrl":381},"guides\u002Fuser-experience\u002Fdeliver-optimized-decorative-images.md",2934,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fdeliver-optimized-decorative-images.md",{"path":383,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":384,"sourceHtmlUrl":385},"guides\u002Fuser-experience\u002Fdesign-token-reactivity.md",5945,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fdesign-token-reactivity.md",{"path":387,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":388,"sourceHtmlUrl":389},"guides\u002Fuser-experience\u002Fdirectional-navigation-transitions.md",5096,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fdirectional-navigation-transitions.md",{"path":391,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":392,"sourceHtmlUrl":393},"guides\u002Fuser-experience\u002Fdynamic-sibling-animations.md",2680,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fdynamic-sibling-animations.md",{"path":395,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":396,"sourceHtmlUrl":397},"guides\u002Fuser-experience\u002Fdynamic-sibling-styling.md",3710,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fdynamic-sibling-styling.md",{"path":399,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":400,"sourceHtmlUrl":401},"guides\u002Fuser-experience\u002Fexport-html-media-from-canvas.md",11634,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fexport-html-media-from-canvas.md",{"path":403,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":404,"sourceHtmlUrl":405},"guides\u002Fuser-experience\u002Fexpose-canvas-content-to-browser-features.md",14954,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fexpose-canvas-content-to-browser-features.md",{"path":407,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":408,"sourceHtmlUrl":409},"guides\u002Fuser-experience\u002Fflicker-free-client-side-ab-testing.md",8812,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fflicker-free-client-side-ab-testing.md",{"path":411,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":412,"sourceHtmlUrl":413},"guides\u002Fuser-experience\u002Ffluid-scaling.md",3105,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Ffluid-scaling.md",{"path":415,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":416,"sourceHtmlUrl":417},"guides\u002Fuser-experience\u002Fformat-human-readable-durations.md",4351,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fformat-human-readable-durations.md",{"path":419,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":420,"sourceHtmlUrl":421},"guides\u002Fuser-experience\u002Fgroup-element-transitions.md",5199,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fgroup-element-transitions.md",{"path":423,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":424,"sourceHtmlUrl":425},"guides\u002Fuser-experience\u002Fimprove-text-layout-and-legibility.md",5420,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fimprove-text-layout-and-legibility.md",{"path":427,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":428,"sourceHtmlUrl":429},"guides\u002Fuser-experience\u002Findividual-transform-properties.md",3753,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Findividual-transform-properties.md",{"path":431,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":432,"sourceHtmlUrl":433},"guides\u002Fuser-experience\u002Finteractive-content-in-3d-scenes.md",13922,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Finteractive-content-in-3d-scenes.md",{"path":435,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":436,"sourceHtmlUrl":437},"guides\u002Fuser-experience\u002Finteractive-content-reveal.md",5296,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Finteractive-content-reveal.md",{"path":439,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":440,"sourceHtmlUrl":441},"guides\u002Fuser-experience\u002Finterest-triggered-action-previews.md",4253,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Finterest-triggered-action-previews.md",{"path":443,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":444,"sourceHtmlUrl":445},"guides\u002Fuser-experience\u002Finterest-triggered-tooltips.md",7009,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Finterest-triggered-tooltips.md",{"path":447,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":448,"sourceHtmlUrl":449},"guides\u002Fuser-experience\u002Flight-dismiss-a-dialog.md",3731,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Flight-dismiss-a-dialog.md",{"path":451,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":452,"sourceHtmlUrl":453},"guides\u002Fuser-experience\u002Fmanage-recurring-intervals.md",3402,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fmanage-recurring-intervals.md",{"path":455,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":456,"sourceHtmlUrl":457},"guides\u002Fuser-experience\u002Fmodel-partial-time-concepts.md",4374,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fmodel-partial-time-concepts.md",{"path":459,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":460,"sourceHtmlUrl":461},"guides\u002Fuser-experience\u002Fmove-dom-element-without-losing-state.md",2600,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fmove-dom-element-without-losing-state.md",{"path":463,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":464,"sourceHtmlUrl":465},"guides\u002Fuser-experience\u002Fnavigation-drawer.md",16512,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fnavigation-drawer.md",{"path":467,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":468,"sourceHtmlUrl":469},"guides\u002Fuser-experience\u002Foverflow-clipping-control.md",8354,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Foverflow-clipping-control.md",{"path":471,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":472,"sourceHtmlUrl":473},"guides\u002Fuser-experience\u002Fparallax-scroll-effects.md",9457,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fparallax-scroll-effects.md",{"path":475,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":476,"sourceHtmlUrl":477},"guides\u002Fuser-experience\u002Fpersistent-app-tours.md",4073,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fpersistent-app-tours.md",{"path":479,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":480,"sourceHtmlUrl":481},"guides\u002Fuser-experience\u002Fpersistent-toast-notifications.md",1874,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fpersistent-toast-notifications.md",{"path":483,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":484,"sourceHtmlUrl":485},"guides\u002Fuser-experience\u002Fpersistent-top-layer-ui.md",2334,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fpersistent-top-layer-ui.md",{"path":487,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":488,"sourceHtmlUrl":489},"guides\u002Fuser-experience\u002Fphysics-based-easing.md",6585,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fphysics-based-easing.md",{"path":491,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":492,"sourceHtmlUrl":493},"guides\u002Fuser-experience\u002Fplatform-controls-dismiss-dialog.md",2640,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fplatform-controls-dismiss-dialog.md",{"path":495,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":496,"sourceHtmlUrl":497},"guides\u002Fuser-experience\u002Fposition-aware-tooltips.md",6197,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fposition-aware-tooltips.md",{"path":499,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":500,"sourceHtmlUrl":501},"guides\u002Fuser-experience\u002Fprecise-text-alignment.md",4884,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fprecise-text-alignment.md",{"path":503,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":504,"sourceHtmlUrl":505},"guides\u002Fuser-experience\u002Fprevent-text-wrapping.md",2474,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fprevent-text-wrapping.md",{"path":507,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":508,"sourceHtmlUrl":509},"guides\u002Fuser-experience\u002Fpull-to-reveal.md",4844,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fpull-to-reveal.md",{"path":511,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":512,"sourceHtmlUrl":513},"guides\u002Fuser-experience\u002Freduce-style-repetition.md",4037,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Freduce-style-repetition.md",{"path":515,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":516,"sourceHtmlUrl":517},"guides\u002Fuser-experience\u002Fresilient-context-menus-and-nested-dropdowns.md",5060,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fresilient-context-menus-and-nested-dropdowns.md",{"path":519,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":520,"sourceHtmlUrl":521},"guides\u002Fuser-experience\u002Fsame-document-transitions.md",8630,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fsame-document-transitions.md",{"path":523,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":524,"sourceHtmlUrl":525},"guides\u002Fuser-experience\u002Fscroll-entry-exit-effects.md",8404,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fscroll-entry-exit-effects.md",{"path":527,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":528,"sourceHtmlUrl":529},"guides\u002Fuser-experience\u002Fscroll-position-aware-elements.md",3890,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fscroll-position-aware-elements.md",{"path":531,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":532,"sourceHtmlUrl":533},"guides\u002Fuser-experience\u002Fscroll-progress-indicator.md",7266,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fscroll-progress-indicator.md",{"path":535,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":536,"sourceHtmlUrl":537},"guides\u002Fuser-experience\u002Fscroll-snap-realtime-feedback.md",7146,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fscroll-snap-realtime-feedback.md",{"path":539,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":540,"sourceHtmlUrl":541},"guides\u002Fuser-experience\u002Fscroll-snap-state-sync.md",4035,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fscroll-snap-state-sync.md",{"path":543,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":544,"sourceHtmlUrl":545},"guides\u002Fuser-experience\u002Fscroll-target-on-load.md",3454,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fscroll-target-on-load.md",{"path":547,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":548,"sourceHtmlUrl":549},"guides\u002Fuser-experience\u002Fscrollability-affordance-hints.md",3939,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fscrollability-affordance-hints.md",{"path":551,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":552,"sourceHtmlUrl":553},"guides\u002Fuser-experience\u002Fscrollytelling.md",9225,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fscrollytelling.md",{"path":555,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":556,"sourceHtmlUrl":557},"guides\u002Fuser-experience\u002Fsearch-hidden-content.md",6959,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fsearch-hidden-content.md",{"path":559,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":560,"sourceHtmlUrl":561},"guides\u002Fuser-experience\u002Fshaped-cutouts.md",7592,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fshaped-cutouts.md",{"path":563,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":564,"sourceHtmlUrl":565},"guides\u002Fuser-experience\u002Fshrinking-header-on-scroll.md",6576,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fshrinking-header-on-scroll.md",{"path":567,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":568,"sourceHtmlUrl":569},"guides\u002Fuser-experience\u002Fsize-aware-styling.md",3066,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fsize-aware-styling.md",{"path":571,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":572,"sourceHtmlUrl":573},"guides\u002Fuser-experience\u002Fsoft-edge-content-fade.md",2754,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fsoft-edge-content-fade.md",{"path":575,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":576,"sourceHtmlUrl":577},"guides\u002Fuser-experience\u002Fstabilize-reactive-state.md",3591,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fstabilize-reactive-state.md",{"path":579,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":580,"sourceHtmlUrl":581},"guides\u002Fuser-experience\u002Fstack-drill-down.md",34826,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fstack-drill-down.md",{"path":583,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":584,"sourceHtmlUrl":585},"guides\u002Fuser-experience\u002Fstyle-parent-with-has.md",6529,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fstyle-parent-with-has.md",{"path":587,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":588,"sourceHtmlUrl":589},"guides\u002Fuser-experience\u002Fsupport-global-calendar-systems.md",5860,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fsupport-global-calendar-systems.md",{"path":591,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":592,"sourceHtmlUrl":593},"guides\u002Fuser-experience\u002Fswipe-to-remove.md",27576,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fswipe-to-remove.md",{"path":595,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":596,"sourceHtmlUrl":597},"guides\u002Fuser-experience\u002Fvisually-stable-font-fallbacks.md",2957,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fvisually-stable-font-fallbacks.md",{"path":599,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":600,"sourceHtmlUrl":601},"guides\u002Fuser-experience\u002Fvisually-stable-mixed-fonts.md",2919,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fvisually-stable-mixed-fonts.md",{"path":603,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":604,"sourceHtmlUrl":605},"guides\u002Fuser-experience\u002Fvisually-texture-content.md",4352,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fuser-experience\u002Fvisually-texture-content.md",{"path":607,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":608,"sourceHtmlUrl":609},"guides\u002Fwebmcp\u002Fagentic-forms.md",5162,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fwebmcp\u002Fagentic-forms.md",{"path":611,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":612,"sourceHtmlUrl":613},"guides\u002Fwebmcp\u002Fagentic-javascript-tools.md",4388,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fwebmcp\u002Fagentic-javascript-tools.md",{"path":615,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":616,"sourceHtmlUrl":617},"guides\u002Fwebmcp\u002Fwebmcp.md",3763,"https:\u002F\u002Fgithub.com\u002FDerGernTod\u002Fpathfinder-librarian\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmodern-web-guidance\u002Fguides\u002Fwebmcp\u002Fwebmcp.md",[619,656,680,709,719,745],{"skillNo":620,"name":621,"nameZh":6,"description":622,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":623,"categories":624,"keywords":635,"publishedAt":40},"01M6DYQE1Y9FHAQHEDTVFQ3447","xtwitter-scraper","Use XTwitterScraper when a .NET application needs typed access to Xquik's X automation REST API for tweet search, user lookup, posting workflows, extraction jobs, monitors, webhooks, or giveaway draws. USE FOR: integrating the XTwitterScraper NuGet package; reviewing Xquik API client usage; modeling API-key configuration, pagination, binary exports, raw responses, retries, and webhook\u002Fevent flows in .NET. DO NOT USE FOR: unrelated stacks; direct browser automation; generic social-media strategy; or code that does not call Xquik. INVOKES: inspect the repository context, edit targeted files, and run relevant build, test, lint, or validation commands when changes are made.","https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fcatalog\u002FLibraries\u002FXTwitterScraper\u002Fskills\u002Fxtwitter-scraper\u002FSKILL.md",[625,630],{"categoryNo":626,"categoryName":627,"taxonomyType":628,"taxonomyTypeDesc":629},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":631,"categoryName":632,"taxonomyType":633,"taxonomyTypeDesc":634},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655],"xtwitter scraper","browser automation","workflows","run","code","browser","search","repository","api","Media","api client","access","edit","unrelated","webhooks","files","social","commands","modeling","webhook",{"skillNo":657,"name":658,"nameZh":6,"description":659,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":660,"categories":661,"keywords":668,"publishedAt":40},"01M6DYQ9S4PE1H6G8MCH9T21HR","sep","Use Sep for high-performance separated-value parsing and writing in .NET, including delimiter inference, explicit parser\u002Fwriter options, and low-allocation row\u002Fcolumn workflows. USE FOR: delimited data needs are performance-sensitive and allocation-aware; project needs explicit control over separator inference, escaping, trimming, and header behavior;. DO NOT USE FOR: unrelated stacks; generic tasks that do not need this specific guidance. INVOKES: inspect the repository context, edit targeted files, and run relevant build, test, lint, or validation commands when changes are made.","https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fcatalog\u002FLibraries\u002FSep\u002Fskills\u002Fsep\u002FSKILL.md",[662,665],{"categoryNo":663,"categoryName":664,"taxonomyType":628,"taxonomyTypeDesc":629},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":666,"categoryName":667,"taxonomyType":633,"taxonomyTypeDesc":634},"01JBSEEDCAT000000000000036","内容创作者",[658,669,670,638,671,639,643,672,673,674,648,675,649,651,26,676,677,678,653,679],"writing","performance","tasks","data","parsing","parser","context","writer","options","project","high-performance",{"skillNo":681,"name":682,"nameZh":6,"description":683,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":684,"categories":685,"keywords":686,"publishedAt":40},"01M6DZS2DNEPXCGGF6SSCW6G5V","webgpu-threejs-tsl","Comprehensive guide for developing WebGPU-enabled Three.js applications using TSL (Three.js Shading Language). Covers WebGPU renderer setup, TSL syntax and node materials, compute shaders, post-processing effects, and WGSL integration. Use this skill when working with Three.js WebGPU, TSL shaders, node materials, or GPU compute in Three.js.","https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fwebgpu-claude-skill\u002Fskills\u002Fwebgpu-threejs-tsl\u002FSKILL.md",[],[687,688,689,690,691,692,693,694,695,696,697,698,20,699,700,701,702,703,24,704,21,705,706,707,708],"webgpu","threejs","webgpu threejs tsl","setup","shaders","gpu","integration","applications","js","node","syntax","guide","language","three","compute","post","processing","renderer","materials","wgsl","effects","when",{"skillNo":710,"name":711,"nameZh":6,"description":712,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":713,"categories":714,"keywords":715,"publishedAt":40},"01M6DZS0BQXW2B56A289XF1X76","roslynk","Use Roslynk for semantic inspection and edits of *.cs, *.razor and *.cshtml solution files.","https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Froslynk\u002Fskills\u002Froslynk\u002FSKILL.md",[],[711,20,651,716,717,21,718],"semantic","razor","inspection",{"skillNo":720,"name":721,"nameZh":6,"description":722,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":723,"categories":724,"keywords":725,"publishedAt":40},"01M6DZRW6MEJCVW80K3S4XV60K","system-text-json-net11","Imperative guidance for the System.Text.Json APIs added in .NET 11: the built-in `JsonNamingPolicy.PascalCase` naming policy, and the strongly-typed generic `JsonSerializerOptions.GetTypeInfo` and `JsonSerializerOptions.TryGetTypeInfo` metadata accessors (generic overloads that return a typed `JsonTypeInfo`). USE ONLY when the user is targeting net11.0 or later and needs PascalCase JSON property or dictionary-key names without writing a custom naming policy, a strongly-typed generic `JsonTypeInfo` instead of the non-generic `JsonTypeInfo`, or a no-throw way to probe whether a type's serialization metadata is resolved. DO NOT USE when the target is earlier than net11.0, the requested behavior uses an established pre-net11 naming policy, or the user explicitly selected another JSON library.","https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fdotnet-skills\u002Fplugins\u002Fdotnet11\u002Fskills\u002Fsystem-text-json-net11\u002FSKILL.md",[],[726,727,728,729,669,730,731,732,733,734,735,20,29,736,737,738,26,739,740,741,742,21,743,744,708],"system","json","text","system text json net11","policy","metadata","library","serialization","behavior","user","probe","guidance","later","type","dictionary","naming","targeting","custom","generic",{"skillNo":746,"name":747,"nameZh":6,"description":748,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":749,"categories":750,"keywords":753,"publishedAt":40},"01M6DZRRJP3S662NFSG1RSPQQ7","process-api-net11","Provides guidance on the new System.Diagnostics.Process APIs introduced in .NET 11: Process.Run, Process.RunAndCaptureText, Process.StartAndForget, Process.ReadAllText\u002FBytes\u002FLines, KillOnParentExit, InheritedHandles, and StartDetached. USE FOR: starting, orchestrating, or capturing output from external processes in applications targeting net11.0 or later. DO NOT USE FOR: applications targeting .NET 10 or earlier, or basic pre-.NET 11 Process.Start usage without new APIs.","https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fdotnet-skills\u002Fplugins\u002Fdotnet11\u002Fskills\u002Fprocess-api-net11\u002FSKILL.md",[751,752],{"categoryNo":626,"categoryName":627,"taxonomyType":628,"taxonomyTypeDesc":629},{"categoryNo":631,"categoryName":632,"taxonomyType":633,"taxonomyTypeDesc":634},[644,754,755,756,639,757,694,726,20,737,738,26,758,759,760,761,742,21,762],"process","process api net11","diagnostics","start","basic","processes","output","usage","new"]