はじめに
gh-asssetというOSSを公開しました。
このような形で使います。
gh-asset download asset_id> destination>
gh-asset download 1609a4fd-1243-463c-9504-b390d55c6d02 ~/Downloads
=> Downloading https://github.com/user-attachments/assets/1609a4fd-1243-463c-9504-b390d55c6d02 to ~/Downloads/1609a4fd-1243-463c-9504-b390d55c6d02.png
=> Successfully downloaded to ~/Downloads/1609a4fd-1243-463c-9504-b390d55c6d02.png
ghでログインしていれば プライベートリポジトリのIssueやPR内の画像でもアクセス可能 です。
作成した背景
既存のGitHub CliにはIssueやPRのテキスト情報は取れても画像情報を取る手段がありません。
たとえばこのIssueの画像の情報が取れたとしても、それはあくまで
という文字列データです。
このURLの先に画像があるのですがプライベートリポジトリであれば認証が必要なのでClaude CodeやCursorなどがその画像を読み込む術は直接的にはありません。
私はIssueに仕様を書きこんで、それをghコマンド経由でClaude Codeに読ませて実装させるという手段をよくとります。
しかしIssue内で現状のプロダクトやFigmaの画面のスクリーンショットをClaude Codeが読んでくれないことに悩んでいました。
このライブラリをローカルに落としてCLAUDE.mdに指示を2,3行指示を書いておけば、 Issueを渡してその中に画像があった時に勝手にローカルに画像を保存してその画像を読んでくれる のでとってもおすすめです。
Claude Codeで使ってみる
CLAUDE.mdにgh-assetを使えと書いてみます(.claude/local/assetsはgit ignoreしてます)
- githubのissueやPR、projectのREADMEに画像リンクがある場合は gh-asset を使って画像をダウンロードして、その画像内の内容を含めて実装計画を作ること
- `gh-asset download .claude/local/assets`
- 参考: https://github.com/YuitoSato/gh-asset
実際にIssueを貼ってみて使ってみましょう。
実際に取得しているIssueは下記の通りで “Hello World!” と書かれている画像が添付されています。上手に読めてそうです。
今回は自分は1行もコードを書かずにClaude Codeに実装してもらいました。OSSも簡単に作れてしまうすごい時代になりましたね。
ちなみにRustで実装しているのですが、このあたりのエコシステムはGoが多いらしいのでGoで書き直すかもしれません。
あとまだ実績の少ないコードなので踏み台とかの大事な環境では使わず、ローカルでの使用にとどめておいてください。何か問題あったらIssueあげてくれれば対応します!(Claude Codeがね)。
よかったらぜひスターを!では!
Views: 0