vskill 0.5.138 → 0.5.139
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 +16 -16
- package/agents.json +1 -1
- package/dist/eval-server/api-routes.js +13 -5
- package/dist/eval-server/api-routes.js.map +1 -1
- package/dist/eval-server/skill-dir-registry.d.ts +15 -0
- package/dist/eval-server/skill-dir-registry.js +34 -0
- package/dist/eval-server/skill-dir-registry.js.map +1 -1
- package/dist/eval-server/skill-resolver.js +6 -1
- package/dist/eval-server/skill-resolver.js.map +1 -1
- package/dist/eval-ui/assets/{CommandPalette-DWl6kb7K.js → CommandPalette-DeEo1aM2.js} +1 -1
- package/dist/eval-ui/assets/{CreateSkillPage-IndkXdwH.js → CreateSkillPage-BGi_wZ1y.js} +1 -1
- package/dist/eval-ui/assets/{FindSkillsPalette-Br5cToMQ.js → FindSkillsPalette-BbJJSef2.js} +2 -2
- package/dist/eval-ui/assets/{SearchPaletteCore-usZJoJGb.js → SearchPaletteCore-BK0cFJb6.js} +1 -1
- package/dist/eval-ui/assets/{SkillDetailPanel-ZGSkm510.js → SkillDetailPanel-DxidXsNP.js} +1 -1
- package/dist/eval-ui/assets/{UpdateDropdown-Borwxx95.js → UpdateDropdown-CcaDVKoz.js} +1 -1
- package/dist/eval-ui/assets/index-ByzTygib.css +1 -0
- package/dist/eval-ui/assets/index-C12VKBb6.js +110 -0
- package/dist/eval-ui/index.html +2 -2
- package/package.json +1 -1
- package/dist/eval-ui/assets/index-BOR1gyX9.js +0 -102
- package/dist/eval-ui/assets/index-C8DXCPPg.css +0 -1
package/README.md
CHANGED
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
<br/>
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
|
-
npx vskill studio # open the local IDE for AI skills
|
|
22
|
-
npx vskill install remotion-best-practices
|
|
21
|
+
npx vskill@latest studio # open the local IDE for AI skills
|
|
22
|
+
npx vskill@latest install remotion-best-practices
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
<br/>
|
|
@@ -40,7 +40,7 @@ vskill is built around three problems:
|
|
|
40
40
|
## Skill Studio — the local IDE for skills
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
|
-
npx vskill studio
|
|
43
|
+
npx vskill@latest studio
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
A localhost workbench opens at a deterministic per-project port. You can:
|
|
@@ -77,13 +77,13 @@ Every install runs the full pipeline. SARIF v2.1.0 output is available for CI (`
|
|
|
77
77
|
|
|
78
78
|
```bash
|
|
79
79
|
# Install one skill
|
|
80
|
-
npx vskill install remotion-dev/skills/remotion-best-practices
|
|
80
|
+
npx vskill@latest install remotion-dev/skills/remotion-best-practices
|
|
81
81
|
|
|
82
82
|
# Browse a repo, pick interactively
|
|
83
|
-
npx vskill install remotion-dev/skills
|
|
83
|
+
npx vskill@latest install remotion-dev/skills
|
|
84
84
|
|
|
85
85
|
# Install a Claude Code plugin (full domain bundle)
|
|
86
|
-
npx vskill install --repo anton-abyzov/vskill --plugin frontend
|
|
86
|
+
npx vskill@latest install --repo anton-abyzov/vskill --plugin frontend
|
|
87
87
|
```
|
|
88
88
|
|
|
89
89
|
Install globally for repeat use: `npm i -g vskill`
|
|
@@ -115,7 +115,7 @@ Install globally for repeat use: `npm i -g vskill`
|
|
|
115
115
|
| **easychamp** | tournament-manager |
|
|
116
116
|
| **productivity** | survey-passing |
|
|
117
117
|
|
|
118
|
-
Install all eight: `npx vskill install --repo anton-abyzov/vskill --all`
|
|
118
|
+
Install all eight: `npx vskill@latest install --repo anton-abyzov/vskill --all`
|
|
119
119
|
|
|
120
120
|
Browse the full catalog → [verified-skill.com/docs/plugins](https://verified-skill.com/docs/plugins)
|
|
121
121
|
|
|
@@ -124,15 +124,15 @@ Browse the full catalog → [verified-skill.com/docs/plugins](https://verified-s
|
|
|
124
124
|
## Commands you'll actually use
|
|
125
125
|
|
|
126
126
|
```bash
|
|
127
|
-
vskill studio
|
|
128
|
-
vskill install <skill
|
|
129
|
-
vskill find <query>
|
|
130
|
-
vskill list --installed
|
|
131
|
-
vskill diff <skill> v1 v2
|
|
132
|
-
vskill skill new
|
|
133
|
-
vskill eval sweep <skill>
|
|
134
|
-
vskill audit --ci
|
|
135
|
-
vskill keys set anthropic
|
|
127
|
+
npx vskill@latest studio # open local IDE
|
|
128
|
+
npx vskill@latest install <skill> # install with full security scan
|
|
129
|
+
npx vskill@latest find <query> # search verified-skill.com registry
|
|
130
|
+
npx vskill@latest list --installed # what's installed where
|
|
131
|
+
npx vskill@latest diff <skill> v1 v2 # compare versions before upgrading
|
|
132
|
+
npx vskill@latest skill new # create a new skill (AI-assisted)
|
|
133
|
+
npx vskill@latest eval sweep <skill> # benchmark across models
|
|
134
|
+
npx vskill@latest audit --ci # SARIF v2.1.0 for CI
|
|
135
|
+
npx vskill@latest keys set anthropic # store API keys in ~/.vskill/keys.env
|
|
136
136
|
```
|
|
137
137
|
|
|
138
138
|
Full reference → [verified-skill.com/docs/cli-reference](https://verified-skill.com/docs/cli-reference)
|
package/agents.json
CHANGED
|
@@ -14,7 +14,7 @@ import { resolveSkillApiName as resolveSkillApiNameImpl } from "./skill-name-res
|
|
|
14
14
|
import { runBenchmarkSSE, runSingleCaseSSE } from "./benchmark-runner.js";
|
|
15
15
|
import { getSkillSemaphore } from "./concurrency.js";
|
|
16
16
|
import { resolveSkillDir, resolveAllowedSkillDir } from "./skill-resolver.js";
|
|
17
|
-
import { setSkillDirEntry } from "./skill-dir-registry.js";
|
|
17
|
+
import { setSkillDirEntry, ensurePluginCacheEntry } from "./skill-dir-registry.js";
|
|
18
18
|
import { pickInstalledVersion, readSkillMd, sha256Hex, } from "./installed-version.js";
|
|
19
19
|
import { extractFrontmatterVersion } from "../utils/version.js";
|
|
20
20
|
import { classifyOrigin, scanSkillsTriScope, dedupeByDir } from "../eval/skill-scanner.js";
|
|
@@ -1876,12 +1876,20 @@ export function registerRoutes(router, root, projectName) {
|
|
|
1876
1876
|
join(home, ".claude/skills"),
|
|
1877
1877
|
];
|
|
1878
1878
|
};
|
|
1879
|
-
|
|
1879
|
+
// 0769 F-002: cold-server deep links to /api/skills/:plugin/:skill/files (or
|
|
1880
|
+
// /file) hit the route before the user has visited /api/skills, so the
|
|
1881
|
+
// SkillDirRegistry hasn't been populated yet. Lazy-fill it on registry miss
|
|
1882
|
+
// by running scanInstalledPluginSkills once. Subsequent calls hit the fast
|
|
1883
|
+
// path via setSkillDirEntry inside ensurePluginCacheEntry.
|
|
1884
|
+
const resolveSkillDirForFsRoute = async (plugin, skill) => {
|
|
1885
|
+
await ensurePluginCacheEntry(plugin, skill);
|
|
1886
|
+
return resolveAllowedSkillDir(root, plugin, skill, skillFsAllowedRoots());
|
|
1887
|
+
};
|
|
1880
1888
|
// Get skill detail
|
|
1881
1889
|
router.get("/api/skills/:plugin/:skill", async (req, res, params) => {
|
|
1882
1890
|
let skillDir;
|
|
1883
1891
|
try {
|
|
1884
|
-
skillDir = resolveSkillDirForFsRoute(params.plugin, params.skill);
|
|
1892
|
+
skillDir = await resolveSkillDirForFsRoute(params.plugin, params.skill);
|
|
1885
1893
|
}
|
|
1886
1894
|
catch (err) {
|
|
1887
1895
|
sendJson(res, { error: err.message }, 400, req);
|
|
@@ -1899,7 +1907,7 @@ export function registerRoutes(router, root, projectName) {
|
|
|
1899
1907
|
router.get("/api/skills/:plugin/:skill/files", async (req, res, params) => {
|
|
1900
1908
|
let skillDir;
|
|
1901
1909
|
try {
|
|
1902
|
-
skillDir = resolveSkillDirForFsRoute(params.plugin, params.skill);
|
|
1910
|
+
skillDir = await resolveSkillDirForFsRoute(params.plugin, params.skill);
|
|
1903
1911
|
}
|
|
1904
1912
|
catch (err) {
|
|
1905
1913
|
sendJson(res, { error: err.message }, 400, req);
|
|
@@ -1960,7 +1968,7 @@ export function registerRoutes(router, root, projectName) {
|
|
|
1960
1968
|
router.get("/api/skills/:plugin/:skill/file", async (req, res, params) => {
|
|
1961
1969
|
let skillDir;
|
|
1962
1970
|
try {
|
|
1963
|
-
skillDir = resolveSkillDirForFsRoute(params.plugin, params.skill);
|
|
1971
|
+
skillDir = await resolveSkillDirForFsRoute(params.plugin, params.skill);
|
|
1964
1972
|
}
|
|
1965
1973
|
catch (err) {
|
|
1966
1974
|
sendJson(res, { error: err.message }, 400, req);
|