stow
@meganemura/stowv0.1.1
Personal skills for Git checkouts with local host links
インストール
npm install @meganemura/stowstow は、Git チェックアウト用の個人のスキルを、そのチェックアウトの外で管理します。
スキルは自分の GitHub リポジトリに置き、そのリポジトリには対象のリポジトリごとに <owner>/<repo>/ のディレクトリを 1 つ作ります。
stow は、それらのスキルを、コーディングエージェントが探索するプロジェクトのスキルのパスにリンクします。
そのため、対象のリポジトリに自分のオーバーレイが入ることはありません。
対象のリポジトリは GitHub 形式の origin の URL から識別し、リモートがないときや違うときは --repo OWNER/REPO で指定します。
- リポジトリごとのオーバーレイ。
~/.stow/config.jsonのskillsDirで、自分のスキルのチェックアウトを指定します。stow pathは、現在のリポジトリのオーバーレイのパスを表示します。 - 多くのホストに向けたリンク。
stow init --agents codex,claude-code,cursorでホストを選びます。 Claude Code は.claude/skills/<name>を読み、Codex、Cursor、Antigravity、pi、Gemini CLI、GitHub Copilot、OpenCode、Devin Desktop は.agents/skills/<name>を共有します。 - 生成したスキルの取り込み。
stow adopt .agents/skills/my-skillは、スキルをオーバーレイにコピーし、元のディレクトリをシンボリックリンクに置き換えます。stow add /path/to/skillはほかの場所にあるスキルをコピーし、--linkを付けるとコピーせずにリンクします。 - git には何も入らない。
stow は、自分のリンクだけに一致する
info/excludeのパターンを加えるので、git statusとgit addはリンクを対象にしません。 除外は追跡されていないファイルにしか効かないため、stow は Git で追跡されているスキルを拒否します。 - 別のマシンでの復元。
スキルのリポジトリを pull した後、対象のチェックアウトで
stowを実行します。 コマンドを付けずに実行すると、stowはsyncを実行してリンクを更新します。stow remove my-skillは、エントリとそのリンクを削除します。 - エージェントによるセットアップ。
stow agent-instructionsは、セットアップの手引きと現在の設定の状態を表示し、ファイルは変更しません。
エージェントでの使い方
Section titled “エージェントでの使い方”シェルのショートカットを使えるホストで、!stow agent-instructions を実行します。
グローバルにインストールしていない場合は、!npx --yes @meganemura/stow agent-instructions を実行します。
エージェントは表示された手引きに従って、ホストを設定し、保存場所を説明し、役に立つ個人のスキルを提案します。
そのうえで、スキルを新しく作るか、既存のスキルを取り込むか、何もしないかをユーザーに尋ねます。
セットアップの後、エージェントはそのリポジトリの stow path の下にあるスキルを読みます。
stow は、スキルのリポジトリを clone、commit、pull、push しません。
スキルの変更は、いつもの Git の手順でそのリポジトリにコミットします。
stow には Node.js 20 以降が必要です。
npm install --global @meganemura/stowstow init --skills-dir ~/src/private-skills/skills --agents codex,claude-code,cursorstow adopt .agents/skills/my-skillstow list