Skip to content

Latest commit

 

History

History
254 lines (180 loc) · 10.6 KB

File metadata and controls

254 lines (180 loc) · 10.6 KB

Skill Flow

散在する AI エージェントスキルを整理されたワークフローに。

English · 中文

Node.js Version npm Version License

Skill Flow アイコン

すべての主要なコーディングエージェントでスキルをインストール、管理、共有 —— Claude Code、Cursor、Copilot、Trae など。

skills.sh、GitHub、またはローカルソースからスキルを検索してインポート。複数のエージェントに一度にデプロイ。すべてを整理して最新の状態に保つ。

Skill Flow デスクトップ概要

なぜこれが存在するのか

スキルを一つずつインストールすることは、規模が大きくなると破綻します:

  • リポジトリには複数の関連スキルが含まれているが、個別にインストールする
  • 異なるエージェントは異なる場所を期待する
  • 更新が静かにドリフトする
  • 管理されていないフォルダが蓄積される
  • 実際に何がデプロイされているか誰も追跡していない

skill-flow はワークフローグループを保持します。一つのソースは一つのまとまりのあるユニットのまま——検査し、スキルを選択し、複数のターゲットにデプロイし、クリーンに更新し、常に状態を把握できます。

主な機能

  • グループ化されたソース管理: ローカル、Git、skills.sh ソースはすべて同じインポートモデルを通じて流れます。
  • マルチエージェントデプロイ: 選択した一つのスキルセットを Claude Code、Codex、Cursor、Gemini CLI、OpenCode、OpenClaw、Trae、Windsurf などにデプロイします。
  • インタラクティブな設定フロー: add/config フロー、選択状態、レビュー、修復のための Ink ベース TUI。
  • macOS 15+ デスクトップアプリ: SwiftUI メインウィンドウ、インポートビュー、詳細パネル、設定、メニューバークイック設定。
  • 明示的な状態: manifest.json は意図を保存し、lock.json は解決されたインベントリとデプロイメントを保存します。
  • ブリッジプロトコル: skill-flow bridge --json を介した機械可読デスクトップ/ヘルパーエントリポイント。
  • 修復と診断: doctorrepair-sourcerepair-staterepair-targets が通常最初に腐る部分をカバーします。

インターフェースプレビュー

メニューバー インポート
メニューバークイック設定 インポート画面
詳細 設定
詳細画面 設定画面

クイックスタート

インストール

npm install -g skill-flow
skill-flow --help

またはグローバルインストールなしで実行:

npx skill-flow --help

デスクトップ版の前提依存

Skill Flow Desktop は現在、対象の Mac 上でいくつかの外部コマンドラインツールに依存します。

  • 同梱 desktop helper の起動には node 20 以上が必要です
  • GitHub 以外の Git ソースを扱うには git が必要です
  • skills.sh ソースを扱うには npx が必要です

デスクトップアプリが依存不足を検出した場合は、実行可能なエラーメッセージを表示し、この節へ案内します。

典型的なフロー

# ソースを追加
skill-flow add garrytan/gstack

# インストールされたワークフローグループをレビュー
skill-flow list

# インタラクティブな設定 UI を開く
skill-flow config

# インストールされたスキル、組み込みカタログ、skills.sh を検索
skill-flow find browser

# 一つのソースまたはすべてのソースを更新
skill-flow update garrytan-gstack
skill-flow update --all

# ドリフトまたは壊れたプロジェクションを診断
skill-flow doctor

マシンブリッジ

デスクトップアプリとヘルパーツールは、バージョン管理された JSON プロトコルを通じて CLI と通信します:

printf '%s' '{"protocolVersion":"1.0","command":"list"}' | skill-flow bridge --json

サポートされているソース

skill-flow add <source> は以下をサポートします:

  • ローカルフォルダ
  • owner/repo GitHub 短縮形
  • 完全な HTTPS Git URL
  • SSH Git URL
  • GitHub ツリー URL
  • clawhub:<slug>[@version]

例:

skill-flow add ~/code/my-skills
skill-flow add garrytan/gstack
skill-flow add https://github.com/garrytan/gstack.git
skill-flow add [email protected]:garrytan/gstack.git
skill-flow add https://github.com/garrytan/gstack/tree/main/skills
skill-flow add clawhub:example/skill-pack
skill-flow add clawhub:example/[email protected]

リポジトリが大きいが、デフォルトの選択を一つのサブツリーから開始する場合は、--path <repoSubpath> を使用します。

サポートされているターゲット

現在の組み込みターゲット:

  • Claude Code
  • Codex
  • Cursor
  • GitHub Copilot
  • Gemini CLI
  • OpenCode
  • OpenClaw
  • Pi
  • Trae
  • Windsurf
  • Roo Code
  • Cline
  • Amp
  • Kiro

ターゲットパスは SKILL_FLOW_TARGET_* 環境変数でオーバーライドできます。

コマンドマップ

コマンド 機能
add <source> ソースをインポートし、スキル/ターゲットを選択
list ワークフローグループと現在の健全性を表示
find <query> / search <query> インストールされたスキル、組み込み Git カタログ、skills.sh を検索
config インタラクティブな設定 UI を開く
update [sourceId] --all 一つのソースまたはすべての登録されたソースを更新
doctor ドリフト、欠落パス、プロジェクション問題を診断
repair-source [sourceId] --all ソースチェックアウトメタデータを再構築
repair-state [sourceId] --all ソース側の状態を再構築
repair-targets [sourceId] --all プロジェクトされたターゲットコンテンツを修復
uninstall <sourceIds...> グループとそのデプロイメントを削除
bridge --json マシンプロトコルリクエストを実行

状態の仕組み

skill-flow は一つの状態ルートを保持し、デフォルトは ~/.skillflow/ です。

  • manifest.json: あなたが望むもの
  • lock.json: 実際にインストールされているもの
  • source/local/*: インポートされたローカルまたは採用された管理されていないソース
  • source/git/*: Git ソースキャッシュ
  • source/clawhub/*: skills.sh ソースキャッシュ
  • catalog/git/*: 組み込み Git カタログキャッシュ

ターゲットディレクトリはデプロイメント出力であり、真実のソースではありません。

FAQ

skill-flow はどこにデータを保存しますか?

デフォルトでは、状態は ~/.skillflow/ の下に存在します。manifest.json は望むワークフローを記録し、lock.json は解決されたインベントリとデプロイメントを記録し、source/* ディレクトリはインポートされたソースをキャッシュします。

デプロイメントはターゲットエージェントフォルダ内のファイルを上書きしますか?

skill-flow はターゲットディレクトリをデプロイメント出力として扱います。ワークフローグループの選択されたスキルは状態からそこにプロジェクトされるため、これらのファイルは真実のソースとして編集するのではなく、生成された結果として扱う必要があります。

doctorrepair-* をいつ使用すべきですか?

何かがおかしいと思われ、最初に診断が必要な場合は skill-flow doctor から始めます。ソースチェックアウトメタデータが壊れている場合は repair-source、ソース側の状態を再構築する必要がある場合は repair-state、デプロイされたターゲットコンテンツが現在の状態からドリフトしている場合は repair-targets を使用します。

モノレポレイアウト

.
├── apps
│   ├── cli/                    # 公開された npm パッケージと CLI エントリポイント
│   └── desktop-mac/            # macOS 15+ 用 SwiftUI デスクトップアプリ
├── packages
│   ├── core-engine/            # インベントリ、デプロイメント、doctor、ブートストラップサービス
│   ├── domain/                 # ドメインモデルとコアタイプ
│   ├── integration/            # Git、GitHub、skills.sh、パス、命名統合
│   ├── query/                  # 共有ランタイムとブリッジ向けオーケストレーション
│   ├── shared-types/           # ブリッジプロトコルタイプ
│   ├── storage/                # manifest、lock、preferences、キャッシュ永続化
│   └── tui/                    # Ink add/find/config UI
├── docs/                       # アーキテクチャ、コントリビュータードキュメント、リファレンス、プラン
└── releases/                   # リリースノート

開発

npm install
npm run build
npm test

CLI 開発ループ:

npm run -w skill-flow dev -- --help

デスクトップ開発ループ:

npm run build
cd apps/desktop-mac
swift build
swift test

ローカル CLI ビルドに対してデスクトップシェルをデバッグ:

export SKILL_FLOW_DESKTOP_HELPER_OVERRIDE=/absolute/path/to/apps/cli/dist/cli.js

Star History

Star History Chart

ライセンス

Apache License 2.0。LICENSE を参照してください。