Skip to content

gh skill preview rejects exact skill paths accepted by gh skill install #13495

Description

@ntsk

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

  1. 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>
    
  2. 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
    
  3. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementa request to improve CLIgh-skillrelating to the gh skill command

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions