@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wowok/skills",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "WoWok AI Skills for Claude and other AI assistants - Helping AI use WoWok MCP tools correctly",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -9,19 +9,18 @@
9
9
  },
10
10
  "files": [
11
11
  "dist/",
12
- "wowok-build/",
12
+ "wowok-provider/",
13
+ "wowok-arbitrator/",
13
14
  "wowok-guard/",
14
15
  "wowok-tools/",
15
16
  "wowok-safety/",
16
17
  "wowok-machine/",
17
18
  "wowok-order/",
18
19
  "examples/",
19
- "schemas/",
20
20
  "scripts/install.js",
21
21
  "README.md"
22
22
  ],
23
23
  "scripts": {
24
- "prebuild": "node scripts/copy-assets.js",
25
24
  "build": "tsc",
26
25
  "watch": "tsc --watch",
27
26
  "prepublishOnly": "npm run build",
@@ -44,10 +43,7 @@
44
43
  "type": "git",
45
44
  "url": "https://github.com/wowok-ai/skills.git"
46
45
  },
47
- "bugs": {
48
- "url": "https://github.com/wowok-ai/skills/issues"
49
- },
50
- "homepage": "https://github.com/wowok-ai/skills#readme",
46
+ "homepage": "https://wowok.net",
51
47
  "devDependencies": {
52
48
  "@types/node": "^22.0.0",
53
49
  "typescript": "^5.8.0"
@@ -11,12 +11,14 @@ const path = require('path');
11
11
  const os = require('os');
12
12
 
13
13
  const SKILL_DIRS = [
14
- 'wowok-build',
14
+ 'wowok-provider',
15
+ 'wowok-arbitrator',
16
+ 'wowok-order',
17
+ 'wowok-messenger',
15
18
  'wowok-guard',
19
+ 'wowok-machine',
16
20
  'wowok-tools',
17
21
  'wowok-safety',
18
- 'wowok-machine',
19
- 'wowok-order',
20
22
  ];
21
23
 
22
24
  const CLAUDE_SKILLS_DIR = path.join(os.homedir(), '.claude', 'skills');
@@ -0,0 +1,279 @@
1
+ ---
2
+ name: wowok-arbitrator
3
+ description: |
4
+ WoWok Arbitrator — the canonical skill for arbitration service providers
5
+ to create Arbitration objects, handle dispute resolution, manage voting processes,
6
+ and earn arbitration fees.
7
+
8
+ Covers: creating Arbitration objects, receiving Messenger communications,
9
+ selecting and organizing voters, processing arbitration cases (Arb objects),
10
+ distributing arbitration fees, and managing compensation funds.
11
+
12
+ For customers placing orders, see wowok-order. For service providers, see wowok-provider.
13
+ when_to_use:
14
+ - User wants to create an Arbitration service on WoWok
15
+ - User wants to handle dispute resolution between customers and merchants
16
+ - User wants to organize voting processes for arbitration cases
17
+ - User wants to manage arbitration fees and compensation funds
18
+ - User mentions "arbitration", "dispute resolution", "voting", "arbiter", "judge"
19
+ ---
20
+
21
+ # WoWok Arbitrator Guide
22
+
23
+ Create and operate arbitration services on WoWok as a trusted third-party dispute resolver.
24
+
25
+ > **Role**: Arbitrator (Dispute Resolution Service)
26
+ > **Customer Perspective**: See [wowok-order](../wowok-order/SKILL.md) — Section 3: Arbitration Operations
27
+ > **Service Provider Perspective**: See [wowok-provider](../wowok-provider/SKILL.md)
28
+ > **Tools**: See [wowok-tools](../wowok-tools/SKILL.md)
29
+
30
+ ---
31
+
32
+ ## Core Principle: Trusted Third-Party
33
+
34
+ Arbitration services provide **neutral dispute resolution** between customers and service providers. Trust is earned through:
35
+
36
+ - **Transparent processes**: Clear rules published in Arbitration object
37
+ - **Fair voting**: Multi-party voting prevents unilateral decisions
38
+ - **Timely resolution**: Defined deadlines prevent indefinite delays
39
+ - **Enforceable outcomes**: Integration with Service's compensation fund
40
+
41
+ ---
42
+
43
+ ## The Arbitration Lifecycle
44
+
45
+ ```
46
+ ARBITRATION CREATION (one-time setup)
47
+ ├── Create Arbitration object
48
+ ├── Configure: fee structure, voting rules, compensation fund
49
+ ├── Set up Contact (um) for Messenger communication
50
+ └── Publish to make available for Services
51
+
52
+ ARBITRATION CASE (Arb object) — per dispute
53
+ ├── Customer initiates via arbitration.dispute (pays fee)
54
+ ├── Customer submits evidence via Messenger (WTS files)
55
+ ├── Arbitrator reviews evidence and organizes voting
56
+ ├── Voters cast votes
57
+ ├── Result determined and published
58
+ ├── Customer claims compensation via order.arb_claim_compensation
59
+ └── Arbitrator receives fee from Arbitration.balance
60
+ ```
61
+
62
+ ---
63
+
64
+ ## Creating an Arbitration Service
65
+
66
+ ### Step 1: Create Arbitration Object
67
+
68
+ **Operation**: `onchain_operations` with `operation_type: "arbitration"`.
69
+
70
+ **Schema Reference**: `schema_query({ action: "get", name: "onchain_operations_arbitration" })`
71
+
72
+ **Key Fields**:
73
+ - `object`: Arbitration object name (CREATE) or ID (MODIFY)
74
+ - `description`: Service description
75
+ - `fee`: Arbitration fee per case (token amount)
76
+ - Other configuration fields per schema
77
+
78
+ ### Step 2: Set Up Contact for Messenger
79
+
80
+ Arbitration's `um` field references a Contact object with Messenger addresses.
81
+
82
+ **Create Contact**:
83
+
84
+ **Operation**: `onchain_operations` with `operation_type: "contact"`.
85
+
86
+ **Key Fields**:
87
+ - `object`: Contact object name (CREATE) or ID (MODIFY)
88
+ - `description`: Contact purpose description
89
+ - `ims`: Array of IM addresses with:
90
+ - `name`: Identifier for this IM endpoint
91
+ - `at`: Messenger address
92
+
93
+ **Link Contact to Arbitration**:
94
+
95
+ **Operation**: `onchain_operations` with `operation_type: "arbitration"`.
96
+
97
+ **Key Field**:
98
+ - `um`: Contact object ID or name to link
99
+
100
+ ### Step 3: Configure Compensation Fund (Optional)
101
+
102
+ Services can link to your Arbitration and contribute to compensation fund.
103
+
104
+ **Flow**:
105
+ ```
106
+ Service.compensation_fund → Holds tokens for arbitration payouts
107
+ When customer wins arbitration → Funds transferred to customer's Order
108
+ ```
109
+
110
+ ---
111
+
112
+ ## Handling Arbitration Cases
113
+
114
+ ### Receiving Evidence via Messenger
115
+
116
+ Customers submit evidence through encrypted Messenger communication.
117
+
118
+ **Process**:
119
+ 1. Customer queries Arbitration's Contact object (`arbitration.um`)
120
+ 2. Customer extracts IMS addresses from `contact.ims[]`
121
+ 3. Customer sends WTS files via Messenger
122
+ 4. Arbitrator receives and verifies WTS authenticity
123
+
124
+ **WTS Verification**:
125
+
126
+ **Tool**: `messenger_operation` with `verify_wts` operation.
127
+
128
+ **Key Field**:
129
+ - `wtsFilePath`: Path to received WTS file
130
+
131
+ **Schema Reference**: `schema_query({ action: "get", name: "messenger_operation" })`
132
+
133
+ ### Arb Object Lifecycle
134
+
135
+ Arb objects progress through states as the arbitration proceeds:
136
+
137
+ | State | Description | Next Action |
138
+ |-------|-------------|-------------|
139
+ | `Principal_confirming` | Initial state, principal (customer) confirming claim | Customer submits evidence |
140
+ | `Arbitrator_confirming` | Arbitrator reviewing evidence | Arbitrator organizes voting |
141
+ | `Voting` | Voting in progress | Voters cast votes |
142
+ | `Arbitrated` | Voting complete, result determined | Either party can object |
143
+ | `Objectionable` | Objection period open | Opposing party can file objection |
144
+ | `Finished` | Arbitration complete, result final | Customer can claim compensation |
145
+ | `Withdrawn` | Arbitration withdrawn | No further action |
146
+
147
+ ### Organizing Voting
148
+
149
+ **Selecting Voters**:
150
+ - Define voter eligibility criteria (reputation, stake, expertise)
151
+ - Invite qualified voters to participate
152
+ - Set voting deadline (`arb.voting_deadline`)
153
+
154
+ **Voting Process**:
155
+ ```
156
+ Arb.proposition[] → List of claims/proposals
157
+ Arb.voted[] → Voting records
158
+ Voters evaluate evidence and vote on propositions
159
+ ```
160
+
161
+ **Determining Outcome**:
162
+ - Count votes per proposition
163
+ - Apply voting rules (simple majority, supermajority, etc.)
164
+ - Set `arb.indemnity` with compensation amount if customer wins
165
+ - Transition to `Arbitrated` state
166
+
167
+ ---
168
+
169
+ ## Arbitration Fees & Revenue
170
+
171
+ ### Fee Structure
172
+
173
+ **Arbitration Fee** (`arbitration.fee`):
174
+ - Paid by customer when initiating dispute (`arbitration.dispute`)
175
+ - Stored in `arbitration.balance`
176
+ - Covers arbitrator's operational costs
177
+
178
+ **Fee Distribution**:
179
+ ```
180
+ Customer pays fee ──→ Arbitration.balance
181
+
182
+ ├──→ Arbitrator (platform/revenue)
183
+ └──→ Voters (if voter incentives configured)
184
+ ```
185
+
186
+ ### Extracting Fees
187
+
188
+ Arbitrators can extract accumulated fees.
189
+
190
+ **Query Balance**:
191
+
192
+ **Tool**: `query_toolkit` with `onchain_objects` query type.
193
+
194
+ **Extract Field**: `arbitration.balance`
195
+
196
+ **Withdrawal Operation**:
197
+
198
+ **Schema Reference**: `schema_query({ action: "get", name: "onchain_operations_arbitration" })` — look for withdrawal/receive fields
199
+
200
+ ---
201
+
202
+ ## Integration with Services
203
+
204
+ ### Services Linking to Arbitration
205
+
206
+ Services configure which Arbitrations they support:
207
+
208
+ ```
209
+ Service.arbitrations: ["<arbitration_id_1>", "<arbitration_id_2>"]
210
+ Service.compensation_fund: "<token_balance>"
211
+ ```
212
+
213
+ When customer creates Arb object on linked Arbitration:
214
+ - Arb automatically associated with Order
215
+ - Service's compensation fund available for payouts
216
+ - Arbitration fee paid to Arbitration.balance
217
+
218
+ ### Compensation Flow
219
+
220
+ ```
221
+ Customer wins arbitration
222
+
223
+ ├──→ Arb.indemnity set with compensation amount
224
+
225
+ ├──→ Customer calls order.arb_claim_compensation
226
+
227
+ ├──→ Funds transferred from Service.compensation_fund to Order
228
+
229
+ └──→ Customer extracts via Order.receive()
230
+ ```
231
+
232
+ ---
233
+
234
+ ## Best Practices
235
+
236
+ ### Building Trust
237
+
238
+ 1. **Clear Rules**: Publish detailed arbitration rules and fee structure
239
+ 2. **Fair Process**: Ensure transparent evidence review and voting
240
+ 3. **Timely Resolution**: Set and enforce reasonable deadlines
241
+ 4. **Professional Communication**: Respond promptly via Messenger
242
+ 5. **Consistent Standards**: Apply uniform criteria across cases
243
+
244
+ ### Evidence Handling
245
+
246
+ 1. **Verify WTS**: Always verify WTS file authenticity before evaluation
247
+ 2. **Document Review**: Maintain records of evidence evaluation
248
+ 3. **Privacy Protection**: Keep evidence confidential (Messenger-only)
249
+ 4. **Chain of Custody**: Track evidence submission timestamps
250
+
251
+ ### Fee Management
252
+
253
+ 1. **Competitive Pricing**: Set fees that balance accessibility and sustainability
254
+ 2. **Transparent Costs**: Clearly communicate fee structure upfront
255
+ 3. **Fair Distribution**: Compensate voters fairly if using distributed voting
256
+ 4. **Regular Withdrawals**: Extract fees periodically to manage treasury
257
+
258
+ ---
259
+
260
+ ## Schema Reference
261
+
262
+ Use `schema_query` tool to get complete JSON schemas:
263
+
264
+ | Purpose | Schema Name |
265
+ |---------|-------------|
266
+ | List all schemas | `schema_query({ action: "list" })` |
267
+ | Arbitration operations | `onchain_operations_arbitration` |
268
+ | Order arbitration operations | `onchain_operations_order` |
269
+ | Messenger for evidence | `messenger_operation` |
270
+
271
+ **Query Schema**: `schema_query({ action: "get", name: "<schema_name>" })`
272
+
273
+ **Key Object Schemas** (via `query_toolkit`):
274
+ - `ObjectArbitrationSchema`: Arbitration object structure
275
+ - `ObjectArbSchema`: Arb case object structure
276
+ - `ArbStatusSchema`: Arb lifecycle states
277
+ - `ContactSchema`: Messenger contact setup
278
+
279
+ **Tools**: `query_toolkit` | `messenger_operation` | [all_tools](../wowok-tools/SKILL.md)