@wowok/skills 3.0.4 → 3.1.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.
Files changed (47) hide show
  1. package/README.md +146 -122
  2. package/dist/cli.d.ts +6 -0
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +223 -837
  5. package/dist/cli.js.map +1 -1
  6. package/dist/index.d.ts +4 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +24 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/installer.d.ts +121 -0
  11. package/dist/installer.d.ts.map +1 -0
  12. package/dist/installer.js +802 -0
  13. package/dist/installer.js.map +1 -0
  14. package/dist/skills.d.ts +5 -2
  15. package/dist/skills.d.ts.map +1 -1
  16. package/dist/skills.js +86 -62
  17. package/dist/skills.js.map +1 -1
  18. package/dist/targets.d.ts +94 -0
  19. package/dist/targets.d.ts.map +1 -0
  20. package/dist/targets.js +421 -0
  21. package/dist/targets.js.map +1 -0
  22. package/dist/types.d.ts +5 -4
  23. package/dist/types.d.ts.map +1 -1
  24. package/dist/types.js +0 -32
  25. package/dist/types.js.map +1 -1
  26. package/package.json +5 -4
  27. package/scripts/install.js +21 -859
  28. package/wowok-arbitrator/SKILL.md +5 -12
  29. package/wowok-auditor/SKILL.md +5 -17
  30. package/wowok-collaborator/SKILL.md +5 -17
  31. package/wowok-governance/SKILL.md +5 -25
  32. package/wowok-machine/SKILL.md +5 -18
  33. package/wowok-market/SKILL.md +5 -21
  34. package/wowok-messenger/SKILL.md +5 -18
  35. package/wowok-onboard/SKILL.md +5 -22
  36. package/wowok-order/SKILL.md +5 -18
  37. package/wowok-output/SKILL.md +5 -10
  38. package/wowok-planner/SKILL.md +5 -19
  39. package/wowok-provider/SKILL.md +5 -17
  40. package/wowok-supplier/SKILL.md +5 -16
  41. package/examples/Insurance/Insurance.md +0 -1245
  42. package/examples/MyShop/MyShop.md +0 -2003
  43. package/examples/MyShop/myshop_machine_nodes.json +0 -93
  44. package/examples/MyShop_Advanced/MyShop_Advanced.md +0 -2880
  45. package/examples/ThreeBody_Signature/ThreeBody_Signature.md +0 -1831
  46. package/examples/Travel/Travel.md +0 -1849
  47. package/examples/Travel/calc-weather-timestamps.js +0 -12
package/README.md CHANGED
@@ -1,204 +1,228 @@
1
1
  # WoWok Skills
2
2
 
3
- WoWok AI Skills for Claude Code, OpenAI Codex, ChatGPT Desktop (Codex Mode), Trae IDE, CodeBuddy, Cursor, Windsurf, Qoder, Roo Code, and GitHub Copilot — Helping AI use WoWok MCP tools correctly.
3
+ WoWok AI Skills for **Claude Code, OpenAI Codex CLI / ChatGPT Desktop (Codex mode), Trae, Cursor, Windsurf, CodeBuddy, Qoder, Roo Code, Cline, Kilo Code and GitHub Copilot** — a dialogue-orchestration layer on top of the WoWok MCP server.
4
4
 
5
- ## Supported AI Clients
5
+ One command installs the skills into every supported client **and** registers the MCP server:
6
6
 
7
- | Client | Skills Directory | Format | MCP Support |
8
- |--------|-----------------|--------|-------------|
9
- | **Claude Code** | `.claude/skills/` | SKILL.md (native) | ✅ `~/.claude/settings.json` |
10
- | **OpenAI Codex CLI** | `.codex/skills/` | SKILL.md (native) | ✅ `~/.codex/config.toml` |
11
- | **ChatGPT Desktop (Codex Mode)** | `.codex/skills/` | SKILL.md (native) | ✅ Shares Codex CLI config |
12
- | **Trae IDE** | `.agents/skills/` | SKILL.md (native) | ⚙️ IDE-managed via `~/.trae-cn/mcps/` |
13
- | **CodeBuddy** | `.codebuddy/skills/` | SKILL.md (native) | ✅ `~/.codebuddy/mcp.json` |
14
- | **Cursor IDE** | `.cursor/rules/` | `.mdc` (frontmatter adapted) | ✅ Project-level `.cursor/mcp.json` |
15
- | **Windsurf** | `.windsurf/skills/` | SKILL.md (native) | ✅ `~/.codeium/windsurf/mcp_config.json` |
16
- | **Qoder** | `.qoder/skills/` | SKILL.md (native) | ✅ Global + project config |
17
- | **Roo Code** | `.roo/skills/` | SKILL.md (native) | ✅ Global + project config |
18
- | **GitHub Copilot** | `.github/prompts/` | `.prompt.md` (plain markdown) | ✅ `~/.copilot/mcp-config.json` |
7
+ ```bash
8
+ npm install -g @wowok/skills
9
+ wowok-skills doctor # verify what each client can actually see
10
+ ```
11
+
12
+ > **v3.1.0 — installation was rebuilt around each client's official documentation.**
13
+ > Previous versions wrote to directories several clients never read (`.codex/skills`, `.windsurf/skills`, `~/.github/prompts`), registered MCP in the wrong file for Claude Code, and used a bare `npx` command that cannot start on native Windows. Everything below reflects the verified layout. If you installed an older version, run `wowok-skills init --force` once.
14
+
15
+ ## Supported clients
19
16
 
20
- > **Format notes**: For Cursor, the YAML frontmatter is adapted to `description` + `alwaysApply`. For Copilot, frontmatter is stripped — pure Markdown instructions.
21
- >
22
- > **ChatGPT Desktop (Chat Mode)** does **not** support local skills or stdio MCP. Only the **Codex Mode** (built into ChatGPT Desktop) inherits Codex CLI's skills and MCP configuration.
17
+ Every skill is a directory containing `SKILL.md` (YAML frontmatter + Markdown), the portable [Agent Skills](https://agentskills.io/specification) format.
23
18
 
24
- ## How It Works
19
+ | Client | User-scope skills | Project-scope skills | MCP config |
20
+ |--------|-------------------|----------------------|------------|
21
+ | **Cross-client** (read by Codex, Cursor, Windsurf, Roo, Kilo, Trae*) | `~/.agents/skills/` | `.agents/skills/` | — |
22
+ | **Claude Code** | `~/.claude/skills/` | `.claude/skills/` | `~/.claude.json` (user) · `.mcp.json` (project) |
23
+ | **OpenAI Codex CLI / ChatGPT Codex mode** | `~/.agents/skills/` **+** `~/.codex/skills/` | `.agents/skills/` | `~/.codex/config.toml` · `.codex/config.toml` |
24
+ | **Trae (CN & international)** | `~/.trae-cn/skills/` (CN) · `~/.trae/skills/` (intl) | `.trae/skills/` | `<user-data>/User/mcp.json` · `.trae/mcp.json` |
25
+ | **Cursor** | `~/.cursor/skills/` | `.cursor/skills/` | `~/.cursor/mcp.json` · `.cursor/mcp.json` |
26
+ | **Windsurf (Cascade)** | `~/.codeium/windsurf/skills/` | `.windsurf/skills/` | `~/.codeium/windsurf/mcp_config.json` |
27
+ | **CodeBuddy** | `~/.codebuddy/skills/` | `.codebuddy/skills/` | `~/.codebuddy/.mcp.json` · `.mcp.json` |
28
+ | **Qoder** | `~/.qoder/skills/` | `.qoder/skills/` | `~/.qoder/settings.json` · `.mcp.json` |
29
+ | **Roo Code** | `~/.roo/skills/` | `.roo/skills/` | VS Code globalStorage (Roo extension) · `.roo/mcp.json` |
30
+ | **Cline** | `~/.cline/skills/` | `.cline/skills/` | `~/.cline/mcp.json` + VS Code globalStorage |
31
+ | **Kilo Code** | `~/.kilo/skills/` | `.kilo/skills/` | VS Code globalStorage · see note |
32
+ | **GitHub Copilot** | `~/.copilot/skills/` | `.github/skills/` | `~/.copilot/mcp-config.json` · `.github/mcp.json` |
25
33
 
26
- Each skill is a `SKILL.md` file with YAML frontmatter. The installer copies them to **every** client's skills directory automatically. MCP server is installed and registered — no manual steps.
34
+ Notes that are not automatic:
35
+
36
+ - **Trae** reads `.agents/skills/` only after you enable *Settings → Skills & Commands → enable the `.agents` skills directory*. The installer also writes Trae's own global root, so this is optional.
37
+ - **Kilo Code (new platform)** keeps MCP in `~/.config/kilo/kilo.jsonc` under the `mcp` key. If that file exists the installer leaves it alone (rewriting would drop your comments) and prints a manual instruction; otherwise it writes `~/.config/kilo/kilo.json` for you.
38
+ - **Windsurf / Roo / Cline / Kilo**: for transport reasons their MCP config is only registered for the files that already exist on your machine. Install the client first, then re-run `wowok-skills init`.
39
+ - **ChatGPT Desktop (Chat mode)** supports neither local skills nor stdio MCP. Only Codex mode inherits the Codex CLI configuration.
40
+
41
+ ## How it works
27
42
 
28
43
  ```
29
44
  npm install -g @wowok/skills
30
45
  │
31
- ├── postinstall ──→ Copies SKILL.md to ALL client skill dirs
32
- │ (~/.claude/skills/, ~/.cursor/rules/, ~/.agents/skills/, …)
33
- └── auto MCP ──→ Installs/upgrades @wowok/agent-mcp
34
- Registers MCP in each client config
35
- Restarts MCP server process
36
- AI discovers on next session ✅
46
+ ├── postinstall ──→ writes SKILL.md to every target (hash-based, idempotent)
47
+ │ prunes skills this version no longer ships
48
+ │ removes deprecated skills (wowok-guard/tools/safety/scenario)
49
+ │ removes pre-3.1 artifacts (cursor `.mdc` rules, .prompt.md files)
50
+ │
51
+ └── MCP server ───→ installs/upgrades @wowok/agent-mcp globally
52
+ registers a Windows-safe launcher in each client config
53
+ prefers `node <abs>/@wowok/agent-mcp/dist/index.js`
54
+ falls back to `cmd /c npx -y @wowok/agent-mcp` on Windows
37
55
  ```
38
56
 
39
- **Two loading modes:**
57
+ Each target root gets a `.wowok-skills.json` manifest recording the version and a hash per skill, which is what makes refreshes, pruning and `doctor` possible.
58
+
59
+ **Loading modes**
40
60
 
41
61
  | Mode | Skills | Behavior |
42
62
  |------|--------|----------|
43
- | **Always** | `wowok-output` | Metadata always in prompt (~100 tokens). AI auto-loads full content when needed. |
44
- | **On-demand** | All others | AI matches description to task. Only loaded when relevant. |
45
-
46
- > **v2.0 migration**: The 4 rule-reference skills (`wowok-tools`, `wowok-safety`, `wowok-scenario`, `wowok-guard`) were sunk into the MCP knowledge layer and are no longer installed. Their content is served by the MCP server itself — `schema_query` actions `get_tool_reference` / `get_safety_rules` / `get_guard_design_patterns`, and `industry_pack_operation` actions.
63
+ | **Always** | `wowok-output` | Metadata always in the prompt (`metadata.loading: always`). |
64
+ | **On-demand** | All others | The client matches the `description` against the task. |
47
65
 
48
- ## Quick Start
66
+ > **Portability rule**: frontmatter contains exactly `name`, `description` and `metadata`. Custom attributes (version, role, loading, related) live under `metadata:` because the spec — and the strict paths used by claude.ai uploads, the Skills API and Copilot — reject unknown top-level keys. Trigger guidance belongs in `description`, since almost every client matches on that field alone.
49
67
 
50
- ### Step 1 — Install Globally (Personal Use)
68
+ ## Quick start
51
69
 
52
- One command. Skills install to **all 11 supported AI clients** at once. MCP server auto-installs and registers.
70
+ ### 1 — Install globally (personal use)
53
71
 
54
72
  ```bash
55
73
  npm install -g @wowok/skills
56
74
  ```
57
75
 
58
- That's it. Next session in any AI client, WoWok on-chain actions work out of the box.
76
+ That's it: skills go to all targets and the MCP server is registered. Next session, WoWok on-chain actions work out of the box.
59
77
 
60
- > Rarely needed: to install only a subset of clients, set `WOWOK_SKILLS_TARGETS=claude,trae npm install -g @wowok/skills`.
61
- > Set `WOWOK_SKILLS_NO_MCP=1` to skip MCP auto-management.
78
+ ```bash
79
+ wowok-skills doctor # per-client: skills fresh/stale/missing + MCP registration
80
+ ```
81
+
82
+ Rarely needed knobs:
62
83
 
63
- ### Step 2 — Install into Your Project (Team Sharing, Optional)
84
+ ```bash
85
+ WOWOK_SKILLS_TARGETS=claude,trae npm install -g @wowok/skills # subset of clients
86
+ WOWOK_SKILLS_NO_MCP=1 npm install -g @wowok/skills # skills only
87
+ WOWOK_REFERRER=<addr|name> npm install -g @wowok/skills # save the airdrop referrer
88
+ ```
64
89
 
65
- Add skills to the repo itself. Commit to git — the whole team gets the same pack automatically.
90
+ ### 2 — Install into a project (team sharing, optional)
66
91
 
67
92
  ```bash
68
- npm install -g @wowok/skills # skip if already done
69
93
  cd your-project
70
-
71
- # All clients (default, recommended):
72
- wowok-skills init
73
-
74
- # Single client only (pick one):
75
- wowok-skills init --target claude
76
- wowok-skills init --target cursor
77
- wowok-skills init --target trae
78
- wowok-skills init --target codex
79
- wowok-skills init --target windsurf
80
- wowok-skills init --target codebuddy
81
- wowok-skills init --target qoder
82
- wowok-skills init --target roo
83
- wowok-skills init --target cline
84
- wowok-skills init --target kilo
85
- wowok-skills init --target copilot
94
+ wowok-skills init # all targets, user + project scope
95
+ wowok-skills init --project # project scope only (commit these)
96
+ wowok-skills init --target claude,cursor --project
86
97
  ```
87
98
 
88
- ## Managing Skills
99
+ Commit the generated directories (`AGENTS.md`-style sharing): every teammate gets the same skills without running anything.
100
+
101
+ ## Managing skills
89
102
 
90
103
  ### Update
91
104
 
92
105
  ```bash
93
- npm update -g @wowok/skills
106
+ npm update -g @wowok/skills # new CLI → postinstall refreshes every root
107
+ wowok-skills init --force # force-rewrite all files
94
108
  ```
95
109
 
96
110
  ### Uninstall
97
111
 
98
112
  ```bash
99
- # Remove from personal scope:
113
+ wowok-skills uninit # remove skills everywhere (user + project)
114
+ wowok-skills uninit --target codex
100
115
  npm uninstall -g @wowok/skills
101
-
102
- # Remove from project scope:
103
- cd your-project
104
- wowok-skills uninit # all clients (default)
105
- wowok-skills uninit --target claude
106
116
  ```
107
117
 
108
- ### Check What's Installed
118
+ > `npm uninstall` alone cannot clean up: **npm v7+ never runs `preuninstall`/`uninstall` scripts**, so removal is always an explicit `wowok-skills uninit`. MCP config entries are left in place and can be deleted from the client's own MCP panel.
119
+
120
+ ### Inspect
109
121
 
110
122
  ```bash
111
123
  wowok-skills list
112
124
  wowok-skills get wowok-provider
113
125
  wowok-skills role provider
114
126
  wowok-skills recommend "create a service"
127
+ wowok-skills doctor
128
+ wowok-skills targets
115
129
  ```
116
130
 
117
- ### Save the Airdrop Referrer
118
-
119
- The referrer is auto-recorded on your first on-chain interaction. Save it once:
120
-
121
- ```bash
122
- # Global (personal) referrer — persists across all projects:
123
- wowok-skills referrer <address-or-name>
124
-
125
- # Or just once during project init:
126
- wowok-skills init --referrer <address-or-name>
127
- ```
128
-
129
- ## CLI Reference
131
+ ## CLI reference
130
132
 
131
133
  | Command | Description |
132
134
  |---------|-------------|
133
- | `wowok-skills list` | List all available skills |
135
+ | `wowok-skills list` | List all skills (by role) |
134
136
  | `wowok-skills get <name>` | Show skill details |
135
- | `wowok-skills role <role>` | List skills by role (customer \| provider \| arbitrator \| shared) |
136
- | `wowok-skills recommend <intent>` | Recommend skills by user intent |
137
- | `wowok-skills init` | Install to project — all clients (default) |
138
- | `wowok-skills init --target <t>` | Install to project — one client only |
139
- | `wowok-skills init --no-mcp` | Install skills only, skip MCP setup |
140
- | `wowok-skills init --referrer <addr\|name>` | Init + save airdrop referrer |
141
- | `wowok-skills referrer <addr\|name>` | Save airdrop referrer globally (no project needed) |
142
- | `wowok-skills uninit` | Remove from project — all clients (default) |
143
- | `wowok-skills uninit --target <t>` | Remove from project — one client |
144
-
145
- > `--target <t>` choices: `claude`, `cursor`, `windsurf`, `codebuddy`, `codex`, `trae`, `qoder`, `roo`, `copilot`. Default: all.
137
+ | `wowok-skills role <role>` | Skills for a role (`customer\|provider\|supplier\|collaborator\|arbitrator\|shared`) |
138
+ | `wowok-skills recommend <intent>` | Recommend skills from a user intent |
139
+ | `wowok-skills init` | Install to all targets, user + project scope, and register MCP |
140
+ | `wowok-skills uninit` | Remove installed skills (MCP entries untouched) |
141
+ | `wowok-skills doctor` | Per-client install freshness + MCP registration report |
142
+ | `wowok-skills targets` | Show the target table (ids and project directories) |
143
+ | `wowok-skills referrer <addr\|name>` | Save the airdrop referrer globally |
146
144
 
147
- ## Programmatic API
145
+ Options: `--target <t>` (comma separated), `--user`, `--project`, `--force`, `--no-mcp`, `--referrer <addr|name>`.
148
146
 
149
- ```typescript
150
- import { getSkills, getSkillByName } from '@wowok/skills';
147
+ Target ids: `agents`, `claude`, `codex`, `trae`, `cursor`, `windsurf`, `codebuddy`, `qoder`, `roo`, `cline`, `kilo`, `copilot` (default: all).
148
+
149
+ ## Programmatic API
151
150
 
152
- const skills = getSkills();
153
- const providerSkill = getSkillByName('wowok-provider');
151
+ ```ts
152
+ import {
153
+ getSkills,
154
+ getSkillByName,
155
+ getSkillBody,
156
+ CLIENT_TARGETS,
157
+ installSkillsForTargets,
158
+ resolveMcpLaunch,
159
+ statusForTargets,
160
+ } from '@wowok/skills';
161
+
162
+ const provider = getSkillByName('wowok-provider');
163
+ const body = getSkillBody('wowok-provider'); // SKILL.md without frontmatter
164
+ installSkillsForTargets(['claude', 'agents'], ['project'], process.cwd());
154
165
  ```
155
166
 
156
- ## Available Skills
167
+ `CLIENT_TARGETS` in `src/targets.ts` is the single source of truth for skill roots **and** MCP config paths — the installer and the CLI both read it, so they can never drift apart again.
157
168
 
158
- ### Always Loaded (1 skill — foundational layer)
169
+ ## Available skills
170
+
171
+ ### Always loaded (1)
159
172
 
160
173
  | Skill | Purpose | Role |
161
174
  |-------|---------|------|
162
- | `wowok-output` | Output processing — address resolution, name mapping, amount formatting, data visualization | All Roles |
175
+ | `wowok-output` | Output processing — address resolution, name mapping, amount formatting, data visualization | All |
163
176
 
164
- ### On-Demand (11 skills — contextually loaded)
177
+ ### On-demand (12)
165
178
 
166
179
  | Skill | Purpose | Role |
167
180
  |-------|---------|------|
168
- | `wowok-provider` | Service provider guide — create Service, Machine, Allocators, handle order fulfillment, fork project iteration | Service Provider (Merchant) |
169
- | `wowok-arbitrator` | Arbitration service — create Arbitration, handle disputes, organize voting, manage fees | Arbitrator |
170
- | `wowok-order` | Customer order lifecycle — pre-purchase due diligence, consensus building, order creation, progress advancement, arbitration | Customer |
171
- | `wowok-messenger` | Encrypted messaging — E2E communication, WTS evidence, anti-spam strategy, Contact object lifecycle | All Roles |
172
- | `wowok-machine` | Machine workflow design — state machines, node/pair/forward graph, immutability rules, dependency-first build order | Service Provider |
173
- | `wowok-onboard` | First-touch onboarding — 10-round dialogue from zero to first published Service, SQLite-based project pipeline integration | New Users |
174
- | `wowok-planner` | Planning skill — converts natural language intent into Object Dependency Graph (ODG), industry-mode aware via MCP | All Roles |
175
- | `wowok-auditor` | Pre-publish audit — Guard completeness, Machine soundness, fund flow correctness, publish readiness | All Roles |
176
- | `wowok-supplier` | Supplier guide — present service to a Demand (open or gated), fulfill sub-order, collect settlement | Supplier |
177
- | `wowok-collaborator` | Process collaborator — execute workflow forwards as internal staff or external named operator | Collaborator |
178
- | `wowok-market` | Market discovery & operations — match_discover/discover_services/discover_demands, arbitration_score, account_events, market_metrics/anti_cheat/market_operations | All Roles |
179
- | `wowok-governance` | On-chain governance — Permission lifecycle (indexes/roles/entity table), Treasury & Allocation fund stewardship (deposit/withdraw/history audit/unclaimed payments), Personal data boundaries | All Roles |
180
-
181
- ### Sunk to MCP Knowledge Layer (v2.0 — no longer skills)
182
-
183
- | Former Skill | Now Served By |
181
+ | `wowok-provider` | Service provider guide — create Service, Machine, Allocators, order fulfillment, fork iteration | Provider |
182
+ | `wowok-supplier` | Supplier guide — present to a Demand, fulfill sub-orders, collect settlement | Supplier |
183
+ | `wowok-collaborator` | Process collaborators — execute workflow forwards (internal staff / named operators) | Collaborator |
184
+ | `wowok-arbitrator` | Arbitration service — create Arbitration, handle disputes, organize voting, fees | Arbitrator |
185
+ | `wowok-machine` | Machine workflow design — nodes, pairs, forwards, guards, dependency-first build order | Provider |
186
+ | `wowok-order` | Buyer lifecycle — pre-purchase due diligence, order creation, progress, arbitration | Customer |
187
+ | `wowok-messenger` | Encrypted messaging — E2E communication, WTS evidence, anti-spam, Contact lifecycle | All |
188
+ | `wowok-onboard` | First-touch onboarding — business dialogue from zero to the first published Service | New users |
189
+ | `wowok-planner` | Planning — natural-language intent → Object Dependency Graph (ODG) | All |
190
+ | `wowok-auditor` | Pre-publish audit — Guard completeness, Machine soundness, fund flow, readiness | All |
191
+ | `wowok-market` | Market discovery & operations — match/discover, arbitration_score, metrics, anti-cheat | All |
192
+ | `wowok-governance` | Permission / Treasury / Personal governance — indexes, roles, fund stewardship, audit | All |
193
+
194
+ ### Sunk into the MCP knowledge layer (no skill needed)
195
+
196
+ | Former skill | Now served by |
184
197
  |--------------|---------------|
185
- | `wowok-tools` | MCP `schema_query` action='get_tool_reference' |
186
- | `wowok-safety` | MCP `schema_query` action='get_safety_rules' + runtime confirm-gate on every write |
187
- | `wowok-scenario` | MCP `industry_pack_operation` actions 'recommend_industry' / 'list_modes' |
188
- | `wowok-guard` | MCP `schema_query` actions 'get_guard_design_patterns' / 'get_guard_templates' |
189
-
190
- ## Related Projects
198
+ | `wowok-tools` | MCP `schema_query` action=`get_tool_reference` |
199
+ | `wowok-safety` | MCP `schema_query` action=`get_safety_rules` + the runtime confirm gate on every write |
200
+ | `wowok-scenario` | MCP `industry_pack_operation` actions `recommend_industry` / `list_modes` |
201
+ | `wowok-guard` | MCP `schema_query` actions `get_guard_design_patterns` / `get_guard_templates` |
191
202
 
192
- - **WoWok Documentation**: [https://github.com/wowok-ai/docs](https://github.com/wowok-ai/docs)
203
+ Directories for these four are detected and deleted on install.
193
204
 
194
205
  ## Development
195
206
 
196
207
  ```bash
197
208
  npm install
198
209
  npm run build
199
- npm run watch
210
+ npm run check # tsc + SKILL.md conformance + length budget
211
+ node dist/cli.js doctor
200
212
  ```
201
213
 
214
+ `npm run check` is what CI runs (see `.github/workflows/ci.yml`), together with an idempotency smoke test of the installer.
215
+
216
+ Editing skills:
217
+
218
+ 1. Edit `<skill>/SKILL.md` — `name` must equal the directory name, add new skills to `SKILL_NAMES` in `src/targets.ts`.
219
+ 2. `npm run check` must pass.
220
+ 3. `npm run build && node scripts/install.js` refreshes every client on your machine.
221
+
222
+ ## Related projects
223
+
224
+ - **WoWok Documentation**: [https://github.com/wowok-ai/docs](https://github.com/wowok-ai/docs)
225
+
202
226
  ## License
203
227
 
204
228
  MIT
package/dist/cli.d.ts CHANGED
@@ -1,3 +1,9 @@
1
1
  #!/usr/bin/env node
2
+ /**
3
+ * `wowok-skills` CLI.
4
+ *
5
+ * All installation/MCP logic lives in src/installer.ts + src/targets.ts so the
6
+ * CLI and the npm postinstall hook can never drift apart again.
7
+ */
2
8
  export {};
3
9
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;GAKG"}