WSL環境で gh skill を試して、自作Skillを公開・インストールしやすくした
少し前にgh skillが公開された。AI agentなんかが使うスキルをGithubから検索したり、インストールができる他、自作のスキルを公開出来るようなコマンドです。
GitHub CLI Take GitHub to the command line GitHub CLI
ghコマンド自体はPRを作ったり、PRに付いたコメントからコードの改善をするような用途に活用していたが、パッケージマネージャー側の兼ね合いでskillサブコマンドが使えるバージョンまであげることができなかったので、そこの解消とコマンドを更新するところから実施した。
環境
- Windows + WSL2
- Ubuntu v22.04.5
- Github CLI v2.4.0 → v2.92.0
WSL上のGithub CLIを更新する
ちなみに元々使っていたバージョンは、 2.4.0+dfsg1で、aptで導入するとこのバージョンが入る。
何度試したところでUbuntu版で公開しているバージョンが入りこれではskillサブコマンドは使えないので、インストール元を公式リポジトリ側に変更しインストールをかける。
ドキュメントに載っているが未来の自分用に一応書いておく。 cli/docs/install_linux.md at trunk · cli/cli GitHub’s official command line tool. Contribute to cli/cli development by creating an account on GitHub. GitHub
(type -p wget >/dev/null || (sudo apt update && sudo apt install wget -y)) \
&& sudo mkdir -p -m 755 /etc/apt/keyrings \
&& out=$(mktemp) && wget -nv -O$out https://cli.github.com/packages/githubcli-archive-keyring.gpg \
&& cat $out | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \
&& sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
&& sudo mkdir -p -m 755 /etc/apt/sources.list.d \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg]
https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update && \
sudo apt install gh -y
これで2.92.0が入った。
自作 Skill を publish する
公開したりスキル自体の管理用にリポジトリを作っておいた。今回のスキルもここで公開してあるので試したい人は自由に試してください。
gh skill publish を試す
スキル自体は既にあったのでこれを公開することにした。
上記リポジトリをの skills ディレクトリにスキルを配置した状態で、 gh skill publish --dry-run を実施すると、publishする上で必要なことがあればwarningを出してくれる。
やってみるとfrontmatter内にlicense表記が無かったのを指摘されて記載した。
license部分は無くても公開できるし、search/installそれぞれ可能でした。
公開したものが以下。
公開済み Skill を install する
以下の形式で実行するとそこで公開されているスキルの一覧を取得し、CLI上でどれをインストールするかを選ぶことができました。
gh skill install <repository>
# ex.) gh skill install dsk52/skills
一覧が表示されるので、インストールしたいスキルを選択する。
> [ ] Search
[ ] create-plan - 今いるリポジトリのアプリケーションの改修を行うための実装計画(PLAN.md)を...
[ ] gh-pr-create-update - gh CLI を使って Github のPRを作成/更新する。ユーザーがPR作成/更新やドラ...
[ ] (all skills)
インストール先のAIツールを選択する。
[ ] GitHub Copilot
[ ] Claude Code
[ ] Cursor
> [x] Codex
[ ] Gemini CLI
[ ] Antigravity
(以下略)
従来はこのままインストールが始まる。既に対象のスキルをインストールしていれば、上書きしていいかの確認が入る。
名前で判断しているんじゃないかと想像していて、もし同名のスキルをインストールすると上書きしてしまう懸念があるなと思っている。知人は自分のHNをスキル名のプレフィックスで入れているのでそのうちその方向に変えようと思っている。
やってみた感想
ghコマンドの件からapt update回りでも実は若干引っかかっていたのだけど、その辺りも無事解消できてよかった。また、skillが使えるようになったのでこれから気軽に公開やインストール、previewを使って活用していきたい。
少し逸れるけれど先日agentsリポジトリを知人に共有したときに会話がしやすかったのだけど、skillsリポジトリも用意できたので今後共有が猶更やり易くなるし試してもらいやすくなるだろうなと思って楽しみにしている。