drskill 0.1.0__py3-none-any.whl

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.
@@ -0,0 +1,880 @@
1
+ # Harness definition table.
2
+ # verified = true means these rules were confirmed against the harness's own
3
+ # docs or source. Unverified entries are best effort and labeled so in reports.
4
+ #
5
+ # The entries below marked "vendored" are seeded from the agent -> directory
6
+ # mapping in vercel-labs/skills (MIT license), src/agents.ts, upstream commit
7
+ # 777599e1159e401b11ce4c8a57c20f09a8f1596e (cloned and inspected 2026-07-19).
8
+ # They are best-effort convenience data, not independently confirmed against
9
+ # each harness's own docs or source, and stay verified = false. detect markers
10
+ # are a best-effort simplification of that file's detectInstalled() checks
11
+ # (drskill's detect schema only supports OR'd existence markers, not the
12
+ # compound / cwd+package.json conditions some upstream entries use). Global
13
+ # paths derived from `join(configHome, ...)` assume the XDG default
14
+ # ~/.config since the actual value is environment-dependent upstream.
15
+
16
+ [[harness]]
17
+ id = "claude-code"
18
+ display_name = "Claude Code"
19
+ verified = true
20
+ detect = [".claude", "~/.claude"]
21
+ project_paths = [".claude/skills"]
22
+ global_paths = ["~/.claude/skills"]
23
+ search_order = "project-first"
24
+ recursive = true
25
+ root_md_paths = []
26
+
27
+ # Verified against pi docs (packages/coding-agent/docs/skills.md):
28
+ # global paths load first and first-found wins; bare .md files count as
29
+ # skills only in the two pi-native directories.
30
+ [[harness]]
31
+ id = "pi"
32
+ display_name = "Pi"
33
+ verified = true
34
+ detect = [".pi", "~/.pi"]
35
+ project_paths = [".pi/skills", ".agents/skills"]
36
+ global_paths = ["~/.pi/agent/skills", "~/.agents/skills"]
37
+ search_order = "global-first"
38
+ recursive = true
39
+ root_md_paths = [".pi/skills", "~/.pi/agent/skills"]
40
+
41
+ # Verified against https://cursor.com/docs/skills.md and
42
+ # https://cursor.com/help/customization/skills, 2026-07-19:
43
+ # project dirs are .cursor/skills and .agents/skills; global dirs are
44
+ # ~/.cursor/skills and ~/.agents/skills; discovery is recursive ("Cursor
45
+ # walks the skills root recursively and picks up any SKILL.md it finds"),
46
+ # and nested .cursor/skills folders in monorepo subdirectories are also
47
+ # picked up and scoped to that subtree.
48
+ # NOT verified: which path wins when a project skill and a global skill
49
+ # share a name. Neither page documents precedence/override behavior for
50
+ # that case, so search_order below is the seeded guess, not a confirmed
51
+ # fact -- kept verified = false for the whole entry on that basis.
52
+ [[harness]]
53
+ id = "cursor"
54
+ display_name = "Cursor"
55
+ verified = false
56
+ detect = [".cursor", "~/.cursor"]
57
+ project_paths = [".cursor/skills", ".agents/skills"]
58
+ global_paths = ["~/.cursor/skills", "~/.agents/skills"]
59
+ search_order = "project-first"
60
+ recursive = true
61
+ root_md_paths = []
62
+
63
+ # Verified against source, 2026-07-19: github.com/openai/codex
64
+ # (commit 678157acaa819d5510adfe359abb5d0392cfe461),
65
+ # codex-rs/config/src/state.rs ConfigLayer::config_folder() confirms the
66
+ # project layer folder is literally `.codex/` (dot_codex_folder) and the
67
+ # user layer folder defaults to `~/.codex/`; codex-rs/core-skills/src/
68
+ # loader.rs skill_roots_from_layer_stack_inner() + repo_agents_skill_roots()
69
+ # confirm four roots: project .codex/skills, project .agents/skills (walked
70
+ # from cwd up to the repo root), global ~/.codex/skills (deprecated but
71
+ # still read), and global ~/.agents/skills. codex-rs/core-skills/src/
72
+ # loader/discovery.rs discover_skills() walks each root recursively via
73
+ # ExecutorFileSystem::walk with MAX_SCAN_DEPTH = 6, so recursive = true.
74
+ # Collision handling differs from claude-code/pi: layers are iterated
75
+ # ConfigLayerStackOrdering::HighestPrecedenceFirst (project before user),
76
+ # but codex-rs/core-skills does not remove either skill on a name clash --
77
+ # per developers.openai.com/codex/skills ("If two skills share the same
78
+ # `name`, Codex doesn't merge them; both can appear in skill selectors"),
79
+ # both instances remain visible rather than one shadowing the other.
80
+ # search_order = "project-first" reflects the confirmed scan order (project
81
+ # roots are the higher-precedence layer), not a strict override guarantee.
82
+ # Controller ruling 2026-07-19: kept verified = false despite the above --
83
+ # the brief's bar requires all three facts (dirs, recursion, collision
84
+ # winner) confirmed, and codex's real collision behavior cannot be
85
+ # expressed by our binary search_order. Encoding search_order =
86
+ # "project-first" here is an approximation, not a confirmed winner rule;
87
+ # revisit once the schema supports search_order = "none" for harnesses
88
+ # that don't shadow on name collisions. Paths and recursion above remain
89
+ # source-confirmed.
90
+ [[harness]]
91
+ id = "codex"
92
+ display_name = "Codex CLI"
93
+ verified = false
94
+ detect = [".codex", "~/.codex"]
95
+ project_paths = [".codex/skills", ".agents/skills"]
96
+ global_paths = ["~/.codex/skills", "~/.agents/skills"]
97
+ search_order = "project-first"
98
+ recursive = true
99
+ root_md_paths = []
100
+
101
+ # Verified against https://docs.github.com/en/copilot/concepts/agents/about-agent-skills
102
+ # and https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-skills,
103
+ # 2026-07-19: project dirs are .github/skills, .claude/skills, and
104
+ # .agents/skills; personal/global dirs are ~/.copilot/skills and
105
+ # ~/.agents/skills.
106
+ # NOT verified: GitHub's own docs do not say whether discovery is
107
+ # recursive within a skill directory, and do not state which location
108
+ # wins when a project skill and a personal skill share a name. The CLI
109
+ # is closed source (github/copilot-cli only ships install scripts), so
110
+ # there was no source to check either. Kept verified = false; recursive
111
+ # and search_order below are unconfirmed seed defaults.
112
+ [[harness]]
113
+ id = "copilot"
114
+ display_name = "GitHub Copilot CLI"
115
+ verified = false
116
+ detect = [".github/copilot-instructions.md", "~/.copilot"]
117
+ project_paths = [".github/skills", ".claude/skills", ".agents/skills"]
118
+ global_paths = ["~/.copilot/skills", "~/.agents/skills"]
119
+ search_order = "project-first"
120
+ recursive = true
121
+ root_md_paths = []
122
+
123
+ # Verified against source, 2026-07-19: github.com/google-gemini/gemini-cli
124
+ # (commit acae7124bdd849e554eaa5e090199a0cf08cd782).
125
+ # packages/core/src/config/storage.ts: getUserSkillsDir() = ~/.gemini/skills,
126
+ # getUserAgentSkillsDir() = ~/.agents/skills, getProjectSkillsDir() =
127
+ # <project>/.gemini/skills, getProjectAgentSkillsDir() = <project>/.agents/skills
128
+ # (GEMINI_DIR = '.gemini' in packages/core/src/utils/paths.ts).
129
+ # packages/core/src/skills/skillLoader.ts loadSkillsFromDir() globs only
130
+ # `SKILL.md` and `*/SKILL.md` under each root -- not arbitrarily nested --
131
+ # so recursive = false.
132
+ # packages/core/src/skills/skillManager.ts discoverSkills() loads built-in,
133
+ # then extension, then user (~/.gemini/skills then ~/.agents/skills), then
134
+ # workspace (.gemini/skills then .agents/skills) last; addSkillsWithPrecedence()
135
+ # overwrites same-named entries in a Map, so whatever loads last wins --
136
+ # workspace/project beats user, confirming search_order = "project-first".
137
+ [[harness]]
138
+ id = "gemini-cli"
139
+ display_name = "Gemini CLI"
140
+ verified = true
141
+ detect = [".gemini", "~/.gemini"]
142
+ project_paths = [".gemini/skills", ".agents/skills"]
143
+ global_paths = ["~/.gemini/skills", "~/.agents/skills"]
144
+ search_order = "project-first"
145
+ recursive = false
146
+ root_md_paths = []
147
+
148
+ # --- Vendored from vercel-labs/skills (MIT), commit 777599e1159e401b11ce4c8a57c20f09a8f1596e ---
149
+ # All entries below are verified = false; see header comment for provenance.
150
+
151
+ [[harness]]
152
+ id = "adal"
153
+ display_name = "AdaL"
154
+ verified = false
155
+ detect = ["~/.adal"]
156
+ project_paths = [".adal/skills"]
157
+ global_paths = ["~/.adal/skills"]
158
+ search_order = "project-first"
159
+ recursive = true
160
+ root_md_paths = []
161
+
162
+ [[harness]]
163
+ id = "aider-desk"
164
+ display_name = "AiderDesk"
165
+ verified = false
166
+ detect = ["~/.aider-desk"]
167
+ project_paths = [".aider-desk/skills"]
168
+ global_paths = ["~/.aider-desk/skills"]
169
+ search_order = "project-first"
170
+ recursive = true
171
+ root_md_paths = []
172
+
173
+ [[harness]]
174
+ id = "amp"
175
+ display_name = "Amp"
176
+ verified = false
177
+ detect = ["~/.config/amp"]
178
+ project_paths = [".agents/skills"]
179
+ global_paths = ["~/.config/agents/skills"]
180
+ search_order = "project-first"
181
+ recursive = true
182
+ root_md_paths = []
183
+
184
+ [[harness]]
185
+ id = "antigravity"
186
+ display_name = "Antigravity"
187
+ verified = false
188
+ detect = ["~/.gemini/antigravity"]
189
+ project_paths = [".agents/skills"]
190
+ global_paths = ["~/.gemini/antigravity/skills"]
191
+ search_order = "project-first"
192
+ recursive = true
193
+ root_md_paths = []
194
+
195
+ [[harness]]
196
+ id = "antigravity-cli"
197
+ display_name = "Antigravity CLI"
198
+ verified = false
199
+ detect = ["~/.gemini/antigravity-cli"]
200
+ project_paths = [".agents/skills"]
201
+ global_paths = ["~/.gemini/antigravity-cli/skills"]
202
+ search_order = "project-first"
203
+ recursive = true
204
+ root_md_paths = []
205
+
206
+ [[harness]]
207
+ id = "astrbot"
208
+ display_name = "AstrBot"
209
+ verified = false
210
+ detect = ["~/.astrbot", "data/skills"]
211
+ project_paths = ["data/skills"]
212
+ global_paths = ["~/.astrbot/data/skills"]
213
+ search_order = "project-first"
214
+ recursive = true
215
+ root_md_paths = []
216
+
217
+ [[harness]]
218
+ id = "augment"
219
+ display_name = "Augment"
220
+ verified = false
221
+ detect = ["~/.augment"]
222
+ project_paths = [".augment/skills"]
223
+ global_paths = ["~/.augment/skills"]
224
+ search_order = "project-first"
225
+ recursive = true
226
+ root_md_paths = []
227
+
228
+ [[harness]]
229
+ id = "autohand-code"
230
+ display_name = "Autohand Code CLI"
231
+ verified = false
232
+ detect = ["~/.autohand"]
233
+ project_paths = [".autohand/skills"]
234
+ global_paths = ["~/.autohand/skills"]
235
+ search_order = "project-first"
236
+ recursive = true
237
+ root_md_paths = []
238
+
239
+ [[harness]]
240
+ id = "bob"
241
+ display_name = "IBM Bob"
242
+ verified = false
243
+ detect = ["~/.bob"]
244
+ project_paths = [".bob/skills"]
245
+ global_paths = ["~/.bob/skills"]
246
+ search_order = "project-first"
247
+ recursive = true
248
+ root_md_paths = []
249
+
250
+ [[harness]]
251
+ id = "cline"
252
+ display_name = "Cline"
253
+ verified = false
254
+ detect = ["~/.cline"]
255
+ project_paths = [".agents/skills"]
256
+ global_paths = ["~/.agents/skills"]
257
+ search_order = "project-first"
258
+ recursive = true
259
+ root_md_paths = []
260
+
261
+ [[harness]]
262
+ id = "codearts-agent"
263
+ display_name = "CodeArts Agent"
264
+ verified = false
265
+ detect = ["~/.codeartsdoer"]
266
+ project_paths = [".codeartsdoer/skills"]
267
+ global_paths = ["~/.codeartsdoer/skills"]
268
+ search_order = "project-first"
269
+ recursive = true
270
+ root_md_paths = []
271
+
272
+ [[harness]]
273
+ id = "codebuddy"
274
+ display_name = "CodeBuddy"
275
+ verified = false
276
+ detect = ["~/.codebuddy", ".codebuddy"]
277
+ project_paths = [".codebuddy/skills"]
278
+ global_paths = ["~/.codebuddy/skills"]
279
+ search_order = "project-first"
280
+ recursive = true
281
+ root_md_paths = []
282
+
283
+ [[harness]]
284
+ id = "codemaker"
285
+ display_name = "Codemaker"
286
+ verified = false
287
+ detect = ["~/.codemaker"]
288
+ project_paths = [".codemaker/skills"]
289
+ global_paths = ["~/.codemaker/skills"]
290
+ search_order = "project-first"
291
+ recursive = true
292
+ root_md_paths = []
293
+
294
+ [[harness]]
295
+ id = "codestudio"
296
+ display_name = "Code Studio"
297
+ verified = false
298
+ detect = ["~/.codestudio"]
299
+ project_paths = [".codestudio/skills"]
300
+ global_paths = ["~/.codestudio/skills"]
301
+ search_order = "project-first"
302
+ recursive = true
303
+ root_md_paths = []
304
+
305
+ [[harness]]
306
+ id = "command-code"
307
+ display_name = "Command Code"
308
+ verified = false
309
+ detect = ["~/.commandcode"]
310
+ project_paths = [".commandcode/skills"]
311
+ global_paths = ["~/.commandcode/skills"]
312
+ search_order = "project-first"
313
+ recursive = true
314
+ root_md_paths = []
315
+
316
+ [[harness]]
317
+ id = "continue"
318
+ display_name = "Continue"
319
+ verified = false
320
+ detect = ["~/.continue", ".continue"]
321
+ project_paths = [".continue/skills"]
322
+ global_paths = ["~/.continue/skills"]
323
+ search_order = "project-first"
324
+ recursive = true
325
+ root_md_paths = []
326
+
327
+ [[harness]]
328
+ id = "cortex"
329
+ display_name = "Cortex Code"
330
+ verified = false
331
+ detect = ["~/.snowflake/cortex"]
332
+ project_paths = [".cortex/skills"]
333
+ global_paths = ["~/.snowflake/cortex/skills"]
334
+ search_order = "project-first"
335
+ recursive = true
336
+ root_md_paths = []
337
+
338
+ [[harness]]
339
+ id = "crush"
340
+ display_name = "Crush"
341
+ verified = false
342
+ detect = ["~/.config/crush"]
343
+ project_paths = [".crush/skills"]
344
+ global_paths = ["~/.config/crush/skills"]
345
+ search_order = "project-first"
346
+ recursive = true
347
+ root_md_paths = []
348
+
349
+ [[harness]]
350
+ id = "deepagents"
351
+ display_name = "Deep Agents"
352
+ verified = false
353
+ detect = ["~/.deepagents"]
354
+ project_paths = [".agents/skills"]
355
+ global_paths = ["~/.deepagents/agent/skills"]
356
+ search_order = "project-first"
357
+ recursive = true
358
+ root_md_paths = []
359
+
360
+ [[harness]]
361
+ id = "devin"
362
+ display_name = "Devin for Terminal"
363
+ verified = false
364
+ detect = ["~/.config/devin"]
365
+ project_paths = [".devin/skills"]
366
+ global_paths = ["~/.config/devin/skills"]
367
+ search_order = "project-first"
368
+ recursive = true
369
+ root_md_paths = []
370
+
371
+ [[harness]]
372
+ id = "dexto"
373
+ display_name = "Dexto"
374
+ verified = false
375
+ detect = ["~/.dexto"]
376
+ project_paths = [".agents/skills"]
377
+ global_paths = ["~/.agents/skills"]
378
+ search_order = "project-first"
379
+ recursive = true
380
+ root_md_paths = []
381
+
382
+ [[harness]]
383
+ id = "droid"
384
+ display_name = "Droid"
385
+ verified = false
386
+ detect = ["~/.factory"]
387
+ project_paths = [".factory/skills"]
388
+ global_paths = ["~/.factory/skills"]
389
+ search_order = "project-first"
390
+ recursive = true
391
+ root_md_paths = []
392
+
393
+ [[harness]]
394
+ id = "eve"
395
+ display_name = "Eve"
396
+ verified = false
397
+ detect = ["agent"]
398
+ project_paths = ["agent/skills"]
399
+ global_paths = []
400
+ search_order = "project-first"
401
+ recursive = true
402
+ root_md_paths = []
403
+
404
+ [[harness]]
405
+ id = "firebender"
406
+ display_name = "Firebender"
407
+ verified = false
408
+ detect = ["~/.firebender"]
409
+ project_paths = [".agents/skills"]
410
+ global_paths = ["~/.firebender/skills"]
411
+ search_order = "project-first"
412
+ recursive = true
413
+ root_md_paths = []
414
+
415
+ [[harness]]
416
+ id = "forgecode"
417
+ display_name = "ForgeCode"
418
+ verified = false
419
+ detect = ["~/.forge"]
420
+ project_paths = [".forge/skills"]
421
+ global_paths = ["~/.forge/skills"]
422
+ search_order = "project-first"
423
+ recursive = true
424
+ root_md_paths = []
425
+
426
+ [[harness]]
427
+ id = "goose"
428
+ display_name = "Goose"
429
+ verified = false
430
+ detect = ["~/.config/goose"]
431
+ project_paths = [".goose/skills"]
432
+ global_paths = ["~/.config/goose/skills"]
433
+ search_order = "project-first"
434
+ recursive = true
435
+ root_md_paths = []
436
+
437
+ [[harness]]
438
+ id = "hermes-agent"
439
+ display_name = "Hermes Agent"
440
+ verified = false
441
+ detect = ["~/.hermes"]
442
+ project_paths = [".hermes/skills"]
443
+ global_paths = ["~/.hermes/skills"]
444
+ search_order = "project-first"
445
+ recursive = true
446
+ root_md_paths = []
447
+
448
+ [[harness]]
449
+ id = "iflow-cli"
450
+ display_name = "iFlow CLI"
451
+ verified = false
452
+ detect = ["~/.iflow"]
453
+ project_paths = [".iflow/skills"]
454
+ global_paths = ["~/.iflow/skills"]
455
+ search_order = "project-first"
456
+ recursive = true
457
+ root_md_paths = []
458
+
459
+ [[harness]]
460
+ id = "inference-sh"
461
+ display_name = "inference.sh"
462
+ verified = false
463
+ detect = ["~/.inferencesh"]
464
+ project_paths = [".inferencesh/skills"]
465
+ global_paths = ["~/.inferencesh/skills"]
466
+ search_order = "project-first"
467
+ recursive = true
468
+ root_md_paths = []
469
+
470
+ [[harness]]
471
+ id = "jazz"
472
+ display_name = "Jazz"
473
+ verified = false
474
+ detect = ["~/.jazz", ".jazz"]
475
+ project_paths = [".jazz/skills"]
476
+ global_paths = ["~/.jazz/skills"]
477
+ search_order = "project-first"
478
+ recursive = true
479
+ root_md_paths = []
480
+
481
+ [[harness]]
482
+ id = "junie"
483
+ display_name = "Junie"
484
+ verified = false
485
+ detect = ["~/.junie"]
486
+ project_paths = [".junie/skills"]
487
+ global_paths = ["~/.junie/skills"]
488
+ search_order = "project-first"
489
+ recursive = true
490
+ root_md_paths = []
491
+
492
+ [[harness]]
493
+ id = "kilo"
494
+ display_name = "Kilo Code"
495
+ verified = false
496
+ detect = ["~/.kilocode"]
497
+ project_paths = [".kilocode/skills"]
498
+ global_paths = ["~/.kilocode/skills"]
499
+ search_order = "project-first"
500
+ recursive = true
501
+ root_md_paths = []
502
+
503
+ [[harness]]
504
+ id = "kimi-code-cli"
505
+ display_name = "Kimi Code CLI"
506
+ verified = false
507
+ detect = ["~/.kimi-code", "~/.kimi"]
508
+ project_paths = [".agents/skills"]
509
+ global_paths = ["~/.agents/skills"]
510
+ search_order = "project-first"
511
+ recursive = true
512
+ root_md_paths = []
513
+
514
+ [[harness]]
515
+ id = "kiro-cli"
516
+ display_name = "Kiro CLI"
517
+ verified = false
518
+ detect = ["~/.kiro"]
519
+ project_paths = [".kiro/skills"]
520
+ global_paths = ["~/.kiro/skills"]
521
+ search_order = "project-first"
522
+ recursive = true
523
+ root_md_paths = []
524
+
525
+ [[harness]]
526
+ id = "kode"
527
+ display_name = "Kode"
528
+ verified = false
529
+ detect = ["~/.kode"]
530
+ project_paths = [".kode/skills"]
531
+ global_paths = ["~/.kode/skills"]
532
+ search_order = "project-first"
533
+ recursive = true
534
+ root_md_paths = []
535
+
536
+ [[harness]]
537
+ id = "lingma"
538
+ display_name = "Lingma"
539
+ verified = false
540
+ detect = ["~/.lingma"]
541
+ project_paths = [".lingma/skills"]
542
+ global_paths = ["~/.lingma/skills"]
543
+ search_order = "project-first"
544
+ recursive = true
545
+ root_md_paths = []
546
+
547
+ [[harness]]
548
+ id = "loaf"
549
+ display_name = "Loaf"
550
+ verified = false
551
+ detect = ["~/.loaf"]
552
+ project_paths = [".agents/skills"]
553
+ global_paths = ["~/.agents/skills"]
554
+ search_order = "project-first"
555
+ recursive = true
556
+ root_md_paths = []
557
+
558
+ [[harness]]
559
+ id = "mcpjam"
560
+ display_name = "MCPJam"
561
+ verified = false
562
+ detect = ["~/.mcpjam"]
563
+ project_paths = [".mcpjam/skills"]
564
+ global_paths = ["~/.mcpjam/skills"]
565
+ search_order = "project-first"
566
+ recursive = true
567
+ root_md_paths = []
568
+
569
+ [[harness]]
570
+ id = "mistral-vibe"
571
+ display_name = "Mistral Vibe"
572
+ verified = false
573
+ detect = ["~/.vibe"]
574
+ project_paths = [".vibe/skills"]
575
+ global_paths = ["~/.vibe/skills"]
576
+ search_order = "project-first"
577
+ recursive = true
578
+ root_md_paths = []
579
+
580
+ [[harness]]
581
+ id = "moxby"
582
+ display_name = "Moxby"
583
+ verified = false
584
+ detect = ["~/.moxby"]
585
+ project_paths = [".moxby/skills"]
586
+ global_paths = ["~/.moxby/skills"]
587
+ search_order = "project-first"
588
+ recursive = true
589
+ root_md_paths = []
590
+
591
+ [[harness]]
592
+ id = "mux"
593
+ display_name = "Mux"
594
+ verified = false
595
+ detect = ["~/.mux"]
596
+ project_paths = [".mux/skills"]
597
+ global_paths = ["~/.mux/skills"]
598
+ search_order = "project-first"
599
+ recursive = true
600
+ root_md_paths = []
601
+
602
+ [[harness]]
603
+ id = "neovate"
604
+ display_name = "Neovate"
605
+ verified = false
606
+ detect = ["~/.neovate"]
607
+ project_paths = [".neovate/skills"]
608
+ global_paths = ["~/.neovate/skills"]
609
+ search_order = "project-first"
610
+ recursive = true
611
+ root_md_paths = []
612
+
613
+ [[harness]]
614
+ id = "ona"
615
+ display_name = "Ona"
616
+ verified = false
617
+ detect = ["~/.ona"]
618
+ project_paths = [".ona/skills"]
619
+ global_paths = ["~/.ona/skills"]
620
+ search_order = "project-first"
621
+ recursive = true
622
+ root_md_paths = []
623
+
624
+ [[harness]]
625
+ id = "openclaw"
626
+ display_name = "OpenClaw"
627
+ verified = false
628
+ detect = ["~/.openclaw", "~/.clawdbot", "~/.moltbot"]
629
+ project_paths = ["skills"]
630
+ global_paths = ["~/.openclaw/skills"]
631
+ search_order = "project-first"
632
+ recursive = true
633
+ root_md_paths = []
634
+
635
+ [[harness]]
636
+ id = "opencode"
637
+ display_name = "OpenCode"
638
+ verified = false
639
+ detect = ["~/.config/opencode"]
640
+ project_paths = [".agents/skills"]
641
+ global_paths = ["~/.config/opencode/skills"]
642
+ search_order = "project-first"
643
+ recursive = true
644
+ root_md_paths = []
645
+
646
+ [[harness]]
647
+ id = "openhands"
648
+ display_name = "OpenHands"
649
+ verified = false
650
+ detect = ["~/.openhands"]
651
+ project_paths = [".openhands/skills"]
652
+ global_paths = ["~/.openhands/skills"]
653
+ search_order = "project-first"
654
+ recursive = true
655
+ root_md_paths = []
656
+
657
+ [[harness]]
658
+ id = "pochi"
659
+ display_name = "Pochi"
660
+ verified = false
661
+ detect = ["~/.pochi"]
662
+ project_paths = [".pochi/skills"]
663
+ global_paths = ["~/.pochi/skills"]
664
+ search_order = "project-first"
665
+ recursive = true
666
+ root_md_paths = []
667
+
668
+ [[harness]]
669
+ id = "promptscript"
670
+ display_name = "PromptScript"
671
+ verified = false
672
+ detect = [".promptscript", "promptscript.yaml"]
673
+ project_paths = [".agents/skills"]
674
+ global_paths = []
675
+ search_order = "project-first"
676
+ recursive = true
677
+ root_md_paths = []
678
+
679
+ [[harness]]
680
+ id = "qoder"
681
+ display_name = "Qoder"
682
+ verified = false
683
+ detect = ["~/.qoder"]
684
+ project_paths = [".qoder/skills"]
685
+ global_paths = ["~/.qoder/skills"]
686
+ search_order = "project-first"
687
+ recursive = true
688
+ root_md_paths = []
689
+
690
+ [[harness]]
691
+ id = "qoder-cn"
692
+ display_name = "Qoder CN"
693
+ verified = false
694
+ detect = ["~/.qoder-cn"]
695
+ project_paths = [".qoder/skills"]
696
+ global_paths = ["~/.qoder-cn/skills"]
697
+ search_order = "project-first"
698
+ recursive = true
699
+ root_md_paths = []
700
+
701
+ [[harness]]
702
+ id = "qwen-code"
703
+ display_name = "Qwen Code"
704
+ verified = false
705
+ detect = ["~/.qwen"]
706
+ project_paths = [".qwen/skills"]
707
+ global_paths = ["~/.qwen/skills"]
708
+ search_order = "project-first"
709
+ recursive = true
710
+ root_md_paths = []
711
+
712
+ [[harness]]
713
+ id = "reasonix"
714
+ display_name = "Reasonix"
715
+ verified = false
716
+ detect = ["~/.reasonix"]
717
+ project_paths = [".reasonix/skills"]
718
+ global_paths = ["~/.reasonix/skills"]
719
+ search_order = "project-first"
720
+ recursive = true
721
+ root_md_paths = []
722
+
723
+ [[harness]]
724
+ id = "replit"
725
+ display_name = "Replit"
726
+ verified = false
727
+ detect = [".replit"]
728
+ project_paths = [".agents/skills"]
729
+ global_paths = ["~/.config/agents/skills"]
730
+ search_order = "project-first"
731
+ recursive = true
732
+ root_md_paths = []
733
+
734
+ [[harness]]
735
+ id = "roo"
736
+ display_name = "Roo Code"
737
+ verified = false
738
+ detect = ["~/.roo"]
739
+ project_paths = [".roo/skills"]
740
+ global_paths = ["~/.roo/skills"]
741
+ search_order = "project-first"
742
+ recursive = true
743
+ root_md_paths = []
744
+
745
+ [[harness]]
746
+ id = "rovodev"
747
+ display_name = "Rovo Dev"
748
+ verified = false
749
+ detect = ["~/.rovodev"]
750
+ project_paths = [".rovodev/skills"]
751
+ global_paths = ["~/.rovodev/skills"]
752
+ search_order = "project-first"
753
+ recursive = true
754
+ root_md_paths = []
755
+
756
+ [[harness]]
757
+ id = "tabnine-cli"
758
+ display_name = "Tabnine CLI"
759
+ verified = false
760
+ detect = ["~/.tabnine"]
761
+ project_paths = [".tabnine/agent/skills"]
762
+ global_paths = ["~/.tabnine/agent/skills"]
763
+ search_order = "project-first"
764
+ recursive = true
765
+ root_md_paths = []
766
+
767
+ [[harness]]
768
+ id = "terramind"
769
+ display_name = "Terramind"
770
+ verified = false
771
+ detect = ["~/.terramind"]
772
+ project_paths = [".terramind/skills"]
773
+ global_paths = ["~/.terramind/skills"]
774
+ search_order = "project-first"
775
+ recursive = true
776
+ root_md_paths = []
777
+
778
+ [[harness]]
779
+ id = "tinycloud"
780
+ display_name = "Tinycloud"
781
+ verified = false
782
+ detect = ["~/.tinycloud"]
783
+ project_paths = [".tinycloud/skills"]
784
+ global_paths = ["~/.tinycloud/skills"]
785
+ search_order = "project-first"
786
+ recursive = true
787
+ root_md_paths = []
788
+
789
+ [[harness]]
790
+ id = "trae"
791
+ display_name = "Trae"
792
+ verified = false
793
+ detect = ["~/.trae"]
794
+ project_paths = [".trae/skills"]
795
+ global_paths = ["~/.trae/skills"]
796
+ search_order = "project-first"
797
+ recursive = true
798
+ root_md_paths = []
799
+
800
+ [[harness]]
801
+ id = "trae-cn"
802
+ display_name = "Trae CN"
803
+ verified = false
804
+ detect = ["~/.trae-cn"]
805
+ project_paths = [".trae/skills"]
806
+ global_paths = ["~/.trae-cn/skills"]
807
+ search_order = "project-first"
808
+ recursive = true
809
+ root_md_paths = []
810
+
811
+ [[harness]]
812
+ id = "warp"
813
+ display_name = "Warp"
814
+ verified = false
815
+ detect = ["~/.warp"]
816
+ project_paths = [".agents/skills"]
817
+ global_paths = ["~/.agents/skills"]
818
+ search_order = "project-first"
819
+ recursive = true
820
+ root_md_paths = []
821
+
822
+ [[harness]]
823
+ id = "windsurf"
824
+ display_name = "Windsurf"
825
+ verified = false
826
+ detect = ["~/.codeium/windsurf"]
827
+ project_paths = [".windsurf/skills"]
828
+ global_paths = ["~/.codeium/windsurf/skills"]
829
+ search_order = "project-first"
830
+ recursive = true
831
+ root_md_paths = []
832
+
833
+ [[harness]]
834
+ id = "zcode"
835
+ display_name = "ZCode"
836
+ verified = false
837
+ detect = ["~/.zcode"]
838
+ project_paths = [".zcode/skills"]
839
+ global_paths = ["~/.zcode/skills"]
840
+ search_order = "project-first"
841
+ recursive = true
842
+ root_md_paths = []
843
+
844
+ [[harness]]
845
+ id = "zed"
846
+ display_name = "Zed"
847
+ verified = false
848
+ detect = ["~/.config/zed"]
849
+ project_paths = [".agents/skills"]
850
+ global_paths = ["~/.agents/skills"]
851
+ search_order = "project-first"
852
+ recursive = true
853
+ root_md_paths = []
854
+
855
+ [[harness]]
856
+ id = "zencoder"
857
+ display_name = "Zencoder"
858
+ verified = false
859
+ detect = ["~/.zencoder"]
860
+ project_paths = [".zencoder/skills"]
861
+ global_paths = ["~/.zencoder/skills"]
862
+ search_order = "project-first"
863
+ recursive = true
864
+ root_md_paths = []
865
+
866
+ # zenflow genuinely shares .zencoder dirs with the zencoder entry above in
867
+ # upstream vercel-labs/skills src/agents.ts lines 675-683 (zenflow's
868
+ # skillsDir/globalSkillsDir/detectInstalled are byte-identical to
869
+ # zencoder's) -- not an extraction slip, re-checked against the scratch
870
+ # clone 2026-07-19.
871
+ [[harness]]
872
+ id = "zenflow"
873
+ display_name = "Zenflow"
874
+ verified = false
875
+ detect = ["~/.zencoder"]
876
+ project_paths = [".zencoder/skills"]
877
+ global_paths = ["~/.zencoder/skills"]
878
+ search_order = "project-first"
879
+ recursive = true
880
+ root_md_paths = []