This repository shows the consumer side of the git-skill workflow: how a downstream team installs, upgrades, and rolls back AI agent skills and agents published by a producer.
The producer used by this demo is niradler/git-skill-demos, which ships:
- skills:
using-git-skill,authoring-skills,writing-skill-evals,code-review,commit-message - agents:
security-auditor
| Path | Purpose |
|---|---|
assets.json |
The lock file. Records every skill/agent we depend on, the semver spec we asked for, and the exact commit we resolved to. Commit this. |
.claude/skills/<name>/ |
Materialized skill trees produced by git skill install. Committed so a fresh clone is reproducible without re-resolving. |
.claude/agents/<name>.md |
Materialized agent marker files. |
docs/demo-flows.md |
Narrated walkthrough of the four scripted PRs in this repo (add / upgrade / dev-pin trial / rollback). |
# Get the CLI (one-time, global):
go install github.com/niradler/git-skill/cmd/git-skill@latest
# Clone this repo and restore every pinned asset at the exact commit
# recorded in assets.json:
git clone https://github.com/niradler/git-skill-consumer-demo
cd git-skill-consumer-demo
git skill installThat's it — .claude/skills/ is now populated from the lock file.
# Add a new skill, pinning to a semver range. Writes to assets.json
# and materializes into .claude/skills/code-review/.
git skill add niradler/code-review@^1.0.0 \
--from https://github.com/niradler/git-skill-demos
# Re-resolve within the existing spec (picks up new producer releases
# that satisfy ^1.0.0). Updates the `version` + `commit` fields.
git skill update code-review
# Re-materialize everything in assets.json (useful after pulling a
# teammate's assets.json change).
git skill install
# Remove an asset entirely — drops it from assets.json and deletes
# the canonical + runtime paths.
git skill remove code-review
# Browse what the producer publishes:
git skill discover https://github.com/niradler/git-skill-demosSee docs/demo-flows.md for the narrated walkthrough. Each PR in this repo demonstrates one capability:
- PR #1 — Install a skill pinned to
^1.0.0. - PR #2 — Upgrade after the producer ships
1.1.0. - PR #3 — Try a
-devprerelease, then revert. - PR #4 — Roll back to a specific commit.
assets.json is the source of truth, but committing the materialized tree means:
- Reviewers see the real skill content in PR diffs, not just a commit SHA.
- A fresh clone works with zero network round-trips to the producer remote.
- CI doesn't need credentials to the producer repo to run agents.
If you change a runtime path with --target, regenerate with git skill install and commit the new output alongside the assets.json change.