
オフラインかつセキュリティ優先の、エージェントスキルの同期と管理のためのツール
AIエージェントスキルをインストールする前に、プロンプトインジェクションをスキャンします
```
╔════════════════════════════════════════════════════════╗
║ ███████╗██╗ ██╗██╗ ██╗██╗ ████████╗ ██████╗ ║
║ ██╔════╝██║ ██╔╝██║ ██║██║ ╚══██╔══╝██╔═══██╗ ║
║ ███████╗█████╔╝ ██║ ██║██║ ██║ ██║ ██║ ║
║ ╚════██║██╔═██╗ ██║ ██║██║ ██║ ██║ ██║ ║
║ ███████║██║ ██╗╚██████╔╝███████╗██║ ╚██████╔╝ ║
║ ╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ║
╠════════════════════════════════════════════════════════╣
║ CROSS-PLATFORM AI SKILLS MANAGEMENT ║
╚════════════════════════════════════════════════════════╝

## Skulto とは?
Skulto は、33 のプラットフォームにわたって AI コーディングアシスタントのスキルを管理するためのクロスプラットフォーム CLI ツールです。以下の機能を提供します。
1. **マルチプラットフォームインストール** - Claude Code、Cursor、Windsurf、Copilot、Codex、Cline、Roo Code、Gemini CLI、Kiro CLI など 25 以上のプラットフォームにスキルをインストール
2. **リポジトリ管理** - スキルリポジトリの追加、同期、削除
3. **全文検索** - インデックス化されたすべてのスキルを対象とした SQLite FTS5 ベースの検索
4. **セキュリティスキャン** - プロンプトインジェクションや危険なコードパターンを検出
5. **プラットフォーム検出** - システムにインストールされている AI ツールを自動検出
6. **インタラクティブ TUI** - Bubble Tea ベースのターミナルインターフェース。折りたたみ可能なグループ、複数選択、キーボードナビゲーションに対応
7. **URL ベースのインストール** - `skulto install owner/repo` で GitHub リポジトリから直接インストール
## 機能

- **33 プラットフォーム対応** - Claude Code、Cursor、Windsurf、GitHub Copilot、OpenAI Codex、OpenCode、Cline、Roo Code、Gemini CLI、Kiro CLI、Amp、Continue、Goose、Junie、Qwen Code、Trae など
- **プラットフォーム検出** - インストール済みの AI ツールを検出し、プラットフォーム選択画面に表示
- **オフラインファースト** - 初回同期後はインターネットなしで動作
- **高速検索** - BM25 ランキングを備えた FTS5 ベースの全文検索(約 50ms のレイテンシ)
- **Git ベースの同期** - リポジトリのクローンとプルによる信頼性の高い更新
- **セキュリティスキャナー** - frontmatter、参照、スクリプト内のプロンプトインジェクションや危険なパターンを脅威レベル付きで検出
- **スマートな複数スキルインストール** - リポジトリ URL から複数のスキルを、スキルごとの競合解決(インストール済みをスキップ、新しい場所を追加、すべてスキップ)付きでインストール
- **スコープ選択** - スキルをグローバル(`~/`)またはプロジェクト単位(`./`)でインストールし、プラットフォームごとに個別に制御
- **折りたたみ可能なプラットフォームグループ** - 検出済み/優先プラットフォームを上部に、その他すべてを折りたたみグループとしてすべての選択画面に表示
- **インストール場所の記憶** - 今後のインストールのためにプラットフォーム/スコープの選択を任意で記憶
- **お気に入り** - データベースのリセット後も保持されるお気に入りスキルの保存
- **最近表示した項目** - 最近表示したスキルの追跡と表示
- **MCP サーバー** - AI ツール統合のための Model Context Protocol サーバー(スキルの検索、インストール、プログラムによる管理)
- **テレメトリ** - 匿名の使用統計(設定の環境変数でオプトアウト可能)
### 対応プラットフォーム
Skulto は 33 の AI コーディングツールのスキルを検出し、インストールします。
| | | | |
|---|---|---|---|
| Claude Code | Cursor | Windsurf | GitHub Copilot |
| OpenAI Codex | OpenCode | Cline | Roo Code |
| Gemini CLI | Kiro CLI | Amp | Continue |
| Goose | Junie | Kilo Code | Trae |
| Qwen Code | Kimi Code CLI | CodeBuddy | Command Code |
| Crush | Droid | Kode | MCPJam |
| Mux | OpenHands | Pi | Qoder |
| Zencoder | Neovate | Pochi | Antigravity |
| Moltbot | | | |
## インストール
### Homebrew```bash
brew install asteroid-belt/tap/skulto
アップグレードするには:```bash brew upgrade asteroid-belt/tap/skulto
### Linux パッケージ
GitHub Releases では、`amd64` と `arm64` の両方に対応した `.deb` および `.rpm` のダウンロードが提供されています。お使いのディストリビューションに合ったパッケージ形式を選択し、以下のバージョンをリリースタグに置き換えてください:```bash
VERSION=vX.Y.Z
ARCH=amd64 # or arm64
# Debian/Ubuntu
curl -LO "https://github.com/asteroid-belt/skulto/releases/download/${VERSION}/skulto_${VERSION#v}_linux_${ARCH}.deb"
# Fedora/RHEL/openSUSE
curl -LO "https://github.com/asteroid-belt/skulto/releases/download/${VERSION}/skulto-${VERSION#v}-1.$([ "$ARCH" = amd64 ] && echo x86_64 || echo aarch64).rpm"
# Download the release checksums, then verify the downloaded asset.
curl -LO "https://github.com/asteroid-belt/skulto/releases/download/${VERSION}/checksums.txt"
sha256sum -c checksums.txt --ignore-missing
お使いのディストリビューションのパッケージマネージャーでローカルファイルをインストールします:```bash sudo apt install ./skulto_.deb sudo dnf install ./skulto-.rpm sudo zypper install ./skulto-*.rpm
各パッケージは `skulto` と `skulto-mcp` を `/usr/bin/skulto` および
`/usr/bin/skulto-mcp` にインストールします。Skulto は実行時にシステムの Git を必要としません。これらは
設定済みのパッケージリポジトリではなく、GitHub Release からのダウンロードです。
### ソースから```bash
# Clone the repository
git clone https://github.com/asteroid-belt/skulto.git
cd skulto
# Install dependencies
make deps
# Build (outputs to ./build/)
make build-all
# Run
./build/skulto
GITHUB_TOKENskulto
skulto install asteroid-belt/skills
初回起動時、Skultoはオンボーディングを案内します:
1. **プラットフォーム選択** - 検出されたAIツールが上部に表示されます。スキルを同期するツールを選択します
2. **スキル選択** - Asteroid Beltから厳選されたスタータースキル(superplan、superbuild、teach、agentsmd-generatorなど)
3. **場所の選択** - プラットフォームごとにグローバルまたはプロジェクトスコープを選択します。以前の選択内容が事前入力されます
## チーム向けスキル管理
SkultoはAIエージェントスキル用のパッケージマネージャーのように機能します。`skulto.json`を使用してプロジェクトに必要なスキルを定義し、`skulto sync`でインストールします。これにより、すべての開発者とCI環境で同じスキル設定が維持されます。
### ワークフロー```bash
# 1. Install skills into your project
skulto install superplan
skulto install teach
# 2. Save project skills to a manifest
skulto save
# 3. Commit skulto.json to your repo
git add skulto.json
git commit -m "add skulto skill manifest"
# 4. Teammates (or CI) sync from the manifest
skulto sync
skulto.jsonマニフェストは、プロジェクトが依存するスキルとその取得元を追跡します:```json { "version": 1, "skills": { "superplan": "asteroid-belt/skills", "teach": "asteroid-belt/skills", "resume-ats-optimizer": "paramchoudhary/resumeskills" } }
各エントリは、スキルスラッグをそのソースリポジトリ(`owner/repo`)にマッピングします。チームメイトが`skulto sync`を実行すると、Skultoは不足しているリポジトリをクローンし、スキルを解決して、選択されたプラットフォームにインストールします。
### `skulto save`
現在のプロジェクトスコープのインストール内容を`skulto.json`に保存します:```bash
$ skulto save
SAVED to skulto.json
teach asteroid-belt/skills
superplan asteroid-belt/skills
2 skill(s) saved
プロジェクトスコープのインストールのみが保存されます — グローバルインストールは個人用であり、マニフェストを介して共有されません。
skulto syncskulto.json を読み取り、不足しているスキルをインストールします:```bash
$ skulto sync
SYNCING from skulto.json (2 skills) ──────────────────────────────────────────────── Done! Installed: 2, Skipped: 0
同期時、Skultoは以下を行います:
1. ローカルデータベースにまだ存在しないソースリポジトリを追加する
2. 各スキルをスラッグで解決する
3. プラットフォームとスコープの選択を求める(または`-y`で検出されたデフォルトを使用する)
4. 選択した場所にすでにインストールされているスキルをスキップする
### `skulto check`
インストールされているすべてのスキルとそのインストール場所を表示します:```bash
$ skulto check
SKILL INSTALLED LOCATIONS
─────────────────────────────────────────────────────────────
superplan claude (global), codex (global + project)
teach claude (global + project)
2 skill(s) installed
skulto save と skulto check はどちらも、ディスク上に存在する(プロジェクトのプラットフォームディレクトリ内のシンボリックリンクとして)がデータベースには存在しないスキルを自動的に検出します。これは、マイグレーション後、データベースのリセット後、またはチームメイトがSkultoの外部でスキルをインストールした場合に発生します。```bash
$ skulto check
RECONCILED 2 project skill(s) brainstorming claude modern-python codex
SKILL INSTALLED LOCATIONS ───────────────────────────────────────────────────────────── brainstorming claude (project) modern-python codex (project)
2 skill(s) installed
プロジェクト内のプレーンなディレクトリ(リポジトリに直接コミットされたスキル)はそのまま残されます — Skultoによる管理は必要ありません。
## 使用方法
### TUIモード(デフォルト)```bash
skulto

キーバインド:
| キー | アクション |
|---|---|
/ | 検索を開く |
j / k | 下 / 上に移動 |
h / l | 左 / 右に移動(列間) |
↑ / ↓ | 結果を移動 |
Enter | 選択 / 確定 |
Space | 選択を切り替え(選択ダイアログ内) |
f | お気に入り / ブックマークを切り替え |
i | スキルのインストール先をインストール / 管理 |
c | スキル内容をクリップボードにコピー |
p | リポジトリをプル / 同期 |
Esc | 戻る / キャンセル |
q | 終了 |
ホームビューには3つの列が表示されます:
スキルを選択すると、以下が表示されます:
c を押してスキル全体の内容をコピースキルをインストールする際、インストール先を選択します:
~/.claude/skills/(ユーザー全体)または ./.claude/skills/(プロジェクトローカル)にインストールa すべて、n なし、g グローバルのみ、p プロジェクトのみインストール済みスキルで i を押すと、その場所を管理できます:

Skultoはスクリプト化と自動化のためのCLIサブコマンドを提供します:
| コマンド | 目的 |
|---|---|
skulto | 対話型TUIを起動 |
skulto install <slug or repo> | スラッグまたはリポジトリURLからスキルをインストール |
skulto uninstall <slug> | 選択したプラットフォームからスキルをアンインストール |
skulto save | プロジェクトスコープのインストールを skulto.json に保存 |
skulto sync | skulto.json マニフェストからすべてのスキルをインストール |
skulto check | インストール済みのすべてのスキルとその場所を一覧表示 |
skulto add <repo> | スキルリポジトリを追加し、そのスキルを同期 |
skulto list | 設定済みのすべてのソースリポジトリを一覧表示 |
skulto pull | すべてのリポジトリをプル / 同期し、インストール済みスキルを調整 |
skulto remove [repo] | リポジトリを削除(リポジトリ未指定の場合は対話的に選択) |
skulto scan | スキルをセキュリティ脅威についてスキャン |
skulto update | 変更レポート付きでプル + スキャンを実行 |
skulto info <slug> | スキルに関する詳細情報を表示 |
skulto favorites add <slug> | スキルをお気に入りに追加 |
skulto favorites remove <slug> | スキルをお気に入りから削除 |
skulto favorites list | お気に入りのすべてのスキルを一覧表示 |
skulto feedback | フィードバック / バグ報告ページを開く |
skulto installスラッグまたはGitHubリポジトリから直接スキルをインストール:
```bash
skulto install superplan
skulto install asteroid-belt/skills
skulto install https://github.com/asteroid-belt/skills
skulto install asteroid-belt/skills -y
リポジトリURLからインストールする場合:
1. Skultoがリポジトリを同期し、利用可能なすべてのスキルを表示します
2. 対話式チェックリストでインストールするスキルを選択します
3. 折りたたみ式プラットフォーム選択ツールで対象プラットフォームを選択します(検出されたプラットフォームが上部に表示されます)
4. **スマートスキップ**:すでにインストール済みのスキルに対して、`y`(場所を追加)、`N`(スキップ、デフォルト)、または`s`(残りすべてをスキップ)でプロンプトが表示されます
5. 最終サマリーに、インストール済み、スキップ済み、失敗した件数が表示されます
#### `skulto add <repo>`
Skultoにスキルリポジトリを追加します:
```bash
# Short format
skulto add asteroid-belt/skills
# Full URL
skulto add https://github.com/asteroid-belt/skills
# Skip initial sync
skulto add asteroid-belt/skills --no-sync
skulto pull登録済みのすべてのリポジトリを同期します:
```bash
skulto pull
このコマンドは、すべてのリポジトリをクローン/更新し、インストール済みスキルの状態をファイルシステムと整合させます。
#### `skulto remove`
リポジトリとそのすべてのスキルを削除します:```bash
# Interactive selection
skulto remove
# Specify repository
skulto remove asteroid-belt/skills
# Skip confirmation
skulto remove asteroid-belt/skills --force
skulto scanスキルをセキュリティ上の脅威についてスキャンします:
```bash
skulto scan --all
skulto scan --skill teach
skulto scan --source asteroid-belt/skills
skulto scan --pending
脅威レベルを報告: CRITICAL、HIGH、MEDIUM、LOW
#### `skulto update`
プルとスキャンを組み合わせてレポートを出力:
```bash
# Update and scan new/updated skills
skulto update
# Update and scan ALL skills
skulto update --scan-all
skulto favoritesお気に入りのスキルを管理します。お気に入りはデータベースのリセット後も保持され、~/.agents/skulto/favorites.json に個別に保存されます。```bash
skulto favorites add docker-expert
skulto favorites remove docker-expert
skulto favorites list
TUIの任意のスキル詳細ビューで`f`キーを押すと、お気に入りの切り替えもできます。
### MCPサーバー(`skulto-mcp`)
Skultoには、スキルをClaude Codeやその他のMCP互換クライアントに公開するMCP(Model Context Protocol)サーバーが含まれています。これにより、AIアシスタントがスキルやリポジトリをプログラム的に検索、閲覧、インストール、管理できるようになります。


Claude Codeの設定(`.claude.json`)に追加します:```json
{
"mcpServers": {
"skulto": {
"command": "/opt/homebrew/bin/skulto-mcp",
"type": "stdio"
}
}
}
| ツール | 説明 |
|---|---|
skulto_search | BM25ランキングによる全文検索でスキルを検索 |
skulto_get_skill | 完全なコンテンツとタグを含むスキルの詳細情報を取得 |
skulto_list_skills | ページネーション付きで全スキルを一覧表示 |
skulto_browse_tags | カテゴリ別(言語、フレームワーク、ツール、コンセプト、ドメイン)で利用可能なタグを一覧表示 |
skulto_get_stats | データベース統計(スキル総数、タグ、ソース)を取得 |
skulto_get_recent | 最近閲覧したスキルを取得 |
skulto_install | サポートされている任意のプラットフォーム(33プラットフォーム、グローバルまたはプロジェクトスコープ)にスキルをインストール |
skulto_uninstall | 指定したプラットフォームからスキルをアンインストール |
skulto_favorite | スキルをお気に入りに追加または削除 |
skulto_get_favorites | お気に入りのスキルを取得 |
skulto_check | インストール済みの全スキルとそのインストール場所を一覧表示 |
skulto_add | スキルリポジトリを追加し、そのスキルを同期 |
MCPサーバーは、スキルへの直接アクセスのためのリソースも公開しています:
| リソースURI | 説明 |
|---|---|
skulto://skill/{slug} | スキルの完全なMarkdownコンテンツ |
skulto://skill/{slug}/metadata | タグ、ソース、統計を含むJSONメタデータ |
Skultoはデータを~/.agents/skulto/に保存し、共有の~/.agents/名前空間の下で他のエージェントツールと共存します:
| パス | 目的 |
|---|---|
~/.agents/skulto/skulto.db | SQLiteデータベース |
~/.agents/skulto/skulto.log | ログファイル |
~/.agents/skulto/repositories/ | クローンされたgitリポジトリ |
~/.agents/skulto/skills/ | ユーザーのローカルスキルディレクトリ |
~/.agents/skulto/favorites.json | お気に入りのスキル(DBリセット後も保持) |
以前のバージョンからアップグレードしますか? 既存の
~/.skulto/ディレクトリがある場合、Skultoは初回起動時に自動的に~/.agents/skulto/へ移行します — データベースレコードとインストール済みスキルのシンボリックリンクを含みます。手動での手順は不要です。
make build # Production build make dev # Development build with race detector
make test # Run all tests with coverage make test-race # Run with race detector
make lint # Run golangci-lint make format # Format code
make clean # Remove build artifacts
## アーキテクチャ```
skulto/
├── cmd/skulto/ # Main CLI entry point
├── cmd/skulto-mcp/ # MCP server binary
├── internal/
│ ├── cli/ # Cobra CLI commands (add, install, pull, etc.)
│ │ └── prompts/ # Interactive CLI prompts (platform selector)
│ ├── config/ # Configuration (env vars only)
│ ├── db/ # GORM + SQLite + FTS5 database layer
│ ├── detect/ # AI tool detection on system
│ ├── embedding/ # Embedding provider abstraction
│ ├── favorites/ # File-based favorites persistence
│ ├── installer/ # Skill installation via symlinks (33 platforms)
│ ├── llm/ # LLM provider abstraction
│ ├── log/ # Structured logging
│ ├── mcp/ # MCP server implementation
│ ├── migration/ # Database migrations
│ ├── models/ # Data structures (Skill, Tag, Source, etc.)
│ ├── scraper/ # GitHub scraping (git clone based)
│ ├── search/ # Search service
│ ├── security/ # Security scanner for skills
│ ├── telemetry/ # PostHog analytics (opt-in)
│ ├── testutil/ # Test utilities
│ ├── tui/ # Bubble Tea TUI
│ │ ├── components/ # Reusable UI components (dialogs, selectors)
│ │ └── views/ # Screen views (home, search, detail, onboarding, manage)
│ └── vector/ # Vector store
├── pkg/version/ # Version info (set via ldflags)
└── scripts/ # Build and release scripts
Skultoは設定ファイルを使用せず、環境変数のみで設定されます:
| 変数 | 目的 |
|---|---|
GITHUB_TOKEN | GitHub APIのレート制限を引き上げる(任意) |
OPENAI_API_KEY | セマンティック検索用の埋め込み(任意) |
SKULTO_TELEMETRY_TRACKING_ENABLED | false に設定するとテレメトリを無効化 |
Skultoはツール改善のため、匿名の利用統計(コマンド頻度、エラー率)を収集します。テレメトリはデフォルトで有効です。
無効にするには:```bash export SKULTO_TELEMETRY_TRACKING_ENABLED=false
個人データやIPアドレスは収集されません。詳細は[events](https://github.com/asteroid-belt/skulto/blob/main/internal/telemetry/events.go)を参照してください。
## ドキュメント
- [概要](https://github.com/asteroid-belt/skulto/blob/main/docs/overview.md) - プロジェクトのアイデンティティと主要機能
- [アーキテクチャ](https://github.com/asteroid-belt/skulto/blob/main/docs/architecture.md) - システム設計、コンポーネント、データフロー
- [はじめに](https://github.com/asteroid-belt/skulto/blob/main/docs/getting-started.md) - 前提条件、インストール、初回実行
- [開発](https://github.com/asteroid-belt/skulto/blob/main/docs/development.md) - コントリビューションのワークフロー、テスト、CI/CD
- [アーキテクチャ決定記録](https://github.com/asteroid-belt/skulto/blob/main/docs/adr/README.md) - 主要な技術的決定とその根拠
- [用語集](https://github.com/asteroid-belt/skulto/blob/main/docs/glossary.md) - ドメイン用語
## コントリビューション
コントリビューションを歓迎します!最初に[CONTRIBUTING.md](https://github.com/asteroid-belt/skulto/blob/main/CONTRIBUTING.md)をお読みください。
## ライセンス
MITライセンス - 詳細は[LICENSE](https://github.com/asteroid-belt/skulto/blob/main/LICENSE)を参照してください。
---
[Asteroid Belt](https://github.com/asteroid-belt)により❤️を込めて作成されました。