Skip to content

About

List skills available from source repositories but not installed locally

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

7 Commits

Folders and files

Repository files navigation

gh-skill-diff

gh-skill-diff is a GitHub CLI extension that lists source repositories and skills available from them but not installed locally from that source repository.

The installed-skill comparison uses a source repository and skill name pair. GitHub.com source URLs and repository arguments are normalized to lowercase owner/repository names. A same-named skill installed from another source is missing, while version, contents, and install-path differences for the same source and skill name are not compared. Each missing skill record includes the source repository that advertises it.

gh skill install can add a skill display label such as [plugins] followed by a space to its available-skill listing. gh-skill-diff removes the known [plugins], [root], and [hidden-dir] labels and their following spaces before it compares or writes skill names. Ignore-file entries must use the resulting exact skill name.

Requirements

  • GitHub CLI 2.94.0 or later

Installation

gh extension install chalkygames123/gh-skill-diff

To upgrade the extension:

gh extension upgrade skill-diff

Usage

gh skill-diff [options] [owner/repository]

Options:
  --dir PATH          Local skills directory (default: ~/.agents/skills)
  --ignore-file PATH  Ignore file (default: $XDG_CONFIG_HOME/gh-skill-diff/ignore)
  -h, --help          Show this help

Flags must precede the optional repository argument.

Compare installed skills with one repository:

gh skill-diff owner/repository

Repository arguments must use the owner/repository form. Names are normalized to lowercase; URLs, .git suffixes, and additional path components are not supported.

When the repository is omitted, the extension reads the source repositories recorded by installed skills and queries each unique GitHub.com repository:

gh skill-diff

Use a different skills directory or ignore file:

gh skill-diff --dir /path/to/skills --ignore-file /path/to/ignore owner/repository

Paths

The default skills directory is the absolute path <user-home>/.agents/skills resolved through the operating system.

The default ignore file is $XDG_CONFIG_HOME/gh-skill-diff/ignore. When XDG_CONFIG_HOME is unset, it is $HOME/.config/gh-skill-diff/ignore.

Explicit --dir and --ignore-file values are used as provided. The extension does not expand ~; a shell may expand an unquoted ~ before invocation.

A missing default ignore file is treated as empty. A missing explicitly selected ignore file is an error.

Ignore File

Each non-comment, non-blank line contains a source repository and exact skill name separated by one tab: owner/repository<TAB>skill-name. The source repository must use the owner/repository form and is normalized to lowercase. Surrounding whitespace on the line and fields is ignored. Glob and regular expression patterns are not supported.

An entry ignores that skill only from its specified source repository; it does not suppress the same skill from another source. Duplicate entries and entries for repositories not selected in the current run are allowed. Legacy name-only entries and other malformed lines are errors that identify the line number.

# Available but intentionally not installed
owner/repository<TAB>experimental-skill

Output and Exit Codes

Missing skill records are written to standard output in source repository then skill name order, one headerless TSV record per line. A record uses the exact skill name and never includes a skill display label:

owner/repository<TAB>missing-skill

When a missing skill is available from multiple source repositories, each source repository produces a record. An empty difference produces no output. Results are emitted only after every source repository succeeds, so failures never produce partial output.

  • 0: comparison succeeded, including an empty difference
  • 1: internal, filesystem, JSON, or upstream output format error
  • 2: usage error, including no explicit or discoverable repository
  • Any other nonzero code: preserved from a failed child gh command

Diagnostics are written to standard error.

Platform Support

Automatic source discovery supports GitHub.com repository URLs.

Releases include all default platforms produced by gh-extension-precompile. Behavioral CI runs on Ubuntu and macOS.

License

MIT

About

List skills available from source repositories but not installed locally

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages