Skillsを入れればAIは賢くなるわけではない — ClaudeCampで学んだSkill活用術 で書いたとおり、Skills が効くのは「AI が知らないことを教えるとき」です。自分のブログ執筆や textlint の運用は、毎回プロンプトで説明するより手順として残した方がよい領域でした。
これまで、Zenn 向けの執筆ルールやはてなブログの記法、note の読書メモの型などは ~/.cursor/skills/ や ~/.claude/skills/ にバラバラと置いていました。マシンを替えたり、チームメンバーに渡したりするとき、そのままでは共有できません。
そこで、普段使っている汎用 Skills を Git で管理するリポジトリ redamoon/skills を作りました。GitHub CLI の gh skill install から取得できるようにし、v1.0.0 として公開済みです。
何をまとめたか
リポジトリの中身は、ブログ執筆と技術ドキュメント向けの Skills 9 本です。
| スキル | 用途 |
|---|---|
blog-workflow |
textlint・プラットフォーム別確認・読者レビューを一括実行 |
zenn-blog-writing |
Zenn 技術ブログの執筆ガイド |
hatena-blog-markdown |
はてなブログ Markdown 記法 |
hatena-syntax-highlight |
はてなブログのコードハイライト |
note-book-reading-memo |
note 向けビジネス・技術書の読書メモ |
note-novel-reading-memo |
note 向け小説の読書メモ |
textlint-blog |
ブログ Markdown の textlint 実行 |
textlint-setup |
textlint のインストール・設定 |
documentation-writing |
README・手順書・ADR などの技術ドキュメント執筆 |
Skillsを入れればAIは賢くなるわけではない — ClaudeCampで学んだSkill活用術 で触れた「グローバルに置くのは、プロジェクトを跨いで使える汎用 Skills だけ」という方針に沿った選び方です。Next.js 固有の知識のようなプロジェクト依存のものは入れていません。
各 Skill は Agent Skills 仕様 に従い、skills/<skill-name>/SKILL.md の形で置いています。OpenAI や Cursor が公式カタログを出している流れ(Cursor・Codex・Claude Code — 主要AIコーディングツールが「プラグイン/スキル」で拡張する時代へ)と同じく、再利用可能なパッケージとして整理した、という位置づけです。
gh skill install で入れる
GitHub CLI 2.x 以降には、Skills をリポジトリからインストールする gh skill コマンドがあります(プレビュー機能)。redamoon/skills もこの経路で配布しています。
基本
# Cursor に zenn-blog-writing をユーザー全体で入れる
gh skill install redamoon/skills zenn-blog-writing --agent cursor --scope user
# バージョンを固定(推奨)
gh skill install redamoon/skills blog-workflow --agent cursor --scope user --pin v1.0.0
--agent には cursor、claude-code、codex、github-copilot などが指定できます。--scope user は ~/.cursor/skills/ のようなホーム配下、project は現在の Git リポジトリ内に置きます。
インストール先を自分で決めたい場合は --dir も使えます。
gh skill install redamoon/skills documentation-writing \
--dir ~/.cursor/skills/documentation-writing \
--pin v1.0.0
対話式プロンプトを避ける
gh skill install だけ実行すると、リポジトリ・スキル・エージェントを順に聞かれます。エージェント一覧が長く、ターミナルから見切れることがあります。
必要なフラグをすべて渡せば、プロンプトなしで完了します。
gh skill install redamoon/skills blog-workflow \
--agent cursor \
--scope user \
--pin v1.0.0
ローカルクローンから
リポジトリを clone して編集・検証している場合は、--from-local でそのまま入れられます。
gh skill install . blog-workflow --from-local --agent cursor --scope user
手動でシンボリックリンクを張る方法も README に書いてあります。gh skill を使わない環境向けです。
ln -s "$(pwd)/skills/zenn-blog-writing" ~/.cursor/skills/zenn-blog-writing
ln -s "$(pwd)/skills/zenn-blog-writing" ~/.claude/skills/zenn-blog-writing
アクセス制御は GitHub のリポジトリ権限そのもの
gh skill install は GitHub API 経由でファイルを取得します。Skill 固有の別枠の認可はなく、リポジトリへのアクセス権がそのまま Skill へのアクセス権になります。
private repo の場合
├── collaborator / org member → gh auth login 済みなら gh skill install できる
└── アクセス権のない人 → 404 扱いでインストールできない
public repo の場合
└── 誰でも gh skill install できる(gh auth 不要)
実用上は、次のようにリポジトリの公開範囲で配布先を決められます。
| ユースケース | 設定 |
|---|---|
| 自分だけ使う | private repo、自分のみ |
| チームで共有 | private repo、org / collaborators に権限付与 |
| 全員に公開 | public repo |
| 特定チームだけ | private repo + GitHub Teams で管理 |
redamoon/skills は現状 public ですが、private にしておけば collaborator にだけ Skills を配布する運用もそのまま成立します。社内の執筆ルールや textlint 設定のような、外に出したくない手順を Skill 化するときに効きます。
もう一点、gh skill install は Skill 名だけでなく exact path でも指定できます。大きなリポジトリから特定 Skill だけ取り出すときは、ツリー全体の走査を避けられます。
gh skill install owner/repo skills/specific-skill
公開側(メンテナ向け)
Skills リポジトリの公開も gh skill publish で行います。--dry-run で検証してからリリースを切ります。
gh skill publish --dry-run # 検証のみ
gh skill publish # リリース作成
gh skill publish --tag v1.0.0 # タグ指定で非対話
gh skill install はタグ付きリリース → デフォルトブランチの HEAD の順でバージョンを解決します。利用側は --pin v1.0.0 で固定しておくと、意図しない更新を避けられます。
リポジトリ内の AGENTS.md に、スキル追加時のルールや discovery 規約を書いてあります。公開・再利用を前提にしているので、プロジェクト固有のパス(06-Blog/ など)は Skill 本文に入れない方針です。
なぜ GitHub で配るのか
Skills をローカルだけに置いていると、次の問題が出やすくなります。
- 環境を替えるたびにコピーが必要:新しい Mac や CI 用のマシンで毎回手作業になる
- バージョンが曖昧:どの時点の SKILL.md か追えない
- 共有のハードルが高い:zip や gist より、URL とタグの方が再現しやすい
GitHub リポジトリ + gh skill install にすると、取得・更新・固定が CLI 一本で揃います。Cursor・Codex・Claude Code — 主要AIコーディングツールが「プラグイン/スキル」で拡張する時代へ で整理した「拡張が公式ルートになった」流れの中でも、自作 Skills を同じ作法で配れます。
自分用のカタログですが、ブログ執筆や textlint 運用に同じ課題を持つ人がいれば、そのまま使うか、fork して自分のルールに差し替える土台にしてもらえたらと思います。
使い方の目安
- 記事を書き始める前:
zenn-blog-writingまたはhatena-blog-markdown/note-*を入れて、プラットフォーム別の型を揃える - 執筆後の仕上げ:
blog-workflowで textlint とフォーマット確認を一括実行 - 新しいリポジトリで textlint を整えたい:
textlint-setup→textlint-blogの順 - README や ADR を書く:
documentation-writing
Skills は万能薬ではありません。Skillsを入れればAIは賢くなるわけではない — ClaudeCampで学んだSkill活用術 のとおり、載せるのは「毎回説明していること」「自分のドメイン知識」に絞るのがよいです。カタログに並んでいるから効くわけではなく、自分の文脈に合うものを選び、足りない部分は自作する使い方になります。
まとめ
- redamoon/skills:ブログ執筆・技術ドキュメント向けの汎用 Skills 9 本を Git 管理
gh skill install:Cursor / Claude Code / Codex などへ--agentと--scopeを指定してインストール- アクセス制御:GitHub のリポジトリ権限がそのまま適用される(private + collaborator でチーム限定配布も可)
--pin v1.0.0:本番・日常利用ではタグ固定を推奨- 公開は
gh skill publish:メンテナは dry-run で検証してからリリース
「毎回プロンプトでやっていることを手順化する」第一歩として、自分の Skills をリポジトリにまとめ、gh skill で配布できるようにしました。同じ悩みを持っている人の参考になればうれしいです。