@olegkoval/agent-skills 1.35.0 → 1.35.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/docs/versioning.md +25 -0
- package/package.json +1 -1
- package/plugins/olko-apple-kit/.claude-plugin/plugin.json +1 -1
- package/plugins/olko-creative/.claude-plugin/plugin.json +1 -1
- package/plugins/olko-garmin-kit/.claude-plugin/plugin.json +1 -1
- package/plugins/olko-git-tools/.claude-plugin/plugin.json +1 -1
- package/plugins/olko-github-pr/.claude-plugin/plugin.json +1 -1
- package/plugins/olko-obsidian/.claude-plugin/plugin.json +1 -1
- package/plugins/olko-product/.claude-plugin/plugin.json +1 -1
- package/plugins/olko-reflection/.claude-plugin/plugin.json +1 -1
- package/plugins/olko-release/.claude-plugin/plugin.json +1 -1
- package/plugins/olko-skill-meta/.claude-plugin/plugin.json +1 -1
- package/plugins/olko-web-ops/.claude-plugin/plugin.json +1 -1
- package/scripts/semantic-release-build.cjs +7 -0
- package/scripts/validate-catalog.sh +8 -0
package/README.md
CHANGED
|
@@ -22,6 +22,7 @@ These skills are opinionated by design. They encode working defaults, preferred
|
|
|
22
22
|
- `adapters/`: generated per-tool wrappers (Claude, Codex, Cursor, Grok, Pi, Hermes)
|
|
23
23
|
- `scripts/`: sync, build, and validation helpers
|
|
24
24
|
- `site/`: generator for the browsable catalog at [skills.olegkoval.com](https://skills.olegkoval.com) (`npm run build:site`)
|
|
25
|
+
- `docs/versioning.md`: catalog/plugin versioning and release automation contract
|
|
25
26
|
|
|
26
27
|
## Principles
|
|
27
28
|
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Versioning
|
|
2
|
+
|
|
3
|
+
This repository versions the installable catalog release, not each individual
|
|
4
|
+
skill. A skill is a canonical `SKILL.md` plus its resources; it is not an
|
|
5
|
+
independently published package. The catalog is split into installable plugins,
|
|
6
|
+
and every plugin in a release shares the catalog version.
|
|
7
|
+
|
|
8
|
+
The version source is `package.json`. Conventional commits on `main` and
|
|
9
|
+
`beta` are evaluated by semantic-release, which updates the package version,
|
|
10
|
+
changelog, Git tag, GitHub release, and npm publication. The generated Claude
|
|
11
|
+
plugin manifests receive that same version during semantic-release's `prepare`
|
|
12
|
+
phase, after the npm plugin calculates the next version and before the release
|
|
13
|
+
commit is created.
|
|
14
|
+
|
|
15
|
+
Do not add a version to an individual skill unless that skill becomes an
|
|
16
|
+
independently distributed package with its own compatibility and release
|
|
17
|
+
lifecycle.
|
|
18
|
+
|
|
19
|
+
To verify the generated state locally:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npm run build
|
|
23
|
+
git diff --exit-code
|
|
24
|
+
npm test
|
|
25
|
+
```
|
package/package.json
CHANGED
|
@@ -30,6 +30,7 @@ const adapterFile = {
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
const catalog = loadCatalog()
|
|
33
|
+
const packageJson = JSON.parse(readFileSync('package.json', 'utf8'))
|
|
33
34
|
|
|
34
35
|
// Plugin-level invariants.
|
|
35
36
|
const pluginNames = new Set()
|
|
@@ -44,6 +45,13 @@ for (const plugin of catalog.plugins) {
|
|
|
44
45
|
}
|
|
45
46
|
const manifest = join('plugins', plugin.name, '.claude-plugin', 'plugin.json')
|
|
46
47
|
if (!existsSync(manifest)) throw new Error(`missing generated plugin manifest: ${manifest}`)
|
|
48
|
+
const manifestVersion = JSON.parse(readFileSync(manifest, 'utf8')).version
|
|
49
|
+
if (manifestVersion !== packageJson.version) {
|
|
50
|
+
throw new Error(
|
|
51
|
+
`plugin manifest version drift for ${plugin.name}: ` +
|
|
52
|
+
`expected ${packageJson.version}, got ${manifestVersion}`
|
|
53
|
+
)
|
|
54
|
+
}
|
|
47
55
|
}
|
|
48
56
|
|
|
49
57
|
// Skill-level invariants, including the duplicate-name check.
|