スキル配置・配布方針
最終更新: 2026-05-15 関連: #28 (A-2), DESIGN.md §9
0. TL;DR
- 開発リポジトリ:
github.com:aieo-product/substackTools.git(GitHub Private) - ローカル開発作業ツリー:
/Volumes/AIWorkSSD/AIWorkSpace/github/aieo-product/substackTools/ - アクティブskill位置:
/Volumes/AIWorkSSD/AIWorkSpace/Skills/substack-skill/から作業ツリーへの symlink - Claude Code 統合:
~/.claude/commands/と~/.claude/skills/へ symlink(install.sh が実施) - claude-skills-marketplace への登録: Phase 1 では行わない(substackTools は private、個人用途のため)。M6 段階で再評価
1. 既存スキル配置の調査結果
1.1 候補ディレクトリ比較
| ディレクトリ | 状態 | 役割 |
|---|---|---|
/Users/takehiro/Documents/WorkSpace/otani/Skills/ | 非アクティブ — SKILL.md は 0 バイト placeholder のみ | 古い置き場、現在は事実上使われていない |
/Volumes/AIWorkSSD/AIWorkSpace/Skills/ | アクティブ — 各 skill が独自 .git を持つ | 実運用中の skills 置き場 |
/Volumes/AIWorkSSD/AIWorkSpace/Skills/claude-skills-marketplace/plugins/ | 配布 — .claude-plugin/plugin.json 付きパッケージ | 内部マーケットプレイス(gitlab.ethan-tech.jp)経由配布用 |
1.2 既存スキルのパターン
- dev-workflow, create-blog, agent-browser など多くは:
- 開発repo(gitlab / GitHub)↔
/Volumes/AIWorkSSD/AIWorkSpace/Skills/<name>/にgit clone - 公開する場合:
claude-skills-marketplace/plugins/<name>/にビルド済みパッケージ(.claude-plugin/plugin.json、node_modules 除外、git履歴 除外)
- 開発repo(gitlab / GitHub)↔
1.3 substack-skill 固有の事情
- substackTools は GitHub Private(社外公開しない)
- 個人運用かつ自分の Substack アカウントに紐付くスキル
- 将来的に
aieo-product組織メンバーには共有する可能性あり - 既存マーケットプレイス(gitlab.ethan-tech.jp / 社内向け)の対象範囲とは異なる
2. 採用する配置
2.1 リポジトリと作業ツリー
| 種別 | パス |
|---|---|
| 上流リポジトリ | git@github.com:aieo-product/substackTools.git |
| ローカルクローン(開発作業) | /Volumes/AIWorkSSD/AIWorkSpace/github/aieo-product/substackTools/ |
GitHubクローン先パスは既存パターン(/Volumes/AIWorkSSD/AIWorkSpace/github/<org>/<repo>/)を踏襲。
2.2 アクティブskill位置
/Volumes/AIWorkSSD/AIWorkSpace/Skills/substack-skill
→ symlink → /Volumes/AIWorkSSD/AIWorkSpace/github/aieo-product/substackTools理由:
- 開発したコードが即時にスキルとして反映される(コピーや再ビルド不要)
- 単一の正本(source-of-truth)。
Skills/substack-skill/配下に別 .git を作ると同期事故が起きる - 既存
dev-workflow等はcloneモデルだが、本スキルは開発と利用が同一マシン・同一ユーザーのため symlink で十分
2.3 Claude Code への統合
scripts/install.sh が以下を実施:
- アクティブskill位置の symlink を作成(既存があれば force update)
- slash commands の登録:
commands/*.mdを~/.claude/commands/へ symlink
- SKILL.md の登録:
~/.claude/skills/substack-skillを作業ツリーへ symlink
- CLAUDE.md の更新:
/Volumes/AIWorkSSD/CLAUDE.mdのスキル一覧テーブルに行を追加(既存なら skip)
2.4 Marketplace への登録(将来)
Phase 1 では行わない。判断保留の根拠:
- substackTools は GitHub Private、claude-skills-marketplace は社内向け
- 個人運用用途で、社内共有の有無は M6 までに判断
- 後から marketplace に登録する場合の手順:
aieo-product/substackToolsの public 化 or 社内 gitlab に mirrorclaude-skills-marketplace/plugins/substack-skill/.claude-plugin/plugin.json作成- CONTRIBUTING.md の手順に従って PR
3. アンインストール
scripts/uninstall.sh:
~/.claude/commands/substack-*.mdsymlinks を削除~/.claude/skills/substack-skillsymlink を削除/Volumes/AIWorkSSD/AIWorkSpace/Skills/substack-skillsymlink を削除/Volumes/AIWorkSSD/CLAUDE.mdの該当行を削除- 作業ツリー本体・Keychain値・
~/.cache/substack-skill/には触らない(ユーザー判断)
4. DESIGN.md §9 への反映
DESIGN.md §9(配置・配布)の記述は本書(PLACEMENT.md)に詳細化された。 DESIGN.md は次回改訂時に「詳細は PLACEMENT.md 参照」の1行に縮約する(軽微改訂)。
5. 残課題
scripts/install.sh/scripts/uninstall.shの実装 → F-5 (#58)~/.claude/skills/の Claude Code 仕様確認(skill loader の挙動)→ F-3 (#56) の冒頭で実施- 複数マシン展開(dotfiles と組み合わせる)→ M6 以降に検討