@wowok/skills 3.1.1 → 3.2.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/dist/targets.js CHANGED
@@ -9,8 +9,29 @@
9
9
  * NEVER hardcode a skill name or a client directory anywhere else.
10
10
  *
11
11
  * Directory choices below are taken from each client's official documentation
12
- * (verified 2026-09). Where a client only documents a UI flow (no on-disk
13
- * path), no path is registered here — the CLI prints a manual hint instead.
12
+ * (re-verified 2026-09 against the live docs). Where a client only documents a
13
+ * UI flow (no on-disk path), no path is registered here — the CLI prints a
14
+ * manual hint instead.
15
+ *
16
+ * Lifecycle notes (2026-09):
17
+ * - Roo Code was sunset by its team on 2026-05-15 (repo archived, v3.54.0
18
+ * final; official successor: Cline, community fork: Zoo Code). The `roo`
19
+ * target was REMOVED — see README for manual cleanup of old installs.
20
+ * - Windsurf was renamed Devin Desktop on 2026-06-02 (Cognition). On-disk
21
+ * paths are unchanged (still ~/.codeium/windsurf/).
22
+ * - Added (2026-09, per official docs): Gemini CLI, Qwen Code, Google
23
+ * Antigravity, Grok Build (xAI) and OpenCode.
24
+ * - CodeBuddy (official docs 2026-08-26): the recommended global MCP file is
25
+ * now the dotted `~/.codebuddy/.mcp.json`; the dotless `mcp.json` is
26
+ * DEPRECATED (read order: .mcp.json → mcp.json → ~/.codebuddy.json). Older
27
+ * dotless-file entries are migrated by the legacy cleanup.
28
+ * - Google Antigravity 2.0 unified the MCP config (2026-09 Google docs):
29
+ * CLI, 2.0 and IDE all share `~/.gemini/config/mcp_config.json` — the
30
+ * pre-2.0 `~/.gemini/antigravity/` location is obsolete. MCP registration
31
+ * is therefore automated (standard `mcpServers` JSON, command/args stdio).
32
+ * - Added (2026-09): WorkBuddy (Tencent) — MCP only, standard `mcpServers`
33
+ * JSON at ~/.workbuddy/mcp.json + <project>/.workbuddy/mcp.json; its skills
34
+ * come from the cross-client `.agents/skills` root (the "agents" target).
14
35
  */
15
36
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
37
  if (k2 === undefined) k2 = k;
@@ -46,7 +67,7 @@ var __importStar = (this && this.__importStar) || (function () {
46
67
  };
47
68
  })();
48
69
  Object.defineProperty(exports, "__esModule", { value: true });
49
- exports.DEFAULT_TARGET_IDS = exports.CLIENT_TARGETS = exports.COPILOT_SKILL_ROOT = exports.KILO_SKILL_ROOT = exports.CLINE_SKILL_ROOT = exports.ROO_SKILL_ROOT = exports.QODER_SKILL_ROOT = exports.TRAE_SKILL_ROOT = exports.CODEBUDDY_SKILL_ROOT = exports.WINDSURF_SKILL_ROOT = exports.CURSOR_SKILL_ROOT = exports.CODEX_SKILL_ROOT = exports.CLAUDE_SKILL_ROOT = exports.AGENTS_SKILL_ROOT = exports.MCP_PACKAGE = exports.MANIFEST_FILE = exports.SKILL_MIGRATION_TARGETS = exports.LEGACY_SKILL_NAMES = exports.SKILL_NAMES = void 0;
70
+ exports.DEFAULT_TARGET_IDS = exports.CLIENT_TARGETS = exports.OPENCODE_SKILL_ROOT = exports.GROK_SKILL_ROOT = exports.QWEN_SKILL_ROOT = exports.GEMINI_SKILL_ROOT = exports.COPILOT_SKILL_ROOT = exports.KILO_SKILL_ROOT = exports.CLINE_SKILL_ROOT = exports.QODER_SKILL_ROOT = exports.TRAE_SKILL_ROOT = exports.CODEBUDDY_SKILL_ROOT = exports.WINDSURF_SKILL_ROOT = exports.CURSOR_SKILL_ROOT = exports.CODEX_SKILL_ROOT = exports.CLAUDE_SKILL_ROOT = exports.AGENTS_SKILL_ROOT = exports.MCP_PACKAGE = exports.MANIFEST_FILE = exports.SKILL_MIGRATION_TARGETS = exports.LEGACY_SKILL_NAMES = exports.SKILL_NAMES = void 0;
50
71
  exports.getClientTarget = getClientTarget;
51
72
  exports.expandHome = expandHome;
52
73
  exports.resolveSkillRoots = resolveSkillRoots;
@@ -96,7 +117,7 @@ exports.MCP_PACKAGE = '@wowok/agent-mcp';
96
117
  // =========================================================================
97
118
  // Skill roots (cross-client standard + per-client native)
98
119
  // =========================================================================
99
- /** Cross-client root read by Codex, Cursor, Windsurf, Roo, Kilo (+ Trae project). */
120
+ /** Cross-client root read by Codex, Cursor, Windsurf (Devin Desktop), Kilo (+ Trae project). */
100
121
  exports.AGENTS_SKILL_ROOT = '.agents/skills';
101
122
  exports.CLAUDE_SKILL_ROOT = '.claude/skills';
102
123
  exports.CODEX_SKILL_ROOT = '.agents/skills';
@@ -105,15 +126,22 @@ exports.WINDSURF_SKILL_ROOT = '.windsurf/skills';
105
126
  exports.CODEBUDDY_SKILL_ROOT = '.codebuddy/skills';
106
127
  exports.TRAE_SKILL_ROOT = '.trae/skills';
107
128
  exports.QODER_SKILL_ROOT = '.qoder/skills';
108
- exports.ROO_SKILL_ROOT = '.roo/skills';
109
129
  exports.CLINE_SKILL_ROOT = '.cline/skills';
110
130
  exports.KILO_SKILL_ROOT = '.kilo/skills';
111
131
  exports.COPILOT_SKILL_ROOT = '.github/skills';
132
+ exports.GEMINI_SKILL_ROOT = '.gemini/skills';
133
+ exports.QWEN_SKILL_ROOT = '.qwen/skills';
134
+ exports.GROK_SKILL_ROOT = '.grok/skills';
135
+ exports.OPENCODE_SKILL_ROOT = '.opencode/skills';
112
136
  const home = () => os.homedir();
113
137
  /** Kilo Code new-platform config dir (XDG style). */
114
138
  function kiloConfigDir() {
115
139
  return path.join(process.env.XDG_CONFIG_HOME || path.join(home(), '.config'), 'kilo');
116
140
  }
141
+ /** OpenCode config dir (XDG style, same on every platform). */
142
+ function opencodeConfigDir() {
143
+ return path.join(process.env.XDG_CONFIG_HOME || path.join(home(), '.config'), 'opencode');
144
+ }
117
145
  /**
118
146
  * Pre-3.1 installers registered Qoder's MCP server in an undocumented
119
147
  * `mcp-settings.json` inside the app data dir. Qoder actually reads
@@ -200,8 +228,9 @@ exports.CLIENT_TARGETS = [
200
228
  label: 'Cross-client (.agents/skills)',
201
229
  userSkillDirs: [path.join(home(), exports.AGENTS_SKILL_ROOT)],
202
230
  projectSkillDirs: [exports.AGENTS_SKILL_ROOT],
203
- // Read by Codex, Cursor, Windsurf, Roo, Kilo (and Trae project-level,
204
- // once "enable .agents skills directory" is turned on).
231
+ // Read by Codex, Cursor, Windsurf (Devin Desktop), Kilo, Antigravity,
232
+ // Gemini CLI (alias) and Trae project-level (once "enable .agents skills
233
+ // directory" is turned on).
205
234
  userMcp: [],
206
235
  projectMcp: [],
207
236
  },
@@ -242,7 +271,7 @@ exports.CLIENT_TARGETS = [
242
271
  },
243
272
  {
244
273
  id: 'windsurf',
245
- label: 'Windsurf (Cascade)',
274
+ label: 'Devin Desktop (formerly Windsurf)',
246
275
  userSkillDirs: [path.join(home(), '.codeium', 'windsurf', 'skills')],
247
276
  projectSkillDirs: [exports.WINDSURF_SKILL_ROOT],
248
277
  // Only the user-scope MCP file is documented for Windsurf.
@@ -262,10 +291,31 @@ exports.CLIENT_TARGETS = [
262
291
  label: 'CodeBuddy',
263
292
  userSkillDirs: [path.join(home(), '.codebuddy', 'skills')],
264
293
  projectSkillDirs: [exports.CODEBUDDY_SKILL_ROOT],
265
- // Priority 1 of the documented user-scope candidates.
294
+ // Official (2026-08-26): the recommended global MCP file is the dotted
295
+ // ~/.codebuddy/.mcp.json; the dotless mcp.json is deprecated (read order:
296
+ // .mcp.json → mcp.json → ~/.codebuddy.json, first existing wins). Project
297
+ // scope is <project>/.mcp.json — the same file Claude uses.
266
298
  userMcp: [{ scope: 'user', path: path.join(home(), '.codebuddy', '.mcp.json'), format: 'json' }],
267
- // CodeBuddy project scope is <project>/.mcp.json — the same file Claude uses.
268
299
  projectMcp: [{ scope: 'project', path: '.mcp.json', format: 'json' }],
300
+ // Pre-3.3 installers wrote the deprecated dotless `~/.codebuddy/mcp.json`.
301
+ legacyMcpFiles: [path.join(home(), '.codebuddy', 'mcp.json')],
302
+ },
303
+ {
304
+ id: 'workbuddy',
305
+ label: 'WorkBuddy (Tencent)',
306
+ // User-level skills: ~/.workbuddy/skills/<name>/SKILL.md (loaded on
307
+ // restart; the in-app skill market imports into the same store). Project
308
+ // skills use the cross-client .agents/skills root ("agents" target).
309
+ userSkillDirs: [path.join(home(), '.workbuddy', 'skills')],
310
+ projectSkillDirs: [exports.AGENTS_SKILL_ROOT],
311
+ // Official docs: user scope ~/.workbuddy/mcp.json, project scope
312
+ // <project>/.workbuddy/mcp.json — standard `mcpServers` JSON (command/args,
313
+ // stdio + SSE). The UI mirror is Plugins → MCP Servers → Configure MCP.
314
+ userMcp: [{ scope: 'user', path: path.join(home(), '.workbuddy', 'mcp.json'), format: 'json' }],
315
+ projectMcp: [{ scope: 'project', path: '.workbuddy/mcp.json', format: 'json' }],
316
+ notes: [
317
+ 'WorkBuddy: restart the app after install so new skills and the MCP server are loaded.',
318
+ ],
269
319
  },
270
320
  {
271
321
  id: 'trae',
@@ -274,6 +324,10 @@ exports.CLIENT_TARGETS = [
274
324
  projectSkillDirs: [exports.TRAE_SKILL_ROOT],
275
325
  userMcp: traeMcpPaths().map((p) => ({ scope: 'user', path: p, format: 'json' })),
276
326
  projectMcp: [{ scope: 'project', path: '.trae/mcp.json', format: 'json' }],
327
+ notes: [
328
+ 'Trae project-level MCP only loads after enabling Settings → MCP → "Enable project-level MCP". ' +
329
+ 'Verify the user-level config path via Settings → MCP → Open config file.',
330
+ ],
277
331
  },
278
332
  {
279
333
  id: 'qoder',
@@ -284,16 +338,6 @@ exports.CLIENT_TARGETS = [
284
338
  projectMcp: [{ scope: 'project', path: '.mcp.json', format: 'json' }],
285
339
  legacyMcpFiles: [qoderLegacyMcpFile()],
286
340
  },
287
- {
288
- id: 'roo',
289
- label: 'Roo Code',
290
- userSkillDirs: [path.join(home(), '.roo', 'skills')],
291
- projectSkillDirs: [exports.ROO_SKILL_ROOT],
292
- userMcp: vscodeGlobalStorageFiles('rooveterinaryinc.roo-cline', 'cline_mcp_settings.json').map((p) => ({ scope: 'user', path: p, format: 'json' })),
293
- projectMcp: [{ scope: 'project', path: '.roo/mcp.json', format: 'json' }],
294
- // Roo is a VS Code extension: its global MCP file is the globalStorage one.
295
- legacyMcpFiles: [path.join(home(), '.roo', 'mcp_settings.json')],
296
- },
297
341
  {
298
342
  id: 'cline',
299
343
  label: 'Cline',
@@ -329,7 +373,7 @@ exports.CLIENT_TARGETS = [
329
373
  {
330
374
  scope: 'user',
331
375
  path: path.join(kiloConfigDir(), 'kilo.json'),
332
- format: 'kilo-json',
376
+ format: 'mcp-array-json',
333
377
  },
334
378
  ]),
335
379
  ],
@@ -366,6 +410,76 @@ exports.CLIENT_TARGETS = [
366
410
  // never scanned for user-level prompts). Copilot reads skills now.
367
411
  legacyUserDirs: [path.join(home(), '.github', 'prompts')],
368
412
  legacyProjectDirs: ['.github/prompts'],
413
+ notes: [
414
+ 'Copilot CLI also reads .mcp.json at the project root (the same file the ' +
415
+ 'claude target writes). .github/mcp.json targets the Copilot coding agent.',
416
+ ],
417
+ },
418
+ {
419
+ id: 'gemini',
420
+ label: 'Gemini CLI',
421
+ userSkillDirs: [path.join(home(), exports.GEMINI_SKILL_ROOT)],
422
+ projectSkillDirs: [exports.GEMINI_SKILL_ROOT],
423
+ userMcp: [{ scope: 'user', path: path.join(home(), '.gemini', 'settings.json'), format: 'json' }],
424
+ projectMcp: [{ scope: 'project', path: '.gemini/settings.json', format: 'json' }],
425
+ // Gemini CLI also reads ~/.agents/skills and .agents/skills as aliases of
426
+ // its own roots (the alias wins inside one scope) — the "agents" target
427
+ // covers those, so skills end up discoverable either way.
428
+ notes: [
429
+ 'Gemini CLI also reads the cross-client ~/.agents/skills and .agents/skills roots (covered by the "agents" target).',
430
+ ],
431
+ },
432
+ {
433
+ id: 'qwen',
434
+ label: 'Qwen Code',
435
+ userSkillDirs: [path.join(home(), exports.QWEN_SKILL_ROOT)],
436
+ projectSkillDirs: [exports.QWEN_SKILL_ROOT],
437
+ userMcp: [{ scope: 'user', path: path.join(home(), '.qwen', 'settings.json'), format: 'json' }],
438
+ projectMcp: [{ scope: 'project', path: '.qwen/settings.json', format: 'json' }],
439
+ },
440
+ {
441
+ id: 'antigravity',
442
+ label: 'Google Antigravity',
443
+ userSkillDirs: [path.join(home(), '.gemini', 'config', 'skills')],
444
+ projectSkillDirs: [exports.AGENTS_SKILL_ROOT],
445
+ // Antigravity 2.0 unified the MCP config (2026-09 Google docs): CLI, 2.0
446
+ // and IDE all share ~/.gemini/config/mcp_config.json — the pre-2.0
447
+ // ~/.gemini/antigravity/ location is obsolete. Standard `mcpServers` JSON
448
+ // (command/args for local stdio servers).
449
+ userMcp: [
450
+ {
451
+ scope: 'user',
452
+ path: path.join(home(), '.gemini', 'config', 'mcp_config.json'),
453
+ format: 'json',
454
+ },
455
+ ],
456
+ projectMcp: [],
457
+ notes: [
458
+ 'Google Antigravity project skills come from the cross-client .agents/skills root (covered by the "agents" target).',
459
+ ],
460
+ },
461
+ {
462
+ id: 'grok',
463
+ label: 'Grok Build (xAI)',
464
+ userSkillDirs: [path.join(home(), exports.GROK_SKILL_ROOT)],
465
+ projectSkillDirs: [exports.GROK_SKILL_ROOT],
466
+ userMcp: [{ scope: 'user', path: path.join(home(), '.grok', 'config.toml'), format: 'toml' }],
467
+ projectMcp: [{ scope: 'project', path: '.grok/config.toml', format: 'toml' }],
468
+ notes: [
469
+ 'Grok Build also auto-reads Claude Code skills and MCP config (~/.claude/skills, project .mcp.json), so the claude target covers it too — the entries above are Grok-native.',
470
+ ],
471
+ },
472
+ {
473
+ id: 'opencode',
474
+ label: 'OpenCode',
475
+ userSkillDirs: [path.join(opencodeConfigDir(), 'skills')],
476
+ projectSkillDirs: [exports.OPENCODE_SKILL_ROOT],
477
+ // OpenCode merges opencode.json and opencode.jsonc, so writing a plain
478
+ // opencode.json never clobbers a commented .jsonc file.
479
+ userMcp: [
480
+ { scope: 'user', path: path.join(opencodeConfigDir(), 'opencode.json'), format: 'mcp-array-json' },
481
+ ],
482
+ projectMcp: [{ scope: 'project', path: 'opencode.json', format: 'mcp-array-json' }],
369
483
  },
370
484
  ];
371
485
  exports.DEFAULT_TARGET_IDS = exports.CLIENT_TARGETS.map((t) => t.id);
@@ -1 +1 @@
1
- {"version":3,"file":"targets.js","sourceRoot":"","sources":["../src/targets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"targets.js","sourceRoot":"","sources":["../src/targets.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@wowok/skills",
3
- "version": "3.1.1",
4
- "description": "WoWok AI Skills for Claude Code, Codex, Cursor, Windsurf, Trae, CodeBuddy, Qoder, Roo Code, Cline, Kilo Code and GitHub Copilot - dialogue orchestration layer on top of the WoWok MCP server (rules/reference knowledge is served by MCP directly since v2.0.0)",
3
+ "version": "3.2.0",
4
+ "description": "WoWok AI Skills for Claude Code, Codex, Gemini CLI, Qwen Code, Grok Build, OpenCode, Google Antigravity, Cursor, Devin Desktop (formerly Windsurf), Trae, CodeBuddy, WorkBuddy, Qoder, Cline, Kilo Code and GitHub Copilot - dialogue orchestration layer on top of the WoWok MCP server (rules/reference knowledge is served by MCP directly since v2.0.0)",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "bin": {
@@ -33,7 +33,8 @@
33
33
  "postinstall": "node scripts/install.js",
34
34
  "audit:skills": "node scripts/validate-skills.mjs",
35
35
  "audit:length": "node scripts/check-skills-length.mjs",
36
- "check": "npm run build && npm run audit:skills && npm run audit:length"
36
+ "audit:drift": "node scripts/check-skill-mcp-drift.mjs",
37
+ "check": "npm run build && npm run audit:skills && npm run audit:length && npm run audit:drift"
37
38
  },
38
39
  "keywords": [
39
40
  "wowok",
@@ -59,18 +59,18 @@ User says "just make something up" → REFUSE and explain why each item matters.
59
59
 
60
60
  | # | Item | User Must Provide | Why Not Fabricate |
61
61
  |---|------|-------------------|--------------------|
62
- | **R1** | **Account** | Which account to operate from. Default `""` is fine. | Safe default exists |
63
- | **R2** | **Arbitration Name** | Service name. What kind of arbitration? | Your brand and reputation on-chain |
64
- | **R3** | **Fee** | How much per case? (e.g. "10 WOW per dispute") | IS your revenue model — you cannot guess pricing |
65
- | **R4** | **Voting Guard(s)** | Who votes and with what weight? Open voting (centralized) or Guard-based (decentralized)? | ⛔ Guards are **immutable after creation** — wrong design = create replacement Guard |
66
- | **R5** | **Usage Guard** | Who can file disputes? Public or restricted? | Controls your case volume and quality |
67
- | **R6** | **Contact (um)** | Messenger Contact name/ID for evidence exchange | Without this, customers cannot submit evidence — service is broken |
62
+ | **1** | **Account** | Which account to operate from. Default `""` is fine. | Safe default exists |
63
+ | **2** | **Arbitration Name** | Service name. What kind of arbitration? | Your brand and reputation on-chain |
64
+ | **3** | **Fee** | How much per case? (e.g. "10 WOW per dispute") | IS your revenue model — you cannot guess pricing |
65
+ | **4** | **Voting Guard(s)** | Who votes and with what weight? Open voting (centralized) or Guard-based (decentralized)? | ⛔ Guards are **immutable after creation** — wrong design = create replacement Guard |
66
+ | **5** | **Usage Guard** | Who can file disputes? Public or restricted? | Controls your case volume and quality |
67
+ | **6** | **Contact (um)** | Messenger Contact name/ID for evidence exchange | Without this, customers cannot submit evidence — service is broken |
68
68
 
69
69
  ### Information Collection Protocol
70
70
 
71
- Present checklist R1-R6 to user. Each item: "Reuse or create new? Provide details." Track status: [pending] / [confirmed: reuse <id>] / [confirmed: create]. ⛔ GATE: ALL R1-R6 must be [confirmed] before any on-chain action — NOT confirmed → STOP. Ask. Do NOT suggest creating arbitration.
71
+ Present checklist Steps 1-6 to user. Each item: "Reuse or create new? Provide details." Track status: [pending] / [confirmed: reuse <id>] / [confirmed: create]. ⛔ GATE: ALL Steps 1-6 must be [confirmed] before any on-chain action — NOT confirmed → STOP. Ask. Do NOT suggest creating arbitration.
72
72
 
73
- All subsequent on-chain operations use R1 (Account) as `env.account`.
73
+ All subsequent on-chain operations use Step 1 (Account) as `env.account`.
74
74
 
75
75
  ### Anti-Fabrication Rules (HARD Constraints)
76
76
 
@@ -176,7 +176,7 @@ Customer pays fee → locked in `Arb.fee` per case → `arb_withdraw()` transfer
176
176
 
177
177
  Arbitrator sets `indemnity` → Customer claims via `order.arb_claim_compensation` → Funds transfer from `service.compensation_fund` to Order.
178
178
 
179
- > **Note**: The compensation payout comes from the **provider's** compensation_fund, not the arbitrator's funds. Customers should assess the provider's fund balance before purchase — this is covered in [wowok-order](../wowok-order/SKILL.md) Phase 1.1.
179
+ > **Note**: The compensation payout comes from the **provider's** compensation_fund, not the arbitrator's funds. Customers should assess the provider's fund balance before purchase — this is covered in [wowok-order](../wowok-order/SKILL.md) E7 (Compensation Fund).
180
180
 
181
181
  ---
182
182
 
@@ -233,6 +233,6 @@ Providers list approved Arbitrations in their Service. Customers choose from thi
233
233
 
234
234
  ### Common Pitfalls
235
235
 
236
- Served by `wowok_buildin_info` action='common mistakes' + MCP `schema_query` action='get_safety_rules'. Key ones: paused Arbitration rejects disputes silently (verify `pause: false`); wrong Guard design is immutable (test with `gen_passport` first); non-finished withdrawal has a 30-day lock; always `verify_wts` before ruling.
236
+ Served by `wowok_buildin_info` info='common mistakes' + MCP `schema_query` action='get_safety_rules'. Key ones: paused Arbitration rejects disputes silently (verify `pause: false`); wrong Guard design is immutable (test with `gen_passport` first); non-finished withdrawal has a 30-day lock; always `verify_wts` before ruling.
237
237
 
238
238
  ---
@@ -1,105 +1,92 @@
1
1
  ---
2
2
  name: wowok-auditor
3
- description: "WoWok pre-publish auditor — the static-analysis Skill that verifies Guard completeness, Machine soundness, fund-flow safety, permission consistency, and publish readiness BEFORE any irreversible publish operation (Service publish, Machine publish, Allocator binding freeze). This Skill is the knowledge base for the L4 Harness Verify Loop. It does not mutate objects. It queries, exports, and rules — emitting a pass/warn/fail audit report plus a publish decision. Use when: User is about to publish a Service, Machine, or lock an Allocator set; User asks to \"audit\", \"verify\", \"review\", \"check before publish\"; L4 Harness Verify Loop is invoked before an irreversible operation; User mentions \"fund flow\", \"refund path\", \"allocation sum\", \"guard completeness\"; User mentions \"machine cycle\", \"unreachable state\", \"permission index conflict\"; User wants a pre-publish go/no-go decision; A publish operation failed and root-cause analysis is needed."
3
+ description: "WoWok pre-publish auditor — the static-analysis Skill that verifies Guard completeness, Machine soundness, fund-flow safety, permission consistency, and publish readiness BEFORE any irreversible publish operation (Service publish, Machine publish, Allocator binding freeze). This Skill is the orchestration guide for the L4 Harness Verify Loop. It does not mutate objects. It triggers the MCP risk engine, gathers evidence, and presents a pass/warn/fail report plus a publish decision. Use when: User is about to publish a Service, Machine, or lock an Allocator set; User asks to \"audit\", \"verify\", \"review\", \"check before publish\"; L4 Harness Verify Loop is invoked before an irreversible operation; User mentions \"fund flow\", \"refund path\", \"allocation sum\", \"guard completeness\"; User mentions \"machine cycle\", \"unreachable state\", \"permission index conflict\"; User wants a pre-publish go/no-go decision; A publish operation failed and root-cause analysis is needed."
4
4
  metadata:
5
- version: "2.0.0"
5
+ version: "2.1.0"
6
6
  role: shared
7
7
  related: "wowok-planner, wowok-provider, wowok-machine"
8
8
  ---
9
9
 
10
10
  # WoWok Pre-Publish Auditor
11
11
 
12
- Static-analysis rules that gate every irreversible publish. The auditor never
13
- writes on-chain; it queries (`query_toolkit`, `onchain_events`), exports
14
- (`guard2file`, `machineNode2file`), evaluates rule tables, and emits a
15
- pass / warn / fail report. A FAIL blocks the publish in R10.
12
+ Read-only orchestration for the gate that precedes every irreversible publish.
13
+ The auditor never writes on-chain; it triggers the MCP risk engine, gathers
14
+ evidence, and presents a go / no-go decision. (R10 in MCP dialogue rounds is
15
+ the canonical **verify** round — a FAIL blocks publish there.)
16
16
 
17
- > **Role**: Auditor (read-only). The pre-write safety gate now lives in the MCP knowledge layer (`schema_query` action='get_safety_rules'), applied on every write; this auditor runs only on publish.
18
- > **Layer**: L3 Skill, knowledge base for L4 Verify Loop.
17
+ > **Role**: Auditor (read-only). Pre-write safety rules live in the MCP knowledge layer (`schema_query` action='get_safety_rules') and are applied on every write; this auditor drives the comprehensive pre-publish aggregation.
18
+ > **Layer**: L3 Skill, orchestration guide for the L4 Verify Loop.
19
19
  > **Related Skills**: [wowok-machine](../wowok-machine/SKILL.md) (Machine design), [wowok-onboard](../wowok-onboard/SKILL.md) (publish flow).
20
20
 
21
21
  ---
22
22
 
23
- ## MCP Knowledge Layer
23
+ ## What Lives Where (single source of truth)
24
24
 
25
- The following content has been pushed down to the MCP knowledge layer and is applied automatically — this Skill no longer duplicates it:
25
+ The machine-executable rules are NOT duplicated in this Skill — they evolve in MCP and this file would drift:
26
26
 
27
- | Content | Access via (MCP action) | Applied Via |
28
- |---------|--------------------------|-------------|
29
- | Safety rules (confirmation levels, immutability rules, object reuse rules) | `schema_query` action='get_safety_rules' | Pre-publish checks + `goal_operation` action='aggregate_risks' |
30
- | Machine-executable audit rules | auto-applied (not queryable) | `goal_operation` action='aggregate_risks' |
31
- | Guard completeness / Machine soundness / fund-flow risks | auto-applied (not queryable) | `goal_operation` action='aggregate_risks' |
27
+ | Content | Source (MCP) |
28
+ |---------|--------------|
29
+ | Safety rules (confirmation levels, immutability, object reuse) | `schema_query` action='get_safety_rules' |
30
+ | Guard completeness, Machine soundness, fund-flow safety, permission consistency, publish readiness | `goal_operation` action='aggregate_risks' (auto-applied) |
32
31
 
33
- This Skill keeps the **audit flow**, the **4 audit dimensions** (Guard completeness, Machine soundness, fund flow, publish readiness), and the **checklist structure** as the human-readable knowledge base for the L4 Harness Verify Loop. The MCP layer runs the machine-executable rule evaluation.
32
+ This Skill keeps only **when to run the audit, how to call it, and how to read the verdict**.
34
33
 
35
34
  ---
36
35
 
37
- ## Core Principles
36
+ ## When to Run
38
37
 
39
- 1. **Read-only**: The auditor never calls `onchain_operations` with `submission`. It only queries and exports. Mutations belong to the Skill being audited.
40
- 2. **Rule-driven**: Every check is a row in a rule table (GUARD_COMPLETENESS_RULES, MACHINE_SOUNDNESS_RULES, FUND_FLOW_RULES, PUBLISH_READINESS_RULES). Adding a check = adding a row, not editing control flow.
41
- 3. **FAIL blocks, WARN asks**: A FAIL verdict blocks R10 publish until fixed. A WARN verdict proceeds after explicit user acknowledgement. PASS is silent.
42
- 4. **Blast-radius first**: Before reporting, classify each issue by irreversibility — a Guard logic bug post-publish is permanent; an untested Guard is recoverable.
43
- 5. **Semantic-aware**: Use the `semantic` field returned by recent operations (`semantic.created`, `semantic.modified`, `semantic.released`, `semantic.events`) to cross-check that the intended roles were actually created/modified/released.
44
- 6. **Tiered**: A Tier-1 audit (single Service + single Guard) skips Machine soundness if no Machine is bound. Tier-3 runs every rule including cross-Machine dependency chains.
38
+ Run an audit immediately before any irreversible operation:
39
+
40
+ 1. **Service publish** — machine bound + published, allocators locked, arbitration/compensation invariants, buy_guard, contact, permission indices.
41
+ 2. **Machine publish** — nodes/pairs/forwards become immutable afterward.
42
+ 3. **Allocator-set freeze** (`order_allocators` bind) — fund-flow paths lock with the Service.
43
+ 4. **Post-failure root-cause analysis** — a publish/assert failed (e.g. `E_ARBITRATION_NOT_SET_WITH_COMPENSATION_FUND`, `E_ARBITRATION_PERMISSION_CONFLICT`); re-run to identify every remaining blocker, not just the one that aborted.
44
+
45
+ Scope adapts to blast radius: a single Service with no Machine skips machine checks automatically; a stack with cross-Machine supply chains runs the full chain. The engine derives applicable checks from the objects — do not hand-pick rules.
45
46
 
46
47
  ---
47
48
 
48
- ## Audit Rule Tables
49
+ ## How to Run
49
50
 
50
- ### GUARD_COMPLETENESS_RULES
51
+ ```
52
+ goal_operation action='aggregate_risks'
53
+ intent=<business intent text> # or pass 'puzzles' through from analyze_intent
54
+ planned_objects=[{object_type,is_new,name?}]
55
+ planned_operations=[{object_type,trigger:'create'|'publish',name?}]
56
+ severity_threshold='HIGH' # default HIGH
57
+ user_confirmed_high_risks=[...] # IDs acknowledged in a prior round
58
+ ```
51
59
 
52
- | Operation Type | Fund Flow? | Guard Required? | Audit Action |
53
- |---|---|---|---|
54
- | payment (negative amount) | Yes | Yes | FAIL if no Guard bound |
55
- | treasury deposit | Yes | Recommended | WARN if no Guard |
56
- | allocation execute | Yes | Yes | FAIL if no Guard |
57
- | service publish | No | No | PASS |
58
- | machine publish | No | No | PASS |
59
- | order create | Yes (escrow) | Yes | FAIL if no Guard on refund path |
60
- | progress forward (no fund) | No | Optional | PASS (skip) |
61
- | progress forward (fund release) | Yes | Yes | FAIL if no Guard on forward |
62
- | reward claim | Yes | Yes | FAIL if no Guard |
63
- | repository write | No | Recommended | WARN if no Guard |
60
+ Evidence-gathering (all read-only, done BEFORE presenting the verdict):
64
61
 
65
- ### MACHINE_SOUNDNESS_RULES
62
+ - `guard2file` / `machineNode2file` — export immutable backups of what is about to be published.
63
+ - `query_toolkit` (`onchain_objects`, table items) — verify current on-chain state (`bPublished`, balances, bound objects).
64
+ - `onchain_events` — confirm the state transitions claimed by recent operations.
65
+ - Use the `semantic` field of recent operation results (`semantic.created` / `.modified` / `.released` / `.events`) to cross-check that intended roles/objects were actually produced.
66
66
 
67
- | Check | Pass Condition | Fail Action |
68
- |---|---|---|
69
- | Acyclicity | No cycles in state graph | FAIL: cycle detected |
70
- | Single entry | Exactly one node with no inbound Pair | FAIL: multiple/zero entries |
71
- | Terminal reachability | All terminals reachable from entry | FAIL: unreachable terminal |
72
- | No dead-end non-terminals | Every non-terminal node has an outgoing Forward | FAIL: dead-end node |
73
- | No orphan non-entries | Every non-entry node has an incoming Pair | FAIL: orphaned node |
74
- | Forward permissions | Each forward has `permissionIndex` ≥ 1000 OR `namedOperator` set (or both) | WARN: missing permission; FAIL if neither |
75
- | Guard bindings | Each forward with fund flow has a Guard bound | FAIL: unguarded fund flow |
76
- | Threshold achievability | Each Pair's threshold is reachable by its Forwards' weights | WARN: dead branch (competing Pair always wins) |
77
-
78
- ### FUND_FLOW_RULES
79
-
80
- | Check | Pass Condition | Fail Action |
81
- |---|---|---|
82
- | Refund path exists | Every payment path has a corresponding refund path | FAIL: no refund path |
83
- | Allocation sum | Each Allocator's `sharing` array sums to 10000 (100%) | FAIL: allocation doesn't sum to 100% |
84
- | Treasury balance | Treasury has sufficient balance for pending allocations | WARN: low balance |
85
- | Gas coin separation | Gas coins (WOW) are not mixed with business tokens in allocations | WARN: gas coin in allocation |
86
- | Recipient type | Refund path uses `Entity`/`Signer` for known parties, `GuardIdentifier` for dynamic | WARN: ambiguous recipient |
87
- | Escrow symmetry | Order escrow amount equals sum of all Allocation paths from that order | FAIL: escrow mismatch |
67
+ Never call `onchain_operations` with `submission` from this role — fixes belong to the Skill being audited.
68
+
69
+ ---
88
70
 
89
- ### PUBLISH_READINESS_RULES
71
+ ## How to Read the Verdict
90
72
 
91
- | Check | Pass Condition | Fail Action |
73
+ `aggregate_risks` returns a blocking **status** plus per-finding severity (CRITICAL / HIGH / MEDIUM / LOW / INFO):
74
+
75
+ | Status | Meaning | Auditor action |
92
76
  |---|---|---|
93
- | Service unpublished | `bPublished === false` | PASS: ready to publish |
94
- | Machine published | Machine is published (if bound to Service) | FAIL: publish Machine first |
95
- | Guards tested | All Guards have a passing `gen_passport` test on record | WARN: untested Guard |
96
- | Permission configured | Permission object exists with correct indices for every Forward | FAIL: no Permission |
97
- | Allocators configured | `order_allocators` non-empty and each Allocator audited | FAIL: no Allocators |
98
- | User confirmation | User has explicitly confirmed publish intent | FAIL: no confirmation |
99
- | Compensation fund present | `compensation_fund` funded (recommended for trust) | WARN: empty fund |
100
- | Compensation fund invariant | If `compensation_fund > 0` then `arbitrations` MUST be non-empty (per service.move:494-496 `assert!(vector::length(&self.arbitrations) > 0, E_ARBITRATION_NOT_SET_WITH_COMPENSATION_FUND)`) | FAIL: funded but no Arbitration bound |
101
- | order_allocators immutability | `order_allocators` set BEFORE publish (service.move:503 `assert!(!self.bPublished)`) — cannot be modified post-publish | FAIL: attempt to modify after publish |
102
- | machine immutability | `machine` bound BEFORE publish (service.move:633 `assert!(!self.bPublished)`) — cannot be modified post-publish | FAIL: attempt to modify after publish |
103
- | Backup export | `machineNode2file` + `guard2file` backups persisted | WARN: no backup |
77
+ | `RISK_PASSED` | No risk at/above threshold | Go — present the go decision |
78
+ | `RISK_BLOCKED` | CRITICAL present, or unacknowledged risk ≥ threshold (default HIGH) | No-go — list every blocker with its object + fix; do not publish |
79
+ | `RISK_PENDING_CONFIRM` | Only acknowledged-able HIGH risks remain | Explain each HIGH risk in business terms; proceed only after explicit user confirmation, then re-run with the risk IDs in `user_confirmed_high_risks` |
80
+ | `RISK_CANCELLED` | The risk session was cancelled | Treat as no-go until re-audited |
81
+
82
+ Presentation rules:
83
+
84
+ 1. **FAIL blocks, WARN asks, PASS is silent.** CRITICAL/blocked findings are hard stops fixed by the owning Skill; MEDIUM/LOW are surfaced as advisories.
85
+ 2. **Blast-radius first**: order findings by irreversibility — a post-publish Guard logic bug is permanent; an untested Guard or missing backup is recoverable.
86
+ 3. Report grouped by the four coverage dimensions — **Guard completeness, Machine soundness, fund flow, publish readiness** — and state explicitly which objects were in scope. The individual checks inside each dimension are whatever MCP currently evaluates; quote the finding text returned, never a local rule list.
104
87
 
105
88
  ---
89
+
90
+ ## Audit Report Contract
91
+
92
+ The user-facing report contains: scope (objects/operations audited), findings grouped by dimension with severity, the blocking status, required fixes vs acknowledged risks, and a final one-line decision: **GO / NO-GO / CONFIRM-THEN-GO**. It contains no transaction itself — the audited Skill performs the mutation after GO.
@@ -50,7 +50,7 @@ Two sub-kinds (derived on-chain, never asserted):
50
50
 
51
51
  ## What You Can Execute Now
52
52
 
53
- Run `query_toolkit` query_type='participation_radar' with your account + the order's Progress. It returns:
53
+ Run `query_toolkit` query_type='participation_radar' with `radar_account` (your account) and `radar_targets: [{ progress: <the order's Progress object>, order: <the Order, optional but recommended> }]` (1–20 targets). It returns:
54
54
 
55
55
  - `operable` — forwards YOU can execute right now (permission / named-operator path).
56
56
  - `waiting_on` — what the workflow waits on from other roles.
@@ -56,7 +56,7 @@ Rules of thumb:
56
56
  Fund stewardship across Treasury / Allocation / Reward / Payment.
57
57
 
58
58
  - **Treasury**: deposit joins coins in (a Payment receipt is minted); withdraw splits balance out — irreversible, and when an `external_guard` is set the guard must validate first. `query_toolkit` query_type='onchain_table_item_treasury_history' audits every flow (op 0 Withdraw / 1 Deposit / 2 Receive) with amount + guard + timestamp.
59
- - **Allocation**: runs distribute pool funds per sharing mode (Amount / Rate ‰ / Surplus). Review allocator guards periodically — a stale guard blocks legitimate distributions.
59
+ - **Allocation**: runs distribute pool funds per sharing mode (Amount / Rate in bps — base 10000 = 100% / Surplus). Review allocator guards periodically — a stale guard blocks legitimate distributions.
60
60
  - **Unclaimed payments**: recipients hold frozen CoinWrappers until they unwrap. The keeper `payment_unclaimed` scan owns this reminder surface — run `keeper_operation` to list claimable payments and nudge recipients via Messenger. NewPaymentEvent is deliberately NOT push-bridged, to avoid duplicate reminders (P2-4 channel split).
61
61
  - **Reward pools**: RewardFundEvent in / RewardClaimEvent out; a dry pool blocks claims — watch balances before announcing campaigns.
62
62
 
@@ -41,7 +41,7 @@ This Skill keeps the **workflow conversation guidance**, **business flow design
41
41
 
42
42
  ## Machine Architecture
43
43
 
44
- **Machine** → **Nodes** → **Pairs** (`prev_node` ["" = entry, multiple allowed], `threshold` [required total forward weight to advance]) → **Forwards** (`name`, `weight`, `permissionIndex` | `namedOperator` [who can execute], `guard` [optional condition]).
44
+ **Machine** → **Nodes** → **Pairs** (`prev_node` ["" = the single entry pair — pair keys are unique on chain (`E_DUPLICATE_NODE_PREV`); its `forwards` vector may carry multiple forwards to different first nodes], `threshold` [required total forward weight to advance]) → **Forwards** (`name`, `weight`, `permissionIndex` | `namedOperator` [who can execute], `guard` [optional condition]).
45
45
 
46
46
  > All field types, limits, and valid values are in the MCP schema (`onchain_operations_machine`). This document focuses on design decisions **not captured** by the schema.
47
47
 
@@ -56,7 +56,7 @@ This Skill keeps the **market conversation flow** — discover → compare → t
56
56
  ## Phase 2: Compare & Trust
57
57
 
58
58
  - **Compare**: the `match_discover` result already surfaces per-service scores + reasons. Surface the top-N side-by-side; highlight differences, never force a single pick.
59
- - **Arbitrator trust**: `evaluation_operation` action=`arbitration_score` with the Arbitration `object` (history auto-fetched via `query_arbs`). Returns `trust` + `fairness` + `combined`. Use it when a merchant chooses which Arbitration to bind, or a customer judges a Service's arbitration guarantee.
59
+ - **Arbitrator trust**: `evaluation_operation` action=`arbitration_score` with the Arbitration `object` — the Arb case history is auto-fetched on-chain when omitted (pass `context_network` for the right network). Returns `trust` + `fairness` + `combined`. Use it when a merchant chooses which Arbitration to bind, or a customer judges a Service's arbitration guarantee.
60
60
 
61
61
  ---
62
62
 
@@ -71,7 +71,7 @@ This Skill keeps the **market conversation flow** — discover → compare → t
71
71
 
72
72
  - **Metrics**: `evaluation_operation` action=`market_metrics` → active services / open demands / disputes / supply-demand ratio.
73
73
  - **Anti-cheat**: `evaluation_operation` action=`anti_cheat` with a Service's orders/reviews/object-stack → returns negative-factor signals (fake order / fake review / shell merchant).
74
- - **Operations**: `evaluation_operation` action=`market_operations` with `op` = `journey_funnel` / `referral_attribution` / `customer_relationship`.
74
+ - **Operations**: `evaluation_operation` action=`market_operations` with `op` = `journey_funnel` / `referral_attribution` / `customer_relationship` / `dynamic_pricing`.
75
75
 
76
76
  ---
77
77