xtrm-tools 0.7.15 → 0.7.17

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 (218) hide show
  1. package/.xtrm/registry.json +419 -411
  2. package/.xtrm/skills/default/update-specialists/SKILL.md +204 -77
  3. package/.xtrm/skills/default/using-kpi/SKILL.md +86 -0
  4. package/.xtrm/skills/default/using-specialists-v2/SKILL.md +1 -1
  5. package/.xtrm/skills/default/using-specialists-v3/SKILL.md +562 -0
  6. package/.xtrm/skills/default/using-specialists-v3/evals/evals.json +89 -0
  7. package/CHANGELOG.md +14 -0
  8. package/cli/dist/index.cjs +8 -0
  9. package/cli/dist/index.cjs.map +1 -1
  10. package/cli/package.json +1 -1
  11. package/package.json +1 -1
  12. package/packages/pi-extensions/extensions/xtrm-ui/index.ts +76 -1
  13. package/packages/pi-extensions/package.json +1 -1
  14. package/.xtrm/config/pi/extensions/custom-footer/.pi/structured-returns/83051fe4-97da-4e2c-bdaa-343b32f4e714.combined.log +0 -7
  15. package/.xtrm/config/pi/extensions/custom-footer/.pi/structured-returns/83051fe4-97da-4e2c-bdaa-343b32f4e714.stderr.log +0 -0
  16. package/.xtrm/config/pi/extensions/custom-footer/.pi/structured-returns/83051fe4-97da-4e2c-bdaa-343b32f4e714.stdout.log +0 -7
  17. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/LICENSE +0 -22
  18. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/README.md +0 -29
  19. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/index.d.ts +0 -3
  20. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/index.d.ts.map +0 -1
  21. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/index.js +0 -2
  22. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/index.js.map +0 -1
  23. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chrome.d.ts +0 -8
  24. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chrome.d.ts.map +0 -1
  25. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chrome.js +0 -27
  26. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chrome.js.map +0 -1
  27. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/crypto.d.ts +0 -11
  28. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/crypto.d.ts.map +0 -1
  29. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/crypto.js +0 -100
  30. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/crypto.js.map +0 -1
  31. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/linuxKeyring.d.ts +0 -25
  32. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/linuxKeyring.d.ts.map +0 -1
  33. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/linuxKeyring.js +0 -104
  34. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/linuxKeyring.js.map +0 -1
  35. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/shared.d.ts +0 -10
  36. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/shared.d.ts.map +0 -1
  37. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/shared.js +0 -293
  38. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/shared.js.map +0 -1
  39. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/windowsDpapi.d.ts +0 -10
  40. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/windowsDpapi.d.ts.map +0 -1
  41. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/windowsDpapi.js +0 -26
  42. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/windowsDpapi.js.map +0 -1
  43. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqliteLinux.d.ts +0 -7
  44. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqliteLinux.d.ts.map +0 -1
  45. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqliteLinux.js +0 -51
  46. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqliteLinux.js.map +0 -1
  47. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqliteMac.d.ts +0 -7
  48. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqliteMac.d.ts.map +0 -1
  49. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqliteMac.js +0 -60
  50. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqliteMac.js.map +0 -1
  51. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqliteWindows.d.ts +0 -7
  52. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqliteWindows.d.ts.map +0 -1
  53. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqliteWindows.js +0 -38
  54. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqliteWindows.js.map +0 -1
  55. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/linuxPaths.d.ts +0 -5
  56. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/linuxPaths.d.ts.map +0 -1
  57. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/linuxPaths.js +0 -33
  58. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/linuxPaths.js.map +0 -1
  59. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/macosKeychain.d.ts +0 -24
  60. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/macosKeychain.d.ts.map +0 -1
  61. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/macosKeychain.js +0 -30
  62. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/macosKeychain.js.map +0 -1
  63. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/paths.d.ts +0 -11
  64. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/paths.d.ts.map +0 -1
  65. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/paths.js +0 -43
  66. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/paths.js.map +0 -1
  67. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/windowsMasterKey.d.ts +0 -8
  68. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/windowsMasterKey.d.ts.map +0 -1
  69. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/windowsMasterKey.js +0 -41
  70. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/windowsMasterKey.js.map +0 -1
  71. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/windowsPaths.d.ts +0 -8
  72. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/windowsPaths.d.ts.map +0 -1
  73. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/windowsPaths.js +0 -53
  74. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/windowsPaths.js.map +0 -1
  75. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edge.d.ts +0 -8
  76. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edge.d.ts.map +0 -1
  77. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edge.js +0 -27
  78. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edge.js.map +0 -1
  79. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edgeSqliteLinux.d.ts +0 -7
  80. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edgeSqliteLinux.d.ts.map +0 -1
  81. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edgeSqliteLinux.js +0 -53
  82. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edgeSqliteLinux.js.map +0 -1
  83. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edgeSqliteMac.d.ts +0 -8
  84. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edgeSqliteMac.d.ts.map +0 -1
  85. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edgeSqliteMac.js +0 -60
  86. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edgeSqliteMac.js.map +0 -1
  87. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edgeSqliteWindows.d.ts +0 -7
  88. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edgeSqliteWindows.d.ts.map +0 -1
  89. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edgeSqliteWindows.js +0 -38
  90. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edgeSqliteWindows.js.map +0 -1
  91. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/firefoxSqlite.d.ts +0 -6
  92. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/firefoxSqlite.d.ts.map +0 -1
  93. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/firefoxSqlite.js +0 -257
  94. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/firefoxSqlite.js.map +0 -1
  95. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/inline.d.ts +0 -8
  96. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/inline.d.ts.map +0 -1
  97. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/inline.js +0 -71
  98. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/inline.js.map +0 -1
  99. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/safariBinaryCookies.d.ts +0 -6
  100. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/safariBinaryCookies.d.ts.map +0 -1
  101. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/safariBinaryCookies.js +0 -173
  102. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/safariBinaryCookies.js.map +0 -1
  103. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/public.d.ts +0 -26
  104. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/public.d.ts.map +0 -1
  105. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/public.js +0 -195
  106. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/public.js.map +0 -1
  107. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/types.d.ts +0 -121
  108. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/types.d.ts.map +0 -1
  109. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/types.js +0 -2
  110. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/types.js.map +0 -1
  111. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/base64.d.ts +0 -2
  112. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/base64.d.ts.map +0 -1
  113. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/base64.js +0 -18
  114. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/base64.js.map +0 -1
  115. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/exec.d.ts +0 -8
  116. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/exec.d.ts.map +0 -1
  117. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/exec.js +0 -110
  118. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/exec.js.map +0 -1
  119. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/expire.d.ts +0 -2
  120. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/expire.d.ts.map +0 -1
  121. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/expire.js +0 -32
  122. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/expire.js.map +0 -1
  123. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/fs.d.ts +0 -2
  124. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/fs.d.ts.map +0 -1
  125. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/fs.js +0 -13
  126. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/fs.js.map +0 -1
  127. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/hostMatch.d.ts +0 -2
  128. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/hostMatch.d.ts.map +0 -1
  129. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/hostMatch.js +0 -7
  130. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/hostMatch.js.map +0 -1
  131. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/nodeSqlite.d.ts +0 -5
  132. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/nodeSqlite.d.ts.map +0 -1
  133. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/nodeSqlite.js +0 -58
  134. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/nodeSqlite.js.map +0 -1
  135. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/origins.d.ts +0 -2
  136. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/origins.d.ts.map +0 -1
  137. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/origins.js +0 -27
  138. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/origins.js.map +0 -1
  139. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/runtime.d.ts +0 -2
  140. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/runtime.d.ts.map +0 -1
  141. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/runtime.js +0 -8
  142. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/runtime.js.map +0 -1
  143. package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/package.json +0 -40
  144. package/.xtrm/skills/default/sync-docs-workspace/iteration-1/benchmark.json +0 -293
  145. package/.xtrm/skills/default/sync-docs-workspace/iteration-1/benchmark.md +0 -13
  146. package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-doc-audit/eval_metadata.json +0 -27
  147. package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/outputs/result.md +0 -210
  148. package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/run-1/grading.json +0 -28
  149. package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/run-1/timing.json +0 -1
  150. package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/outputs/result.md +0 -101
  151. package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/run-1/grading.json +0 -28
  152. package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/run-1/timing.json +0 -5
  153. package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/timing.json +0 -5
  154. package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-fix-mode/eval_metadata.json +0 -27
  155. package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/outputs/result.md +0 -198
  156. package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/run-1/grading.json +0 -28
  157. package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/run-1/timing.json +0 -1
  158. package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/outputs/result.md +0 -94
  159. package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/run-1/grading.json +0 -28
  160. package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/run-1/timing.json +0 -1
  161. package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-sprint-closeout/eval_metadata.json +0 -27
  162. package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/outputs/result.md +0 -237
  163. package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/run-1/grading.json +0 -28
  164. package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/run-1/timing.json +0 -1
  165. package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/outputs/result.md +0 -134
  166. package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/run-1/grading.json +0 -28
  167. package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/run-1/timing.json +0 -1
  168. package/.xtrm/skills/default/sync-docs-workspace/iteration-2/benchmark.json +0 -297
  169. package/.xtrm/skills/default/sync-docs-workspace/iteration-2/benchmark.md +0 -13
  170. package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-doc-audit/eval_metadata.json +0 -27
  171. package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/outputs/result.md +0 -137
  172. package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/run-1/grading.json +0 -92
  173. package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/run-1/timing.json +0 -1
  174. package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/outputs/result.md +0 -134
  175. package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/run-1/grading.json +0 -86
  176. package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/run-1/timing.json +0 -1
  177. package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-fix-mode/eval_metadata.json +0 -27
  178. package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/outputs/result.md +0 -193
  179. package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/run-1/grading.json +0 -72
  180. package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/run-1/timing.json +0 -1
  181. package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/outputs/result.md +0 -211
  182. package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/run-1/grading.json +0 -91
  183. package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/run-1/timing.json +0 -5
  184. package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-sprint-closeout/eval_metadata.json +0 -27
  185. package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/outputs/result.md +0 -182
  186. package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/run-1/grading.json +0 -95
  187. package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/run-1/timing.json +0 -1
  188. package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/outputs/result.md +0 -222
  189. package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/run-1/grading.json +0 -88
  190. package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/run-1/timing.json +0 -5
  191. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/benchmark.json +0 -298
  192. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/benchmark.md +0 -13
  193. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-doc-audit/eval_metadata.json +0 -27
  194. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/outputs/result.md +0 -125
  195. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/run-1/grading.json +0 -97
  196. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/run-1/timing.json +0 -5
  197. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/outputs/result.md +0 -144
  198. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/run-1/grading.json +0 -78
  199. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/run-1/timing.json +0 -5
  200. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-fix-mode/eval_metadata.json +0 -27
  201. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/outputs/result.md +0 -104
  202. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/run-1/grading.json +0 -91
  203. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/run-1/timing.json +0 -5
  204. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/outputs/result.md +0 -79
  205. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/run-1/grading.json +0 -82
  206. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/run-1/timing.json +0 -5
  207. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-sprint-closeout/eval_metadata.json +0 -27
  208. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase1_context.json +0 -302
  209. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase2_drift.txt +0 -33
  210. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase3_analysis.json +0 -114
  211. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase4_fix.txt +0 -118
  212. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase5_validate.txt +0 -38
  213. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/result.md +0 -158
  214. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/run-1/grading.json +0 -95
  215. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/run-1/timing.json +0 -5
  216. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/outputs/result.md +0 -71
  217. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/run-1/grading.json +0 -90
  218. package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/run-1/timing.json +0 -5
@@ -0,0 +1,562 @@
1
+ ---
2
+ name: using-specialists-v3
3
+ description: >
4
+ Canonical specialist orchestration skill. Use proactively for substantial work
5
+ that should be delegated, tracked, reviewed, fixed, tested, or merged through
6
+ specialists: code review, debugging, implementation, planning, doc sync,
7
+ security checks, multi-step chains, and questions about specialist workflow.
8
+ version: 3.2
9
+ ---
10
+
11
+ # Using Specialists v3
12
+
13
+ You are the orchestrator. Turn user intent into a strong bead contract, choose right specialist from live registry, launch chain, monitor it, consume results, drive fixes, and publish through specialist merge path.
14
+
15
+ Keep skill practical. Core behavior belongs here; volatile detail stays in live commands.
16
+
17
+ ## When To Delegate
18
+
19
+ Use specialists for substantial work: codebase exploration, debugging, implementation, review, test execution, planning, documentation sync, security/config audit, release publication, and multi-chain epics.
20
+
21
+ Do small deterministic edits directly when scope is already obvious and delegation would add ceremony. Do not self-investigate or self-implement a substantial task just because you can read files faster; audit trail and specialist review are part of workflow.
22
+
23
+ ## Non-Negotiable Rules
24
+
25
+ 1. `--bead` is prompt for tracked work.
26
+ 2. Do not dispatch until bead is usable task contract.
27
+ 3. Never use `--prompt` to supplement tracked work. Update bead instead.
28
+ 4. Choose by task shape, not habit. Check `specialists list --full` when roles may have changed.
29
+ 5. Explorer/debugger answer uncertainty before executor writes code.
30
+ 6. Executor starts only when scope, constraints, and validation are clear.
31
+ 7. Reviewer uses its own bead and executor workspace via `--job <exec-job>`.
32
+ 8. Keep executor/debugger jobs alive through review so they can be resumed.
33
+ 9. Merge specialist-owned work with `sp merge` or `sp epic merge`, not manual `git merge`.
34
+ 10. Specialists must not perform destructive or irreversible operations.
35
+ 11. Treat tests as evidence: classify failures as in-scope, pre-existing, or infrastructure before starting fix loop.
36
+ 12. Drive routine stages autonomously once task is clear. Escalate only for human judgment, destructive actions, repeated crashes, or reviewer `FAIL`.
37
+
38
+ ## Live Registry And Help
39
+
40
+ Use live registry for role details, permissions, current models, and skills:
41
+
42
+ ```bash
43
+ specialists list --full
44
+ ```
45
+
46
+ Use help for command flags and subcommands:
47
+
48
+ ```bash
49
+ sp help
50
+ sp run --help
51
+ sp ps --help
52
+ sp feed --help
53
+ sp result --help
54
+ sp resume --help
55
+ sp merge --help
56
+ sp epic --help
57
+ ```
58
+
59
+ Do not rely on stale remembered flags when help is available.
60
+
61
+ ## Writing Bead Contracts Well
62
+
63
+ Bead quality controls specialist quality. A title-only bead produces wandering output because specialist has no contract to optimize against. Write contract before dispatch. Tighten vague scope before launch.
64
+
65
+ Bad bead:
66
+
67
+ ```text
68
+ TITLE: Fix bug
69
+ PROBLEM: Something is broken.
70
+ SUCCESS: It works.
71
+ SCOPE: src/
72
+ NON_GOALS: N/A
73
+ CONSTRAINTS: Be careful.
74
+ VALIDATION: Tests pass.
75
+ OUTPUT: Done.
76
+ ```
77
+
78
+ Good bead:
79
+
80
+ ```text
81
+ TITLE: Fix feed cursor regression in sp result
82
+ PROBLEM: specialists feed follow skips events after restart because cursor tracks count, not last seq.
83
+ SUCCESS: feed follow resumes from last seen seq; result still reads terminal output.
84
+ SCOPE: src/cli/feed.ts, src/cli/result.ts, tests/unit/cli/feed.test.ts
85
+ NON_GOALS: No new runtime format, no DB schema change, no unrelated poll changes.
86
+ CONSTRAINTS: Preserve existing job IDs, keep backwards-compatible CLI output, avoid file-based fallback drift.
87
+ VALIDATION: Add regression test for restart resume; run targeted CLI tests.
88
+ OUTPUT: Changed files, test evidence, residual risks.
89
+ ```
90
+
91
+ Fix three bad smells fast:
92
+
93
+ - Title-only bead. Add problem, scope, validation, output.
94
+ - Vague SCOPE like `src/`. Name files, symbols, or bounded docs.
95
+ - Missing VALIDATION. Say what proves done, not just that work is “finished.”
96
+
97
+ What differs: orchestrator writes contract before dispatch, so specialist does less guessing and more useful work.
98
+
99
+ ## Dependency Linking
100
+
101
+ Link beads with correct edge shape. The edge tells orchestrator what blocks what, what is only related, and what should auto-nest.
102
+
103
+ - `bd dep add <issue> <depends-on>`: issue depends on depends-on; depends-on blocks issue. Use this for hard sequencing. [source: bd dep --help]
104
+ - `bd dep <blocker> --blocks <blocked>`: reverse phrasing of same edge; blocker-first reads better when thinking in blockers. [source: bd dep --help; CLAUDE.md lines 62-64]
105
+ - `bd dep relate <a> <b>`: non-blocking `relates_to` link. Use for context, not order. [source: bd dep --help; CLAUDE.md lines 64, 200-204]
106
+ - `bd create --parent <epic-id>`: epic-child edge; auto-names child `.1`, `.2`, … and adds parent edge. Use for chain members that must live under epic. [source: CLAUDE.md lines 49-50, 154-156; bd create --help]
107
+ - `bd create --deps discovered-from:<id>`: follow-up work discovered from source bead. Use when one bead reveals new tracked work. [source: CLAUDE.md lines 50, 62-65; bd create --help]
108
+
109
+ Use each form for a different reason:
110
+
111
+ - `add` / `--blocks` for must-happen-before dependency.
112
+ - `relate` for soft linkage with no schedule effect.
113
+ - `--parent` for epic ownership and child naming.
114
+ - `discovered-from:` for spawned follow-up beads.
115
+
116
+ What differs: orchestrator chooses edge type deliberately, so graph stays correct for chain execution, epic publish, and follow-up traceability.
117
+
118
+ ## Bead Contract By Bead Type
119
+
120
+ Use shape that fits specialist.
121
+
122
+ Task/epic bead:
123
+
124
+ ```text
125
+ PROBLEM: User-facing or project-facing objective.
126
+ SUCCESS: End-state across all child beads.
127
+ SCOPE: Area of project affected.
128
+ REFERENCES: Optional files, skills, or docs specialist reads only if work needs them.
129
+ NON_GOALS: Boundaries for entire effort.
130
+ CONSTRAINTS: Sequencing, compatibility, branch/merge rules.
131
+ VALIDATION: Final checks before close.
132
+ OUTPUT: What orchestrator reports back.
133
+ ```
134
+
135
+ `SCOPE` is always loaded as context. `REFERENCES` is progressive disclosure: name what exists, but do not force load unless task needs it. Use this when a file would bloat payload today, like citing a huge skill file in scope and dragging in all lines before specialist even knows it must read them.
136
+
137
+ Example:
138
+
139
+ ```text
140
+ SCOPE: config/skills/using-specialists-v3/SKILL.md, docs/specialists/handoff-schema.md
141
+ REFERENCES: config/skills/prompt-improving/SKILL.md (xml_core conventions), sibling beads per-turn-handoff-schema and bead-id-verbatim once landed
142
+ ```
143
+
144
+ Explorer bead:
145
+
146
+ ```text
147
+ PROBLEM: What is unknown.
148
+ SUCCESS: Questions answered with evidence.
149
+ SCOPE: Code areas, docs, commands, or symbols to inspect.
150
+ NON_GOALS: No implementation, no broad audit outside scope.
151
+ CONSTRAINTS: READ_ONLY, cite files/symbols/flows.
152
+ VALIDATION: Findings cite evidence.
153
+ OUTPUT: Findings, risks, recommended implementation track, stop condition.
154
+ ```
155
+
156
+ Debugger bead:
157
+
158
+ ```text
159
+ PROBLEM: Symptom, regression, or failing test.
160
+ SUCCESS: Root cause plus minimal fix path.
161
+ SCOPE: Logs, reproduction, code paths, and related tests.
162
+ NON_GOALS: No broad refactor.
163
+ CONSTRAINTS: Preserve behavior outside fault line.
164
+ VALIDATION: Repro steps and diagnosis.
165
+ OUTPUT: Root cause, fix options, confidence, remaining unknowns.
166
+ ```
167
+
168
+ Executor bead:
169
+
170
+ ```text
171
+ PROBLEM: Exact behavior or artifact to change.
172
+ SUCCESS: Observable acceptance criteria.
173
+ SCOPE: Target files/symbols; include do-not-touch boundaries.
174
+ NON_GOALS: Related improvements explicitly excluded.
175
+ CONSTRAINTS: API compatibility, style, migrations, safety.
176
+ VALIDATION: Lint/typecheck/tests or manual checks.
177
+ OUTPUT: Changed files, verification, residual risks.
178
+ ```
179
+
180
+ Reviewer bead:
181
+
182
+ ```text
183
+ PROBLEM: Verify executor output against requirements.
184
+ SUCCESS: PASS only if requirements and validation are satisfied.
185
+ SCOPE: Executor job, diff, task bead, acceptance criteria.
186
+ NON_GOALS: Do not rewrite unless explicitly asked.
187
+ CONSTRAINTS: Code-review mindset; findings first.
188
+ VALIDATION: Run or inspect required checks where feasible.
189
+ OUTPUT: PASS/PARTIAL/FAIL with file/line findings.
190
+ ```
191
+
192
+ Test bead:
193
+
194
+ ```text
195
+ PROBLEM: Validate one or more implementation chains.
196
+ SUCCESS: Relevant tests/checks pass or failures are diagnosed.
197
+ SCOPE: Commands and implementation beads covered.
198
+ NON_GOALS: No broad unrelated suite expansion unless requested.
199
+ CONSTRAINTS: Avoid destructive cleanup; report flaky/infra failures separately.
200
+ VALIDATION: Command output and failure interpretation.
201
+ OUTPUT: Pass/fail summary, failing tests, likely owner.
202
+ ```
203
+
204
+ Sync-docs bead:
205
+
206
+ ```text
207
+ PROBLEM: Exactly one doc drifted from source truth.
208
+ SUCCESS: One doc updated and drift checked clean.
209
+ SCOPE: One doc only.
210
+ NON_GOALS: No source-code rewrite.
211
+ CONSTRAINTS: Keep doc and source aligned.
212
+ VALIDATION: Drift scan or bounded source cross-check.
213
+ OUTPUT: Updated doc, drift evidence, remaining doc gaps.
214
+ ```
215
+
216
+ What differs: orchestrator gives each specialist a contract shape that matches job, so role stays narrow and reviewable.
217
+
218
+ For evidence-heavy or multi-item beads, let `SCOPE`, `CONSTRAINTS`, and `EXAMPLES` carry opt-in XML tags. Follow prompt-improving `xml_core` style: wrap only the subpart that needs structure, not whole bead. Example: a debugger bead can put stack trace lines in `<evidence>` and do-not-touch items in `<constraints>`, so specialist can scan facts fast without turning every field into markup.
219
+
220
+ ## Choosing The Specialist
221
+
222
+ Run `specialists list` if you need live registry. Choose by task, not habit.
223
+
224
+ | Need | Specialist | Use when |
225
+ | --- | --- | --- |
226
+ | Architecture/code mapping | `explorer` | Need evidence and scoped implementation track |
227
+ | Root-cause analysis | `debugger` | Symptom, stack trace, failing test, or regression |
228
+ | Planning/decomposition | `planner` | Need beads, dependencies, file scopes, sequencing |
229
+ | Design/tradeoffs | `overthinker` | Approach is risky, ambiguous, or needs critique |
230
+ | Implementation | `executor` | Contract is clear enough to write code or docs |
231
+ | Compliance/code review | `reviewer` | Executor/debugger produced changes that need final PASS/PARTIAL/FAIL |
232
+ | Implementation sanity | `code-sanity` | Diff smells overcomplicated, brittle, or type-risky |
233
+ | Security/dependency audit | `security-auditor` | Need threat modeling, secure-code review, or agent/config security scan |
234
+ | Multiple review perspectives | `parallel-review` | Critical diff needs independent review passes |
235
+ | Test execution | `test-runner` | Need suites run and failures interpreted |
236
+ | Docs audit/sync | `sync-docs` | Docs may be stale or need targeted synchronization |
237
+ | External/live research | `researcher` | Current non-security library/docs/media lookup is needed |
238
+ | Specialist config | `specialists-creator` | Creating or changing specialist JSON/config |
239
+ | Release publication | `changelog-keeper` | New tag is being cut |
240
+
241
+ Selection rules:
242
+
243
+ - Explorer is READ_ONLY and should answer specific questions.
244
+ - Debugger beats explorer for failures because it traces causes and remediation.
245
+ - Planner shapes epic/task graph before executor starts.
246
+ - Overthinker defends risky design before code locks in. It is CoT specialist by design, so thinking-heavy turns and `<thinking>` tags fit there.
247
+ - Reviewer already uses structured evidence/gap matrices, which is CoT in disguise; keep that structure, do not add freeform `<thinking>` blocks.
248
+ - Executor, debugger, changelog-keeper, sync-docs, and test-runner should not carry mandatory `<thinking>` blocks. That bloats output without payoff and hides the real contract.
249
+ - Executor does not own full test validation; use reviewer/test-runner for that phase.
250
+ - Sync-docs is for audit/sync; executor is for heavy doc rewrites.
251
+ - Researcher is for current external info, not repo archaeology.
252
+ - Specialists-creator should precede specialist config/schema edits.
253
+
254
+ ## Code-sanity
255
+
256
+ Use code-sanity when diff smells overcomplicated, brittle, or type-risky, but not yet broken enough for debugger. Use it before final review when you want cheap simplification check without blocking merge.
257
+
258
+ Bead shape:
259
+
260
+ ```text
261
+ PROBLEM: Diff has complexity, duplication, or type-safety smell that could hide bugs.
262
+ SUCCESS: Findings isolate concrete smell or confirm clean shape.
263
+ SCOPE: Executor diff, risky files, and any nearby helpers.
264
+ NON_GOALS: No edits, no broad refactor, no merge gate decision.
265
+ CONSTRAINTS: READ_ONLY, keep feedback cheap, cite exact lines or symbols.
266
+ VALIDATION: Findings name concrete improvement or say OK.
267
+ OUTPUT: FINDINGS with severity, or OK with caveats.
268
+ ```
269
+
270
+ Use `sp resume <exec-job> "Code-sanity findings: ..."` or `sp resume <exec-job> "Code-sanity OK; continue to reviewer."` to hand findings back.
271
+
272
+ OK is not reviewer PASS. It is advisory only.
273
+
274
+ What differs: orchestrator uses code-sanity as cheap smell screen, not as merge gate.
275
+
276
+ ## Security-auditor
277
+
278
+ Use security-auditor when diff touches auth, secrets, input handling, dependency logic, or agent/config surfaces. Keep it advisory and scan-only.
279
+
280
+ Bead shape:
281
+
282
+ ```text
283
+ PROBLEM: Diff may open auth, secrets, input, dependency, or agent-config risk.
284
+ SUCCESS: Findings isolate real security concern or confirm no obvious issue.
285
+ SCOPE: Executor diff, touched configs, and security-relevant paths.
286
+ NON_GOALS: No edits, no package updates, no destructive scans, no live exploit tests.
287
+ CONSTRAINTS: LOW permissions, scan-only, recommendations only.
288
+ VALIDATION: Findings cite risk surface and why it matters.
289
+ OUTPUT: Recommendations for executor to apply in a separate bead.
290
+ ```
291
+
292
+ Use `sp resume <exec-job> "Security findings: ..."` or `sp resume <exec-job> "Security scan clean; continue to reviewer."`.
293
+
294
+ No findings is not reviewer PASS. Executor still applies fixes if any, then reviewer decides publish.
295
+
296
+ What differs: orchestrator uses security-auditor to surface risk early, not to bless merge.
297
+
298
+ ## Dependency Graph Shapes
299
+
300
+ Draw graph before dispatch.
301
+
302
+ Simple chain:
303
+
304
+ ```text
305
+ task -> explore -> impl -> review
306
+ ```
307
+
308
+ Fix loop:
309
+
310
+ ```text
311
+ debug -> exec -> code-sanity? -> security-auditor? -> reviewer
312
+ ^ |
313
+ |------ resume PARTIAL --------------|
314
+ ```
315
+
316
+ Epic:
317
+
318
+ ```text
319
+ epic
320
+ ├─ prep/planner
321
+ ├─ impl-a
322
+ ├─ impl-b
323
+ ├─ test-batch
324
+ └─ merge/review chain(s)
325
+ ```
326
+
327
+ What differs: orchestrator sees edge shape up front, so can pick sequential chain, fix loop, or multi-chain epic without graph drift.
328
+
329
+ ## Canonical Single-Chain Flow
330
+
331
+ Use for one implementation branch.
332
+
333
+ ```bash
334
+ # 1. Create or claim root task bead with complete contract
335
+ bd create --title "Fix token refresh retry" --type task --priority 2 --description "PROBLEM: login and refresh flow have a retry bug when transient token refresh fails before backoff clears stale state. SUCCESS: token refresh retries once, login survives transient failure, and terminal failure stays clear. SCOPE: src/auth/refresh.ts, src/cli/login.ts, tests/unit/auth/refresh.test.ts. NON_GOALS: no auth provider redesign, no storage migration, no UI changes. CONSTRAINTS: preserve token format, keep error text backward-compatible, avoid broad retry changes outside auth flow. VALIDATION: add regression test for fail-then-succeed path and run targeted auth tests. OUTPUT: changed files, test proof, residual risks."
336
+ bd update <task> --claim
337
+
338
+ # 2. Optional discovery when path is unknown
339
+ bd create --title "Explore auth refresh path" --type task --priority 2 --description "PROBLEM: token refresh retry path is undocumented and likely drifts on failure handling. SUCCESS: evidence-backed plan names exact files, symbols, and risk. SCOPE: src/auth/refresh.ts, src/cli/login.ts, tests/unit/auth/*.test.ts. NON_GOALS: no implementation, no broad audit. CONSTRAINTS: READ_ONLY, cite files/symbols/flows, stay within live repo evidence. VALIDATION: findings cite code path and recommended sequence. OUTPUT: tracked discovery plan with stop condition."
340
+ bd dep add <explore> <task>
341
+ specialists run explorer --bead <explore> --context-depth 3
342
+ specialists result <explore-job>
343
+
344
+ # 3. Implementation
345
+ bd create --title "Implement token refresh retry" --type task --priority 2 --description "PROBLEM: login fails after transient token refresh error because retry path returns before backoff and clear error state. SUCCESS: retry waits once, preserves session on success, and surfaces final failure clearly. SCOPE: src/auth/refresh.ts, src/cli/login.ts, tests/unit/auth/refresh.test.ts. NON_GOALS: no auth redesign, no storage migration, no UI refresh. CONSTRAINTS: preserve existing token format, keep backward-compatible error text, avoid broad retry changes elsewhere. VALIDATION: add regression test for transient failure then success; run targeted auth tests. OUTPUT: changed files, test evidence, residual risks."
346
+ bd dep add <impl> <explore-or-task>
347
+ specialists run executor --bead <impl> --context-depth 3
348
+ specialists result <exec-job>
349
+
350
+ # 4. Advisory passes when diff smells risky
351
+ bd create --title "Sanity check token retry diff" --type task --priority 2 --description "PROBLEM: auth retry diff has control-flow and state-handling smell that could hide bug. SUCCESS: findings identify concrete simplification or confirm clean shape. SCOPE: executor diff in auth refresh and login flow. NON_GOALS: no edits, no merge gate decision. CONSTRAINTS: READ_ONLY, keep feedback cheap, cite exact lines or symbols. VALIDATION: findings name concrete improvement or say OK. OUTPUT: FINDINGS with severity or OK with caveats."
352
+ specialists run code-sanity --bead <sanity-bead> --job <exec-job> --context-depth 3
353
+
354
+ bd create --title "Security scan token retry diff" --type task --priority 2 --description "PROBLEM: auth refresh code touches secrets and session handling, so security regression is possible. SUCCESS: findings isolate real risk surface or confirm no obvious issue. SCOPE: executor diff in auth, token storage, and login path. NON_GOALS: no edits, no package updates, no destructive scans, no live exploit tests. CONSTRAINTS: LOW permissions, scan-only, recommendations only. VALIDATION: findings cite auth/secrets/input surface and why it matters. OUTPUT: recommendations for executor to apply in separate bead."
355
+ specialists run security-auditor --bead <security-bead> --job <exec-job> --context-depth 3
356
+
357
+ # 5. Final review
358
+ bd create --title "Review token refresh retry" --type task --priority 2 --description "PROBLEM: verify executor output against auth retry requirements. SUCCESS: PASS only if retry behavior, error handling, and tests satisfy contract. SCOPE: executor job, diff, acceptance criteria, and target auth files. NON_GOALS: do not rewrite unless explicitly asked. CONSTRAINTS: code-review mindset; findings first; verify security and sanity findings were handled. VALIDATION: inspect targeted checks and regression coverage. OUTPUT: PASS/PARTIAL/FAIL with file/line findings."
359
+ bd dep add <review> <impl>
360
+ specialists run reviewer --bead <review> --job <exec-job> --context-depth 3
361
+ specialists result <review-job>
362
+
363
+ # 6. Publish after reviewer PASS
364
+ sp merge <impl>
365
+ bd close <task> --reason "Reviewer PASS; merged."
366
+ ```
367
+
368
+ Edit-capable specialists with `--bead` auto-provision a worktree. `--worktree` is accepted for clarity but usually unnecessary. Use `--job <exec-job>` for reviewer/fix passes that must enter existing executor workspace.
369
+
370
+ What differs: orchestrator carries full bead contract inline, so downstream specialists inherit the actual job shape, not a title.
371
+
372
+ ## Multi-Chain Epic Flow
373
+
374
+ Use epic when multiple implementation chains publish together.
375
+
376
+ ```bash
377
+ # Epic bead
378
+ bd create --title "Epic: auth refresh hardening" --type epic --priority 2 --description "PROBLEM: login and refresh flow have retry drift, weak error surfacing, and unclear follow-up ownership. SUCCESS: epic closes with stable retry behavior, tests, docs, and clean publish. SCOPE: src/auth/*, src/cli/login.ts, tests/unit/auth/*, docs/auth-refresh.md. NON_GOALS: no auth provider swap, no storage migration, no unrelated session revamp. CONSTRAINTS: preserve token format, keep login compatible, sequence risky fixes before merge, use child beads for parallelizable slices. VALIDATION: targeted tests, code-sanity or security pass if risk appears, final reviewer PASS. OUTPUT: merged chain set with notes on remaining gaps."
379
+
380
+ # Planner bead
381
+ bd create --title "Plan auth refresh split" --type task --priority 2 --description "PROBLEM: epic needs disjoint chains before executor starts. SUCCESS: child beads, dependency edges, and file ownership split are explicit. SCOPE: auth refresh epic area. NON_GOALS: no code changes. CONSTRAINTS: keep chains disjoint, identify security-sensitive slice, name review order. VALIDATION: plan names beads and edges. OUTPUT: parallel-ready plan with risk notes."
382
+ bd dep add <plan> <epic>
383
+ specialists run planner --bead <plan> --context-depth 3
384
+
385
+ # Parallel impl beads
386
+ bd create --parent <epic> --title "Impl auth retry" --type task --priority 2 --description "PROBLEM: transient refresh failure breaks login flow. SUCCESS: retry path succeeds after one transient failure and preserves session state. SCOPE: src/auth/refresh.ts, tests/unit/auth/refresh.test.ts. NON_GOALS: no UI changes, no storage migration, no unrelated retry framework edits. CONSTRAINTS: preserve error text, keep backoff bounded, avoid side effects outside auth flow. VALIDATION: regression test for fail-then-succeed path. OUTPUT: code diff, test proof, residual risk list."
387
+ bd create --parent <epic> --title "Impl login handoff" --type task --priority 2 --description "PROBLEM: login CLI does not surface refresh outcome clearly enough for operators. SUCCESS: login shows clear success/failure handoff and no stale token state. SCOPE: src/cli/login.ts, tests/unit/cli/login.test.ts. NON_GOALS: no auth protocol redesign. CONSTRAINTS: preserve CLI flags and error codes, keep output terse. VALIDATION: CLI regression test. OUTPUT: login diff and test evidence."
388
+
389
+ specialists run executor --bead <impl-a> --context-depth 3
390
+ specialists run executor --bead <impl-b> --context-depth 3
391
+
392
+ # Per-chain review
393
+ specialists run reviewer --bead <review-a> --job <exec-a-job> --context-depth 3
394
+ specialists run reviewer --bead <review-b> --job <exec-b-job> --context-depth 3
395
+
396
+ # Publish
397
+ sp epic status <epic>
398
+ sp epic merge <epic>
399
+ ```
400
+
401
+ Use `--epic <id>` when job belongs to epic but bead is not direct child. Avoid parallel executors on same file; sequence them or consolidate work.
402
+
403
+ What differs: orchestrator splits graph first, then launches parallel work only when file scopes are provably disjoint.
404
+
405
+ ## Review And Fix Loop
406
+
407
+ A chain stays alive until merged or abandoned.
408
+
409
+ ```text
410
+ executor/debugger -> waiting
411
+ optional code-sanity/security-auditor -> advisory findings
412
+ reviewer -> PASS | PARTIAL | FAIL
413
+ ```
414
+
415
+ - `PASS`: verify expected commit/diff, then publish.
416
+ - `PARTIAL`: resume same executor/debugger with exact findings, then re-review.
417
+ - `FAIL`: stop and decide whether to replace chain, re-scope bead, or ask operator if judgment is required.
418
+
419
+ Prefer resume over new fix executor when original job is waiting and context is healthy:
420
+
421
+ ```bash
422
+ sp resume <exec-job> "Reviewer PARTIAL. Fix only these findings: ..."
423
+ ```
424
+
425
+ Do not treat job completion, code-sanity OK, security no-findings, or test-runner pass as equivalent to reviewer PASS.
426
+
427
+ What differs: orchestrator uses PASS/PARTIAL/FAIL as real control flow, not just status labels.
428
+
429
+ ## Mini-Flows For Under-Promoted Specialists
430
+
431
+ Planner:
432
+ - Use when epic needs bead split, dependency graph, or file ownership before code starts.
433
+ - Bead shape: task/epic contract with clear success criteria, child beads, and edge plan.
434
+ - Chain position: first or pre-impl.
435
+
436
+ Debugger:
437
+ - Use when symptom exists and root cause is unclear.
438
+ - Bead shape: reproduction, logs, expected vs actual, scope to investigate.
439
+ - Chain position: before executor, or after a failing review when cause is unclear.
440
+
441
+ Overthinker:
442
+ - Use for risky design, cross-cutting tradeoffs, or premortem before lock-in.
443
+ - Bead shape: options, risks, constraint conflicts, decision asked for.
444
+ - Chain position: before planner/executor when design uncertainty is high.
445
+
446
+ Researcher:
447
+ - Use for current external docs, package behavior, or ecosystem facts that repo cannot answer.
448
+ - Bead shape: source list, question set, required citations.
449
+ - Chain position: before executor when outside facts matter.
450
+
451
+ Test-runner:
452
+ - Use when commands need to run and failures need classification, not fixes.
453
+ - Bead shape: exact command list, suites, and expected failure taxonomy.
454
+ - Chain position: after executor or between fix loops.
455
+
456
+ Sync-docs:
457
+ - Use when one doc drifts and must be synced to source truth.
458
+ - Bead shape: one-doc scope, source cross-check, drift checks.
459
+ - Chain position: parallel to code only when doc scope is isolated; otherwise after code settles.
460
+
461
+ What differs: orchestrator uses specialists beyond the common trio, so planning, diagnosis, research, tests, and docs do not collapse into executor work.
462
+
463
+ ## Monitoring And Steering
464
+
465
+ Use `sp ps` for state and `sp result` for completed turns.
466
+
467
+ ```bash
468
+ sp ps
469
+ sp ps <job-id>
470
+ sp ps --bead <bead-id>
471
+ sp feed <job-id>
472
+ sp result <job-id>
473
+ ```
474
+
475
+ If job is running, use `sp feed`. If it is waiting, use `sp result` and decide whether to resume, review, merge, or stop. Avoid tight polling; sleep based on task size, then check once.
476
+
477
+ Use `steer` for running jobs and `resume` for waiting jobs:
478
+
479
+ ```bash
480
+ sp steer <job-id> "Stop broad audit. Answer only the three bead questions."
481
+ sp resume <job-id> "Continue with the next scoped fix. Do not refactor."
482
+ ```
483
+
484
+ Context usage is an action signal when available:
485
+
486
+ - 0-40%: healthy.
487
+ - 40-65%: monitor.
488
+ - 65-80%: steer toward conclusion.
489
+ - Above 80%: finish, summarize, or replace job.
490
+
491
+ Raw token totals are not context percentages.
492
+
493
+ ## What Stays Out
494
+
495
+ - `memory-processor` — memory synthesis specialist; see `/documenting`.
496
+ - `xt-merge`: deferred to xt-merge skill; this skill names specialist flow, not merge-wrapper internals.
497
+
498
+ ## Adjacent xt commands
499
+
500
+ Source: latest xt report + `xt --help`; keep commands here, not full CLI surface.
501
+ - `xt report` — session report input for release synthesis; see `/session-close-report`.
502
+ - `xt end` — close worktree session: push, PR, merge, cleanup; see `/xt-end`.
503
+ - `xt claude` — launch Claude in sandboxed worktree; see `/using-xtrm`.
504
+ - `xt update` — refresh xtrm-managed files in one repo or many; see `/update-xt`.
505
+ - `xt doctor` — diagnose xtrm drift in current project; see `/update-xt`.
506
+ - `xt init` — bootstrap xtrm in project; see xtrm-tools docs.
507
+ - `xt release prepare/publish` — legacy release path; canonical flow is `/releasing`.
508
+ - `bd prime` — refresh beads workflow context; see `CLAUDE.md`.
509
+ - `memory-processor` — memory synthesis specialist; see `/documenting`.
510
+ - `xt-merge` — defer merge-queue internals to `/xt-merge`.
511
+
512
+ ## Merge And Publication
513
+
514
+ Standalone chain:
515
+
516
+ ```bash
517
+ sp merge <chain-root-bead>
518
+ ```
519
+
520
+ Epic-owned chains:
521
+
522
+ ```bash
523
+ sp epic status <epic-id>
524
+ sp epic merge <epic-id>
525
+ ```
526
+
527
+ Rules:
528
+
529
+ - Merge only after reviewer PASS unless operator explicitly accepts draft for follow-up work.
530
+ - Use `sp epic merge` for unresolved epic chains; `sp merge` refuses those by design.
531
+ - Do not manually `git merge` specialist branches.
532
+ - If merge refuses because chain job is still `waiting`, consume result and either resume/stop/finalize that job deliberately.
533
+ - If merge reports dirty worktree, inspect that worktree. Revert generated noise only when clearly unrelated; otherwise ask or re-dispatch.
534
+ - Run or confirm required gates before closing root bead or epic.
535
+
536
+ ## Failure Recovery
537
+
538
+ When something fails:
539
+
540
+ ```bash
541
+ sp ps <job-id>
542
+ sp feed <job-id>
543
+ sp result <job-id>
544
+ sp doctor
545
+ ```
546
+
547
+ Then choose one action:
548
+
549
+ - Resume waiting executor/debugger with exact findings.
550
+ - Re-run with better bead if contract was weak.
551
+ - Re-scope bead if scope was wrong.
552
+ - Escalate if human decision is needed.
553
+ - Replace specialist only if failure mode repeats.
554
+
555
+ ## What Orchestrator Does Differently Because Of This Skill
556
+
557
+ - Writes bead contract before dispatch.
558
+ - Chooses edge type before creating chain.
559
+ - Uses specialist role by job shape, not by habit.
560
+ - Keeps fix loops alive with resume, not re-spawn.
561
+ - Treats reviewer PASS as only publish gate.
562
+ - Keeps memory-processor and xt-merge out of this skill on purpose.
@@ -0,0 +1,89 @@
1
+ {
2
+ "skill_name": "using-specialists-v3",
3
+ "evals": [
4
+ {
5
+ "id": 1,
6
+ "eval_name": "role-selection-implementation",
7
+ "prompt": "Need add one small feature in src/specialist/loader.ts, but I do not know exact path yet. Which specialist should handle discovery and implementation?",
8
+ "expected_output": "Agent checks live registry if needed, creates/updates complete bead contracts, selects explorer for discovery then executor for implementation, and does not self-investigate substantial work.",
9
+ "assertions": [
10
+ {
11
+ "name": "selects_specialist_role",
12
+ "description": "Agent names a specialist role appropriate for unknown implementation work"
13
+ },
14
+ {
15
+ "name": "uses_live_registry",
16
+ "description": "Agent references specialists list --full instead of a static catalog"
17
+ },
18
+ {
19
+ "name": "does_not_self_investigate",
20
+ "description": "Agent does not read source files and solve it directly"
21
+ }
22
+ ],
23
+ "files": []
24
+ },
25
+ {
26
+ "id": 2,
27
+ "eval_name": "role-selection-debugging",
28
+ "prompt": "A specialist chain started failing with a stack trace and inconsistent result state. Who should inspect it, and what command surface should I use to check available flags?",
29
+ "expected_output": "Agent selects debugger for root-cause analysis, may use test-runner for check execution, and points to sp help/subcommand help before relying on flags.",
30
+ "assertions": [
31
+ {
32
+ "name": "selects_debugging_role",
33
+ "description": "Agent chooses debugger or test-runner for failure analysis"
34
+ },
35
+ {
36
+ "name": "uses_help_surface",
37
+ "description": "Agent references sp help or subcommand help for command details"
38
+ },
39
+ {
40
+ "name": "does_not_guess_flags",
41
+ "description": "Agent does not invent CLI flags from memory"
42
+ }
43
+ ],
44
+ "files": []
45
+ },
46
+ {
47
+ "id": 3,
48
+ "eval_name": "role-selection-review",
49
+ "prompt": "Executor finished a change and I need final verification before merge. Which specialist next, and what should it check?",
50
+ "expected_output": "Agent selects reviewer with its own bead and --job <exec-job>, checks bead contract plus diff, and treats PASS as merge gate.",
51
+ "assertions": [
52
+ {
53
+ "name": "selects_reviewer_role",
54
+ "description": "Agent chooses reviewer for post-implementation verification"
55
+ },
56
+ {
57
+ "name": "checks_contract_and_diff",
58
+ "description": "Agent states reviewer checks bead contract and diff"
59
+ },
60
+ {
61
+ "name": "does_not_replace_reviewer_with_self",
62
+ "description": "Agent does not perform the review directly"
63
+ }
64
+ ],
65
+ "files": []
66
+ },
67
+ {
68
+ "id": 4,
69
+ "eval_name": "merge-publication-flow",
70
+ "prompt": "Reviewer passed an executor chain. What should the orchestrator do next to publish the specialist work?",
71
+ "expected_output": "Agent uses sp merge <chain-root-bead> for standalone chains or sp epic merge <epic-id> for epic-owned work, avoids manual git merge, and closes the bead only after required gates are confirmed.",
72
+ "assertions": [
73
+ {
74
+ "name": "uses_specialist_merge",
75
+ "description": "Agent names sp merge or sp epic merge as the publication path"
76
+ },
77
+ {
78
+ "name": "avoids_manual_git_merge",
79
+ "description": "Agent explicitly avoids manual git merge for specialist-owned work"
80
+ },
81
+ {
82
+ "name": "honors_reviewer_gate",
83
+ "description": "Agent publishes only after reviewer PASS or explicit operator acceptance"
84
+ }
85
+ ],
86
+ "files": []
87
+ }
88
+ ]
89
+ }
package/CHANGELOG.md CHANGED
@@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ---
9
9
 
10
+ ## [0.7.17] - 2026-05-05
11
+
12
+ ### Added
13
+ - Vendored `using-specialists-v3` skill from the specialists repo into `.xtrm/skills/default/`. The skill now ships in the npm tarball and is installed by `xt install` / `xt update` without requiring a specialists checkout.
14
+
15
+ ### Changed
16
+ - `scripts/vendor-specialists-skills.mjs` includes `using-specialists-v3` in the canonical vendor list.
17
+ - Refreshed `using-specialists-v2/SKILL.md` from the specialists source.
18
+
19
+ ## [0.7.16] - 2026-05-05
20
+
21
+ ### Fixed
22
+ - `xt update` and `xt install` now repair a broken `.xtrm/skills/default` symlink before running the registry install. Previously only `xt init` repaired stale dev-mode symlinks, so updates failed on machines where the legacy symlink target no longer existed. The npm package root is always the source.
23
+
10
24
  ## [0.7.15] - 2026-05-05
11
25
 
12
26
  ### Changed