@kisev/skills-opencode 2.2.3 → 2.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 +31 -204
- package/README.ru.md +31 -205
- package/dist/agent-profiles.js +4 -4
- package/dist/catalog.d.ts +1 -1
- package/dist/catalog.js +2 -1
- package/dist/cli-output.js +4 -3
- package/dist/cli.js +421 -20
- package/dist/doctor.js +2 -10
- package/dist/installer.js +4 -3
- package/dist/package-metadata.d.ts +4 -0
- package/dist/package-metadata.js +42 -0
- package/dist/registry.js +2 -1
- package/dist/terminal-wizard.d.ts +1 -0
- package/dist/terminal-wizard.js +120 -8
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -2,89 +2,39 @@
|
|
|
2
2
|
|
|
3
3
|
[Русский](README.ru.md)
|
|
4
4
|
|
|
5
|
-
`@kisev/skills-opencode
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
`@kisev/skills-opencode` is the first-class OpenCode-specific component of
|
|
6
|
+
Agent Skills. It complements the portable skills but has its own installation,
|
|
7
|
+
update, and removal lifecycle.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## What It Adds
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
- OpenCode slash-command adapters for installed portable skills and package tools.
|
|
12
|
+
- Six fixed agents: `manager`, `architect`, `mapper`, `worker`, `review`, and
|
|
13
|
+
`critic`.
|
|
14
|
+
- Capability routing, doctor, reconcile, and agent-profile tooling.
|
|
15
|
+
- Optional `rules-injector`, `rtk`, and `zed-bell` plugin wrappers.
|
|
12
16
|
|
|
13
|
-
|
|
14
|
-
| ------------------ | ---------------------------- | --------------------------------------------------------- |
|
|
15
|
-
| npm package | project `node_modules` | `node_modules` in the npm project at `~/.config/opencode` |
|
|
16
|
-
| Commands | `.opencode/commands` | `~/.config/opencode/commands` |
|
|
17
|
-
| Agents | `.opencode/agents` | `~/.config/opencode/agents` |
|
|
18
|
-
| Optional wrappers | `.opencode/plugins` | `~/.config/opencode/plugins` |
|
|
19
|
-
| Ownership metadata | `.opencode/.skills-opencode` | `~/.config/opencode/.skills-opencode` |
|
|
17
|
+
The package does not contain, install, update, or remove portable skills.
|
|
20
18
|
|
|
21
|
-
|
|
22
|
-
exits. Import, plugin loading, and npm lifecycle scripts do not install assets,
|
|
23
|
-
install portable skills, or edit OpenCode configuration.
|
|
19
|
+
## Requirements
|
|
24
20
|
|
|
25
|
-
|
|
21
|
+
- Node.js 22 or later.
|
|
22
|
+
- OpenCode `>=1.18.29 <1.19.0`.
|
|
23
|
+
- A persistent npm project that owns the dependency.
|
|
26
24
|
|
|
27
|
-
|
|
25
|
+
## Project Install
|
|
28
26
|
|
|
29
|
-
Install in the repository's npm project and
|
|
27
|
+
Install the package in the repository's npm project and preview the managed
|
|
28
|
+
assets:
|
|
30
29
|
|
|
31
30
|
```shell
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
npm exec -- skills-opencode install --scope project --dry-run
|
|
31
|
+
npm install --save-exact @kisev/skills-opencode
|
|
32
|
+
npx --yes @kisev/skills-opencode@latest install --scope project --dry-run
|
|
35
33
|
```
|
|
36
34
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
### Global Scope
|
|
41
|
-
|
|
42
|
-
Use `~/.config/opencode` as the persistent npm project:
|
|
43
|
-
|
|
44
|
-
```shell
|
|
45
|
-
mkdir -p "$HOME/.config/opencode"
|
|
46
|
-
cd "$HOME/.config/opencode"
|
|
47
|
-
test -f package.json || npm init --yes
|
|
48
|
-
npm install --save-exact @kisev/skills-opencode@2.2.3
|
|
49
|
-
npm exec -- skills-opencode install --scope global --dry-run
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
Keep the dependency in that npm project's `package.json` and lock file.
|
|
53
|
-
Confirmed assets go under `~/.config/opencode`.
|
|
54
|
-
|
|
55
|
-
## Select Assets
|
|
56
|
-
|
|
57
|
-
In a TTY, `install` opens four selection groups: Skill command adapters, Package
|
|
58
|
-
command adapters, Fixed agents, and Selectable plugins. The two command groups
|
|
59
|
-
and six fixed agents start selected; optional plugins start unselected. Skill
|
|
60
|
-
command adapters are OpenCode slash commands that load an already-installed
|
|
61
|
-
same-named portable skill. Package command adapters invoke package tools. A
|
|
62
|
-
command adapter selection never selects or installs a skill.
|
|
63
|
-
|
|
64
|
-
Outside a TTY, pass all three selection groups. This example selects three
|
|
65
|
-
commands, all fixed agents, and no wrapper:
|
|
66
|
-
|
|
67
|
-
```shell
|
|
68
|
-
npm exec -- skills-opencode install --scope project \
|
|
69
|
-
--commands doctor,reconcile,agent-profiles \
|
|
70
|
-
--agents manager,architect,mapper,worker,review,critic \
|
|
71
|
-
--plugins none --dry-run
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
If any selection flag is present outside a TTY, `--commands`, `--agents`, and
|
|
75
|
-
`--plugins` are all required. Query exact current names with:
|
|
76
|
-
|
|
77
|
-
```shell
|
|
78
|
-
npm exec -- skills-opencode capabilities --json
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
The selectable wrappers are `rules-injector`, `rtk`, and `zed-bell`.
|
|
82
|
-
|
|
83
|
-
## Activate the Core Plugin
|
|
84
|
-
|
|
85
|
-
The installer records whether the selection needs core integration, but never
|
|
86
|
-
creates or edits `opencode.json`. Add the package to the user-owned `plugin`
|
|
87
|
-
array for the same scope while preserving existing entries:
|
|
35
|
+
Run the exact confirmation command printed by the preview. If the selected
|
|
36
|
+
assets need core integration, add the package to the user-owned OpenCode
|
|
37
|
+
configuration while preserving existing entries:
|
|
88
38
|
|
|
89
39
|
```json
|
|
90
40
|
{
|
|
@@ -93,139 +43,16 @@ array for the same scope while preserving existing entries:
|
|
|
93
43
|
}
|
|
94
44
|
```
|
|
95
45
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
under `~/.config/opencode`. Restart OpenCode after activation or asset changes.
|
|
99
|
-
|
|
100
|
-
## Preview and Confirm
|
|
101
|
-
|
|
102
|
-
Every mutation begins with `--dry-run`. The preview reports operations,
|
|
103
|
-
conflicts, restart requirements, receipt expiry, separate plan and confirmation
|
|
104
|
-
digests, and the exact confirmation command. If reconcile reports modified
|
|
105
|
-
managed files or ownership conflicts, it is blocked: no receipt or Apply command
|
|
106
|
-
is issued. Install or upgrade the current package first, apply its exact
|
|
107
|
-
installer confirmation, then repeat reconcile; resolve ownership conflicts
|
|
108
|
-
manually.
|
|
109
|
-
|
|
110
|
-
```shell
|
|
111
|
-
npm exec -- skills-opencode install --scope project --dry-run
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
The mandatory OpenCode flow is: persistent npm install, `install --dry-run`, the
|
|
115
|
-
exact confirmation command printed by that preview, add the package to the
|
|
116
|
-
user-owned `plugin` entry, and restart OpenCode. Use the persistent npm project
|
|
117
|
-
at `~/.config/opencode` for global commands. Install or upgrade the package and
|
|
118
|
-
apply its installer plan before every reconcile.
|
|
46
|
+
Restart OpenCode after activation or asset changes. The installer does not edit
|
|
47
|
+
`opencode.json` and command adapter selections do not install portable skills.
|
|
119
48
|
|
|
120
|
-
|
|
121
|
-
`confirmation_digest`. A later dry-run in the same scope supersedes any older
|
|
122
|
-
unconsumed preview, including previews from another package or agent operation;
|
|
123
|
-
the older confirmation is rejected.
|
|
49
|
+
## Documentation
|
|
124
50
|
|
|
125
|
-
|
|
126
|
-
are private, valid for 10 minutes, single-use, and bound to the action, scope,
|
|
127
|
-
root, and current inventory. Apply rejects stale state and unsafe conflicts.
|
|
51
|
+
The canonical documentation lives in `docs/`, not in the package source:
|
|
128
52
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
starting plugins, or starting LSP servers:
|
|
133
|
-
|
|
134
|
-
```shell
|
|
135
|
-
npm exec -- skills-opencode doctor --scope project
|
|
136
|
-
npm exec -- skills-opencode doctor --scope project --json
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
The report includes versions, ownership, drift, collisions, archive counts,
|
|
140
|
-
redacted configuration projections, runtime summaries, and LSP facts. It does
|
|
141
|
-
not serialize raw configuration, environment values, receipts, credentials, or
|
|
142
|
-
secrets. Exit status `0` is clean, `1` reports findings, and `2` reports invalid
|
|
143
|
-
input or an incomplete probe failure.
|
|
144
|
-
|
|
145
|
-
## Update
|
|
146
|
-
|
|
147
|
-
From the npm project that owns the dependency, install the exact intended
|
|
148
|
-
version, preview and confirm `install` with the same scope and desired selection,
|
|
149
|
-
then restart OpenCode:
|
|
150
|
-
|
|
151
|
-
```shell
|
|
152
|
-
npm install --save-exact @kisev/skills-opencode@2.2.3
|
|
153
|
-
npm exec -- skills-opencode install --scope project --dry-run
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
Use the complete confirmation command printed by the preview. The installer
|
|
157
|
-
updates only files whose recorded ownership and SHA-256 still match. User-owned
|
|
158
|
-
or modified managed files remain conflicts. Package update does not reset agent
|
|
159
|
-
model choices, variants, additional critics, or retained profile configuration.
|
|
160
|
-
|
|
161
|
-
## Reconcile
|
|
162
|
-
|
|
163
|
-
`reconcile` classifies current and historical portable skills, package commands,
|
|
164
|
-
plugins, agents, and installation metadata for one scope:
|
|
165
|
-
|
|
166
|
-
```shell
|
|
167
|
-
npm exec -- skills-opencode reconcile --scope project --dry-run
|
|
168
|
-
npm exec -- skills-opencode reconcile --scope project --confirm <digest>
|
|
169
|
-
npm exec -- skills-opencode reconcile --scope global --dry-run --json
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
Before reconcile, first update the package in its owning npm project and apply
|
|
173
|
-
the exact installer plan. Reconcile does not install, update, or remove portable
|
|
174
|
-
skills; use only pinned `npx --yes skills@1.5.23` with
|
|
175
|
-
`https://kisev.github.io/skills` for those skills.
|
|
176
|
-
|
|
177
|
-
Confirmed reconcile archives exact-owned retired assets in a private
|
|
178
|
-
content-addressed XDG archive and removes their deployed copies. Modified,
|
|
179
|
-
user-owned, unknown, symlink, unsafe, or ambiguous entries remain unchanged as
|
|
180
|
-
findings or conflicts. Worktrees and runtime state are preserved. The archive is
|
|
181
|
-
inspectable through `doctor`; no archive restore or purge command is provided.
|
|
182
|
-
|
|
183
|
-
## Manage Agents
|
|
184
|
-
|
|
185
|
-
The direct CLI manages fixed-agent models and additional critics without an LLM
|
|
186
|
-
call:
|
|
187
|
-
|
|
188
|
-
```shell
|
|
189
|
-
npm exec -- skills-opencode agent list --scope global
|
|
190
|
-
npm exec -- skills-opencode agent configure manager --scope global --dry-run
|
|
191
|
-
npm exec -- skills-opencode agent model-set worker --scope global --model openai/gpt-5 --variant high --dry-run
|
|
192
|
-
npm exec -- skills-opencode critic add security --scope global --model anthropic/claude-sonnet-4-6 --dry-run
|
|
193
|
-
npm exec -- skills-opencode agent reconcile --scope global --dry-run
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
Fixed roles keep their names, prompts, and permissions; only model and variant
|
|
197
|
-
change. Additional critics use `critic-<safe-suffix>`. Every mutation uses the
|
|
198
|
-
same preview and one-time confirmation contract.
|
|
199
|
-
|
|
200
|
-
## Uninstall
|
|
201
|
-
|
|
202
|
-
Keep the package resolvable until its assets are removed:
|
|
203
|
-
|
|
204
|
-
1. Preview and confirm package-owned asset removal.
|
|
205
|
-
2. Remove `@kisev/skills-opencode` from the user-owned `plugin` array.
|
|
206
|
-
3. Uninstall the dependency from the same npm project.
|
|
207
|
-
4. Restart OpenCode.
|
|
208
|
-
|
|
209
|
-
```shell
|
|
210
|
-
npm exec -- skills-opencode uninstall --scope project --dry-run
|
|
211
|
-
npm exec -- skills-opencode uninstall --scope project --confirm <digest>
|
|
212
|
-
npm uninstall @kisev/skills-opencode
|
|
213
|
-
```
|
|
53
|
+
- [Complete OpenCode integration guide](https://github.com/kisev/skills/blob/main/docs/how-to/opencode-integration.md)
|
|
54
|
+
- [Portable skills guide](https://github.com/kisev/skills/blob/main/docs/how-to/portable-skills.md)
|
|
55
|
+
- [Documentation index](https://github.com/kisev/skills/blob/main/docs/README.md)
|
|
214
56
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
modified files as conflicts, along with worktrees, runtime state, and retained
|
|
218
|
-
profile configuration. It does not remove portable skills or edit
|
|
219
|
-
`opencode.json`. No archive restore or purge command is provided.
|
|
220
|
-
|
|
221
|
-
## Boundaries
|
|
222
|
-
|
|
223
|
-
- Portable skills and package assets install, update, and uninstall independently.
|
|
224
|
-
- Commands corresponding to skills are thin adapters; the portable skill remains
|
|
225
|
-
authoritative and must be installed separately.
|
|
226
|
-
- Package tools are `capabilities`, `route`, `doctor`, `agent_profiles`, and
|
|
227
|
-
`reconcile`; `route` has no slash command.
|
|
228
|
-
- The installer owns only files proved by manifests and exact hashes.
|
|
229
|
-
- The package is MIT-licensed. Current inventory and checks are in
|
|
230
|
-
[Migration Inventory](../../docs/migration-inventory.md) and
|
|
231
|
-
[Verification](../../docs/verification.md).
|
|
57
|
+
The complete guide covers global installation, asset selection, confirmation,
|
|
58
|
+
activation, doctor, update, reconcile, agent profiles, ownership, and uninstall.
|
package/README.ru.md
CHANGED
|
@@ -1,90 +1,39 @@
|
|
|
1
1
|
# Интеграция OpenCode
|
|
2
2
|
|
|
3
|
-
[English](README.md)
|
|
3
|
+
[English](README.md)
|
|
4
4
|
|
|
5
|
-
`@kisev/skills-opencode
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
`@kisev/skills-opencode` - полноценный OpenCode-specific компонент Agent
|
|
6
|
+
Skills. Он дополняет portable skills, но имеет собственный lifecycle установки,
|
|
7
|
+
обновления и удаления.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## Что добавляет package
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
- OpenCode slash-command adapters для установленных portable skills и package tools.
|
|
12
|
+
- Шесть fixed agents: `manager`, `architect`, `mapper`, `worker`, `review` и
|
|
13
|
+
`critic`.
|
|
14
|
+
- Capability routing, doctor, reconcile и управление agent profiles.
|
|
15
|
+
- Optional plugin wrappers `rules-injector`, `rtk` и `zed-bell`.
|
|
12
16
|
|
|
13
|
-
|
|
14
|
-
| ------------------ | ---------------------------- | ------------------------------------------------- |
|
|
15
|
-
| npm package | project `node_modules` | `node_modules` в npm project `~/.config/opencode` |
|
|
16
|
-
| Commands | `.opencode/commands` | `~/.config/opencode/commands` |
|
|
17
|
-
| Agents | `.opencode/agents` | `~/.config/opencode/agents` |
|
|
18
|
-
| Optional wrappers | `.opencode/plugins` | `~/.config/opencode/plugins` |
|
|
19
|
-
| Ownership metadata | `.opencode/.skills-opencode` | `~/.config/opencode/.skills-opencode` |
|
|
17
|
+
Package не содержит, не устанавливает, не обновляет и не удаляет portable skills.
|
|
20
18
|
|
|
21
|
-
|
|
22
|
-
installer. Import, plugin loading и npm lifecycle scripts не устанавливают
|
|
23
|
-
assets или portable skills и не меняют OpenCode configuration.
|
|
19
|
+
## Требования
|
|
24
20
|
|
|
25
|
-
|
|
21
|
+
- Node.js 22 или новее.
|
|
22
|
+
- OpenCode `>=1.18.29 <1.19.0`.
|
|
23
|
+
- Постоянный npm project, которому принадлежит dependency.
|
|
26
24
|
|
|
27
|
-
|
|
25
|
+
## Project installation
|
|
28
26
|
|
|
29
|
-
Установите package в npm project репозитория и
|
|
27
|
+
Установите package в npm project репозитория и покажите preview managed assets:
|
|
30
28
|
|
|
31
29
|
```shell
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
npm exec -- skills-opencode install --scope project --dry-run
|
|
30
|
+
npm install --save-exact @kisev/skills-opencode
|
|
31
|
+
npx --yes @kisev/skills-opencode@latest install --scope project --dry-run
|
|
35
32
|
```
|
|
36
33
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
### Global scope
|
|
41
|
-
|
|
42
|
-
Используйте `~/.config/opencode` как постоянный npm project:
|
|
43
|
-
|
|
44
|
-
```shell
|
|
45
|
-
mkdir -p "$HOME/.config/opencode"
|
|
46
|
-
cd "$HOME/.config/opencode"
|
|
47
|
-
test -f package.json || npm init --yes
|
|
48
|
-
npm install --save-exact @kisev/skills-opencode@2.2.3
|
|
49
|
-
npm exec -- skills-opencode install --scope global --dry-run
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
Сохраните dependency в `package.json` и lock file этого npm project. Confirmed
|
|
53
|
-
assets размещаются в `~/.config/opencode`.
|
|
54
|
-
|
|
55
|
-
## Выбор assets
|
|
56
|
-
|
|
57
|
-
В TTY команда `install` открывает четыре группы: Skill command adapters, Package
|
|
58
|
-
command adapters, Fixed agents и Selectable plugins. Две command-группы и шесть
|
|
59
|
-
fixed agents изначально выбраны, optional plugins - нет. Skill command adapters
|
|
60
|
-
это OpenCode slash-команды, загружающие уже установленный одноимённый portable
|
|
61
|
-
skill. Package command adapters вызывают package tools. Выбор adapter не выбирает
|
|
62
|
-
и не устанавливает skill.
|
|
63
|
-
|
|
64
|
-
Вне TTY передайте все три selection group. Этот пример выбирает три commands,
|
|
65
|
-
всех fixed agents и ни одного wrapper:
|
|
66
|
-
|
|
67
|
-
```shell
|
|
68
|
-
npm exec -- skills-opencode install --scope project \
|
|
69
|
-
--commands doctor,reconcile,agent-profiles \
|
|
70
|
-
--agents manager,architect,mapper,worker,review,critic \
|
|
71
|
-
--plugins none --dry-run
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
Если вне TTY передан любой selection flag, обязательны `--commands`, `--agents`
|
|
75
|
-
и `--plugins`. Точные текущие имена показывает команда:
|
|
76
|
-
|
|
77
|
-
```shell
|
|
78
|
-
npm exec -- skills-opencode capabilities --json
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
Selectable wrappers: `rules-injector`, `rtk`, `zed-bell`.
|
|
82
|
-
|
|
83
|
-
## Активация core plugin
|
|
84
|
-
|
|
85
|
-
Installer записывает, нужна ли selection core integration, но никогда не создаёт
|
|
86
|
-
и не меняет `opencode.json`. Добавьте package в user-owned массив `plugin` для
|
|
87
|
-
того же scope, сохранив существующие entries:
|
|
34
|
+
Выполните exact confirmation command из preview. Если выбранным assets нужна core
|
|
35
|
+
integration, добавьте package в user-owned configuration OpenCode, сохранив
|
|
36
|
+
существующие entries:
|
|
88
37
|
|
|
89
38
|
```json
|
|
90
39
|
{
|
|
@@ -93,139 +42,16 @@ Installer записывает, нужна ли selection core integration, но
|
|
|
93
42
|
}
|
|
94
43
|
```
|
|
95
44
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
`~/.config/opencode`. После activation или изменения assets перезапустите
|
|
99
|
-
OpenCode.
|
|
100
|
-
|
|
101
|
-
## Preview и confirm
|
|
102
|
-
|
|
103
|
-
Каждая mutation начинается с `--dry-run`. Preview показывает operations,
|
|
104
|
-
conflicts, необходимость restart, срок действия receipt, отдельные plan и
|
|
105
|
-
confirmation digests и точную confirmation command. Если reconcile показывает
|
|
106
|
-
modified managed files или ownership conflicts, он блокируется: receipt и Apply
|
|
107
|
-
command не создаются. Сначала установите или обновите текущий package,
|
|
108
|
-
примените его exact installer confirmation, затем повторите reconcile; ownership
|
|
109
|
-
conflicts нужно разрешить вручную.
|
|
110
|
-
|
|
111
|
-
```shell
|
|
112
|
-
npm exec -- skills-opencode install --scope project --dry-run
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
Обязательный OpenCode flow: persistent npm install, `install --dry-run`, exact
|
|
116
|
-
confirmation command из preview, добавление package в user-owned `plugin` и
|
|
117
|
-
перезапуск OpenCode. Для global-команд используйте persistent npm project в
|
|
118
|
-
`~/.config/opencode`. Перед каждым reconcile установите или обновите package и
|
|
119
|
-
примените его installer plan.
|
|
45
|
+
После activation или изменения assets перезапустите OpenCode. Installer не
|
|
46
|
+
меняет `opencode.json`, а выбор command adapters не устанавливает portable skills.
|
|
120
47
|
|
|
121
|
-
|
|
122
|
-
dry-run в том же scope supersede-ит любой старый unconsumed preview, включая
|
|
123
|
-
preview другой package или agent operation; старая confirmation отклоняется.
|
|
48
|
+
## Документация
|
|
124
49
|
|
|
125
|
-
|
|
126
|
-
действуют 10 минут, применяются один раз и связаны с action, scope, root и
|
|
127
|
-
текущим inventory. Apply отклоняет stale state и unsafe conflicts.
|
|
50
|
+
Каноническая документация находится в `docs/`, а не в исходниках package:
|
|
128
51
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
запуска plugins или LSP servers:
|
|
133
|
-
|
|
134
|
-
```shell
|
|
135
|
-
npm exec -- skills-opencode doctor --scope project
|
|
136
|
-
npm exec -- skills-opencode doctor --scope project --json
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
Report содержит versions, ownership, drift, collisions, archive counts, redacted
|
|
140
|
-
configuration projections, runtime summaries и LSP facts. Raw configuration,
|
|
141
|
-
environment values, receipts, credentials и secrets не сериализуются. Exit
|
|
142
|
-
status `0` означает чистое состояние, `1` - findings, `2` - invalid input или
|
|
143
|
-
incomplete probe failure.
|
|
144
|
-
|
|
145
|
-
## Обновление
|
|
146
|
-
|
|
147
|
-
В npm project, которому принадлежит dependency, установите точную нужную version,
|
|
148
|
-
покажите и подтвердите `install` с тем же scope и нужной selection, затем
|
|
149
|
-
перезапустите OpenCode:
|
|
150
|
-
|
|
151
|
-
```shell
|
|
152
|
-
npm install --save-exact @kisev/skills-opencode@2.2.3
|
|
153
|
-
npm exec -- skills-opencode install --scope project --dry-run
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
Используйте полную confirmation command из preview. Installer обновляет только
|
|
157
|
-
files с совпадающими recorded ownership и SHA-256. User-owned или modified
|
|
158
|
-
managed files остаются conflicts. Package update не сбрасывает выбранные agent
|
|
159
|
-
models, variants, additional critics или retained profile configuration.
|
|
160
|
-
|
|
161
|
-
## Reconcile
|
|
162
|
-
|
|
163
|
-
`reconcile` классифицирует current и historical portable skills, package
|
|
164
|
-
commands, plugins, agents и installation metadata одного scope:
|
|
165
|
-
|
|
166
|
-
```shell
|
|
167
|
-
npm exec -- skills-opencode reconcile --scope project --dry-run
|
|
168
|
-
npm exec -- skills-opencode reconcile --scope project --confirm <digest>
|
|
169
|
-
npm exec -- skills-opencode reconcile --scope global --dry-run --json
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
Перед reconcile сначала обновите package в принадлежащем ему npm project и
|
|
173
|
-
примените exact installer plan. Reconcile не устанавливает, не обновляет и не
|
|
174
|
-
удаляет portable skills; для них используйте только pinned
|
|
175
|
-
`npx --yes skills@1.5.23` с `https://kisev.github.io/skills`.
|
|
176
|
-
|
|
177
|
-
Confirmed reconcile архивирует exact-owned retired assets в private
|
|
178
|
-
content-addressed XDG archive и удаляет их deployed copies. Modified, user-owned,
|
|
179
|
-
unknown, symlink, unsafe и ambiguous entries остаются без изменений как findings
|
|
180
|
-
или conflicts. Worktrees и runtime state сохраняются. Archive доступен для
|
|
181
|
-
просмотра через `doctor`; команд restore или purge нет.
|
|
182
|
-
|
|
183
|
-
## Управление agents
|
|
184
|
-
|
|
185
|
-
Direct CLI управляет models fixed agents и additional critics без LLM call:
|
|
186
|
-
|
|
187
|
-
```shell
|
|
188
|
-
npm exec -- skills-opencode agent list --scope global
|
|
189
|
-
npm exec -- skills-opencode agent configure manager --scope global --dry-run
|
|
190
|
-
npm exec -- skills-opencode agent model-set worker --scope global --model openai/gpt-5 --variant high --dry-run
|
|
191
|
-
npm exec -- skills-opencode critic add security --scope global --model anthropic/claude-sonnet-4-6 --dry-run
|
|
192
|
-
npm exec -- skills-opencode agent reconcile --scope global --dry-run
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
Fixed roles сохраняют имена, prompts и permissions; меняются только model и
|
|
196
|
-
variant. Additional critics используют `critic-<safe-suffix>`. Каждая mutation
|
|
197
|
-
использует тот же contract preview и one-time confirmation.
|
|
198
|
-
|
|
199
|
-
## Uninstall
|
|
200
|
-
|
|
201
|
-
Package должен оставаться доступным до удаления его assets:
|
|
202
|
-
|
|
203
|
-
1. Покажите preview и подтвердите удаление package-owned assets.
|
|
204
|
-
2. Удалите `@kisev/skills-opencode` из user-owned массива `plugin`.
|
|
205
|
-
3. Удалите dependency из того же npm project.
|
|
206
|
-
4. Перезапустите OpenCode.
|
|
207
|
-
|
|
208
|
-
```shell
|
|
209
|
-
npm exec -- skills-opencode uninstall --scope project --dry-run
|
|
210
|
-
npm exec -- skills-opencode uninstall --scope project --confirm <digest>
|
|
211
|
-
npm uninstall @kisev/skills-opencode
|
|
212
|
-
```
|
|
52
|
+
- [Полная инструкция по интеграции OpenCode](https://github.com/kisev/skills/blob/main/docs/ru/how-to/opencode-integration.md)
|
|
53
|
+
- [Инструкция по portable skills](https://github.com/kisev/skills/blob/main/docs/ru/how-to/portable-skills.md)
|
|
54
|
+
- [Индекс документации](https://github.com/kisev/skills/blob/main/docs/ru/README.md)
|
|
213
55
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
modified files как conflicts вместе с worktrees, runtime state и retained
|
|
217
|
-
profile configuration. Он не удаляет portable skills и не меняет
|
|
218
|
-
`opencode.json`. Команд restore или purge для archive нет.
|
|
219
|
-
|
|
220
|
-
## Границы
|
|
221
|
-
|
|
222
|
-
- Portable skills и package assets устанавливаются, обновляются и удаляются
|
|
223
|
-
независимо.
|
|
224
|
-
- Commands, соответствующие skills, являются thin adapters; portable skill
|
|
225
|
-
остаётся authoritative и устанавливается отдельно.
|
|
226
|
-
- Package tools: `capabilities`, `route`, `doctor`, `agent_profiles`, `reconcile`;
|
|
227
|
-
у `route` нет slash command.
|
|
228
|
-
- Installer владеет только files с доказанными manifests и exact hashes.
|
|
229
|
-
- Package распространяется по лицензии MIT. Текущий inventory и checks описаны в
|
|
230
|
-
[инвентаре миграции](../../docs/ru/migration-inventory.md) и
|
|
231
|
-
[документе проверки](../../docs/ru/verification.md).
|
|
56
|
+
Полная инструкция описывает global installation, выбор assets, confirmation,
|
|
57
|
+
activation, doctor, update, reconcile, agent profiles, ownership и uninstall.
|
package/dist/agent-profiles.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { execFile } from "node:child_process";
|
|
2
|
-
import { readFileSync } from "node:fs";
|
|
3
2
|
import { lstat } from "node:fs/promises";
|
|
4
3
|
import { homedir } from "node:os";
|
|
5
4
|
import { dirname, resolve } from "node:path";
|
|
6
5
|
import { promisify } from "node:util";
|
|
7
6
|
import { fileURLToPath } from "node:url";
|
|
8
7
|
import { applyTransaction, consumeReceipt, deploymentRoot, destination, digest, LifecycleError, lifecycleRoot, listDirectRegular, readRegular, recoverTransaction, saveReceipt, sha256, stable, withLifecycleLock, } from "./lifecycle.js";
|
|
8
|
+
import { readPackageVersion } from "./package-metadata.js";
|
|
9
9
|
export const FIXED_AGENT_ROLES = [
|
|
10
10
|
"manager",
|
|
11
11
|
"architect",
|
|
@@ -36,10 +36,10 @@ const V1_AGENT_SHA256 = {
|
|
|
36
36
|
worker: "eee1163111b59856cc95c8be4ef4bc85a12e23c05bf576ece9f8e6a933b5466d",
|
|
37
37
|
};
|
|
38
38
|
function packageVersion() {
|
|
39
|
-
const
|
|
40
|
-
if (
|
|
39
|
+
const version = readPackageVersion();
|
|
40
|
+
if (!version)
|
|
41
41
|
throw new AgentProfileError("invalid_package", "Package version is unavailable");
|
|
42
|
-
return
|
|
42
|
+
return version;
|
|
43
43
|
}
|
|
44
44
|
function emptyConfig() {
|
|
45
45
|
return {
|
package/dist/catalog.d.ts
CHANGED
|
@@ -4,5 +4,5 @@ export declare const CATALOG: {
|
|
|
4
4
|
readonly agents: readonly ["manager", "architect", "mapper", "worker", "review", "critic"];
|
|
5
5
|
readonly package_commands: readonly ["capabilities", "doctor", "reconcile", "agent-profiles"];
|
|
6
6
|
readonly tools: readonly ["capabilities", "route", "doctor", "agent_profiles", "reconcile"];
|
|
7
|
-
readonly version:
|
|
7
|
+
readonly version: string;
|
|
8
8
|
};
|
package/dist/catalog.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { requirePackageVersion } from "./package-metadata.js";
|
|
1
2
|
export const CATALOG = {
|
|
2
3
|
skills: [
|
|
3
4
|
"agents-md",
|
|
@@ -34,5 +35,5 @@ export const CATALOG = {
|
|
|
34
35
|
agents: ["manager", "architect", "mapper", "worker", "review", "critic"],
|
|
35
36
|
package_commands: ["capabilities", "doctor", "reconcile", "agent-profiles"],
|
|
36
37
|
tools: ["capabilities", "route", "doctor", "agent_profiles", "reconcile"],
|
|
37
|
-
version:
|
|
38
|
+
version: requirePackageVersion(),
|
|
38
39
|
};
|
package/dist/cli-output.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CATALOG } from "./catalog.js";
|
|
1
2
|
const GROUPS = ["Agents", "Commands", "Plugins", "State"];
|
|
2
3
|
const OPERATIONS = [
|
|
3
4
|
"create",
|
|
@@ -164,7 +165,7 @@ export function renderInventory(inventory) {
|
|
|
164
165
|
].join("\n")}\n`;
|
|
165
166
|
}
|
|
166
167
|
export function shellCommand(arguments_) {
|
|
167
|
-
return ["
|
|
168
|
+
return ["npx", "--yes", `@kisev/skills-opencode@${CATALOG.version}`, ...arguments_]
|
|
168
169
|
.map((value) => /^[A-Za-z0-9_./:@=-]+$/.test(value) ? value : `'${value.replaceAll("'", `'"'"'`)}'`)
|
|
169
170
|
.join(" ");
|
|
170
171
|
}
|
|
@@ -215,10 +216,10 @@ export function renderDoctor(report) {
|
|
|
215
216
|
const actionable = report.checks.filter((item) => item.status === "fail" || item.status === "warn");
|
|
216
217
|
const next = new Set(actionable.flatMap((item) => item.remediation ?? []));
|
|
217
218
|
if (report.conflicts.length) {
|
|
218
|
-
next.add(
|
|
219
|
+
next.add(shellCommand(["reconcile", "--scope", report.scope, "--dry-run"]));
|
|
219
220
|
}
|
|
220
221
|
if (actionable.some((item) => item.id.startsWith("assets."))) {
|
|
221
|
-
next.add(
|
|
222
|
+
next.add(shellCommand(["install", "--scope", report.scope, "--dry-run"]));
|
|
222
223
|
}
|
|
223
224
|
const lines = [
|
|
224
225
|
`Doctor TLDR: ${report.status} (${report.scope})`,
|