SkillKit

Configuration

Configure SkillKit at project and user levels

Configuration

SkillKit uses a layered configuration system with five priority levels (lowest to highest):

  1. Default values in code
  2. Global user preferences (~/.skillkit/preferences.json)
  3. Project settings (skillkit.yaml)
  4. Environment variables
  5. CLI flags

Project Configuration

Create skillkit.yaml in your project root:

version: 1
agent: cursor              # Override auto-detection
autoSync: true             # Sync on changes

enabledSkills:
  - pdf
  - xlsx
  - react-patterns

disabledSkills:
  - deprecated-skill

skillsDir: ./custom-skills  # Custom directory

sources:                   # Default sources
  - anthropics/skills
  - vercel-labs/agent-skills

Manifest File

The .skills file enables Git-based team sharing:

version: 1
skills:
  - source: anthropics/skills
    skills: [pdf, xlsx]
  - source: vercel-labs/agent-skills
    skills: [react-patterns]

Commands:

skillkit manifest init        # Create .skills
skillkit manifest add <skill> # Add skill
skillkit manifest install     # Install all

User Preferences

Global preferences in ~/.skillkit/preferences.json:

{
  "lastAgents": ["claude-code", "cursor"],
  "defaultAgent": "claude-code",
  "theme": "dark"
}

Environment Variables

VariablePurpose
SKILLKIT_AGENTOverride default agent
SKILLKIT_DIRCustom SkillKit directory
SKILLKIT_DEBUGEnable debug logging

CLI Settings

skillkit settings --set agent=cursor
skillkit settings --set autoSync=true
skillkit settings --get agent

Advanced Configuration

Memory System

# skillkit.yaml
memory:
  enabled: true
  tier: personal              # personal, project, global
  compression:
    minObservations: 10       # Compress after N observations
    autoExport: true          # Auto-export as skills
  storage:
    backend: cozodb           # cozodb, sqlite, memory
    path: ~/.skillkit/memory

Mesh Network

# skillkit.yaml
mesh:
  enabled: true
  hostId: my-workstation
  discovery:
    method: local              # local, tailscale, manual
    port: 9876
  security:
    mode: secure               # development, signed, secure, strict
    keyPath: ~/.skillkit/mesh/keys
  peers:
    - id: laptop-dev
      address: 192.168.1.100
      trusted: true

Messaging

# skillkit.yaml
messaging:
  enabled: true
  storagePath: ~/.skillkit/messages
  notifications: true
  autoArchive:
    enabled: true
    afterDays: 30

Primer

# skillkit.yaml
primer:
  autoGenerate: true           # Generate on changes
  agents:
    priority: [claude, cursor, windsurf]
  customize:
    tone: detailed             # concise, detailed, technical
    includeExamples: true
  exclude:
    - node_modules
    - dist
    - .next

Lock File

SkillKit maintains a centralized lock file at ~/.skillkit/lock.json that tracks every installed skill. The lock file is written on install, updated on update, and cleaned on remove.

{
  "version": 1,
  "skills": {
    "pdf": {
      "source": "anthropics/skills",
      "checksum": "sha256:abc123...",
      "agents": ["claude-code", "cursor"],
      "installedAt": "2026-04-01T12:00:00Z",
      "updatedAt": "2026-04-08T09:30:00Z"
    }
  }
}
FieldDescription
sourceThe repository or local path the skill was installed from
checksumSHA-256 hash of the SKILL.md content at install time, used for update detection
agentsWhich agents the skill is installed for
installedAtISO timestamp of initial installation
updatedAtISO timestamp of the most recent update

The update command compares the stored checksum against the source to skip unchanged skills. The remove command cleans up the corresponding lock entry.

Taps File

Custom skill source repositories are stored in ~/.skillkit/taps.json. Taps are managed via the skillkit tap commands.

{
  "version": 1,
  "taps": [
    {
      "source": "myorg/internal-skills",
      "name": "Internal Skills",
      "addedAt": "2026-04-05T10:00:00Z"
    }
  ]
}

Skills from tapped sources appear in marketplace search results and can be installed like any other source. See the tap command documentation for usage.

Directory Structure

~/.skillkit/
├── preferences.json   # User preferences
├── lock.json         # Installed skill tracking
├── taps.json         # Custom skill sources
├── cache/            # Marketplace cache
├── memory/           # Learning storage
│   ├── observations/
│   ├── learnings/
│   └── index.json
├── mesh/             # Mesh network
│   ├── keys/        # Encryption keys
│   ├── peers.json   # Known peers
│   └── config.json
└── messages/        # Inter-agent messages
    ├── inbox/
    ├── sent/
    └── archived/

./project/
├── skillkit.yaml     # Project config
├── .skills           # Team manifest
├── skills/           # Local skills
└── .skillkit/        # Project-specific
    ├── cache/
    ├── primer-config.json
    └── memory/

Configuration Profiles

Create different profiles for different environments:

# skillkit.yaml
profiles:
  development:
    agent: claude
    autoSync: true
    mesh:
      security:
        mode: development
  
  production:
    agent: universal
    autoSync: false
    mesh:
      security:
        mode: strict

Use profiles:

skillkit --profile production sync

Next Steps

On this page