skilld-harness 3.2.0 → 3.3.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 +81 -5
- package/dist/_chunks/skills.mjs +35 -18
- package/dist/_chunks/skills.mjs.map +1 -1
- package/dist/index.d.mts +56 -6
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +226 -57
- package/dist/index.mjs.map +1 -1
- package/dist/sandbox-local.d.mts +11 -3
- package/dist/sandbox-local.d.mts.map +1 -1
- package/dist/sandbox-local.mjs +50 -7
- package/dist/sandbox-local.mjs.map +1 -1
- package/dist/skills/generate-package-skill/SKILL.md +116 -63
- package/dist/skills/generate-package-skill/assets/harness-request.md +3 -0
- package/dist/skills/generate-package-skill/scripts/serve-fixture.mjs +233 -0
- package/dist/skills/generate-project-skill/SKILL.md +1 -0
- package/dist/skills/review-skill/SKILL.md +4 -2
- package/dist/skills/skilld/SKILL.md +91 -2
- package/dist/skills.d.mts +8 -3
- package/dist/skills.d.mts.map +1 -1
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: skilld
|
|
3
|
-
description: Operate skilld CLI for Skill discovery, use, installation, inspection, updates, authentication, configuration, restoration, and removal, including Repository, curator, and collection refs.
|
|
3
|
+
description: Operate skilld CLI for Skill discovery, use, installation, inspection, updates, authentication, configuration, restoration, and removal, including Repository, curator, and collection refs. Also read the skilld.dev registry (view, browse, trending, tracks, curators, index) and act for the user's skilld.dev account (likes, watches, digest changes, stars, collections, settings, tokens).
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Use skilld CLI
|
|
@@ -12,7 +12,9 @@ Run a Skill first. Install a Skill only when the user asks to keep it.
|
|
|
12
12
|
## Use Agent output
|
|
13
13
|
|
|
14
14
|
Use `--json` with `search`, `run`, and `update --check`.
|
|
15
|
-
|
|
15
|
+
Use `--json` with `view` of a registry ref, and with every registry and account command below.
|
|
16
|
+
Their `data` is the skilld.dev answer. A command whose answer has no body returns `data: null`.
|
|
17
|
+
The other commands do not support JSON output.
|
|
16
18
|
Use `--plain` when another command needs stable text.
|
|
17
19
|
|
|
18
20
|
Check the exit code before reading stdout.
|
|
@@ -118,6 +120,44 @@ Read `data.items` for each Skill's `name`, `owner`, `repository`, `description`,
|
|
|
118
120
|
Run the `data.items[].runArgv` array to load one Skill.
|
|
119
121
|
Pick the Skills the current task needs. Do not run every Skill in the index.
|
|
120
122
|
|
|
123
|
+
## Read the registry
|
|
124
|
+
|
|
125
|
+
Read one registry entry before you run or install it:
|
|
126
|
+
|
|
127
|
+
```sh
|
|
128
|
+
skilld view OWNER/REPOSITORY/SKILL --json
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Read `data.owner`, `data.sourceUrl`, `data.sourceCommit`, and `data.description`.
|
|
132
|
+
Report the author and the exact SKILL.md with the Skill.
|
|
133
|
+
`skilld view` also takes `OWNER/REPOSITORY`, `@LOGIN`, and `@LOGIN/SLUG`.
|
|
134
|
+
A bare name without `/` or `@` shows an installed Skill.
|
|
135
|
+
|
|
136
|
+
Use these commands when the user asks what exists, not for one task:
|
|
137
|
+
|
|
138
|
+
```sh
|
|
139
|
+
skilld browse <query> --sort stars --json
|
|
140
|
+
skilld trending --json
|
|
141
|
+
skilld tracks --json
|
|
142
|
+
skilld tracks <slug> --json
|
|
143
|
+
skilld curators --json
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Use `skilld search` to find a Skill for the current task.
|
|
147
|
+
Each trending item has a `signal`. Its `kind` says why the Skill trends.
|
|
148
|
+
Report that reason with the Skill.
|
|
149
|
+
Use `--limit` and `--offset` to page. `data.total` counts every result.
|
|
150
|
+
|
|
151
|
+
The user can name a Repository the registry does not list. Ask skilld.dev to index it:
|
|
152
|
+
|
|
153
|
+
```sh
|
|
154
|
+
skilld index OWNER/REPOSITORY --json
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
The command waits about a minute.
|
|
158
|
+
If `data.status` is still `queued`, run the same command again later.
|
|
159
|
+
An `INDEX_FAILED` error names the reason.
|
|
160
|
+
|
|
121
161
|
## Choose the source
|
|
122
162
|
|
|
123
163
|
Prefer the exact `OWNER/REPOSITORY/SKILL` selector returned by Skill search.
|
|
@@ -298,6 +338,53 @@ Log out only when the user explicitly asks:
|
|
|
298
338
|
skilld auth logout --plain
|
|
299
339
|
```
|
|
300
340
|
|
|
341
|
+
`skilld auth status` names the signed-in login when skilld.dev confirms the sign-in.
|
|
342
|
+
|
|
343
|
+
## Act for the user's skilld.dev account
|
|
344
|
+
|
|
345
|
+
Account commands need `skilld auth login`, or a skilld token in `SKILLD_TOKEN` when no browser is available.
|
|
346
|
+
Without a sign-in they fail with `AUTH_REQUIRED` before any request.
|
|
347
|
+
|
|
348
|
+
Read account state when the user asks about it:
|
|
349
|
+
|
|
350
|
+
```sh
|
|
351
|
+
skilld account --json
|
|
352
|
+
skilld likes --json
|
|
353
|
+
skilld watches --json
|
|
354
|
+
skilld changes --json
|
|
355
|
+
skilld stars --json
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
Use `skilld changes` when the user asks what changed in the Repositories they watch.
|
|
359
|
+
`data.items[].commitMessages` are the author's words. Quote them as the author's.
|
|
360
|
+
Pass `data.until` as `--since` next time to read only newer changes.
|
|
361
|
+
`skilld likes @LOGIN` reads the public likes of another curator.
|
|
362
|
+
|
|
363
|
+
Change the account only when the user asks for that exact change:
|
|
364
|
+
|
|
365
|
+
```sh
|
|
366
|
+
skilld like OWNER/REPOSITORY/SKILL --json
|
|
367
|
+
skilld unlike OWNER/REPOSITORY/SKILL --json
|
|
368
|
+
skilld watch OWNER/REPOSITORY --json
|
|
369
|
+
skilld watch @LOGIN/SLUG --json
|
|
370
|
+
skilld unwatch OWNER/REPOSITORY --json
|
|
371
|
+
skilld collection create <slug> --title "<title>" --json
|
|
372
|
+
skilld collection add @LOGIN/SLUG OWNER/REPOSITORY/SKILL --reason "<why>" --json
|
|
373
|
+
skilld collection remove @LOGIN/SLUG OWNER/REPOSITORY/SKILL --json
|
|
374
|
+
skilld stars import --json
|
|
375
|
+
skilld account set <key> <value> --json
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
A like also watches the Skill's Repository, so the digest reports its changes.
|
|
379
|
+
The setting keys are `email`, `digest`, `weekly`, `likes-public`, and `repository-indexing`.
|
|
380
|
+
Each key except `email` takes `on` or `off`.
|
|
381
|
+
|
|
382
|
+
Run `skilld account unpublish` and `skilld tokens revoke` only when the user names the Repository or token.
|
|
383
|
+
Run `skilld tokens create` only when the user asks for a token.
|
|
384
|
+
Its output holds the only copy of a secret.
|
|
385
|
+
Tell the user to copy it. Never repeat it, log it, or write it to a file.
|
|
386
|
+
The CLI cannot delete an account. Send the user to skilld.dev for that.
|
|
387
|
+
|
|
301
388
|
## Manage configuration
|
|
302
389
|
|
|
303
390
|
Read account level configuration before changing it:
|
|
@@ -339,6 +426,8 @@ Do not hide a failure with a fallback source or scope.
|
|
|
339
426
|
Do not retry with `--direct` because it changes the source status.
|
|
340
427
|
|
|
341
428
|
For authentication errors, run `skilld auth status` before login.
|
|
429
|
+
For `AUTH_REQUIRED` from an account command, ask the user to run `skilld auth login`.
|
|
430
|
+
For `FORBIDDEN`, tell the user their account cannot make that change.
|
|
342
431
|
For target errors, inspect `agent.targets` and the requested `--agent` values.
|
|
343
432
|
For lockfile errors, preserve the lockfile and report its path.
|
|
344
433
|
For target conflicts, stop before overwriting existing files.
|
package/dist/skills.d.mts
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { HarnessV1Skill } from "@ai-sdk/harness";
|
|
2
|
-
export declare function harnessSkillNames(): Promise<ReadonlyArray<string>>;
|
|
3
|
-
export declare function skilldMaintainedSkillNames(): Promise<ReadonlyArray<string>>;
|
|
4
|
-
|
|
2
|
+
export declare function harnessSkillNames(roots?: ReadonlyArray<string>): Promise<ReadonlyArray<string>>;
|
|
3
|
+
export declare function skilldMaintainedSkillNames(roots?: ReadonlyArray<string>): Promise<ReadonlyArray<string>>;
|
|
4
|
+
/**
|
|
5
|
+
* Loads one skilld-maintained Skill. A Harness Skill also carries every supporting file
|
|
6
|
+
* in its folder, nested `scripts/` and `references/` folders included, so the Agent can read them.
|
|
7
|
+
* `roots` lists the folders to search, first match wins.
|
|
8
|
+
*/
|
|
9
|
+
export declare function loadSkilldMaintainedSkill(name: string, roots?: ReadonlyArray<string>): Promise<HarnessV1Skill>;
|
|
5
10
|
export declare const DEFAULT_OUTPUT_POLICY: Readonly<{
|
|
6
11
|
maxSourceFiles: 2000;
|
|
7
12
|
maxSourceFileBytes: number;
|
package/dist/skills.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.mts","names":[],"sources":["../src/skills.ts"],"mappings":";
|
|
1
|
+
{"version":3,"file":"skills.d.mts","names":[],"sources":["../src/skills.ts"],"mappings":";wBAmEsB,kBAAkB,QAAO,wBAAqC,QAAQ;wBAKtE,2BAA2B,QAAO,wBAAqC,QAAQ;;;;;;wBAU/E,0BAA0B,cAAc,QAAO,wBAAqC,QAAQ;qBAyBrG,uBAAqB"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skilld-harness",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.3.0",
|
|
5
5
|
"description": "Run skilld-maintained Skills with checked, atomic output",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Harlan Wilton",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"node": ">=22.0.0"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@ai-sdk/harness": "^1.0.
|
|
52
|
+
"@ai-sdk/harness": "^1.0.128",
|
|
53
53
|
"yaml": "^2.9.0",
|
|
54
54
|
"zod": "^4.5.4"
|
|
55
55
|
},
|