Skip to content

gh skill install can't find skills when there's no skills/ directory but the SKILL.md files are nested #13876

Description

@ntsk

Describe the bug

gh skill install fails with no skills found for a repo that has no skills/ directory and keeps its SKILL.md files in nested subdirectories like <category>/<skill>/SKILL.md.

android/skills is a public example.
Its skills live under category folders such as performance/r8-analyzer/SKILL.md, and there's no skills/ directory anywhere.

I first filed this on the skills repo (android/skills#48) and hoped #13459 would fix it, but it doesn't, so I'm opening it here.
#13459 fixed discovery when the skills/ directory itself is nested (e.g. terraform/code-generation/skills/foo/SKILL.md). But that's a nested skills/ directory. It doesn't help when there's no skills/ directory and the nested thing is the SKILL.md file itself, so a repo like android/skills still can't be installed by name.

The only thing that works is passing the full path, which skips discovery:

gh skill install android/skills performance/r8-analyzer/SKILL.md

I think this layout should be supported. The Agent Skills spec that gh skill install --help links to only defines a single skill directory (a folder with a SKILL.md whose name matches the folder name).
It doesn't require a skills/ directory or say anything about repo layout, so the skills/*/SKILL.md requirement is gh's own convention.

Affected version

gh version 2.96.0 (2026-07-02)
https://github.com/cli/cli/releases/tag/v2.96.0

Steps to reproduce the behavior

gh skill install android/skills

Expected vs actual behavior

Expected behavior

The skills under <category>/<skill>/SKILL.md are discovered and can be installed by name, without needing a skills/ directory.

Actual behavior

$ gh skill install android/skills
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

Resolving version ⣾* Request at 2026-07-14 20:36:35.558884 +0900 JST m=+0.066243834
* Request to https://api.github.com/repos/android/skills/releases/latest
* Request at 2026-07-14 20:36:35.561133 +0900 JST m=+0.068493792
* Request to https://api.github.com/repos/android/skills
Resolving version ⢿* Request took 427.430208ms
Resolving version ⡿* Request at 2026-07-14 20:36:36.037785 +0900 JST m=+0.545173001
* Request to https://api.github.com/repos/android/skills/git/ref/tags/v1.0.5
* Request took 527.072042ms
Resolving version ⣷* Request took 367.084041ms
Using ref v1.0.5 (aaf42b97)
Discovering skills ⣾* Request at 2026-07-14 20:36:36.445168 +0900 JST m=+0.952578667
* Request to https://api.github.com/repos/android/skills/git/trees/aaf42b970f9e6ee49e38aabd5cd0d00612e04a5a?recursive=true
Discovering skills ⢿* Request took 371.285834ms
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

Additional context

Related issues:

Metadata

Metadata

Assignees

No one assigned

    Labels

    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