@lythos/skill-deck 0.14.5 → 0.14.6
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 +18 -18
- package/package.json +3 -3
- package/src/add.ts +1 -1
- package/src/cli.ts +7 -2
- package/src/refresh.ts +1 -1
- package/src/resolve-deck.ts +1 -1
package/README.md
CHANGED
|
@@ -8,16 +8,16 @@
|
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
10
|
# Add a skill from skills.sh (owner/repo syntax — no conversion needed)
|
|
11
|
-
bunx @lythos/skill-deck@0.14.
|
|
11
|
+
bunx @lythos/skill-deck@0.14.6 add vercel-labs/agent-skills
|
|
12
12
|
|
|
13
13
|
# Or with @skill filter (same as npx skills add):
|
|
14
|
-
bunx @lythos/skill-deck@0.14.
|
|
14
|
+
bunx @lythos/skill-deck@0.14.6 add mattpocock/skills@tdd
|
|
15
15
|
|
|
16
16
|
# Or FQ locator:
|
|
17
|
-
bunx @lythos/skill-deck@0.14.
|
|
17
|
+
bunx @lythos/skill-deck@0.14.6 add github.com/anthropics/skills/skills/frontend-design
|
|
18
18
|
|
|
19
19
|
# Sync working set (deny-by-default):
|
|
20
|
-
bunx @lythos/skill-deck@0.14.
|
|
20
|
+
bunx @lythos/skill-deck@0.14.6 link
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
## For AI Agents
|
|
@@ -25,7 +25,7 @@ bunx @lythos/skill-deck@0.14.5 link
|
|
|
25
25
|
This package exposes a **CLI**. Invoke via:
|
|
26
26
|
|
|
27
27
|
```bash
|
|
28
|
-
bunx @lythos/skill-deck@0.14.
|
|
28
|
+
bunx @lythos/skill-deck@0.14.6 <command> [options]
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
No installation required. `bunx` auto-downloads the package.
|
|
@@ -73,15 +73,15 @@ prompt = "Search for latest info, then generate professional document with diagr
|
|
|
73
73
|
|
|
74
74
|
| Situation | Command |
|
|
75
75
|
|-----------|---------|
|
|
76
|
-
| Sync working set with `skill-deck.toml` | `bunx @lythos/skill-deck@0.14.
|
|
77
|
-
| Validate `skill-deck.toml` before committing | `bunx @lythos/skill-deck@0.14.
|
|
78
|
-
| Download a skill to cold pool and add to deck | `bunx @lythos/skill-deck@0.14.
|
|
79
|
-
| Pull latest versions of declared skills | `bunx @lythos/skill-deck@0.14.
|
|
80
|
-
| Refresh a single skill by alias | `bunx @lythos/skill-deck@0.14.
|
|
81
|
-
| Remove a skill from deck and working set | `bunx @lythos/skill-deck@0.14.
|
|
82
|
-
| Switch skill to symlink mode (live) | `bunx @lythos/skill-deck@0.14.
|
|
83
|
-
| Switch skill to snapshot mode (pinned) | `bunx @lythos/skill-deck@0.14.
|
|
84
|
-
| Use a custom deck file or working dir | `bunx @lythos/skill-deck@0.14.
|
|
76
|
+
| Sync working set with `skill-deck.toml` | `bunx @lythos/skill-deck@0.14.6 link` |
|
|
77
|
+
| Validate `skill-deck.toml` before committing | `bunx @lythos/skill-deck@0.14.6 validate` |
|
|
78
|
+
| Download a skill to cold pool and add to deck | `bunx @lythos/skill-deck@0.14.6 add owner/repo` |
|
|
79
|
+
| Pull latest versions of declared skills | `bunx @lythos/skill-deck@0.14.6 refresh` |
|
|
80
|
+
| Refresh a single skill by alias | `bunx @lythos/skill-deck@0.14.6 refresh tdd` |
|
|
81
|
+
| Remove a skill from deck and working set | `bunx @lythos/skill-deck@0.14.6 remove tdd` |
|
|
82
|
+
| Switch skill to symlink mode (live) | `bunx @lythos/skill-deck@0.14.6 to-symlink tdd` |
|
|
83
|
+
| Switch skill to snapshot mode (pinned) | `bunx @lythos/skill-deck@0.14.6 to-snapshot tdd` |
|
|
84
|
+
| Use a custom deck file or working dir | `bunx @lythos/skill-deck@0.14.6 link --deck ./my-deck.toml --workdir /path/to/project` |
|
|
85
85
|
|
|
86
86
|
### Commands
|
|
87
87
|
|
|
@@ -104,13 +104,13 @@ prompt = "Search for latest info, then generate professional document with diagr
|
|
|
104
104
|
|
|
105
105
|
| `--alias <alias>` | Explicit alias for the skill (default: basename of path) | — |
|
|
106
106
|
| `--type <type>` | Target section for `add`: `innate`, `tool`, or `transient` | `tool` |
|
|
107
|
-
| `--mode <mode>` | Link mode for `add`/`link`: `symlink` (default) or `snapshot` (copy,
|
|
107
|
+
| `--mode <mode>` | Link mode for `add`/`link`: `symlink` (default) or `snapshot` (copy, pinned to cold pool HEAD) | `symlink` |
|
|
108
108
|
|
|
109
109
|
### Safety guards
|
|
110
110
|
|
|
111
111
|
`link` refuses to operate if `working_set` resolves to your home directory or root (`/`).
|
|
112
112
|
|
|
113
|
-
**Snapshot mode** (`--mode snapshot` or `link --mode snapshot`): copies the source directory into the working set instead of symlinking.
|
|
113
|
+
**Snapshot mode** (`--mode snapshot` or `link --mode snapshot`): copies the source directory into the working set instead of symlinking. Snapshots are pinned to the cold pool version at link time — useful when you want the working set to be a stable copy rather than a live symlink that follows cold pool updates. Use `deck to-symlink <alias>` to switch back to symlink mode, or `deck to-snapshot <alias>` to pin a symlink as a snapshot.
|
|
114
114
|
|
|
115
115
|
### Exit codes
|
|
116
116
|
|
|
@@ -143,7 +143,7 @@ source = "https://github.com/lythos-labs/lythoskill/blob/HEAD/skills/lythoskill-
|
|
|
143
143
|
EOF
|
|
144
144
|
|
|
145
145
|
# 2. Link — creates symlinks in .claude/skills/
|
|
146
|
-
bunx @lythos/skill-deck@0.14.
|
|
146
|
+
bunx @lythos/skill-deck@0.14.6 link
|
|
147
147
|
```
|
|
148
148
|
|
|
149
149
|
### Key Concepts
|
|
@@ -229,7 +229,7 @@ Caution: deck's deny-by-default will remove any skills not declared in your deck
|
|
|
229
229
|
|
|
230
230
|
| Symptom | Cause | Fix |
|
|
231
231
|
|---------|-------|-----|
|
|
232
|
-
| `❌ Skill not found: <name>` | Skill declared in deck but not in cold pool | `bunx @lythos/skill-deck@0.14.
|
|
232
|
+
| `❌ Skill not found: <name>` | Skill declared in deck but not in cold pool | `bunx @lythos/skill-deck@0.14.6 add github.com/owner/repo/skill` or clone manually into cold pool |
|
|
233
233
|
| `link` skips entries with warnings | Real files/directories exist in working set (not symlinks) | Delete the real directories in `working_set` and re-run `link`. Never create directories manually there |
|
|
234
234
|
| `refresh` reports "Not a git repository" | Skill was copied (not cloned) into cold pool | Re-clone with `git clone` or use `deck add` which clones by default |
|
|
235
235
|
| `deck update` prints deprecation warning | `update` was renamed to `refresh` in v0.8+ | Use `deck refresh` instead |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lythos/skill-deck",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.6",
|
|
4
4
|
"description": "Declarative skill deck governance — cold pool, working set, deny-by-default",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai-agent",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
],
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@iarna/toml": "^2.2.5",
|
|
34
|
-
"@lythos/cold-pool": "^0.14.
|
|
35
|
-
"@lythos/infra": "^0.14.
|
|
34
|
+
"@lythos/cold-pool": "^0.14.6",
|
|
35
|
+
"@lythos/infra": "^0.14.6",
|
|
36
36
|
"yaml": "^2.8.3",
|
|
37
37
|
"zod": "^4.3.6"
|
|
38
38
|
},
|
package/src/add.ts
CHANGED
|
@@ -272,7 +272,7 @@ export async function addSkill(
|
|
|
272
272
|
console.error(` Network probe failed — the host may be unreachable or blocked.`)
|
|
273
273
|
console.error(``)
|
|
274
274
|
console.error(` To fix:`)
|
|
275
|
-
console.error(` export
|
|
275
|
+
console.error(` export LYTHOS_GH_MIRROR="https://your-mirror.com"`)
|
|
276
276
|
console.error(` # Or set LYTHOS_SOCKS_PROXY for SOCKS5 routing`)
|
|
277
277
|
console.error(` # See: AGENTS.md → Network Restrictions`)
|
|
278
278
|
process.exit(1)
|
package/src/cli.ts
CHANGED
|
@@ -114,12 +114,17 @@ switch (command) {
|
|
|
114
114
|
updateDeck(deckPath, workdir, updateTarget)
|
|
115
115
|
break
|
|
116
116
|
}
|
|
117
|
-
case 'validate':
|
|
118
|
-
|
|
117
|
+
case 'validate': {
|
|
118
|
+
let validateDeckPath = deckPath
|
|
119
|
+
if (!validateDeckPath && args[1] && !args[1].startsWith('-')) {
|
|
120
|
+
validateDeckPath = resolveDeckPathSync(args[1]).path
|
|
121
|
+
}
|
|
122
|
+
await validateDeck(validateDeckPath, workdir, {
|
|
119
123
|
remote,
|
|
120
124
|
format: format === 'json' ? 'json' : 'text',
|
|
121
125
|
})
|
|
122
126
|
break
|
|
127
|
+
}
|
|
123
128
|
case 'remove': {
|
|
124
129
|
const removeTarget = args[1] && !args[1].startsWith('-') ? args[1] : undefined
|
|
125
130
|
if (!removeTarget) {
|
package/src/refresh.ts
CHANGED
|
@@ -127,7 +127,7 @@ export async function refreshDeck(
|
|
|
127
127
|
if (!probe) {
|
|
128
128
|
console.error(`⚠️ Network probe failed for ${probeUrl}`)
|
|
129
129
|
console.error(` Refresh may fail for git targets. To fix:`)
|
|
130
|
-
console.error(` export
|
|
130
|
+
console.error(` export LYTHOS_GH_MIRROR="https://your-mirror.com"`)
|
|
131
131
|
console.error(` # Or set LYTHOS_SOCKS_PROXY for SOCKS5 routing`)
|
|
132
132
|
console.error(` Continuing anyway — per-target errors will be reported below.`)
|
|
133
133
|
console.error()
|
package/src/resolve-deck.ts
CHANGED
|
@@ -82,7 +82,7 @@ export async function fetchDeckUrl(url: string, io?: FetchDeckIO): Promise<strin
|
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
if (!res?.ok) {
|
|
85
|
-
throw new Error(`Failed to fetch deck: ${normalized}\n Set
|
|
85
|
+
throw new Error(`Failed to fetch deck: ${normalized}\n Set LYTHOS_GH_MIRROR to use a custom mirror, or LYTHOS_SOCKS_PROXY for SOCKS5.`)
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
writeFn(dest, await res.text())
|