Describe the bug
gh skill install accepts an exact skill path as its skill argument (e.g. category/my-skill/SKILL.md) and resolves it directly, without running full-repository discovery.
This lets it install skills from repositories that do not follow the top-level skills/ directory convention.
gh skill preview does not accept the same argument.
It always runs full discovery, so for those same repositories it fails with no skills found, regardless of whether a name or an exact path is passed.
This asymmetry also breaks the post-install review hint: after a successful gh skill install from such a repository, the suggested gh skill preview ... command uses the skill name and therefore fails.
A concrete public example is https://github.com/android/skills, whose skills live under category directories such as performance/r8-analyzer/SKILL.md (no top-levelskills/ directory).
Affected version
gh version 2.92.0 (nixpkgs)
https://github.com/cli/cli/releases/tag/v2.92.0
Steps to reproduce the behavior
-
Install a skill from a repository without the skills/ convention, by path:
gh skill install android/skills performance/r8-analyzer/SKILL.md --agent claude-code
This succeeds, and prints a review hint such as:
Review installed content before use:
gh skill preview android/skills r8-analyzer@<sha>
-
Run the suggested preview command (name argument):
gh skill preview android/skills r8-analyzer@<sha>
no skills found in android/skills
Expected skills in skills/*/SKILL.md, skills/{scope}/*/SKILL.md,
{prefix}/skills/*/SKILL.md, {prefix}/skills/{scope}/*/SKILL.md,
*/SKILL.md, or plugins/*/skills/*/SKILL.md
This repository may be a curated list rather than a skills publisher
-
Also try the exact path that worked for install:
gh skill preview android/skills performance/r8-analyzer/SKILL.md
no skills found in android/skills
Expected skills in skills/*/SKILL.md, skills/{scope}/*/SKILL.md,
{prefix}/skills/*/SKILL.md, {prefix}/skills/{scope}/*/SKILL.md,
*/SKILL.md, or plugins/*/skills/*/SKILL.md
This repository may be a curated list rather than a skills publisher
Expected vs actual behavior
Expected
gh skill preview accepts the same exact-path skill argument as gh skill install, and the review hint suggested by install resolves successfully.
Actual
both preview invocations fail:
no skills found in android/skills
Expected skills in skills/*/SKILL.md, skills/{scope}/*/SKILL.md,
{prefix}/skills/*/SKILL.md, {prefix}/skills/{scope}/*/SKILL.md,
*/SKILL.md, or plugins/*/skills/*/SKILL.md
This repository may be a curated list rather than a skills publisher
Logs
$ GH_DEBUG=api gh skill preview android/skills r8-analyzer@d9bcae655955434f24f7206a52828958731989c0
> GET /repos/android/skills/git/ref/heads/d9bcae655955434f24f7206a52828958731989c0 HTTP/1.1
> GET /repos/android/skills HTTP/1.1
> GET /repos/android/skills/git/ref/tags/d9bcae655955434f24f7206a52828958731989c0 HTTP/1.1
> GET /repos/android/skills/commits/d9bcae655955434f24f7206a52828958731989c0 HTTP/1.1
> GET /repos/android/skills/git/trees/d9bcae655955434f24f7206a52828958731989c0?recursive=true HTTP/1.1
no skills found in android/skills
Expected skills in skills/*/SKILL.md, skills/{scope}/*/SKILL.md,
{prefix}/skills/*/SKILL.md, {prefix}/skills/{scope}/*/SKILL.md,
*/SKILL.md, or plugins/*/skills/*/SKILL.md
This repository may be a curated list rather than a skills publisher
Describe the bug
gh skill installaccepts an exact skill path as its skill argument (e.g.category/my-skill/SKILL.md) and resolves it directly, without running full-repository discovery.This lets it install skills from repositories that do not follow the top-level
skills/directory convention.gh skill previewdoes not accept the same argument.It always runs full discovery, so for those same repositories it fails with
no skills found, regardless of whether a name or an exact path is passed.This asymmetry also breaks the post-install review hint: after a successful
gh skill installfrom such a repository, the suggestedgh skill preview ...command uses the skill name and therefore fails.A concrete public example is https://github.com/android/skills, whose skills live under category directories such as
performance/r8-analyzer/SKILL.md(no top-levelskills/directory).Affected version
gh version 2.92.0 (nixpkgs)
https://github.com/cli/cli/releases/tag/v2.92.0
Steps to reproduce the behavior
Install a skill from a repository without the
skills/convention, by path:This succeeds, and prints a review hint such as:
Run the suggested preview command (name argument):
Also try the exact path that worked for
install:Expected vs actual behavior
Expected
gh skill previewaccepts the same exact-path skill argument asgh skill install, and the review hint suggested byinstallresolves successfully.Actual
both preview invocations fail:
Logs