/ui
視覚的な Skill 管理のための Web ダッシュボードを起動します。
$ npx -y skills add runkids/skillshare --agent claude-code
Command definition
ui.mdsidebar_position: 1
ui
視覚的な Skill 管理のための Web ダッシュボードを起動します。
リモート検索(`GET /api/search`)とインストールのプレビュー(`GET /api/preview`)は変更操作と同じ origin チェックを使い、別サイトからのブラウザー要求は取得前に拒否します。ブラウザーの origin/fetch ヘッダーを持たない直接クライアントは引き続き対応します。GitHub API の認証情報は HTTPS の `api.github.com` と `raw.githubusercontent.com`(既定ポートまたは 443)に限定され、別 origin へのリダイレクト時は認証情報を削除します。
skillshare ui # フォアグラウンドで実行
skillshare ui start # バックグラウンドサーバーを起動(既存があれば再利用)
skillshare ui stop # バックグラウンドサーバーを停止
デフォルトブラウザで `http://127.0.0.1:19420` を開きます。
モード
| モード | 動作 | |------|------| | `skillshare ui`(デフォルト) | UI サーバーをフォアグラウンドで実行。`Ctrl+C` で停止 | | `skillshare ui start` | UI サーバーをバックグラウンドプロセスとして起動し、シェルの制御を返す。再度 `start` を実行した場合、既存のプロセスが正常であればそれを再利用 | | `skillshare ui stop` | `skillshare ui start` で起動したバックグラウンド UI サーバーを停止 |
使うタイミング
- Skill、Target、sync を視覚的な Web インターフェースで管理したい
- CLI フラグを覚えずに Skill を閲覧・インストールしたい
- 視覚的な検出結果レポート付きでセキュリティ監査を実行したい
- CLI に不慣れなチームメンバーとダッシュボードビューを共有したい
フラグ
| フラグ | デフォルト | 説明 | |------|---------|-------------| | `-p`, `--project` | | Project mode で実行(`.skillshare/` を使用) | | `-g`, `--global` | | グローバルモードで実行(`~/.config/skillshare/` を使用) | | `--port <port>` | `19420` | HTTP サーバーのポート | | `--host <host>` | `127.0.0.1` | バインドアドレス(Docker の場合は `0.0.0.0` を使用) | | `-b`, `--base-path <path>` | | リバースプロキシ用のサブパス(例: `/skillshare`) | | `--trusted-origin <url>` | | ダッシュボードが応答するもう 1 つのアドレス。リバースプロキシ([reverse proxy](#reverse-proxy))の背後なら `https://tools.example.com` など。複数指定する場合は繰り返します | | `--no-open` | `false` | ブラウザを自動的に開かない | | `--app` | `false` | 可能な場合、ダッシュボードをデスクトップ風の Chromium アプリウィンドウとして開く(`start` モードのみ) | | `--clear-cache` | | フォアグラウンド形式の場合: キャッシュされた UI アセットをクリアして終了。`start` と組み合わせた場合: キャッシュをクリアしてからバックグラウンドで起動 |
:::tip 自動検出 カレントディレクトリに `.skillshare/config.yaml` が存在する場合、ダッシュボードは自動的に Project mode で起動します。グローバルモードを強制するには `-g` を使用してください。 :::
例
# デフォルト: localhost:19420 でブラウザを開く(フォアグラウンド)
skillshare ui
# Project mode(.skillshare/ の Skill を管理)
skillshare ui -p
# カスタムポート
skillshare ui --port 8080
# Docker / リモートアクセス
skillshare ui --host 0.0.0.0 --no-open
# バックグラウンドで起動し、シェルに制御を戻す
skillshare ui start
# デスクトップ風のクロームレスアプリウィンドウとして起動
skillshare ui start --app
# バックグラウンドサーバーを停止(記憶されている host/port を使用)
skillshare ui stop
# キャッシュされた UI アセットをクリアしてからバックグラウンドで新規起動
skillshare ui start --clear-cache
ダッシュボードのページ
サイドバーはページをタスクごとにグループ化します: sync すること、管理しているもの、同期先、メンテナンス。名前の下の行にはモードとそのフォルダ(例: `Global · ~/.config/skillshare`)が表示されます。
一部のページは、対応が必要な場合にサイドバーに件数を表示します。この件数は、ダッシュボードのタブが開いている間、15 秒ごとに更新されます。
- **Sync**: sync によって適用される変更
- **Git Sync**: 未コミットのファイル、またはツリーがクリーンな場合はまだプッシュされていないコミット
- **Audit**: 直近のスキャンでブロックされた Skill と Agent(スキャンを実行した後に表示)
| ページ | 説明 | |------|-------------| | **Dashboard** | Skill、Agent、Extras、MCP サーバー、Hook、Plugin、Target の件数、および対応が必要な項目。コミットされていない変更がある、または git ステータスを読み取れない tracked repo をアンインストールすると、理由を示して再確認し、repo をそのままゴミ箱へ移動します(`uninstall --force` と同じ)。metadata に記録されているがこのマシンに clone されていない tracked repo には **このマシンにチェックアウトはありません** と表示され、アンインストールしてもその記録と監査の承認だけが削除され、ゴミ箱には何も移動しません。確認前にチェックアウトが現れた場合はその旨が表示され、もう一度 **アンインストール** を選択します | | **Sync** | 書き込む前に、Target ごとにすべての変更をプレビュー。含める項目を選択(Skills、Agents、Extras、MCP)。Target 内で編集されたファイルは、**Force** がオンでない限り保持される。Target にのみ存在する項目は、ここから Source に collect し戻せる。各 sync は最初に Target フォルダをバックアップする。Target が失敗しても他の Target は sync される。失敗した Target は、その部分(Skills、Agents、Extras、Config)とエラーとともに他の警告より上に一覧表示され、よくある原因(別の場所を指す symlink、権限不足、読み取り専用のファイルシステム、存在しないファイルやフォルダー、無効な Target 設定)にはわかりやすい説明も付き、別の場所を指す Skills の symlink には **Force をオンにする** が表示され、変更一覧でもその Target に印が付く。すべての Target が失敗した場合も、同じように一覧表示される。**前回の同期** カードには、直近の sync で失敗した Target が表示される。同じ変更を受け取る Target は 1 枚のカードにまとめられ、Skill がフォルダごとに並ぶ。**Discard all** は確認のあと、まだどの Target にも届いていない Skill をゴミ箱に移す。Target の `include` フィルターがどの Skill にも一致しないときは、その Target に Skill が届かないことを知らせる通知が表示され、**Edit filter** でそのフィルターを設定している場所を開ける。Git Sync でも pull のあとに同じ通知が表示される | | **Git Sync** | Source リポジトリのコミットとプッシュ、remote にまだないコミットのプッシュ、プルを実行。ページを開くと remote から fetch するため、**Pull** には remote にあるコミット数が表示される。プルはリポジトリのスコープ(`skills`、`agents`、`extras`、または `root`)が保持するものを sync する。詳細は [`pull`](/docs/reference/commands/pull) を参照。**Sync both ways** はローカルの変更をコミットし、プルしてマージし、target を sync してからプッシュする([`push --pull`](/docs/reference/commands/push#push-and-pull-together) と同じ)。コンフリクトが発生した場合はプッシュ前に停止する。remote に新しいコミットがあるためにプッシュが拒否された場合、エラーに **Pull** が表示される。最初のプルが remote とマージできない場合、remote ブランチでローカルファイルを置き換える force pull を提案する | | **Hubs** | スキル ページから移動。内蔵の hub、保存済みの hub、自分の Hub(**自分の**)を一覧表示し、選ぶとその Skill を絞り込んでインストールできる。**Hub を追加・作成** は既存の hub の追加、新しい Hub の作成、`skillshare-hub.json` の読み込みを行う。自分の Hub は **編集** で変更し、**共有** でインデックスをダウンロードして `hub add` コマンドを作る。保存済みと内蔵の hub は **更新** で、2 分間のキャッシュを待たずに一覧を読み直す。[`hub`](/docs/reference/commands/hub) を参照 | | **Skills** / **Agents** | インストール済みの項目、**Updates** タブ、**Trash** タブ。Skills にはさらに、Target のコンテキストに Skill が追加するトークン数を見積もる **Analyze** タブがある。**Install** は GitHub を検索するか、URL やパスからインストールする。メニューには作成ウィザードを開く **New skill** と **Link folder** もある。config にまだインストールされていないエントリがあるときは、**Updates** タブとインストールダイアログに **Install all** が表示され、引数なしの [`install`](/docs/reference/commands/install) と同じように動く。チェックのあと、ソース repo から削除された Skill が **Prune** と **Prune all** 付きで表示され、ゴミ箱に移せる。**Link folder** は [`link`](/docs/reference/commands/link) と同様にフォルダを Skill の source にリンクする。パス、任意のリンク名、`follow_source_links` が無効の間はそれを有効にするチェックボックスを受け付け、拒否されたフォルダにはコマンドと同じ理由を表示する。リンクしたフォルダはリンクアイコンとリンク先フォルダ付きの独立したグループとして表示される。その行のアイコンボタン(ホバーするとリンクアイコンがリンク解除アイコンに変わる)は確認後、[`unlink`](/docs/reference/commands/unlink) と同様にリンクを解除する。フォルダ自体には触れず、リンクは **Trash** タブから復元できる。リンクしたフォルダ内の Skill は個別にアンインストールでき、そのフォルダから trash へ移動される。リンクしたフォルダには **Update repo** と **Uninstall repo** はない。一覧とカードビューは **Folder**(tracked repo、`frontend/react` のようなフォルダ、または **Root**)でフィルタでき、**Folder** でグループ化もできる。Root が先頭で、残りのフォルダは名前の A→Z 順。リストビューでは、別のスキルのフォルダ内にあるスキルはそのスキルの下に表示されます。パッケージ名の後ろにある件数ボタンで、そのスキルが下に開き、淡いツリー線でパッケージとつながります(パッケージは最初は折りたたまれています)。さらに深いパッケージはもう一段インデントされ
Read more
sidebar_position: 1
ui
視覚的な Skill 管理のための Web ダッシュボードを起動します。
リモート検索(`GET /api/search`)とインストールのプレビュー(`GET /api/preview`)は変更操作と同じ origin チェックを使い、別サイトからのブラウザー要求は取得前に拒否します。ブラウザーの origin/fetch ヘッダーを持たない直接クライアントは引き続き対応します。GitHub API の認証情報は HTTPS の `api.github.com` と `raw.githubusercontent.com`(既定ポートまたは 443)に限定され、別 origin へのリダイレクト時は認証情報を削除します。
skillshare ui # フォアグラウンドで実行 skillshare ui start # バックグラウンドサーバーを起動(既存があれば再利用) skillshare ui stop # バックグラウンドサーバーを停止
デフォルトブラウザで `http://127.0.0.1:19420` を開きます。
モード
| モード | 動作 | |------|------| | `skillshare ui`(デフォルト) | UI サーバーをフォアグラウンドで実行。`Ctrl+C` で停止 | | `skillshare ui start` | UI サーバーをバックグラウンドプロセスとして起動し、シェルの制御を返す。再度 `start` を実行した場合、既存のプロセスが正常であればそれを再利用 | | `skillshare ui stop` | `skillshare ui start` で起動したバックグラウンド UI サーバーを停止 |
使うタイミング
- Skill、Target、sync を視覚的な Web インターフェースで管理したい
- CLI フラグを覚えずに Skill を閲覧・インストールしたい
- 視覚的な検出結果レポート付きでセキュリティ監査を実行したい
- CLI に不慣れなチームメンバーとダッシュボードビューを共有したい
フラグ
| フラグ | デフォルト | 説明 | |------|---------|-------------| | `-p`, `--project` | | Project mode で実行(`.skillshare/` を使用) | | `-g`, `--global` | | グローバルモードで実行(`~/.config/skillshare/` を使用) | | `--port <port>` | `19420` | HTTP サーバーのポート | | `--host <host>` | `127.0.0.1` | バインドアドレス(Docker の場合は `0.0.0.0` を使用) | | `-b`, `--base-path <path>` | | リバースプロキシ用のサブパス(例: `/skillshare`) | | `--trusted-origin <url>` | | ダッシュボードが応答するもう 1 つのアドレス。リバースプロキシ([reverse proxy](#reverse-proxy))の背後なら `https://tools.example.com` など。複数指定する場合は繰り返します | | `--no-open` | `false` | ブラウザを自動的に開かない | | `--app` | `false` | 可能な場合、ダッシュボードをデスクトップ風の Chromium アプリウィンドウとして開く(`start` モードのみ) | | `--clear-cache` | | フォアグラウンド形式の場合: キャッシュされた UI アセットをクリアして終了。`start` と組み合わせた場合: キャッシュをクリアしてからバックグラウンドで起動 |
:::tip 自動検出 カレントディレクトリに `.skillshare/config.yaml` が存在する場合、ダッシュボードは自動的に Project mode で起動します。グローバルモードを強制するには `-g` を使用してください。 :::
例
# デフォルト: localhost:19420 でブラウザを開く(フォアグラウンド) skillshare ui # Project mode(.skillshare/ の Skill を管理) skillshare ui -p # カスタムポート skillshare ui --port 8080 # Docker / リモートアクセス skillshare ui --host 0.0.0.0 --no-open # バックグラウンドで起動し、シェルに制御を戻す skillshare ui start # デスクトップ風のクロームレスアプリウィンドウとして起動 skillshare ui start --app # バックグラウンドサーバーを停止(記憶されている host/port を使用) skillshare ui stop # キャッシュされた UI アセットをクリアしてからバックグラウンドで新規起動 skillshare ui start --clear-cache
ダッシュボードのページ
サイドバーはページをタスクごとにグループ化します: sync すること、管理しているもの、同期先、メンテナンス。名前の下の行にはモードとそのフォルダ(例: `Global · ~/.config/skillshare`)が表示されます。
一部のページは、対応が必要な場合にサイドバーに件数を表示します。この件数は、ダッシュボードのタブが開いている間、15 秒ごとに更新されます。
- **Sync**: sync によって適用される変更
- **Git Sync**: 未コミットのファイル、またはツリーがクリーンな場合はまだプッシュされていないコミット
- **Audit**: 直近のスキャンでブロックされた Skill と Agent(スキャンを実行した後に表示)
| ページ | 説明 | |------|-------------| | **Dashboard** | Skill、Agent、Extras、MCP サーバー、Hook、Plugin、Target の件数、および対応が必要な項目。コミットされていない変更がある、または git ステータスを読み取れない tracked repo をアンインストールすると、理由を示して再確認し、repo をそのままゴミ箱へ移動します(`uninstall --force` と同じ)。metadata に記録されているがこのマシンに clone されていない tracked repo には **このマシンにチェックアウトはありません** と表示され、アンインストールしてもその記録と監査の承認だけが削除され、ゴミ箱には何も移動しません。確認前にチェックアウトが現れた場合はその旨が表示され、もう一度 **アンインストール** を選択します | | **Sync** | 書き込む前に、Target ごとにすべての変更をプレビュー。含める項目を選択(Skills、Agents、Extras、MCP)。Target 内で編集されたファイルは、**Force** がオンでない限り保持される。Target にのみ存在する項目は、ここから Source に collect し戻せる。各 sync は最初に Target フォルダをバックアップする。Target が失敗しても他の Target は sync される。失敗した Target は、その部分(Skills、Agents、Extras、Config)とエラーとともに他の警告より上に一覧表示され、よくある原因(別の場所を指す symlink、権限不足、読み取り専用のファイルシステム、存在しないファイルやフォルダー、無効な Target 設定)にはわかりやすい説明も付き、別の場所を指す Skills の symlink には **Force をオンにする** が表示され、変更一覧でもその Target に印が付く。すべての Target が失敗した場合も、同じように一覧表示される。**前回の同期** カードには、直近の sync で失敗した Target が表示される。同じ変更を受け取る Target は 1 枚のカードにまとめられ、Skill がフォルダごとに並ぶ。**Discard all** は確認のあと、まだどの Target にも届いていない Skill をゴミ箱に移す。Target の `include` フィルターがどの Skill にも一致しないときは、その Target に Skill が届かないことを知らせる通知が表示され、**Edit filter** でそのフィルターを設定している場所を開ける。Git Sync でも pull のあとに同じ通知が表示される | | **Git Sync** | Source リポジトリのコミットとプッシュ、remote にまだないコミットのプッシュ、プルを実行。ページを開くと remote から fetch するため、**Pull** には remote にあるコミット数が表示される。プルはリポジトリのスコープ(`skills`、`agents`、`extras`、または `root`)が保持するものを sync する。詳細は [`pull`](/docs/reference/commands/pull) を参照。**Sync both ways** はローカルの変更をコミットし、プルしてマージし、target を sync してからプッシュする([`push --pull`](/docs/reference/commands/push#push-and-pull-together) と同じ)。コンフリクトが発生した場合はプッシュ前に停止する。remote に新しいコミットがあるためにプッシュが拒否された場合、エラーに **Pull** が表示される。最初のプルが remote とマージできない場合、remote ブランチでローカルファイルを置き換える force pull を提案する | | **Hubs** | スキル ページから移動。内蔵の hub、保存済みの hub、自分の Hub(**自分の**)を一覧表示し、選ぶとその Skill を絞り込んでインストールできる。**Hub を追加・作成** は既存の hub の追加、新しい Hub の作成、`skillshare-hub.json` の読み込みを行う。自分の Hub は **編集** で変更し、**共有** でインデックスをダウンロードして `hub add` コマンドを作る。保存済みと内蔵の hub は **更新** で、2 分間のキャッシュを待たずに一覧を読み直す。[`hub`](/docs/reference/commands/hub) を参照 | | **Skills** / **Agents** | インストール済みの項目、**Updates** タブ、**Trash** タブ。Skills にはさらに、Target のコンテキストに Skill が追加するトークン数を見積もる **Analyze** タブがある。**Install** は GitHub を検索するか、URL やパスからインストールする。メニューには作成ウィザードを開く **New skill** と **Link folder** もある。config にまだインストールされていないエントリがあるときは、**Updates** タブとインストールダイアログに **Install all** が表示され、引数なしの [`install`](/docs/reference/commands/install) と同じように動く。チェックのあと、ソース repo から削除された Skill が **Prune** と **Prune all** 付きで表示され、ゴミ箱に移せる。**Link folder** は [`link`](/docs/reference/commands/link) と同様にフォルダを Skill の source にリンクする。パス、任意のリンク名、`follow_source_links` が無効の間はそれを有効にするチェックボックスを受け付け、拒否されたフォルダにはコマンドと同じ理由を表示する。リンクしたフォルダはリンクアイコンとリンク先フォルダ付きの独立したグループとして表示される。その行のアイコンボタン(ホバーするとリンクアイコンがリンク解除アイコンに変わる)は確認後、[`unlink`](/docs/reference/commands/unlink) と同様にリンクを解除する。フォルダ自体には触れず、リンクは **Trash** タブから復元できる。リンクしたフォルダ内の Skill は個別にアンインストールでき、そのフォルダから trash へ移動される。リンクしたフォルダには **Update repo** と **Uninstall repo** はない。一覧とカードビューは **Folder**(tracked repo、`frontend/react` のようなフォルダ、または **Root**)でフィルタでき、**Folder** でグループ化もできる。Root が先頭で、残りのフォルダは名前の A→Z 順。リストビューでは、別のスキルのフォルダ内にあるスキルはそのスキルの下に表示されます。パッケージ名の後ろにある件数ボタンで、そのスキルが下に開き、淡いツリー線でパッケージとつながります(パッケージは最初は折りたたまれています)。さらに深いパッケージはもう一段インデントされ
📚 Sync skills, agents, MCP, plugins to all AI CLI tools with one command and simplify team sharing.
Other commands on skillshare.
More commands from other plugins.
build
CommandImplement tasks incrementally — build, test, verify, commit. Add "auto" to run the whole plan in one approved pass.

