メインコンテンツまでスキップ

組織全体の Skill

Tracked repositories を使ってすべてのプロジェクト間で Skill を共有します。

概要


利用シナリオ

シナリオ
会社のコーディング標準すべてのリポジトリで一貫した命名、エラーハンドリング、アーキテクチャを強制する
セキュリティ監査 Skillすべてのプロジェクトに適用される組織全体のセキュリティレビューチェックリスト
デプロイの知識標準的な CI/CD パターン、インフラの規約、リリースプロセス
コードレビューガイドラインすべてのチーム・プロジェクトで一貫したレビュー基準
プロジェクト横断的なパターン共有 API 設計パターン、ロギング標準、テストフレームワーク

なぜ組織全体で共有するのか?

組織の Skill がない場合組織の Skill がある場合
「ねえ、Slack から最新のデプロイ Skill を取って」skillshare update --all
マシン間で Skill をコピー&ペースト1つのコマンドですべてインストール
「あなたはどのバージョンの Skill を持ってる?」全員が同じ Source から Sync する
Skill がドキュメント/リポジトリに散在組織用に1つの厳選されたリポジトリ

チームリードの場合

ステップ 1: Skill リポジトリを作成する

組織の Skill 用の GitHub/GitLab/Bitbucket リポジトリを作成します。

mkdir org-skills && cd org-skills
git init

# Skill の構造を作成する
mkdir -p frontend/ui backend/api devops/deploy

# Skill を追加する
echo "---
name: acme-ui
description: Frontend UI patterns
---
# UI Skill
..." > frontend/ui/SKILL.md

git add .
git commit -m "Initial skills"
git push -u origin main

ステップ 2: .skillignore を追加する(任意)

リポジトリに Skill として発見されるべきでない社内ツールや CI スクリプトがある場合、リポジトリのルートに .skillignore を作成します。

.skillignore
# CI/CD helpers — not installable skills
ci-scripts
_internal-*

.skillignore にブロックされている Skill が必要な個々のチームメンバーは、同じディレクトリに (git にコミットしない).skillignore.local を作成してローカルでオーバーライドできます。

.skillignore.local
!_internal-my-tool

ステップ 3: インストールコマンドを共有する

これをチームに送ります。

skillshare install github.com/your-org/org-skills --track && skillshare sync

一部のみ必要なチームメンバーは --exclude を使えます。

skillshare install github.com/your-org/org-skills --all --exclude devops-deploy

チームメンバーの場合

初期セットアップ

# 組織の Skill リポジトリをインストールする
skillshare install github.com/org/skills --track

# 自分の AI CLI に Sync する
skillshare sync

日常的な利用

# 更新を確認する
skillshare update --all
skillshare sync

ネストされた Skill と自動フラット化

Skill をフォルダで整理してください — skillshare は AI CLI との互換性のために自動的にフラット化します。

SOURCE                              TARGET
(your organization) (what AI CLI sees)
────────────────────────────────────────────────────────────
_org-skills/
├── frontend/
│ ├── react/ ───► _org-skills__frontend__react/
│ └── vue/ ───► _org-skills__frontend__vue/
├── backend/
│ └── api/ ───► _org-skills__backend__api/
└── devops/
└── deploy/ ───► _org-skills__devops__deploy/

• _ prefix = tracked repository
• __ (double underscore) = path separator

利点:

  • リポジトリ内で論理的なフォルダ整理を保てる
  • AI CLI は期待通りのフラットな構造を見る
  • フラット化された名前が由来のパスを保持し、追跡可能にする

詳細は Tracked Repositories を参照してください。


衝突検出

複数の Skill が同じ name フィールドを共有する場合、Sync は include/exclude フィルターの適用後、 それらが実際に同じ Target に配置されるかどうかをチェックします。

フィルターが衝突を分離する — 情報提供のみ:

ℹ Duplicate skill names exist but are isolated by target filters:
'ui' (2 definitions)

衝突が同じ Target に到達する — 対応が必要な警告:

⚠ Target 'claude': skill name 'ui' is defined in multiple places:
- _team-a/frontend/ui
- _team-b/components/ui
Rename one in SKILL.md or adjust include/exclude filters

解決策: 名前空間化された名前を使うか、フィルターでルーティングします。

# オプション 1: SKILL.md で名前空間化する
name: team-a-ui

# オプション 2: フィルターでルーティングする(global config)
targets:
codex:
path: ~/.codex/skills
include: [_team-a__*]
claude:
path: ~/.claude/skills
include: [_team-b__*]
# オプション 2: フィルターでルーティングする(project config)
targets:
- name: claude
exclude: [codex-*]
- name: codex
include: [codex-*]

完全な構文と例については Target フィルター を参照してください。


複数の組織リポジトリ

異なるチームや関心事のために複数のリポジトリをインストールします。

# フロントエンドチーム
skillshare install github.com/org/frontend-skills --track --name frontend

# バックエンドチーム
skillshare install github.com/org/backend-skills --track --name backend

# DevOps チーム
skillshare install github.com/org/devops-skills --track --name devops

skillshare sync

すべて更新する:

skillshare update --all
skillshare sync

プライベートリポジトリ

SSH(開発者マシンに推奨):

skillshare install [email protected]:org/private-skills.git --track

トークン付き HTTPS(CI/CD に推奨):

export GITHUB_TOKEN=ghp_your_token
skillshare install https://github.com/org/private-skills.git --track

公式のトークンドキュメント:

CI/CD セットアップ

GitHub Actions:

- name: Install org skills
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
skillshare install https://github.com/org/skills.git --track
skillshare sync

GitLab CI:

install-skills:
script:
- skillshare install https://gitlab.com/org/skills.git --track
- skillshare sync
variables:
GITLAB_TOKEN: $CI_JOB_TOKEN

Bitbucket Pipelines:

- step:
name: Install org skills
script:
- skillshare install https://bitbucket.org/team/skills.git --track
- skillshare sync
env:
BITBUCKET_USERNAME: $BITBUCKET_USERNAME # for app passwords
BITBUCKET_TOKEN: $BITBUCKET_TOKEN

対応するすべてのトークンについては 環境変数 を参照してください。


コマンドリファレンス

コマンド説明
install <url> --trackリポジトリを Tracked repository として clone する
update <name>特定の Tracked repo を git pull する
update --allすべての Tracked repos を更新する
uninstall <name>...Tracked repo を削除する
listすべての Skill と Tracked repos を一覧表示する
statusSync のステータスを表示する

組織の Agent

Tracked された組織のリポジトリは、Skill と共にAgentを出荷できます。skills/ の隣にある トップレベルの agents/ ディレクトリに配置してください。

your-org/org-shared/
├── skills/ # Discovered as skills
│ ├── api-design/
│ │ └── SKILL.md
│ └── security/
│ └── SKILL.md
└── agents/ # Discovered as agents
├── reviewer.md
└── auditor.md

チームメンバーが skillshare install github.com/your-org/org-shared --track を実行すると、両方の ディレクトリが自動的に取り込まれます。skillshare update --all は両方を同期させ続け、 skillshare sync(または skillshare sync agents)は Agent 対応の Target(Claude、Cursor、 Augment、OpenCode)に Agent を反映します。

組織のリポジトリ内の .agentignore ファイルはディスク上で尊重されますが、通常は利用側の Source ルート(または .agentignore.local)に置くべきです。そうすれば、個々のマシンが上流のリポジトリを 編集せずにオプトアウトできます。完全な発見ルールについては Agents を 参照してください。


組織の Skill vs プロジェクトの Skill

組織の Skillプロジェクトの Skill
スコープマシン上のすべてのプロジェクト単一のリポジトリ
Source~/.config/skillshare/skills/_repo/.skillshare/skills/
インストールskillshare install <url> --trackskillshare install <url> -p
共有方法各メンバーが Tracked repo をインストールするプロジェクトの git リポジトリにコミットされる
最適な用途コーディング標準、セキュリティ、組織パターンAPI 規約、ドメインコンテキスト、プロジェクトツール
共存プロジェクトの Skill と併存可能組織の Skill と併存可能
両方を使う

組織の Skill は会社全体の標準を提供します。プロジェクトの Skill はリポジトリ固有のコンテキストを 提供します。互いを補完し合うので、最良の開発者体験のために両方を使ってください。


ベストプラクティス

チームリード向け

  1. 明確な構造を使う: 機能別に整理する(frontend、backend、devops)
  2. Skill を名前空間化する: 衝突を避けるため org-skill-name
  3. 要件を文書化する: セットアップ手順のある README
  4. バージョン管理: 安定版リリースにはタグを使う

チームメンバー向け

  1. 定期的に更新する: 毎日 skillshare update --all
  2. 問題を報告する: Skill が動作しない場合はメンテナーに伝える
  3. 改善を提案する: Skill リポジトリに PR を出す

関連項目