skillcask 0.5.0 → 0.6.0

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 CHANGED
@@ -77,7 +77,6 @@ skills.lock # lock, commit it
77
77
  .agents/skills/<name>/ # installed skill (gitignored)
78
78
  .agents/skills/.skillcask-installed # what this machine installed (gitignored)
79
79
  .claude/skills/<name> -> ../../.agents/skills/<name>
80
- .junie/skills/<name> -> ../../.agents/skills/<name>
81
80
  .gitignore # managed block
82
81
  ```
83
82
 
@@ -108,7 +107,7 @@ github = { type = "github", url = "https://api.github.com" } # GitHub Enterpri
108
107
  "anthropics/skills" = { github = true, skills = ["pdf"] } # default branch
109
108
 
110
109
  [agents]
111
- targets = [".claude/skills", ".junie/skills"]
110
+ targets = ["claude", "kiro"] # agent names or paths with a "/"; default: config.toml, else ["claude"]
112
111
  local = ".skills" # project skills
113
112
 
114
113
  [policy]
@@ -119,6 +118,32 @@ github-requires = false # true: dependencies may come from GitHub
119
118
  allow-sources = ["acme", "own", "packagist", "github"] # only these sources; default: all
120
119
  ```
121
120
 
121
+ ### Agents
122
+
123
+ Most agents read `.agents/skills` themselves (Codex, Copilot, Cursor, Gemini CLI, OpenCode, Amp,
124
+ Junie, Devin/Windsurf, Roo Code, Cline, Goose, Factory, Mistral Vibe), so they need no link.
125
+ `[agents] targets` lists the agents that need one, by name, or any directory as a path with a `/`:
126
+
127
+ | Name | Project | Home (`--global`) |
128
+ |---|---|---|
129
+ | `claude` | `.claude/skills` | `~/.claude/skills` |
130
+ | `kiro` | `.kiro/skills` | `~/.kiro/skills` |
131
+ | `junie` | store | `~/.junie/skills` |
132
+ | `codex`, `copilot`, `cursor`, `gemini`, `opencode`, `amp`, `devin`, `roo`, `cline`, `goose`, `factory`, `vibe` | store | store |
133
+
134
+ Set the list once in `config.toml` next to the global manifest; a `skills.toml` that sets
135
+ `targets` replaces it. Manifests from before 0.6.0 carry an explicit list: delete the line to
136
+ follow `config.toml`.
137
+
138
+ ```toml
139
+ # ~/.config/skillcask/config.toml
140
+ [agents]
141
+ targets = ["claude", "kiro"]
142
+ ```
143
+
144
+ When a target is dropped, the next `install` removes the links skillcask made there; `doctor`
145
+ reports them. `status` prints the targets, where they came from and the directories they link.
146
+
122
147
  Constraints follow Composer semantics: `^0.3` means `>=0.3.0 <0.4.0`, `~1.2` means
123
148
  `>=1.2 <2.0`, and pre-releases are only selected when the constraint names a stability
124
149
  (`^1.0@beta`).
@@ -148,6 +173,18 @@ allow-sources = ["https://gitlab.example.com/", "github"]
148
173
  enforce = ["allow-sources"]
149
174
  ```
150
175
 
176
+ An enforced `min-release-age` also applies to a repository's own `min-release-age`: a project
177
+ may only make it longer. Exceptions, by URL prefix, stay in `config.toml`:
178
+
179
+ ```toml
180
+ [policy]
181
+ min-release-age = "3d"
182
+ enforce = ["min-release-age"]
183
+
184
+ [policy.repository-min-release-age]
185
+ "https://gitlab.example.com/" = "0" # internal skills, reviewed in merge requests
186
+ ```
187
+
151
188
  `config.toml` and the environment take URL prefixes, not repository names, since a name means
152
189
  whatever a project calls it. `skillcask status` prints each key that is set and where it came
153
190
  from.
@@ -199,8 +236,8 @@ skillcask -g install --frozen # e.g. from a dotfiles repository
199
236
 
200
237
  - `skills.toml`, `skills.lock` and an optional `auth.json` live in `~/.config/skillcask`
201
238
  (`$XDG_CONFIG_HOME/skillcask`; `SKILLCASK_HOME` overrides both). Keep them in your dotfiles.
202
- - Skills go to `~/.agents/skills` (read by Codex), with links in `~/.claude/skills` and
203
- `~/.junie/skills` (`[agents] targets`, relative to home). Links are absolute, so a symlinked
239
+ - Skills go to `~/.agents/skills` (read by most agents), with links in `~/.claude/skills`
240
+ (`[agents] targets`, see Agents). Links are absolute, so a symlinked
204
241
  `~/.claude` works. `[agents] local` does not apply.
205
242
  - Personal skills you wrote by hand stay where they are and are not linked anywhere.
206
243
  - The list of managed paths is `~/.agents/skills/.skillcask-installed`, local to the machine;
@@ -19,7 +19,7 @@
19
19
  "hasInstallScript": true,
20
20
  "license": "MIT OR Apache-2.0",
21
21
  "name": "skillcask",
22
- "version": "0.5.0"
22
+ "version": "0.6.0"
23
23
  },
24
24
  "node_modules/detect-libc": {
25
25
  "engines": {
@@ -48,5 +48,5 @@
48
48
  }
49
49
  },
50
50
  "requires": true,
51
- "version": "0.5.0"
51
+ "version": "0.6.0"
52
52
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "artifactDownloadUrls": [
3
- "https://github.com/puniserv/skillcask/releases/download/v0.5.0"
3
+ "https://github.com/puniserv/skillcask/releases/download/v0.6.0"
4
4
  ],
5
5
  "bin": {
6
6
  "skillcask": "run-skillcask.js"
@@ -104,7 +104,7 @@
104
104
  "zipExt": ".tar.xz"
105
105
  }
106
106
  },
107
- "version": "0.5.0",
107
+ "version": "0.6.0",
108
108
  "volta": {
109
109
  "node": "18.14.1",
110
110
  "npm": "9.5.0"