agent-skillboard 0.2.18 → 0.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/CHANGELOG.md +43 -0
- package/README.md +129 -258
- package/docs/adapters.md +37 -113
- package/docs/ai-skill-routing-goal.md +35 -109
- package/docs/capabilities.md +17 -104
- package/docs/install.md +36 -485
- package/docs/policy-model.md +50 -280
- package/docs/positioning.md +19 -86
- package/docs/profiles.md +21 -153
- package/docs/reference.md +115 -363
- package/docs/rollout-runbook.md +23 -25
- package/docs/routing.md +23 -90
- package/docs/user-flow.md +60 -284
- package/docs/value-proof.md +23 -181
- package/docs/variant-lifecycle.md +47 -67
- package/docs/versioning.md +31 -264
- package/examples/v2-multi-source.config.yaml +35 -0
- package/examples/v2-policy-error.config.yaml +6 -0
- package/package.json +1 -1
- package/src/advisor/actions.mjs +102 -6
- package/src/advisor/application-commands.mjs +10 -9
- package/src/advisor/apply-action.mjs +74 -1
- package/src/advisor/guidance.mjs +24 -16
- package/src/advisor/schema.mjs +17 -6
- package/src/advisor/skills.mjs +18 -5
- package/src/advisor.mjs +27 -9
- package/src/agent-integration-cli.mjs +13 -4
- package/src/agent-integration-content.mjs +21 -11
- package/src/agent-integration-files.mjs +1 -1
- package/src/agent-inventory-platforms.mjs +10 -0
- package/src/agent-inventory.mjs +23 -1
- package/src/agent-skill-import.mjs +2 -2
- package/src/audit-paths.mjs +42 -0
- package/src/brief-cli.mjs +3 -2
- package/src/brief-renderer.mjs +1 -0
- package/src/cli.mjs +498 -232
- package/src/compatibility.mjs +24 -0
- package/src/control/can-use-guard.mjs +21 -1
- package/src/control/config-write.mjs +32 -2
- package/src/control/skill-crud.mjs +5 -0
- package/src/control/v2-guard.mjs +175 -0
- package/src/control/v2-skill-crud.mjs +32 -0
- package/src/control/v2-skill-forget.mjs +38 -0
- package/src/control/variant-status.mjs +47 -1
- package/src/control.mjs +55 -0
- package/src/doctor.mjs +63 -4
- package/src/domain/v2-policy.mjs +111 -0
- package/src/hook-plan.mjs +33 -3
- package/src/impact.mjs +52 -29
- package/src/index.mjs +25 -1
- package/src/init.mjs +50 -34
- package/src/inventory-install-units.mjs +63 -0
- package/src/inventory-json.mjs +279 -0
- package/src/inventory-refresh.mjs +163 -18
- package/src/lifecycle-cli.mjs +40 -12
- package/src/lifecycle-content.mjs +52 -67
- package/src/migration/v1-to-v2.mjs +212 -0
- package/src/migration/v2-files.mjs +211 -0
- package/src/migration/v2-journal.mjs +169 -0
- package/src/migration/v2-projection.mjs +108 -0
- package/src/migration/v2-transaction.mjs +205 -0
- package/src/policy.mjs +3 -0
- package/src/reconcile.mjs +139 -111
- package/src/report.mjs +168 -148
- package/src/review.mjs +2 -0
- package/src/route-advisory.mjs +47 -2
- package/src/route-selection.mjs +38 -2
- package/src/route.mjs +62 -2
- package/src/shared-skill.mjs +301 -0
- package/src/source-digest.mjs +42 -0
- package/src/source-profiles.mjs +171 -144
- package/src/source-verification.mjs +32 -48
- package/src/uninstall.mjs +22 -0
- package/src/user-state-paths.mjs +19 -0
- package/src/user-uninstall.mjs +146 -0
- package/src/workspace.mjs +119 -79
package/docs/routing.md
CHANGED
|
@@ -1,100 +1,33 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Routing
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
Routing chooses among skills already available to the current agent. Guard
|
|
4
|
+
decides availability from valid generated inventory, `enabled`, and
|
|
5
|
+
`installed_on`; routing cannot override that verdict.
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
remain broadly available, and routing only chooses the skill that should steer
|
|
8
|
-
this request. When several allowed skills match, the response includes
|
|
9
|
-
`overlap_resolution` so the AI can explain that the other skills stayed
|
|
10
|
-
available while the workflow routed to one selected skill.
|
|
7
|
+
## Resolution order
|
|
11
8
|
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
1. Remove skills missing valid inventory records.
|
|
10
|
+
2. Remove disabled skills.
|
|
11
|
+
3. Remove skills not installed for the selected agent.
|
|
12
|
+
4. Honor an explicit user-selected skill if it remains eligible.
|
|
13
|
+
5. Rank intent matches by optional preference and priority.
|
|
14
|
+
6. Return one recommendation and ordered fallbacks.
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
skillboard brief \
|
|
17
|
-
--intent "write tests before implementation" \
|
|
18
|
-
--workflow codex-night-workflow \
|
|
19
|
-
--config skillboard.config.yaml \
|
|
20
|
-
--skills skills \
|
|
21
|
-
--json
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
Read `assistant_guidance.route` from the JSON output. It includes:
|
|
25
|
-
|
|
26
|
-
- `matched_capability`
|
|
27
|
-
- `match_source`
|
|
28
|
-
- `confidence`
|
|
29
|
-
- `matched_terms`
|
|
30
|
-
- `recommendation_reason`
|
|
31
|
-
- `recommended_skill`
|
|
32
|
-
- `fallback_skills`
|
|
33
|
-
- `route_candidates`
|
|
34
|
-
- `overlap_resolution`
|
|
35
|
-
- `policy_memory`
|
|
36
|
-
- `post_use_policy_suggestion`
|
|
37
|
-
- `guard_command`
|
|
38
|
-
- `usage_disclosure`
|
|
39
|
-
|
|
40
|
-
When `guard_allowed` is true, the AI should run the guard automatically before
|
|
41
|
-
using the skill. It should not ask for another approval. It should disclose the
|
|
42
|
-
skill at the start and at completion:
|
|
43
|
-
|
|
44
|
-
```text
|
|
45
|
-
I will use <skill-id> for this request.
|
|
46
|
-
I used <skill-id> for this request.
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
When several skills match, inspect `route_candidates` before acting. Each entry
|
|
50
|
-
shows the candidate skill, whether it was selected, whether the guard currently
|
|
51
|
-
allows it, and the guard reason when it is denied. This is the field that tells
|
|
52
|
-
an AI why a preferred skill was skipped and an allowed fallback was selected.
|
|
53
|
-
Inspect `overlap_resolution` first when it is present: `status: resolved` with
|
|
54
|
-
`mode: permissive-routing` means multiple allowed skills matched, SkillBoard
|
|
55
|
-
kept them available, and the current workflow still has one deterministic route.
|
|
56
|
-
When `policy_memory` is present, remembered or configured workflow policy
|
|
57
|
-
selected the routed skill while other allowed skills were also available. The AI
|
|
58
|
-
should mention that after completion so the user knows a stored policy
|
|
59
|
-
preference shaped the route.
|
|
60
|
-
|
|
61
|
-
When routing is safe but policy learning would reduce future ambiguity,
|
|
62
|
-
SkillBoard may return `post_use_policy_suggestion`. This includes cases where a
|
|
63
|
-
preferred skill is denied and an allowed fallback is selected, or where multiple
|
|
64
|
-
allowed workflow-bound skills match and one allowed skill is selected
|
|
65
|
-
deterministically. The AI should keep the task moving with the allowed routed
|
|
66
|
-
skill, then ask after completion whether to remember that skill as the preferred
|
|
67
|
-
workflow policy. The suggested policy command is informational until the user
|
|
68
|
-
confirms it.
|
|
69
|
-
|
|
70
|
-
Use `route` directly when an automation layer only needs the recommendation
|
|
71
|
-
payload:
|
|
16
|
+
Preference ranks only and never changes availability.
|
|
72
17
|
|
|
73
18
|
```bash
|
|
74
|
-
skillboard
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
--skills skills \
|
|
78
|
-
--json
|
|
19
|
+
skillboard brief --intent "write tests" --agent codex --json
|
|
20
|
+
skillboard route "write tests" --agent codex --json
|
|
21
|
+
skillboard guard use test-first --agent codex --json
|
|
79
22
|
```
|
|
80
23
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
Routing does not invoke the skill. The final boundary is still:
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
skillboard guard use <skill-id> \
|
|
90
|
-
--workflow codex-night-workflow \
|
|
91
|
-
--config skillboard.config.yaml \
|
|
92
|
-
--skills skills
|
|
93
|
-
```
|
|
24
|
+
These commands use `~/skillboard.config.yaml` and
|
|
25
|
+
`~/.skillboard/inventory.json` from any working directory. Advanced
|
|
26
|
+
`--config` and `--skills` overrides remain available for migration, testing,
|
|
27
|
+
and legacy workspaces.
|
|
94
28
|
|
|
95
|
-
|
|
96
|
-
|
|
29
|
+
When guard allows use, continue without another approval. Ask after completion
|
|
30
|
+
only when remembering a preference would reduce future ambiguity.
|
|
97
31
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
guard and disclosure fields.
|
|
32
|
+
Source and provenance findings are optional audit metadata and never determine
|
|
33
|
+
availability. Runtime and action authorization are outside SkillBoard's scope.
|
package/docs/user-flow.md
CHANGED
|
@@ -1,325 +1,101 @@
|
|
|
1
|
-
#
|
|
1
|
+
# User Flow
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
SkillBoard is a user-level control plane, not a per-project setup step. Users
|
|
4
|
+
enable or disable skills and may opt individual skills into cross-agent sharing.
|
|
5
|
+
Installed skills default to enabled and agent-local.
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
implementation", "review this plan and point out weak assumptions", or "help me
|
|
8
|
-
refine this UX flow," the AI should work normally. SkillBoard becomes relevant
|
|
9
|
-
when skill choice is ambiguous, several skills overlap, workflow priority
|
|
10
|
-
matters, or you explicitly ask for a SkillBoard or skill decision such as "what
|
|
11
|
-
skills can you use here?" or "make this reviewed skill available for this
|
|
12
|
-
workflow." In those cases, the AI should read the current brief, show the
|
|
13
|
-
relevant choice, ask only before applying one current action id when policy
|
|
14
|
-
would change, and run the final guard automatically before invocation. For an
|
|
15
|
-
already-allowed skill, the AI should state which skill it is about to use and
|
|
16
|
-
which skill it used when reporting the result, not ask for another approval.
|
|
17
|
-
That disclosure is an audit trace, not a permission prompt. If you explicitly
|
|
18
|
-
ask for a specific already-allowed skill, the AI should honor that request after
|
|
19
|
-
guard use instead of rerouting away solely because another skill also matches.
|
|
20
|
-
You do not need to memorize the SkillBoard command loop. The command examples
|
|
21
|
-
below are AI/automation/operator details for the agent, scripts, or people
|
|
22
|
-
maintaining the setup.
|
|
23
|
-
|
|
24
|
-
If you ask OpenCode to use a skill you previously used in Codex, the target
|
|
25
|
-
agent should call:
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
skillboard import-skill --from codex --to opencode --skill <skill> --json
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
Compatible skills are installed into the target agent's user skill root. When
|
|
32
|
-
the source is agent-specific, the agent should explain the compatibility issue
|
|
33
|
-
and ask before producing a target-agent adapted `SKILL.md`.
|
|
34
|
-
|
|
35
|
-
Before changing this routing or workflow UX, read
|
|
36
|
-
[`docs/ai-skill-routing-goal.md`](ai-skill-routing-goal.md). The goal is to keep
|
|
37
|
-
SkillBoard non-blocking: observe the request, route to the current best skill,
|
|
38
|
-
work normally, explain briefly, ask after use only when a policy preference would
|
|
39
|
-
help, and remember that usage policy without rewriting skill bodies.
|
|
40
|
-
|
|
41
|
-
## 1. Start From Agent-Layer Setup
|
|
42
|
-
|
|
43
|
-
AI/automation/operator details:
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
skillboard setup --agent codex,claude,opencode,hermes --yes
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
Package install and `skillboard setup` write user-agent guidance only. They do
|
|
50
|
-
not create `skillboard.config.yaml`, `.skillboard/`, `AGENTS.md`, or
|
|
51
|
-
`CLAUDE.md` in projects. `skillboard init` is deprecated project-local policy
|
|
52
|
-
bootstrap and is not needed for normal use; use it only when maintaining an
|
|
53
|
-
existing workspace that intentionally keeps local SkillBoard policy files. Use
|
|
54
|
-
`skillboard doctor --strict` only for an existing policy workspace when
|
|
55
|
-
review-needed safe-mode warnings should fail automation.
|
|
56
|
-
|
|
57
|
-
When the user asks the agent what it can use, the agent should read the current
|
|
58
|
-
brief with `skillboard brief --json` first and answer from the brief rather than
|
|
59
|
-
reading skill files directly. The user-facing text output uses sections such as
|
|
60
|
-
"What your AI can use now", "Needs your decision", and "Blocked for safety";
|
|
61
|
-
text briefs include previewable action cards by default, while the JSON form
|
|
62
|
-
keeps action cards opt-in. For large skill sets, the default text brief stays
|
|
63
|
-
compact: counts, top categories, next safe action, short previews per section,
|
|
64
|
-
and short action summaries. Use `skillboard brief --verbose` when an operator
|
|
65
|
-
needs every skill and full copyable command details. Those action cards are
|
|
66
|
-
suggestions only: the agent should pick one current action id from the brief,
|
|
67
|
-
request confirmation before applying risk-bearing changes, then run
|
|
68
|
-
`skillboard apply-action <action-id> --config skillboard.config.yaml --skills skills --yes --json`
|
|
69
|
-
with `--workflow <name>` when a workflow is selected. The agent should read the
|
|
70
|
-
returned post-apply brief before making the next availability claim.
|
|
71
|
-
`apply-action` re-resolves the current brief and refuses stale action ids instead
|
|
72
|
-
of replaying cached action-card shell text.
|
|
73
|
-
|
|
74
|
-
When a normal request leaves skill choice ambiguous, several skills overlap,
|
|
75
|
-
workflow priority matters, or the user asks for a SkillBoard or skill decision,
|
|
76
|
-
the agent can keep the same brief flow and include the user request as intent:
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
skillboard brief --intent "write tests before implementation" --workflow daily-workflow --config skillboard.config.yaml --skills skills --json
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
The returned `assistant_guidance.route` maps the request to a declared workflow
|
|
83
|
-
capability or a workflow-bound skill metadata match, returns the recommended
|
|
84
|
-
skill and fallbacks, and includes `match_source`, `matched_terms`,
|
|
85
|
-
`recommendation_reason`, `route_candidates`, `overlap_resolution`,
|
|
86
|
-
`policy_memory`,
|
|
87
|
-
`post_use_policy_suggestion`, and the `skillboard guard use ...` command that
|
|
88
|
-
still needs to pass immediately before invocation. `overlap_resolution`
|
|
89
|
-
summarizes permissive routing when several allowed skills match.
|
|
90
|
-
`route_candidates` is the per-skill decision trace: it shows which matching
|
|
91
|
-
skill was selected, which candidates were denied, and the guard reason when a
|
|
92
|
-
preferred skill was skipped for an allowed fallback.
|
|
93
|
-
`policy_memory` appears when remembered or configured workflow policy selected
|
|
94
|
-
the routed skill while other allowed skills were also available; the agent
|
|
95
|
-
should mention that after completion so the user understands the prior choice
|
|
96
|
-
shaped the route.
|
|
97
|
-
`post_use_policy_suggestion` is the ask-after-use hook: if it is present, the
|
|
98
|
-
agent should use the allowed routed skill first, then ask after completion
|
|
99
|
-
whether to remember the suggested preference. Metadata matching can
|
|
100
|
-
use declared skill id, path, category, and `SKILL.md` frontmatter
|
|
101
|
-
name/description; it does not semantically rank raw skill bodies. If a
|
|
102
|
-
recommended skill is already allowed, the agent should disclose it at the start
|
|
103
|
-
and completion rather than ask for another approval. If the user explicitly
|
|
104
|
-
requests a specific already-allowed skill, the agent should honor that request
|
|
105
|
-
after guard use instead of rerouting away solely because another skill also
|
|
106
|
-
matches. If no capability or workflow-bound skill matches, the agent should ask
|
|
107
|
-
a clarifying question instead of guessing from raw `SKILL.md` text. Operators can still call
|
|
108
|
-
`skillboard route ...` directly when they only need the recommendation payload.
|
|
109
|
-
|
|
110
|
-
Run this again after installing agent packages, plugins, workflow bundles, or
|
|
111
|
-
harnesses:
|
|
112
|
-
|
|
113
|
-
```bash
|
|
114
|
-
skillboard inventory refresh --dry-run
|
|
115
|
-
skillboard inventory refresh
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
## 2. Add A User-Owned Skill
|
|
119
|
-
|
|
120
|
-
AI/automation/operator details:
|
|
121
|
-
|
|
122
|
-
Create the skill under the project `skills/` directory:
|
|
123
|
-
|
|
124
|
-
```bash
|
|
125
|
-
mkdir -p skills/user-helper
|
|
126
|
-
$EDITOR skills/user-helper/SKILL.md
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
Register it without making it callable yet:
|
|
130
|
-
|
|
131
|
-
```bash
|
|
132
|
-
skillboard add skill user.helper \
|
|
133
|
-
--path user-helper \
|
|
134
|
-
--config skillboard.config.yaml \
|
|
135
|
-
--skills skills \
|
|
136
|
-
--dry-run
|
|
137
|
-
|
|
138
|
-
skillboard add skill user.helper \
|
|
139
|
-
--path user-helper \
|
|
140
|
-
--config skillboard.config.yaml \
|
|
141
|
-
--skills skills
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
The dry run reports semantic YAML changes and leaves the config untouched. The
|
|
145
|
-
real command adds the skill as a direct user-owned `candidate` by default.
|
|
146
|
-
|
|
147
|
-
Create a workflow or harness for the skill without hand-editing YAML:
|
|
7
|
+
## 1. Install and ask normally
|
|
148
8
|
|
|
149
9
|
```bash
|
|
150
|
-
|
|
151
|
-
--config skillboard.config.yaml \
|
|
152
|
-
--skills skills
|
|
153
|
-
|
|
154
|
-
skillboard add workflow daily-workflow \
|
|
155
|
-
--harness codex \
|
|
156
|
-
--skill user.helper \
|
|
157
|
-
--config skillboard.config.yaml \
|
|
158
|
-
--skills skills
|
|
10
|
+
npm install -g agent-skillboard
|
|
159
11
|
```
|
|
160
12
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
## 3. Inspect Influence Before Use
|
|
166
|
-
|
|
167
|
-
AI/automation/operator details:
|
|
13
|
+
Postinstall creates `~/skillboard.config.yaml`, refreshes
|
|
14
|
+
`~/.skillboard/inventory.json`, and installs managed guidance for detected
|
|
15
|
+
agents. No project init is needed. If setup was skipped:
|
|
168
16
|
|
|
169
17
|
```bash
|
|
170
|
-
skillboard
|
|
171
|
-
--config skillboard.config.yaml \
|
|
172
|
-
--skills skills
|
|
173
|
-
|
|
174
|
-
skillboard can-use user.helper \
|
|
175
|
-
--workflow daily-workflow \
|
|
176
|
-
--config skillboard.config.yaml \
|
|
177
|
-
--skills skills
|
|
178
|
-
|
|
179
|
-
skillboard impact disable user.helper \
|
|
180
|
-
--config skillboard.config.yaml \
|
|
181
|
-
--skills skills \
|
|
182
|
-
--out .skillboard/reports/user-helper-impact.md
|
|
18
|
+
skillboard setup --yes --agent codex
|
|
183
19
|
```
|
|
184
20
|
|
|
185
|
-
|
|
186
|
-
capability roles. `can-use` is the machine-readable gate for agents. `impact`
|
|
187
|
-
shows which workflows and required outputs would be affected before disabling or
|
|
188
|
-
removing a skill.
|
|
189
|
-
|
|
190
|
-
For an actual invocation, `brief` is not the final permission check. Agents
|
|
191
|
-
should run `skillboard guard use ...` automatically immediately before calling a
|
|
192
|
-
skill so state changes made after the brief cannot slip through. A passing guard
|
|
193
|
-
does not require another user prompt; the agent should disclose the skill use at
|
|
194
|
-
the start and in the final result. That disclosure is an audit trace, not a
|
|
195
|
-
permission prompt.
|
|
196
|
-
|
|
197
|
-
When wiring a guard hook from an action card, keep `apply-action` as the
|
|
198
|
-
action-card primary flow:
|
|
199
|
-
|
|
200
|
-
```bash
|
|
201
|
-
skillboard apply-action <action-id> --workflow daily-workflow --config skillboard.config.yaml --skills skills --yes --json
|
|
202
|
-
```
|
|
21
|
+
## 2. Observe and route
|
|
203
22
|
|
|
204
|
-
|
|
205
|
-
materializing an executable guard hook outside the action-card control loop:
|
|
23
|
+
From any directory, the agent reads:
|
|
206
24
|
|
|
207
25
|
```bash
|
|
208
|
-
skillboard
|
|
209
|
-
skillboard
|
|
26
|
+
skillboard brief --intent "<request>" --agent codex --json
|
|
27
|
+
skillboard guard use <skill-id> --agent codex --json
|
|
210
28
|
```
|
|
211
29
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
set those values with hook install options such as `--skillboard-bin`, not with
|
|
216
|
-
runtime environment overrides.
|
|
217
|
-
|
|
218
|
-
## 4. Enable, Disable, Or Prefer
|
|
219
|
-
|
|
220
|
-
AI/automation/operator details:
|
|
30
|
+
The guard allows an enabled skill only when generated inventory records it on
|
|
31
|
+
the selected agent. Preference ranks matching candidates and never changes
|
|
32
|
+
availability. Allowed use does not require another confirmation.
|
|
221
33
|
|
|
222
|
-
|
|
34
|
+
## 3. Change one decision
|
|
223
35
|
|
|
224
36
|
```bash
|
|
225
|
-
skillboard
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
37
|
+
skillboard skill enable <skill-id>
|
|
38
|
+
skillboard skill disable <skill-id>
|
|
39
|
+
skillboard skill share <skill-id>
|
|
40
|
+
skillboard skill unshare <skill-id>
|
|
41
|
+
skillboard skill preference <skill-id> --intent <term>[,<term>] --priority <integer>
|
|
42
|
+
skillboard skill forget <skill-id>
|
|
229
43
|
```
|
|
230
44
|
|
|
231
|
-
|
|
232
|
-
|
|
45
|
+
Share copies the complete skill directory to SkillBoard's managed shared source
|
|
46
|
+
and compatible agent roots while preserving the owner copy. Unshare removes only
|
|
47
|
+
copies managed by SkillBoard. It never deletes agent-owned originals.
|
|
233
48
|
|
|
234
|
-
|
|
49
|
+
For AI mediation, read `brief --include-actions --json`, confirm one current
|
|
50
|
+
action, run `skillboard apply-action <action-id> --agent <agent> --yes --json`, and reread the
|
|
51
|
+
returned post-apply brief. Cached action ids are not reused.
|
|
235
52
|
|
|
236
|
-
|
|
237
|
-
skillboard block user.helper \
|
|
238
|
-
--workflow daily-workflow \
|
|
239
|
-
--config skillboard.config.yaml \
|
|
240
|
-
--skills skills
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
Prefer it for a capability when the workflow should depend on a role rather than
|
|
244
|
-
a raw skill id:
|
|
245
|
-
|
|
246
|
-
```bash
|
|
247
|
-
skillboard prefer user.helper \
|
|
248
|
-
--workflow daily-workflow \
|
|
249
|
-
--capability task-review \
|
|
250
|
-
--config skillboard.config.yaml \
|
|
251
|
-
--skills skills
|
|
252
|
-
```
|
|
53
|
+
## 4. Ask after, then remember
|
|
253
54
|
|
|
254
|
-
|
|
55
|
+
When a route was ambiguous, the agent finishes first. It may then ask whether to
|
|
56
|
+
remember an intent preference. Preference affects ordering only; it does not
|
|
57
|
+
share, enable, disable, install, or remove a skill.
|
|
255
58
|
|
|
256
|
-
|
|
59
|
+
## 5. Audit separately
|
|
257
60
|
|
|
258
|
-
|
|
61
|
+
Source and provenance are optional audit metadata and never determine
|
|
62
|
+
availability. Import is trust-neutral: valid discoveries default to enabled and
|
|
63
|
+
agent-local. Runtime and action authorization are outside SkillBoard's scope and
|
|
64
|
+
remain with the agent or harness.
|
|
259
65
|
|
|
260
|
-
|
|
261
|
-
skillboard remove skill user.helper \
|
|
262
|
-
--config skillboard.config.yaml \
|
|
263
|
-
--skills skills
|
|
264
|
-
```
|
|
66
|
+
## 6. Remove a skill cleanly
|
|
265
67
|
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
impact, remove the config declaration and references:
|
|
68
|
+
Remove the original skill with the agent, plugin, or package manager that owns
|
|
69
|
+
it. Then refresh observations and remove only its stale SkillBoard policy:
|
|
269
70
|
|
|
270
71
|
```bash
|
|
271
|
-
skillboard
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
--force \
|
|
275
|
-
--dry-run
|
|
276
|
-
|
|
277
|
-
skillboard remove skill user.helper \
|
|
278
|
-
--config skillboard.config.yaml \
|
|
279
|
-
--skills skills \
|
|
280
|
-
--force
|
|
72
|
+
skillboard inventory refresh
|
|
73
|
+
skillboard skill forget <skill-id> --dry-run
|
|
74
|
+
skillboard skill forget <skill-id>
|
|
281
75
|
```
|
|
282
76
|
|
|
283
|
-
|
|
284
|
-
`
|
|
285
|
-
|
|
286
|
-
## 6. Stop Using SkillBoard Safely
|
|
287
|
-
|
|
288
|
-
AI/automation/operator details:
|
|
289
|
-
|
|
290
|
-
Remove managed user-agent guidance first if global install/setup made agents
|
|
291
|
-
recognize SkillBoard and you want that agent-layer footprint gone:
|
|
292
|
-
|
|
293
|
-
```bash
|
|
294
|
-
skillboard uninstall --agent-layer --dry-run
|
|
295
|
-
skillboard uninstall --agent-layer
|
|
296
|
-
```
|
|
77
|
+
Forget refuses a skill that is still observed or has `shared: true`. Unshare it
|
|
78
|
+
before removing the owner copy. Forget never deletes a `SKILL.md` or directory.
|
|
297
79
|
|
|
298
|
-
|
|
299
|
-
SkillBoard agent integration marker. It preserves other agent skills and
|
|
300
|
-
user-authored `skillboard` skills.
|
|
80
|
+
## 7. Uninstall SkillBoard cleanly
|
|
301
81
|
|
|
302
82
|
```bash
|
|
303
|
-
skillboard uninstall --dry-run
|
|
304
|
-
skillboard uninstall
|
|
83
|
+
skillboard uninstall --user --dry-run
|
|
84
|
+
skillboard uninstall --user --yes
|
|
85
|
+
npm uninstall -g agent-skillboard
|
|
305
86
|
```
|
|
306
87
|
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
content in bridge files.
|
|
88
|
+
The preview lists every marker-owned shared copy, managed guidance file, and
|
|
89
|
+
home state path. Apply requires `--yes`, preserves agent-owned and unmanaged
|
|
90
|
+
skills, and does not touch project files.
|
|
311
91
|
|
|
312
|
-
|
|
313
|
-
settings preservation explicitly:
|
|
92
|
+
## 8. Migrate version 1
|
|
314
93
|
|
|
315
94
|
```bash
|
|
316
|
-
skillboard
|
|
317
|
-
skillboard
|
|
95
|
+
skillboard migrate v2 --config <path> --json
|
|
96
|
+
skillboard migrate v2 --config <path> --yes --json
|
|
97
|
+
skillboard migrate v2 --config <path> --rollback <backup> --json
|
|
318
98
|
```
|
|
319
99
|
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
SkillBoard config even if it contains imported skills or workflow edits, remove
|
|
323
|
-
generated dashboard and impact reports, and remove the entire `.skillboard/`
|
|
324
|
-
project state directory, including hooks, source caches, rollout logs, variant
|
|
325
|
-
snapshots, and profiles. Local `skills/` files stay in place.
|
|
100
|
+
Version 1 remains readable but immutable for the v0.3.x one-release read-only
|
|
101
|
+
window. v0.4.0 removes the v1 reader. No ordinary command migrates implicitly.
|