Skip to main content

ui

Launch the web dashboard for visual skill management.

skillshare ui

Opens http://127.0.0.1:19420 in your default browser.

When to Use

  • Manage skills, targets, and sync through a visual web interface
  • Browse and install skills without memorizing CLI flags
  • Run security audits with a visual findings report
  • Share a dashboard view with team members less comfortable with CLI

Flags

FlagDefaultDescription
-p, --projectRun in project mode (uses .skillshare/)
-g, --globalRun in global mode (uses ~/.config/skillshare/)
--port <port>19420HTTP server port
--host <host>127.0.0.1Bind address (use 0.0.0.0 for Docker)
--no-openfalseDon't open browser automatically
--clear-cacheClear downloaded UI cache and exit
Auto-Detection

If .skillshare/config.yaml exists in the current directory, the dashboard automatically starts in project mode. Use -g to force global mode.

Examples

# Default: opens browser on localhost:19420
skillshare ui

# Project mode (manage .skillshare/ skills)
skillshare ui -p

# Custom port
skillshare ui --port 8080

# Docker / remote access
skillshare ui --host 0.0.0.0 --no-open

# Background mode
skillshare ui --no-open &

Dashboard Pages

PageDescription
DashboardOverview cards — skill count, target count, sync mode, version
SkillsSearchable skill grid with metadata. Toggle between Grid and Grouped (by directory) views. Click to view SKILL.md content
InstallInstall from local path, git URL, or GitHub shorthand
TargetsTarget list with status badges. Add/remove targets
SyncSync controls with dry-run toggle. Diff preview
CollectScan targets and collect selected skills back to source
BackupView backup list, restore snapshots, and clean up entries
Git SyncPush/pull source repo with dirty-state checks and force pull
SearchGitHub skill search with one-click install
AuditSecurity scan all skills, view findings by severity
Audit RulesCreate and edit custom audit-rules.yaml with YAML editor
TrashView soft-deleted skills, restore or permanently delete
LogOperations and audit logs with command/status/time filters
ConfigYAML config editor with validation

Project Mode Differences

When running in project mode (-p), the dashboard adapts:

  • "Project" badge in the sidebar indicates project mode
  • Git Sync page is hidden (project skills use the project's own git)
  • Backup & Restore page is hidden (use version control instead)
  • Tracked Repos section is hidden from Dashboard (not applicable)
  • Config page shows .skillshare/config.yaml instead of the global config
  • Available targets lists project-level targets (e.g., .claude/skills/ relative to project root)
  • Install automatically reconciles skills: entries in the project config

UI Preview

Install flowDashboard overviewSkills browserSkill detail viewSync controlsGitHub search view

REST API

The web dashboard exposes a REST API at /api/. All endpoints return JSON.

MethodPathDescription
GET/api/overviewSkill/target counts, mode, version
GET/api/skillsList all skills with metadata
GET/api/skills/{name}Skill detail + SKILL.md content
DELETE/api/skills/{name}Uninstall a skill
GET/api/targetsList targets with status, include/exclude filters, and per-target expected counts
POST/api/targetsAdd a target
DELETE/api/targets/{name}Remove a target
POST/api/syncRun sync (supports dryRun, force)
GET/api/diffDiff between source and targets
GET/api/search?q=Search GitHub for skills
POST/api/installInstall a skill from source
GET/api/auditScan all skills for security threats
GET/api/audit/rulesGet custom audit rules YAML
PUT/api/audit/rulesSave custom audit rules (validates regex)
POST/api/audit/rulesCreate starter audit-rules.yaml
GET/api/logList log entries with optional filters
GET/api/configGet config as YAML
PUT/api/configUpdate config YAML

Docker Usage

To use the web UI inside Docker (requires network access for first-time UI download):

make playground

# Inside container:
skillshare ui --host 0.0.0.0 --no-open

Then open http://localhost:19420 on your host machine (port 19420 is mapped automatically).

Project Mode

The web dashboard fully supports project-level skills:

cd my-project
skillshare ui -p

Or simply skillshare ui if .skillshare/config.yaml exists (auto-detected).

The dashboard reads and writes .skillshare/config.yaml, syncs to project-local targets, and reconciles remote skill entries after install — just like the CLI.

Runtime UI Download

skillshare ui automatically downloads pre-built UI assets from the matching GitHub Release on first launch. The assets are cached in ~/.cache/skillshare/ui/<version>/ (respects XDG_CACHE_HOME) so subsequent launches are instant and offline.

  • First run requires an internet connection to download the UI assets (~1 MB)
  • Subsequent runs use the cached assets — no network needed
  • On upgrade, old cached versions are automatically cleaned up; the new UI is pre-downloaded during skillshare upgrade
  • To clear the cache manually, run skillshare ui --clear-cache

Homebrew Note

All install methods (Homebrew, installer script, manual binary) use runtime UI download. When you run skillshare ui, it automatically downloads the UI assets from GitHub on first launch. After that, the cached assets are used offline.

To clear the downloaded UI cache:

skillshare ui --clear-cache

Architecture

The web UI is a single-page React application downloaded at runtime from the matching GitHub Release and served from disk cache (~/.cache/skillshare/ui/<version>/).

skillshare ui
├── Go HTTP server (net/http)
│ ├── /api/* → REST API handlers
│ └── /* → Cached React SPA (runtime download)
└── Browser opens http://127.0.0.1:19420

See Also