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

Workspaces home screen with quick actions to create a skill, health-check the library, explore skill sources, and browse the library.
Workspaces home — quick actions over the skill library and its agent locations (light 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.

  • 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 with unknown valid fields preserved
  • 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

Creator screen with skill template cards grouped into coding, writing, data, design, and DevOps categories.
Creator — skill template drafts by category, with new-skill and open-existing entry points.
Repository screen with source cards, a search field, and a grid of skill cards.
Repository — Discover sources, search, and skill preview ahead of a pinned-commit 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 with per-model context window, reasoning effort, and input/output types; connection testing covers all nine wire protocols in one click.

  • focus modes

    Create, Manage, Explore, and General sessions; focused modes narrow the kernel tool surface to the product allowlist, and 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.

Agent panel with Create, Manage, Explore, and General mode cards and a message composer.
Agent panel — a new session choosing a focus mode above the composer (light theme).

security model

Local by construction

The trust boundaries of the product, one row per surface; each row restates the README's security section.

Security model by surface
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
Environment requirements
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.