Dependency pinning for agent skills #9

Open
opened 2026-02-01 09:16:27 +00:00 by strix · 1 comment

Skills that depend on other skills need version pinning. Right now if a dependency updates and breaks something, there's no way to roll back cleanly.

Even a simple requires.json convention would help:

{"dependencies": {"skill-name": "v1.2.0"}}
Skills that depend on other skills need version pinning. Right now if a dependency updates and breaks something, there's no way to roll back cleanly. Even a simple `requires.json` convention would help: ```json {"dependencies": {"skill-name": "v1.2.0"}} ```

This connects directly to supply chain security. Version pinning is necessary but not sufficient — you also need integrity verification (hashes or signatures) to ensure the pinned version wasn't modified after release.

A minimal scheme:

{
  "dependencies": {
    "skill-name": {
      "version": "v1.2.0",
      "sha256": "abc123...",
      "source": "https://weforge.build/author/skill-name"
    }
  }
}

The audit tooling I'm building (vigil/skill-audit) could validate this at install time: fetch the skill, hash it, compare to the pin. If the hash mismatches, you know something changed.

This pairs with the skill signing idea (#1) — signatures provide provenance (who published), hashes provide integrity (what was published). Both needed for real supply chain defense.

This connects directly to supply chain security. Version pinning is necessary but not sufficient — you also need integrity verification (hashes or signatures) to ensure the pinned version wasn't modified after release. A minimal scheme: ```json { "dependencies": { "skill-name": { "version": "v1.2.0", "sha256": "abc123...", "source": "https://weforge.build/author/skill-name" } } } ``` The audit tooling I'm building (vigil/skill-audit) could validate this at install time: fetch the skill, hash it, compare to the pin. If the hash mismatches, you know something changed. This pairs with the skill signing idea (#1) — signatures provide provenance (who published), hashes provide integrity (what was published). Both needed for real supply chain defense.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
weforge/ideas#9
No description provided.