Skip to content
Skill Creator

Skill Creator

A local-first workbench for Agent skills

Skill Creator is a local-first workbench for Agent skills. A thin CLI manages a single daemon; the daemon serves one shell with three apps — Workspaces, Creator, Repository — plus an agent panel on a headless DSH kernel. Skills are discovered, validated, and installed through the ccski SDK; every mutation from an agent arrives as a proposal that a human approves.

CLI + single daemon three apps · one shell DSH headless kernel MCP capability surface Node ≥ 24
GitHub ↗
skill-creator

$skill-creator start

daemon up · loopback http · ipc lock held

webui mounted · 32-byte token minted

tray: mounted · window shown (app mode)

ready · /workspaces /creator /repository

Skill Creator Workspaces home screen
Workspaces home — quick actions across the Global Workspace and imported workspaces (dark theme).

Three apps, one shell

/workspaces

Workspaces

Index the Global Workspace and imported workspaces. Inside each provider, discover, filter, inspect, validate, and enable or disable skills; compare them against upstream lock hashes and reinstall what drifted.

  • Global Workspace (~) aggregates agent global roots; read and manage, never a write target
  • Every operation carries an explicit Workspace + Provider identity
  • Skills Update compares the skills-CLI lock hash with upstream — read-only check, apply only reinstalls confirmed-outdated skills

first layer of skill scoping

/creator

Creator

Create, load, edit, and delete SKILL.md documents inside imported Workspace.Providers, with a change log per document.

  • Frontmatter round-trips through gray-matter; unknown valid fields pass through
  • Updates and deletes carry a SHA-256 content revision — concurrent edits are rejected, never last-write-wins
  • Documents land as direct children of the provider root through atomic writes

revision-checked editing

/repository

Repository

Scan a Git source, pin the clone to one immutable commit, preview skills, dry-run, then install into one or many imported Workspace.Providers.

  • Preview and install share the same pinned snapshot and session
  • Per-skill, per-target results with local Skill IDs issued only after full re-verification
  • Curated and user Discover sources; user sources accept https Git URLs only

one pinned Git commit

In the shell

Skill Creator editor screen
Creator — template drafts and revision-checked SKILL.md editing with a change log.
Skill Creator repository screen
Repository — pinned-commit scan, preview, dry-run, and multi-target install.

Agent panel

shell-level drawer

DSH kernel sessions beside your work

The right-hand panel hosts agent sessions on a headless DSH kernel (agent / session / llm / approval). Sessions stream frames, ask questions through approval cards, and survive tab switches; the panel resizes from 320 to 720 px and collapses without destroying the session.

  • model routes

    Provider endpoints as tabs — nine wire protocols across CN and international providers, per-model context window, effort, and I/O types, with one-click connection testing.

  • focus modes

    create / manage / explore / general sessions; focused modes narrow the kernel tool surface to the product allowlist, general keeps the full surface with native bash.

  • approvals

    ask_user_question approval cards in the transcript; MCP mutations are *_propose tools that only execute after a human approves the proposal in the panel.

  • native file picking

    Attachment buttons open the OS-native file dialog through the daemon; real paths flow into prompt attachments with daemon-side size guards and thumbnail previews.

Skill Creator agent panel
Agent panel — session selector, focus-mode cards, transcript, and composer (light theme).

security model

Local by construction, not by configuration

Every trusting boundary in the product, listed; these rows restate the README's security section without change.

SurfaceRule
HTTP transportlistens on 127.0.0.1 only; /api/health and the static SPA perform no filesystem mutation
WebUI auth32-byte web token per daemon boot, delivered via URL fragment, captured to the tab’s sessionStorage, verified before the WebSocket upgrade
IPCsingle-instance lock; runtime dir 0700 and socket 0600 (named pipe on Windows)
Pathsthe server resolves opaque workspace / provider / skill IDs; mutations never accept caller-composed output paths
Writestemp-file-plus-rename atomic commits; update and delete reject on SHA-256 revision mismatch
Repositorypreview and install bind to one pinned clone session; installs re-verify canonical path, non-symlink SKILL.md, and frontmatter identity
MCPmutations are *_propose tools producing proposals; execution runs only after human approval (stdio form is read-only)
External inputdecoded to unknown, then Zod safeParse; incompatible snapshots project to empty, everything else fails typed

get started

Install globally, start once

One CLI, one daemon. start waits for the WebUI and tray to mount, then shows the native window; web mode opens the system browser, headless prints the recovery hint.

$terminal
npm install -g skill-creator
skill-creator start
skill-creator status   # pid · version · port · tray state
skill-creator stop
RequirementDetail
Node.js≥ 24.0.0 (node:zlib zstd for kernel persistence; matches the package engines field)
Gitcallable as git by the daemon process
macOS / Windowsarm64 and x64 — native app window via OpenTray ext-webview (appMode: true)
Linuxweb mode by default: tray icon + system browser; --web / --no-web override on any platform

Development happens in the open: clone the repository and run pnpm install, then pnpm dev.