@wowok/skills 1.1.0 → 1.1.2

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 (52) hide show
  1. package/README.md +16 -20
  2. package/dist/cli.js +114 -19
  3. package/dist/cli.js.map +1 -1
  4. package/dist/index.d.ts +1 -1
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +11 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/skills.d.ts +46 -1
  9. package/dist/skills.d.ts.map +1 -1
  10. package/dist/skills.js +154 -16
  11. package/dist/skills.js.map +1 -1
  12. package/dist/types.d.ts +31 -0
  13. package/dist/types.d.ts.map +1 -1
  14. package/package.json +4 -8
  15. package/scripts/install.js +5 -3
  16. package/wowok-arbitrator/SKILL.md +279 -0
  17. package/wowok-guard/SKILL.md +143 -167
  18. package/wowok-machine/SKILL.md +167 -279
  19. package/wowok-order/SKILL.md +336 -424
  20. package/wowok-provider/SKILL.md +453 -0
  21. package/wowok-safety/SKILL.md +42 -20
  22. package/wowok-tools/SKILL.md +328 -343
  23. package/schemas/onchain_operations/_common.md +0 -406
  24. package/schemas/onchain_operations/_index.md +0 -196
  25. package/schemas/onchain_operations/allocation.md +0 -28
  26. package/schemas/onchain_operations/arbitration.md +0 -106
  27. package/schemas/onchain_operations/contact.md +0 -40
  28. package/schemas/onchain_operations/demand.md +0 -53
  29. package/schemas/onchain_operations/gen_passport.md +0 -23
  30. package/schemas/onchain_operations/guard.md +0 -56
  31. package/schemas/onchain_operations/machine.md +0 -89
  32. package/schemas/onchain_operations/order.md +0 -56
  33. package/schemas/onchain_operations/payment.md +0 -24
  34. package/schemas/onchain_operations/permission.md +0 -68
  35. package/schemas/onchain_operations/personal.md +0 -58
  36. package/schemas/onchain_operations/progress.md +0 -38
  37. package/schemas/onchain_operations/repository.md +0 -70
  38. package/schemas/onchain_operations/reward.md +0 -38
  39. package/schemas/onchain_operations/service.md +0 -78
  40. package/schemas/onchain_operations/treasury.md +0 -68
  41. package/schemas/schema-account_operation.md +0 -402
  42. package/schemas/schema-guard2file.md +0 -153
  43. package/schemas/schema-local_info_operation.md +0 -160
  44. package/schemas/schema-local_mark_operation.md +0 -148
  45. package/schemas/schema-machineNode2file.md +0 -155
  46. package/schemas/schema-messenger_operation.md +0 -547
  47. package/schemas/schema-onchain_events.md +0 -201
  48. package/schemas/schema-onchain_table_data.md +0 -334
  49. package/schemas/schema-query_toolkit.md +0 -395
  50. package/schemas/schema-wip_file.md +0 -240
  51. package/schemas/schema-wowok_buildin_info.md +0 -296
  52. package/wowok-build/SKILL.md +0 -139
package/README.md CHANGED
@@ -17,7 +17,7 @@ Each skill is a `SKILL.md` file with YAML frontmatter. Claude Code discovers the
17
17
  ```
18
18
  npm install -g @wowok/skills
19
19
 
20
- └── postinstall ──→ Copies 6 SKILL.md to ~/.claude/skills/wowok-*/
20
+ └── postinstall ──→ Copies 7 SKILL.md to ~/.claude/skills/wowok-*/
21
21
  AI discovers them on next session ✅
22
22
  ```
23
23
 
@@ -26,7 +26,7 @@ npm install -g @wowok/skills
26
26
  | Mode | Skills | Behavior |
27
27
  |------|--------|----------|
28
28
  | **Always** | `wowok-tools`, `wowok-safety` | Metadata always in prompt (~100 tokens each). AI auto-loads full content when needed. |
29
- | **On-demand** | `wowok-build`, `wowok-guard`, `wowok-machine`, `wowok-order` | AI matches description to task. Only loaded when relevant. |
29
+ | **On-demand** | `wowok-provider`, `wowok-arbitrator`, `wowok-order`, `wowok-messenger`, `wowok-guard`, `wowok-machine` | AI matches description to task. Only loaded when relevant. |
30
30
 
31
31
  ## Quick Start
32
32
 
@@ -53,7 +53,7 @@ See [WoWok Agent](https://github.com/wowok-ai/agent) for more details.
53
53
  npm install -g @wowok/skills
54
54
  ```
55
55
 
56
- This automatically installs all 6 skills to `~/.claude/skills/`. They will be available in your next Claude Code session.
56
+ This automatically installs all 8 skills to `~/.claude/skills/`. They will be available in your next Claude Code session.
57
57
 
58
58
  ### 3. Install (Project — Team Sharing)
59
59
 
@@ -81,7 +81,7 @@ npm install -g @wowok/skills
81
81
 
82
82
  ```bash
83
83
  wowok-skills list
84
- wowok-skills get wowok-build
84
+ wowok-skills get wowok-provider
85
85
  ```
86
86
 
87
87
  ### Update
@@ -118,19 +118,21 @@ wowok-skills uninit
118
118
  import { getSkills, getSkillByName } from '@wowok/skills';
119
119
 
120
120
  const skills = getSkills();
121
- const buildSkill = getSkillByName('wowok-build');
121
+ const providerSkill = getSkillByName('wowok-provider');
122
122
  ```
123
123
 
124
124
  ## Available Skills
125
125
 
126
- | Skill | Purpose | Loading |
127
- |-------|---------|---------|
128
- | `wowok-build` | Complex system building (Service + Machine + Guard + Allocation + Reward) | On-demand |
129
- | `wowok-guard` | Guard design mastery (programmable trust rules) | On-demand |
130
- | `wowok-tools` | MCP tool usage mastery (13 tools, schema references) | Always |
131
- | `wowok-safety` | Safety protocol (dry-run confirm execute) | Always |
132
- | `wowok-machine` | Machine workflow design (state machines, progress tracking) | On-demand |
133
- | `wowok-order` | Order lifecycle management (payment, allocation, arbitration) | On-demand |
126
+ | Skill | Purpose | Role | Loading |
127
+ |-------|---------|------|---------|
128
+ | `wowok-provider` | Service provider guide (create Service, Machine, Allocators, handle orders) | Service Provider (Merchant) | On-demand |
129
+ | `wowok-arbitrator` | Arbitration service guide (create Arbitration, handle disputes, voting) | Arbitrator | On-demand |
130
+ | `wowok-order` | Order lifecycle management (place orders, track progress, arbitration) | Customer | On-demand |
131
+ | `wowok-messenger` | Encrypted messaging (E2E communication, WTS evidence, conversation management) | All Roles | On-demand |
132
+ | `wowok-guard` | Guard design mastery (programmable trust rules) | All Roles | On-demand |
133
+ | `wowok-machine` | Machine workflow design (state machines, progress tracking) | Service Provider | On-demand |
134
+ | `wowok-tools` | MCP tool usage mastery (13 tools, schema references) | All Roles | Always |
135
+ | `wowok-safety` | Safety protocol (dry-run → confirm → execute) | All Roles | Always |
134
136
 
135
137
  ## Related Projects
136
138
 
@@ -147,10 +149,4 @@ npm run watch
147
149
 
148
150
  ## License
149
151
 
150
- Apache-2.0
151
-
152
- ## Links
153
-
154
- - GitHub: [https://github.com/wowok-ai/skills](https://github.com/wowok-ai/skills)
155
- - npm: [https://www.npmjs.com/package/@wowok/skills](https://www.npmjs.com/package/@wowok/skills)
156
- - X: [https://x.com/Wowok_Ai](https://x.com/Wowok_Ai)
152
+ MIT
package/dist/cli.js CHANGED
@@ -37,14 +37,36 @@ Object.defineProperty(exports, "__esModule", { value: true });
37
37
  const fs = __importStar(require("fs"));
38
38
  const path = __importStar(require("path"));
39
39
  const skills_1 = require("./skills");
40
+ /**
41
+ * Skill directory names (must match folder names in package)
42
+ * Ordered by role for clarity:
43
+ * - Customer: wowok-order
44
+ * - Provider: wowok-provider, wowok-machine
45
+ * - Arbitrator: wowok-arbitrator
46
+ * - Shared: wowok-guard, wowok-tools, wowok-safety
47
+ */
40
48
  const SKILL_DIRS = [
41
- 'wowok-build',
49
+ // Customer
50
+ 'wowok-order',
51
+ // Provider
52
+ 'wowok-provider',
53
+ 'wowok-machine',
54
+ // Arbitrator
55
+ 'wowok-arbitrator',
56
+ // Shared
42
57
  'wowok-guard',
43
58
  'wowok-tools',
44
59
  'wowok-safety',
45
- 'wowok-machine',
46
- 'wowok-order',
47
60
  ];
61
+ /**
62
+ * Role display names for CLI output
63
+ */
64
+ const ROLE_DISPLAY = {
65
+ customer: '👤 Customer',
66
+ provider: '🏪 Provider',
67
+ arbitrator: '⚖️ Arbitrator',
68
+ shared: '🛠️ Shared'
69
+ };
48
70
  function getPackageRoot() {
49
71
  return path.resolve(__dirname, '..');
50
72
  }
@@ -121,15 +143,86 @@ function cmdUninit() {
121
143
  console.log(`[wowok-skills] Done — ${count} skills removed from ${targetDir}`);
122
144
  }
123
145
  }
146
+ function cmdList() {
147
+ console.log('Available WoWok Skills (organized by role):\n');
148
+ const roleSkills = (0, skills_1.getRoleSkills)();
149
+ for (const roleGroup of roleSkills) {
150
+ console.log(`${ROLE_DISPLAY[roleGroup.role]}`);
151
+ console.log(` ${roleGroup.description}`);
152
+ for (const skill of roleGroup.skills) {
153
+ const loading = skill.loading === 'always' ? '[always]' : '[on-demand]';
154
+ console.log(` • ${skill.name} ${loading}`);
155
+ console.log(` ${skill.description}`);
156
+ }
157
+ console.log('');
158
+ }
159
+ }
160
+ function cmdGet(name) {
161
+ const skill = (0, skills_1.getSkillByName)(name);
162
+ if (skill) {
163
+ console.log(`Name: ${skill.name}`);
164
+ console.log(`Role: ${ROLE_DISPLAY[skill.role]}`);
165
+ console.log(`Loading: ${skill.loading}`);
166
+ console.log(`Version: ${skill.version}`);
167
+ console.log(`Description: ${skill.description}`);
168
+ if (skill.related && skill.related.length > 0) {
169
+ console.log(`Related: ${skill.related.join(', ')}`);
170
+ }
171
+ }
172
+ else {
173
+ console.error(`Skill not found: ${name}`);
174
+ process.exit(1);
175
+ }
176
+ }
177
+ function cmdRecommend(intent) {
178
+ const recommended = (0, skills_1.recommendSkills)(intent);
179
+ console.log(`Recommended skills for: "${intent}"\n`);
180
+ // Group by role
181
+ const byRole = {};
182
+ for (const skill of recommended) {
183
+ if (!byRole[skill.role])
184
+ byRole[skill.role] = [];
185
+ byRole[skill.role].push(skill);
186
+ }
187
+ for (const [role, skills] of Object.entries(byRole)) {
188
+ console.log(`${ROLE_DISPLAY[role]}:`);
189
+ for (const skill of skills) {
190
+ console.log(` • ${skill.name}`);
191
+ }
192
+ console.log('');
193
+ }
194
+ }
195
+ function cmdRole(role) {
196
+ if (!['customer', 'provider', 'arbitrator', 'shared'].includes(role)) {
197
+ console.error(`Invalid role: ${role}`);
198
+ console.error('Valid roles: customer, provider, arbitrator, shared');
199
+ process.exit(1);
200
+ }
201
+ const skills = (0, skills_1.getSkillsByRole)(role);
202
+ console.log(`${ROLE_DISPLAY[role]} Skills:\n`);
203
+ for (const skill of skills) {
204
+ const loading = skill.loading === 'always' ? '[always]' : '[on-demand]';
205
+ console.log(` • ${skill.name} ${loading}`);
206
+ console.log(` ${skill.description}`);
207
+ }
208
+ }
124
209
  function printUsage() {
125
210
  console.log('WoWok Skills CLI');
126
- console.log('Usage: wowok-skills <command>');
211
+ console.log('Usage: wowok-skills <command> [args]');
127
212
  console.log('');
128
213
  console.log('Commands:');
129
- console.log(' list List all available skills');
130
- console.log(' get <name> Show skill details');
131
- console.log(' init Install skills to current project (.claude/skills/)');
132
- console.log(' uninit Remove skills from current project');
214
+ console.log(' list List all available skills (by role)');
215
+ console.log(' get <name> Show skill details');
216
+ console.log(' role <role> List skills for a role (customer|provider|arbitrator|shared)');
217
+ console.log(' recommend <intent> Recommend skills based on user intent');
218
+ console.log(' init Install skills to current project (.claude/skills/)');
219
+ console.log(' uninit Remove skills from current project');
220
+ console.log('');
221
+ console.log('Examples:');
222
+ console.log(' wowok-skills list');
223
+ console.log(' wowok-skills get wowok-provider');
224
+ console.log(' wowok-skills role provider');
225
+ console.log(' wowok-skills recommend "create a service"');
133
226
  }
134
227
  function main() {
135
228
  const args = process.argv.slice(2);
@@ -140,26 +233,28 @@ function main() {
140
233
  const command = args[0];
141
234
  switch (command) {
142
235
  case 'list':
143
- console.log('Available WoWok Skills:');
144
- (0, skills_1.getSkills)().forEach(skill => {
145
- console.log(` - ${skill.name}: ${skill.description}`);
146
- });
236
+ cmdList();
147
237
  break;
148
238
  case 'get':
149
239
  if (args.length < 2) {
150
240
  console.error('Error: Skill name required');
151
241
  process.exit(1);
152
242
  }
153
- const skill = (0, skills_1.getSkillByName)(args[1]);
154
- if (skill) {
155
- console.log(`Name: ${skill.name}`);
156
- console.log(`Description: ${skill.description}`);
157
- console.log(`Version: ${skill.version}`);
243
+ cmdGet(args[1]);
244
+ break;
245
+ case 'role':
246
+ if (args.length < 2) {
247
+ console.error('Error: Role required (customer|provider|arbitrator|shared)');
248
+ process.exit(1);
158
249
  }
159
- else {
160
- console.error(`Skill not found: ${args[1]}`);
250
+ cmdRole(args[1]);
251
+ break;
252
+ case 'recommend':
253
+ if (args.length < 2) {
254
+ console.error('Error: Intent description required');
161
255
  process.exit(1);
162
256
  }
257
+ cmdRecommend(args.slice(1).join(' '));
163
258
  break;
164
259
  case 'init':
165
260
  cmdInit();
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export * from './skills';
2
1
  export * from './types';
2
+ export { wowokSkills, getSkills, getSkillByName, getSkillsByRole, getSkillsByLoading, getRoleSkills, recommendSkills } from './skills';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC;AAGxB,OAAO,EACL,WAAW,EACX,SAAS,EACT,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,eAAe,EAChB,MAAM,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -14,6 +14,16 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./skills"), exports);
17
+ exports.recommendSkills = exports.getRoleSkills = exports.getSkillsByLoading = exports.getSkillsByRole = exports.getSkillByName = exports.getSkills = exports.wowokSkills = void 0;
18
+ // Export types
18
19
  __exportStar(require("./types"), exports);
20
+ // Export skills with role-based helpers
21
+ var skills_1 = require("./skills");
22
+ Object.defineProperty(exports, "wowokSkills", { enumerable: true, get: function () { return skills_1.wowokSkills; } });
23
+ Object.defineProperty(exports, "getSkills", { enumerable: true, get: function () { return skills_1.getSkills; } });
24
+ Object.defineProperty(exports, "getSkillByName", { enumerable: true, get: function () { return skills_1.getSkillByName; } });
25
+ Object.defineProperty(exports, "getSkillsByRole", { enumerable: true, get: function () { return skills_1.getSkillsByRole; } });
26
+ Object.defineProperty(exports, "getSkillsByLoading", { enumerable: true, get: function () { return skills_1.getSkillsByLoading; } });
27
+ Object.defineProperty(exports, "getRoleSkills", { enumerable: true, get: function () { return skills_1.getRoleSkills; } });
28
+ Object.defineProperty(exports, "recommendSkills", { enumerable: true, get: function () { return skills_1.recommendSkills; } });
19
29
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,eAAe;AACf,0CAAwB;AAExB,wCAAwC;AACxC,mCAQkB;AAPhB,qGAAA,WAAW,OAAA;AACX,mGAAA,SAAS,OAAA;AACT,wGAAA,cAAc,OAAA;AACd,yGAAA,eAAe,OAAA;AACf,4GAAA,kBAAkB,OAAA;AAClB,uGAAA,aAAa,OAAA;AACb,yGAAA,eAAe,OAAA"}
package/dist/skills.d.ts CHANGED
@@ -1,5 +1,50 @@
1
- import { Skill, SkillConfig } from './types';
1
+ import { Skill, SkillConfig, SkillRole, RoleSkills } from './types';
2
+ /**
3
+ * WoWok Skills organized by role
4
+ *
5
+ * Role-based skill selection guide for AI:
6
+ *
7
+ * 1. CUSTOMER (wowok-order)
8
+ * - Use when: User wants to place orders, track progress, request arbitration as a customer
9
+ * - Key actions: Purchase from Service, operate Order/Progress, submit disputes
10
+ *
11
+ * 2. PROVIDER (wowok-provider, wowok-machine)
12
+ * - Use when: User is a merchant/service provider building or operating services
13
+ * - Key actions: Create Service, design Machine workflow, set Allocators, handle customer orders
14
+ *
15
+ * 3. ARBITRATOR (wowok-arbitrator)
16
+ * - Use when: User operates an arbitration service for dispute resolution
17
+ * - Key actions: Create Arbitration, review evidence, organize voting, manage fees
18
+ *
19
+ * 4. SHARED (wowok-tools, wowok-safety, wowok-guard)
20
+ * - Use when: Any role needs tool usage, safety protocols, or guard design
21
+ * - Always loaded: wowok-tools, wowok-safety
22
+ * - On-demand: wowok-guard (complex guard design)
23
+ */
2
24
  export declare const wowokSkills: SkillConfig;
25
+ /**
26
+ * Get all skills
27
+ */
3
28
  export declare function getSkills(): Skill[];
29
+ /**
30
+ * Get skill by name
31
+ */
4
32
  export declare function getSkillByName(name: string): Skill | undefined;
33
+ /**
34
+ * Get skills by role
35
+ */
36
+ export declare function getSkillsByRole(role: SkillRole): Skill[];
37
+ /**
38
+ * Get skills by loading mode
39
+ */
40
+ export declare function getSkillsByLoading(mode: 'always' | 'on-demand'): Skill[];
41
+ /**
42
+ * Get role-based skill groupings for AI guidance
43
+ */
44
+ export declare function getRoleSkills(): RoleSkills[];
45
+ /**
46
+ * AI skill selection helper
47
+ * Returns recommended skills based on user intent keywords
48
+ */
49
+ export declare function recommendSkills(intent: string): Skill[];
5
50
  //# sourceMappingURL=skills.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE7C,eAAO,MAAM,WAAW,EAAE,WAiCzB,CAAC;AAEF,wBAAgB,SAAS,IAAI,KAAK,EAAE,CAEnC;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAE9D"}
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,eAAO,MAAM,WAAW,EAAE,WA0EzB,CAAC;AAEF;;GAEG;AACH,wBAAgB,SAAS,IAAI,KAAK,EAAE,CAEnC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAE9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,KAAK,EAAE,CAExD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,KAAK,EAAE,CAExE;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,UAAU,EAAE,CA4B5C;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,CAyBvD"}
package/dist/skills.js CHANGED
@@ -3,44 +3,182 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.wowokSkills = void 0;
4
4
  exports.getSkills = getSkills;
5
5
  exports.getSkillByName = getSkillByName;
6
+ exports.getSkillsByRole = getSkillsByRole;
7
+ exports.getSkillsByLoading = getSkillsByLoading;
8
+ exports.getRoleSkills = getRoleSkills;
9
+ exports.recommendSkills = recommendSkills;
10
+ /**
11
+ * WoWok Skills organized by role
12
+ *
13
+ * Role-based skill selection guide for AI:
14
+ *
15
+ * 1. CUSTOMER (wowok-order)
16
+ * - Use when: User wants to place orders, track progress, request arbitration as a customer
17
+ * - Key actions: Purchase from Service, operate Order/Progress, submit disputes
18
+ *
19
+ * 2. PROVIDER (wowok-provider, wowok-machine)
20
+ * - Use when: User is a merchant/service provider building or operating services
21
+ * - Key actions: Create Service, design Machine workflow, set Allocators, handle customer orders
22
+ *
23
+ * 3. ARBITRATOR (wowok-arbitrator)
24
+ * - Use when: User operates an arbitration service for dispute resolution
25
+ * - Key actions: Create Arbitration, review evidence, organize voting, manage fees
26
+ *
27
+ * 4. SHARED (wowok-tools, wowok-safety, wowok-guard)
28
+ * - Use when: Any role needs tool usage, safety protocols, or guard design
29
+ * - Always loaded: wowok-tools, wowok-safety
30
+ * - On-demand: wowok-guard (complex guard design)
31
+ */
6
32
  exports.wowokSkills = {
7
33
  skills: [
34
+ // === CUSTOMER ROLE ===
8
35
  {
9
- name: 'wowok-build',
10
- description: 'Complex system buildingService, Machine, Guard, Allocation, Reward orchestration',
11
- version: '1.0.0'
36
+ name: 'wowok-order',
37
+ description: 'Customer order lifecycleplace orders, track progress via Order/Progress, submit arbitration disputes, claim compensation. Use when user acts as a customer/buyer.',
38
+ version: '1.0.0',
39
+ role: 'customer',
40
+ loading: 'on-demand',
41
+ related: ['wowok-provider', 'wowok-arbitrator', 'wowok-messenger', 'wowok-tools']
12
42
  },
43
+ // === PROVIDER ROLE ===
13
44
  {
14
- name: 'wowok-guard',
15
- description: 'Guard design masteryprogrammable trust rules and multi-signature authorization',
16
- version: '1.0.0'
45
+ name: 'wowok-provider',
46
+ description: 'Service provider guidecreate Service, design Machine workflow, configure Allocators for fund distribution, handle order fulfillment and customer service via Messenger. Use when user is a merchant/seller.',
47
+ version: '1.0.0',
48
+ role: 'provider',
49
+ loading: 'on-demand',
50
+ related: ['wowok-machine', 'wowok-guard', 'wowok-messenger', 'wowok-tools']
17
51
  },
18
52
  {
19
53
  name: 'wowok-machine',
20
- description: 'Machine workflow design — state machines, progress tracking, multi-step processes',
21
- version: '1.0.0'
54
+ description: 'Machine workflow design — state machines, node definitions, progress tracking, forward/guard logic. Used by providers to design order processing workflows.',
55
+ version: '1.0.0',
56
+ role: 'provider',
57
+ loading: 'on-demand',
58
+ related: ['wowok-provider', 'wowok-guard']
22
59
  },
60
+ // === ARBITRATOR ROLE ===
23
61
  {
24
- name: 'wowok-order',
25
- description: 'Order lifecycle managementpayment, allocation, arbitration, and settlement',
26
- version: '1.0.0'
62
+ name: 'wowok-arbitrator',
63
+ description: 'Arbitration service operationcreate Arbitration, receive evidence via Messenger, organize voting processes, manage compensation funds, extract fees. Use when user operates dispute resolution.',
64
+ version: '1.0.0',
65
+ role: 'arbitrator',
66
+ loading: 'on-demand',
67
+ related: ['wowok-order', 'wowok-messenger', 'wowok-tools']
27
68
  },
69
+ // === SHARED / ALL ROLES ===
28
70
  {
29
- name: 'wowok-safety',
30
- description: 'Safety protocoldry-run, confirm, execute with user authorization checkpoints',
31
- version: '1.0.0'
71
+ name: 'wowok-messenger',
72
+ description: 'Encrypted messagingend-to-end encrypted communication, WTS evidence generation, conversation management. Used by all roles for secure off-chain communication and arbitration evidence.',
73
+ version: '1.0.0',
74
+ role: 'shared',
75
+ loading: 'on-demand',
76
+ related: ['wowok-order', 'wowok-provider', 'wowok-arbitrator']
32
77
  },
33
78
  {
34
79
  name: 'wowok-tools',
35
- description: 'MCP tool usage mastery — 13 tools, nested parameters, schema references',
36
- version: '1.0.0'
80
+ description: 'MCP tool usage mastery — query_toolkit, onchain_operations, messenger_operation, schema_query, and all 13+ tools with correct parameter formats. ALWAYS loaded for all roles.',
81
+ version: '1.0.0',
82
+ role: 'shared',
83
+ loading: 'always',
84
+ related: ['wowok-safety']
85
+ },
86
+ {
87
+ name: 'wowok-safety',
88
+ description: 'Safety protocol — dry-run validation, user confirmation checkpoints, execute with authorization. ALWAYS loaded for protection against mistakes.',
89
+ version: '1.0.0',
90
+ role: 'shared',
91
+ loading: 'always',
92
+ related: ['wowok-tools']
93
+ },
94
+ {
95
+ name: 'wowok-guard',
96
+ description: 'Guard design mastery — programmable trust rules, multi-signature authorization, guard2file export/import. Used by providers and arbitrators for complex validation logic.',
97
+ version: '1.0.0',
98
+ role: 'shared',
99
+ loading: 'on-demand',
100
+ related: ['wowok-provider', 'wowok-machine']
37
101
  }
38
102
  ]
39
103
  };
104
+ /**
105
+ * Get all skills
106
+ */
40
107
  function getSkills() {
41
108
  return exports.wowokSkills.skills;
42
109
  }
110
+ /**
111
+ * Get skill by name
112
+ */
43
113
  function getSkillByName(name) {
44
114
  return exports.wowokSkills.skills.find(skill => skill.name === name);
45
115
  }
116
+ /**
117
+ * Get skills by role
118
+ */
119
+ function getSkillsByRole(role) {
120
+ return exports.wowokSkills.skills.filter(skill => skill.role === role);
121
+ }
122
+ /**
123
+ * Get skills by loading mode
124
+ */
125
+ function getSkillsByLoading(mode) {
126
+ return exports.wowokSkills.skills.filter(skill => skill.loading === mode);
127
+ }
128
+ /**
129
+ * Get role-based skill groupings for AI guidance
130
+ */
131
+ function getRoleSkills() {
132
+ const roles = [
133
+ {
134
+ role: 'customer',
135
+ roleName: 'Customer',
136
+ description: 'Users placing orders and participating in commerce as buyers'
137
+ },
138
+ {
139
+ role: 'provider',
140
+ roleName: 'Service Provider',
141
+ description: 'Merchants and sellers creating services and handling orders'
142
+ },
143
+ {
144
+ role: 'arbitrator',
145
+ roleName: 'Arbitrator',
146
+ description: 'Dispute resolution services and voting organizers'
147
+ },
148
+ {
149
+ role: 'shared',
150
+ roleName: 'Shared Tools',
151
+ description: 'Common tools and protocols for all roles'
152
+ }
153
+ ];
154
+ return roles.map(r => ({
155
+ ...r,
156
+ skills: getSkillsByRole(r.role)
157
+ }));
158
+ }
159
+ /**
160
+ * AI skill selection helper
161
+ * Returns recommended skills based on user intent keywords
162
+ */
163
+ function recommendSkills(intent) {
164
+ const lower = intent.toLowerCase();
165
+ // Provider keywords
166
+ if (/\b(create service|merchant|seller|provider|build service|allocators?|machine design)\b/.test(lower)) {
167
+ return getSkillsByRole('provider');
168
+ }
169
+ // Customer keywords
170
+ if (/\b(place order|buy|purchase|customer|order status|track progress|dispute|compensation)\b/.test(lower)) {
171
+ return getSkillsByRole('customer');
172
+ }
173
+ // Arbitrator keywords
174
+ if (/\b(arbitration|arbitrator|dispute resolution|voting|evidence|arb object)\b/.test(lower)) {
175
+ return getSkillsByRole('arbitrator');
176
+ }
177
+ // Guard keywords
178
+ if (/\b(guard design|validation rules?|multi.sig|permission|authorization)\b/.test(lower)) {
179
+ return [getSkillByName('wowok-guard')];
180
+ }
181
+ // Default: return all on-demand skills
182
+ return getSkillsByLoading('on-demand');
183
+ }
46
184
  //# sourceMappingURL=skills.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":";;;AAqCA,8BAEC;AAED,wCAEC;AAzCY,QAAA,WAAW,GAAgB;IACtC,MAAM,EAAE;QACN;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,qFAAqF;YAClG,OAAO,EAAE,OAAO;SACjB;QACD;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,mFAAmF;YAChG,OAAO,EAAE,OAAO;SACjB;QACD;YACE,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,mFAAmF;YAChG,OAAO,EAAE,OAAO;SACjB;QACD;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,+EAA+E;YAC5F,OAAO,EAAE,OAAO;SACjB;QACD;YACE,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,iFAAiF;YAC9F,OAAO,EAAE,OAAO;SACjB;QACD;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,yEAAyE;YACtF,OAAO,EAAE,OAAO;SACjB;KACF;CACF,CAAC;AAEF,SAAgB,SAAS;IACvB,OAAO,mBAAW,CAAC,MAAM,CAAC;AAC5B,CAAC;AAED,SAAgB,cAAc,CAAC,IAAY;IACzC,OAAO,mBAAW,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,9 +1,40 @@
1
+ /**
2
+ * Skill role categories for AI selection
3
+ */
4
+ export type SkillRole = 'customer' | 'provider' | 'arbitrator' | 'shared';
5
+ /**
6
+ * Skill loading mode
7
+ * - 'always': Always loaded, metadata in prompt
8
+ * - 'on-demand': Loaded only when description matches task
9
+ */
10
+ export type LoadingMode = 'always' | 'on-demand';
11
+ /**
12
+ * Skill definition
13
+ */
1
14
  export interface Skill {
2
15
  name: string;
3
16
  description: string;
4
17
  version: string;
18
+ /** Role this skill is for */
19
+ role: SkillRole;
20
+ /** Loading mode */
21
+ loading: LoadingMode;
22
+ /** Related skills that might also be relevant */
23
+ related?: string[];
5
24
  }
25
+ /**
26
+ * Skill configuration
27
+ */
6
28
  export interface SkillConfig {
7
29
  skills: Skill[];
8
30
  }
31
+ /**
32
+ * Role-based skill grouping for AI guidance
33
+ */
34
+ export interface RoleSkills {
35
+ role: SkillRole;
36
+ roleName: string;
37
+ description: string;
38
+ skills: Skill[];
39
+ }
9
40
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE1E;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,mBAAmB;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB"}