Repository navigation
GitHub CLI v2.102.0 compatibility review #31
Description
Activity
- addedcritical-dependencyUpstream release requiring SkillView compatibility reviewUpstream release requiring SkillView compatibility review
on Oct 5, 2026 Initial compatibility investigation for
gh2.102.0:- The relevant upstream change is the
gh skill searchoption-injection fix. Upstream commit adds--before repository/skill selectors in its interactive install path. SkillView uses JSON search, so it does not invoke that interactive path. - SkillView's own install adapter accepted selectors from search results without this boundary. PR #33 adds it to both install and read-only listing, with a regression test.
- The existing scheduled contract run passed its six checks on
gh2.102.0 and 2.97.0. Locally, the expanded seven-test contract suite passed on 2.102.0, all 48 current agent selectors matchedInstallAgentCatalog, and SkillView JSON search returned parsed results.
I found no evidence of a breaking command or JSON change for SkillView in this release. The contract suite does not exercise every interactive path, and PR #33 is still awaiting CI. I will close this issue after that fix and the manual Copilot assessment are verified.
- The relevant upstream change is the
Copilot compatibility assessment
Automated analysis of upstream notes and SkillView source. Verify conclusions before changing dependencies or minimum versions.
What changed
gh 2.102.0 fixes four security advisories: symlink-redirected writes in
gh release download/gh run download/gh repo read-file --output/gh attestation download(GHSA-39wj-f2f4-978v), case-insensitive--source-refmatching ingh attestation verify(GHSA-4mq3-hpgx-9cx8), prefix-only--signer-workflowmatching ingh attestation verify(GHSA-wjmr-j3rp-mh2g), and — the one relevant item — an option-injection bug where interactivegh skill searchpassed a search result's repository path togh skill installwithout an option separator, letting a crafted result inject installer flags and redirect where skill files were written (GHSA-qcwj-mr2r-2cx7). The remainingWhat's Changeditems are unrelated CLI fixes/docs/dependency bumps, notgh skillchanges.SkillView impact
GHSA-qcwj-mr2r-2cx7 describes a bug in
gh's own interactivegh skill search → installflow, not a bug in SkillView's adapter code. PerAGENTS.md, SkillView already treats this exact class of injection as a standing invariant:GhSkillInstallService.BuildArgs/BuildListArgs(src/SkillView.Core/Gh/GhSkillInstallService.cs) place trusted flags before--and put repository/skill selectors (which may originate from search results) after it, and--pinis always emitted as--pin=<ref>rather than a bare flag. This advisory is evidence that gh's own CLI needed the fix SkillView already applies at its process-call boundary — it does not indicate SkillView needs a code change. The release notes show no changes togh skillsubcommand surface, flags, JSON schema, or agent selectors, soInstallAgentCatalog(src/SkillView.Core/Gh/Modelsand related install/search services) and Terminal.Gui-facing behavior appear unaffected. I did not find any release-note detail on the three attestation/download fixes beyond the advisories, so I cannot assess those beyond "not applicable togh skill."Compatibility assessment
Likely compatible. Evidence: the only
gh skill-adjacent advisory (GHSA-qcwj-mr2r-2cx7) describes a vulnerability ingh's own interactive flow that SkillView's existing--boundary already defends against independently, and the changelog lists nogh skillflag/JSON/behavior changes between 2.97.0 and 2.102.0. Limits: I have not run the contract-test suite against 2.102.0, diffed livegh skill install --help/gh skill search --helpoutput, or exercised install/search/update/TUI flows against the new binary — passing help/flag contract tests in CI (if any exist) would not by itself confirm install, search, or TUI runtime behavior, and none of that has been executed here.Focused follow-up
- Run the required contract-test lane against gh 2.102.0 (per
agent_docs/running-tests.md) and diffgh skill --help/gh skill install --helpoutput againstInstallAgentCatalogand the search/install adapters to confirm no silent flag/output drift. - Manually exercise
gh skill search→ SkillView install (not gh's own interactive flow) against 2.102.0 to confirm SkillView's--separator still produces the expected argv with a search-result-derived selector. - No action needed on the attestation/download advisories — SkillView does not call
gh attestationorgh release/run download; confirm that remains true if those commands are ever adopted.
- Run the required contract-test lane against gh 2.102.0 (per
Resolved by #33, merged to main as bb46663.
GitHub CLI 2.102.0 fixes the interactive
gh skill search→ install option-injection vulnerability (GHSA-qcwj-mr2r-2cx7). SkillView uses JSON search and does not invoke that interactive path. We nevertheless hardened SkillView's own install/list argument construction by placing untrusted selectors after--, and corrected--pin,--upstream, and skill-version argument handling with regression coverage.Compatibility verification: the live contract lane passed for both the minimum supported
gh2.97.0 and current 2.102.0; seven local contract tests passed on 2.102.0; all 48 supported agent selectors matched the CLI help; JSON search parsed successfully; and a read-onlygh skill install --pin=v2.102.0 -- cli/clilisting worked. PR #33 passed tests on Linux, macOS, and Windows, four AOT publish checks, CodeQL, workflow lint, site checks, and Copilot PR review. No breakinggh skillcommand, flag, or JSON change was found, so SkillView's minimum remains 2.97.0.The new issue workflow also ran successfully against this issue: deterministic release highlights and focused checks were published, and Copilot produced a validated compatibility assessment. Future runs will retry missing or malformed assessments and can be dispatched for manual reassessment. The Copilot comment is an automated analysis; the verification results above are from actual tests and source inspection.
GitHub CLI v2.102.0 is available. SkillView currently requires gh 2.97.0+.
gh skill --help, search/preview/install/update/list flags, and JSON output with SkillView's adapters.gh skill install --helpagent selectors againstInstallAgentCatalogand its tests.GH_PATH, authentication, install defaults, and any release-note changes togh skill.Suggested checks from release notes:
gh skillsubcommands, agent selectors, and install defaultsGH_PATH, authentication, and subprocess selection