skilld-harness 3.0.0-beta.1 → 3.0.0-beta.3
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/dist/skills/skilld/SKILL.md +62 -6
- package/package.json +20 -22
|
@@ -1,25 +1,74 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: skilld
|
|
3
|
-
description: Search, view, install,
|
|
3
|
+
description: Search, run, view, install, update, verify, and remove Skills with skilld CLI, including private repository access.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Use skilld CLI
|
|
7
7
|
|
|
8
|
-
Use skilld CLI to search for and install Skills.
|
|
8
|
+
Use skilld CLI to search for, run, and install Skills.
|
|
9
|
+
|
|
10
|
+
Run a Skill first. Install a Skill only when the user asks to keep it.
|
|
9
11
|
|
|
10
12
|
## Search for a Skill
|
|
11
13
|
|
|
12
14
|
Run a focused search:
|
|
13
15
|
|
|
14
16
|
```sh
|
|
15
|
-
skilld search <query>
|
|
17
|
+
skilld search <query> --json
|
|
16
18
|
```
|
|
17
19
|
|
|
18
|
-
Read
|
|
20
|
+
Read `data.items` before choosing a Skill.
|
|
21
|
+
Use each item's `selector` for a Skill run.
|
|
19
22
|
Refine the query when several Skills cover different tasks.
|
|
20
23
|
|
|
24
|
+
Always use `--json` when an Agent runs Skill search.
|
|
25
|
+
Check the exit code before reading stdout.
|
|
26
|
+
If search fails, read the tagged JSON error from stderr.
|
|
27
|
+
Use `--plain` only when another command needs stable text.
|
|
28
|
+
Never parse formatted terminal output.
|
|
29
|
+
|
|
30
|
+
## Run a Skill
|
|
31
|
+
|
|
32
|
+
Run the selector returned by search:
|
|
33
|
+
|
|
34
|
+
```sh
|
|
35
|
+
skilld run <selector> --json
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
The command prints SKILL.md and writes no Skill files.
|
|
39
|
+
It retains no remote Skill files after the command exits.
|
|
40
|
+
Read the printed SKILL.md, then follow it for the current task.
|
|
41
|
+
Prefer `skilld run` for a one-off task.
|
|
42
|
+
|
|
43
|
+
Read `data.files` for each supporting file's path, kind, and size.
|
|
44
|
+
The initial load prints no supporting file content.
|
|
45
|
+
Read one only when the instructions name it:
|
|
46
|
+
|
|
47
|
+
```sh
|
|
48
|
+
skilld run <selector> --revision <data.revision> --file <path> --json
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Run the exact `data.files[].readArgv` array when possible.
|
|
52
|
+
It contains the source, exact revision, file path, and `--json`.
|
|
53
|
+
Repeat `--file` to read several files in one command.
|
|
54
|
+
|
|
55
|
+
Check `data.files[].readable` before you ask for a file.
|
|
56
|
+
A file with `readable: false` never prints.
|
|
57
|
+
Its `kind` is `executable` or `binary`.
|
|
58
|
+
Tell the user the Skill needs an install to use that file.
|
|
59
|
+
|
|
60
|
+
Report which Skill you ran and that skilld wrote no Skill files.
|
|
61
|
+
Read `data.sourceStatus`, `data.origin`, and `data.revision`.
|
|
62
|
+
A `verified` status covers where the Skill came from.
|
|
63
|
+
It does not cover what the instructions ask you to do.
|
|
64
|
+
If the status is `unverified`, tell the user before you follow the Skill.
|
|
65
|
+
|
|
21
66
|
## Install a Skill
|
|
22
67
|
|
|
68
|
+
Install a Skill when the user wants it in every session.
|
|
69
|
+
Install a Skill when it must run its own script.
|
|
70
|
+
Ask the user before you install. An install writes files they did not request.
|
|
71
|
+
|
|
23
72
|
Install the selector returned by search into the detected Agent target:
|
|
24
73
|
|
|
25
74
|
```sh
|
|
@@ -57,11 +106,18 @@ Use `view` to show one Skill's path, source status, and Agent targets.
|
|
|
57
106
|
## Maintain installed Skills
|
|
58
107
|
|
|
59
108
|
```sh
|
|
60
|
-
skilld
|
|
109
|
+
skilld update <skill>
|
|
110
|
+
skilld update --check --json
|
|
61
111
|
skilld verify <skill>
|
|
62
112
|
skilld remove <skill>
|
|
63
113
|
```
|
|
64
114
|
|
|
65
|
-
Use `
|
|
115
|
+
Use `update --check --json` to inspect update relations without changing files.
|
|
116
|
+
Read each `data.items[].relation._tag` before changing files.
|
|
117
|
+
Use `update <skill>` only when the relation is `available`.
|
|
118
|
+
Treat `current`, `pinned`, and `notTracked` as no action.
|
|
119
|
+
If the relation is `behind` or `diverged`, ask before changing files.
|
|
120
|
+
If the relation is `unavailable`, report `failure.code` and `failure.message`.
|
|
121
|
+
Treat `unavailable` as unknown. Do not infer a newer commit.
|
|
66
122
|
Use `verify` to check the installed bytes and source status.
|
|
67
123
|
Use `remove` only when the request names the Skill to remove.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skilld-harness",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "3.0.0-beta.
|
|
4
|
+
"version": "3.0.0-beta.3",
|
|
5
5
|
"description": "Run skilld-maintained Skills with checked, atomic output",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Harlan Wilton",
|
|
@@ -44,6 +44,23 @@
|
|
|
44
44
|
"engines": {
|
|
45
45
|
"node": ">=22.0.0"
|
|
46
46
|
},
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"@ai-sdk/harness": "^1.0.87",
|
|
49
|
+
"yaml": "^2.9.0",
|
|
50
|
+
"zod": "^4.4.3"
|
|
51
|
+
},
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"@ai-sdk/provider-utils": "^5.0.30",
|
|
54
|
+
"@antfu/eslint-config": "^9.3.0",
|
|
55
|
+
"@arethetypeswrong/cli": "^0.18.5",
|
|
56
|
+
"@types/node": "^26.3.0",
|
|
57
|
+
"@typescript/native": "npm:typescript@7.0.2",
|
|
58
|
+
"eslint": "^10.9.1",
|
|
59
|
+
"obuild": "^0.4.38",
|
|
60
|
+
"publint": "^0.3.24",
|
|
61
|
+
"typescript": "npm:@typescript/typescript6@^6.0.2",
|
|
62
|
+
"vitest": "^4.1.11"
|
|
63
|
+
},
|
|
47
64
|
"scripts": {
|
|
48
65
|
"build": "obuild && node scripts/copy-skilld-maintained-skills.mjs",
|
|
49
66
|
"lint": "eslint .",
|
|
@@ -52,25 +69,6 @@
|
|
|
52
69
|
"test": "vitest",
|
|
53
70
|
"test:run": "vitest run",
|
|
54
71
|
"publint": "publint",
|
|
55
|
-
"attw": "node scripts/check-package-types.mjs"
|
|
56
|
-
"prepack": "pnpm run build"
|
|
57
|
-
},
|
|
58
|
-
"dependencies": {
|
|
59
|
-
"@ai-sdk/harness": "catalog:",
|
|
60
|
-
"ws": "catalog:",
|
|
61
|
-
"yaml": "catalog:",
|
|
62
|
-
"zod": "catalog:"
|
|
63
|
-
},
|
|
64
|
-
"devDependencies": {
|
|
65
|
-
"@ai-sdk/provider-utils": "catalog:",
|
|
66
|
-
"@antfu/eslint-config": "catalog:dev-lint",
|
|
67
|
-
"@arethetypeswrong/cli": "catalog:",
|
|
68
|
-
"@types/node": "catalog:dev-build",
|
|
69
|
-
"@typescript/native": "catalog:",
|
|
70
|
-
"eslint": "catalog:dev-lint",
|
|
71
|
-
"obuild": "catalog:dev-build",
|
|
72
|
-
"publint": "catalog:",
|
|
73
|
-
"typescript": "catalog:",
|
|
74
|
-
"vitest": "catalog:dev-test"
|
|
72
|
+
"attw": "node scripts/check-package-types.mjs"
|
|
75
73
|
}
|
|
76
|
-
}
|
|
74
|
+
}
|