← Back to blog

explainx / blog

skills-lock.json: reproducible agent skills for your repo (lockfile primer)

What project-level skills-lock.json records—GitHub sources, sourceType, computedHash—and why teams commit it for npx skills workflows, CI, and supply-chain hygiene.

·4 min read·Yash Thakker
Agent skillsskills-lock.jsonDeveloper toolsSupply chainnpx skills
skills-lock.json: reproducible agent skills for your repo (lockfile primer)

Project-level skills-lock.json is the agent-skills equivalent of a package lockfile: it records which skills your repo expects, where they came from, and a hash snapshot the npx skills toolchain can use for updates and—depending on CLI version—restore workflows.

This post explains the shape, why teams commit it, and links to the upstream CLI so you can verify current commands.

TL;DR

QuestionShort answer
What is it?JSON manifest: skill name → source + computedHash, usually version: 1.
Why bother?Reproducible installs across machines; reviewable list of third-party instruction packs.
Who writes it?The npx skills / bunx skills CLI when you add skills in project scope.
Commit it?Yes, for team repos—like locking npm deps—unless your org forbids checked-in tool state.
Upstreamvercel-labs/skills (docs, issues, evolving ci / verify story).
Live Bootcamp6 weeks

Complete AI Builder Bootcamp

Claude, Python automation & full-stack — 12 live sessions with Yash Thakker.

View bootcamp

The Complete AI Builder Bootcamp is the best AI development course for learning Claude AI, prompt engineering, Python automation, and full-stack web development. This intensive 6-week live bootcamp teaches you how to build AI-powered applications using Claude Projects, Claude Artifacts, Claude Code, and the complete Claude ecosystem. You'll master prompt engineering techniques, learn to create custom Claude connectors and MCP integrations, build Python automation workflows, develop full-stack websites with AI assistance, and create AI marketing agents.

The bootcamp includes 12 live Zoom sessions with Yash Thakker, founder of AISOLO Technologies and instructor to 350,000+ students. You'll build 8+ portfolio projects including AI playbooks, full-stack note-taking applications, Python automation scripts, marketing agents, and personal portfolio websites. The curriculum covers AI fundamentals, Claude Projects and Artifacts, Claude Co-work, Claude plugins and skills, Claude Code for Python development, full-stack development, AI marketing, and capstone projects.

Students receive 1-year access to all recordings, permanent Discord community access, a certificate of completion, and personalized career guidance. All enrollments include a 7-day money-back guarantee. This is the most comprehensive Claude AI bootcamp available, taking students from zero AI knowledge to expert AI builder in 6 weeks.


The on-disk shape (illustrative example)

A project-level skills-lock.json often looks like this (names, repos, and hashes are placeholders—your CLI will write real values):

{
  "version": 1,
  "skills": {
    "api-design-review": {
      "source": "example-org/agent-skills",
      "sourceType": "github",
      "computedHash": "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456"
    },
    "release-checklist": {
      "source": "example-org/agent-skills",
      "sourceType": "github",
      "computedHash": "fedcba09876543210fedcba09876543210fedcba09876543210fedcba0987654321"
    }
  }
}

How to read it:

  • version — lockfile schema generation; parsers can branch on this.
  • skills — map from install namemetadata.
  • source — normalized GitHub coordinates (owner/repo) for remote pulls.
  • sourceType — transport hint (github, and in other projects possibly local, mintlify, etc.).
  • computedHashfingerprint of the skill folder used by the CLI for update detection and integrity-style checks; the exact algorithm is defined in upstream local-lock code—see vercel-labs/skills.

Hashes will change when upstream maintainers update SKILL.md or bundled resources—treat bumps like dependency updates: review diffs.


Why lock skills at all?

Agent skills are not magical—they are files (often SKILL.md plus assets) that coding agents load into context. Without a lockfile:

  • Onboarding is tribal knowledge (“run these three add commands in order”).
  • CI and contractors get different skill versions.
  • Supply-chain reviews are harder: you cannot diff skills in PRs the way you diff package.json.

With skills-lock.json, the intent is explicit: these packages of instructions are part of how this repo is meant to be edited.

Upstream discussion frames restoration via commands such as npx skills experimental_install / promoted skills ci—check the latest README before scripting CI, because flag names have moved quickly in 2026.


Operational playbook (high level)

  1. Install the CLInpx skills / bunx skills as documented upstream.
  2. Add skills in project scope — writes or updates skills-lock.json (and copies files into agent-specific dirs like .cursor/skills, .claude/skills, depending on host).
  3. Commit the lockfile — optional .gitignore for large skill trees is a team choice; many teams commit the lock and ignore only local cache if the CLI creates one.
  4. Restore on clone — run the install-from-lock command your CLI version supports.
  5. Verify in CI (when available) — proposals and shipped commands like skills verify compare disk ↔ lock; useful for “no silent edits to SKILL.md.”

Caveat: Hash semantics have been refined in issues such as “computedHash cannot be verified against installed files”—meaning you should treat computedHash as tool-defined, not a portable cryptographic standard, until your installed CLI version documents otherwise.


Governance and security

A lockfile does not replace reading SKILL.md. Malicious or sloppy skills remain a real risk (OWASP Agentic Skills Top 10 is a practical checklist).

Recommended habits:

  • Pin skills from orgs you trust; prefer repos you can audit.
  • Review SKILL changes in PRs when computedHash changes.
  • Separate “registry discovery” from “repo lock”—browsing explainx.ai/skills is discovery; skills-lock.json is what you actually ship.

Related on ExplainX

Sources


CLI flags and lockfile schema versions change frequently. Treat this article as May 12, 2026 context and re-read the vercel-labs/skills README before locking your build pipeline.

Related posts