xtrm-tools 0.7.16 → 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.
- package/.xtrm/registry.json +419 -411
- package/.xtrm/skills/default/update-specialists/SKILL.md +204 -77
- package/.xtrm/skills/default/using-kpi/SKILL.md +47 -5
- package/.xtrm/skills/default/using-specialists-v2/SKILL.md +1 -1
- package/.xtrm/skills/default/using-specialists-v3/SKILL.md +562 -0
- package/.xtrm/skills/default/using-specialists-v3/evals/evals.json +89 -0
- package/CHANGELOG.md +9 -0
- package/cli/package.json +1 -1
- package/package.json +1 -1
- package/packages/pi-extensions/extensions/xtrm-ui/index.ts +76 -1
- package/packages/pi-extensions/package.json +1 -1
- package/.xtrm/config/pi/extensions/custom-footer/.pi/structured-returns/83051fe4-97da-4e2c-bdaa-343b32f4e714.combined.log +0 -7
- package/.xtrm/config/pi/extensions/custom-footer/.pi/structured-returns/83051fe4-97da-4e2c-bdaa-343b32f4e714.stderr.log +0 -0
- package/.xtrm/config/pi/extensions/custom-footer/.pi/structured-returns/83051fe4-97da-4e2c-bdaa-343b32f4e714.stdout.log +0 -7
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/LICENSE +0 -22
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/README.md +0 -29
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/index.d.ts +0 -3
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/index.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/index.js +0 -2
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/index.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chrome.d.ts +0 -8
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chrome.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chrome.js +0 -27
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chrome.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/crypto.d.ts +0 -11
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/crypto.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/crypto.js +0 -100
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/crypto.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/linuxKeyring.d.ts +0 -25
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/linuxKeyring.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/linuxKeyring.js +0 -104
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/linuxKeyring.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/shared.d.ts +0 -10
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/shared.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/shared.js +0 -293
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/shared.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/windowsDpapi.d.ts +0 -10
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/windowsDpapi.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/windowsDpapi.js +0 -26
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqlite/windowsDpapi.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqliteLinux.d.ts +0 -7
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqliteLinux.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqliteLinux.js +0 -51
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqliteLinux.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqliteMac.d.ts +0 -7
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqliteMac.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqliteMac.js +0 -60
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqliteMac.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqliteWindows.d.ts +0 -7
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqliteWindows.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqliteWindows.js +0 -38
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromeSqliteWindows.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/linuxPaths.d.ts +0 -5
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/linuxPaths.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/linuxPaths.js +0 -33
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/linuxPaths.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/macosKeychain.d.ts +0 -24
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/macosKeychain.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/macosKeychain.js +0 -30
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/macosKeychain.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/paths.d.ts +0 -11
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/paths.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/paths.js +0 -43
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/paths.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/windowsMasterKey.d.ts +0 -8
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/windowsMasterKey.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/windowsMasterKey.js +0 -41
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/windowsMasterKey.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/windowsPaths.d.ts +0 -8
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/windowsPaths.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/windowsPaths.js +0 -53
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/chromium/windowsPaths.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edge.d.ts +0 -8
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edge.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edge.js +0 -27
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edge.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edgeSqliteLinux.d.ts +0 -7
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edgeSqliteLinux.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edgeSqliteLinux.js +0 -53
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edgeSqliteLinux.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edgeSqliteMac.d.ts +0 -8
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edgeSqliteMac.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edgeSqliteMac.js +0 -60
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edgeSqliteMac.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edgeSqliteWindows.d.ts +0 -7
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edgeSqliteWindows.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edgeSqliteWindows.js +0 -38
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/edgeSqliteWindows.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/firefoxSqlite.d.ts +0 -6
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/firefoxSqlite.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/firefoxSqlite.js +0 -257
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/firefoxSqlite.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/inline.d.ts +0 -8
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/inline.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/inline.js +0 -71
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/inline.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/safariBinaryCookies.d.ts +0 -6
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/safariBinaryCookies.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/safariBinaryCookies.js +0 -173
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/providers/safariBinaryCookies.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/public.d.ts +0 -26
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/public.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/public.js +0 -195
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/public.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/types.d.ts +0 -121
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/types.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/types.js +0 -2
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/types.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/base64.d.ts +0 -2
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/base64.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/base64.js +0 -18
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/base64.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/exec.d.ts +0 -8
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/exec.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/exec.js +0 -110
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/exec.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/expire.d.ts +0 -2
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/expire.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/expire.js +0 -32
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/expire.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/fs.d.ts +0 -2
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/fs.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/fs.js +0 -13
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/fs.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/hostMatch.d.ts +0 -2
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/hostMatch.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/hostMatch.js +0 -7
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/hostMatch.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/nodeSqlite.d.ts +0 -5
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/nodeSqlite.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/nodeSqlite.js +0 -58
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/nodeSqlite.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/origins.d.ts +0 -2
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/origins.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/origins.js +0 -27
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/origins.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/runtime.d.ts +0 -2
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/runtime.d.ts.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/runtime.js +0 -8
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/dist/util/runtime.js.map +0 -1
- package/.xtrm/skills/default/last30days/scripts/lib/vendor/bird-search/node_modules/@steipete/sweet-cookie/package.json +0 -40
- package/.xtrm/skills/default/sync-docs-workspace/iteration-1/benchmark.json +0 -293
- package/.xtrm/skills/default/sync-docs-workspace/iteration-1/benchmark.md +0 -13
- package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-doc-audit/eval_metadata.json +0 -27
- package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/outputs/result.md +0 -210
- package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/run-1/grading.json +0 -28
- package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/run-1/timing.json +0 -1
- package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/outputs/result.md +0 -101
- package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/run-1/grading.json +0 -28
- package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/run-1/timing.json +0 -5
- package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/timing.json +0 -5
- package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-fix-mode/eval_metadata.json +0 -27
- package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/outputs/result.md +0 -198
- package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/run-1/grading.json +0 -28
- package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/run-1/timing.json +0 -1
- package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/outputs/result.md +0 -94
- package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/run-1/grading.json +0 -28
- package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/run-1/timing.json +0 -1
- package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-sprint-closeout/eval_metadata.json +0 -27
- package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/outputs/result.md +0 -237
- package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/run-1/grading.json +0 -28
- package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/run-1/timing.json +0 -1
- package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/outputs/result.md +0 -134
- package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/run-1/grading.json +0 -28
- package/.xtrm/skills/default/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/run-1/timing.json +0 -1
- package/.xtrm/skills/default/sync-docs-workspace/iteration-2/benchmark.json +0 -297
- package/.xtrm/skills/default/sync-docs-workspace/iteration-2/benchmark.md +0 -13
- package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-doc-audit/eval_metadata.json +0 -27
- package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/outputs/result.md +0 -137
- package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/run-1/grading.json +0 -92
- package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/run-1/timing.json +0 -1
- package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/outputs/result.md +0 -134
- package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/run-1/grading.json +0 -86
- package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/run-1/timing.json +0 -1
- package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-fix-mode/eval_metadata.json +0 -27
- package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/outputs/result.md +0 -193
- package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/run-1/grading.json +0 -72
- package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/run-1/timing.json +0 -1
- package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/outputs/result.md +0 -211
- package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/run-1/grading.json +0 -91
- package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/run-1/timing.json +0 -5
- package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-sprint-closeout/eval_metadata.json +0 -27
- package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/outputs/result.md +0 -182
- package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/run-1/grading.json +0 -95
- package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/run-1/timing.json +0 -1
- package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/outputs/result.md +0 -222
- package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/run-1/grading.json +0 -88
- package/.xtrm/skills/default/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/run-1/timing.json +0 -5
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/benchmark.json +0 -298
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/benchmark.md +0 -13
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-doc-audit/eval_metadata.json +0 -27
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/outputs/result.md +0 -125
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/run-1/grading.json +0 -97
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/run-1/timing.json +0 -5
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/outputs/result.md +0 -144
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/run-1/grading.json +0 -78
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/run-1/timing.json +0 -5
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-fix-mode/eval_metadata.json +0 -27
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/outputs/result.md +0 -104
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/run-1/grading.json +0 -91
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/run-1/timing.json +0 -5
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/outputs/result.md +0 -79
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/run-1/grading.json +0 -82
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/run-1/timing.json +0 -5
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-sprint-closeout/eval_metadata.json +0 -27
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase1_context.json +0 -302
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase2_drift.txt +0 -33
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase3_analysis.json +0 -114
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase4_fix.txt +0 -118
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase5_validate.txt +0 -38
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/result.md +0 -158
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/run-1/grading.json +0 -95
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/run-1/timing.json +0 -5
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/outputs/result.md +0 -71
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/run-1/grading.json +0 -90
- package/.xtrm/skills/default/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/run-1/timing.json +0 -5
|
@@ -1,35 +1,121 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: update-specialists
|
|
3
3
|
description: >
|
|
4
|
-
Reconcile
|
|
5
|
-
Use this skill when user says "update specialists", "
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
Reconcile specialists runtime drift and xtrm-managed asset drift across one repo or many.
|
|
5
|
+
Use this skill when user says "update specialists", "specialists is out of date",
|
|
6
|
+
"xtrm drift", "skills not updating", "assets out of date", or when operator needs
|
|
7
|
+
guided refresh of specialists/xtrm state.
|
|
8
|
+
version: 2.1
|
|
8
9
|
synced_at: 2026-05-05
|
|
9
10
|
---
|
|
10
11
|
|
|
11
12
|
# update-specialists
|
|
12
13
|
|
|
13
|
-
Interactive
|
|
14
|
+
Interactive operator workflow for the two distribution tracks:
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
16
|
+
- **Category A — specialists runtime / npm-live assets**
|
|
17
|
+
- specialist definitions
|
|
18
|
+
- mandatory rules
|
|
19
|
+
- tool catalogs
|
|
20
|
+
- node configs
|
|
21
|
+
- resolved by `sp` from the installed `@jaggerxtrm/specialists` package unless a repo intentionally overrides them
|
|
22
|
+
- **Category B — xtrm-managed filesystem assets**
|
|
23
|
+
- skills under `.xtrm/skills/default/`
|
|
24
|
+
- hooks under `.xtrm/hooks/default/`
|
|
25
|
+
- active `.claude/skills`, `.pi/skills`, hook settings, and related registry-managed files
|
|
26
|
+
- refreshed by `xt update`
|
|
18
27
|
|
|
19
|
-
|
|
20
|
-
1. find projects root,
|
|
21
|
-
2. inspect drift,
|
|
22
|
-
3. summarize per-repo state,
|
|
23
|
-
4. ask operator which repos to refresh,
|
|
24
|
-
5. run `xt update --apply`,
|
|
25
|
-
6. re-check,
|
|
26
|
-
7. report final state.
|
|
28
|
+
Do not collapse these flows. Category A is specialists-owned and uses `sp` commands. Category B is xtrm-owned and uses `xt` commands.
|
|
27
29
|
|
|
28
|
-
No automatic execution. Always
|
|
30
|
+
No automatic destructive execution. Always summarize first and ask before applying refresh/prune actions.
|
|
29
31
|
|
|
30
|
-
##
|
|
32
|
+
## Quick Decision Tree
|
|
31
33
|
|
|
32
|
-
|
|
34
|
+
1. User says **specialist configs/rules/catalog/node behavior is stale** → run Category A flow.
|
|
35
|
+
2. User says **skills/hooks/Claude/Pi active files are stale** → run Category B flow.
|
|
36
|
+
3. User says **update specialists** with no detail → run both diagnostics, then present a combined plan.
|
|
37
|
+
4. User is in many repos → use root discovery and group results by repo.
|
|
38
|
+
5. `xt` missing → Category A can still run; Category B falls back to install/update guidance.
|
|
39
|
+
6. `sp` missing → tell user to install/upgrade `@jaggerxtrm/specialists`; do not claim runtime drift is fixed.
|
|
40
|
+
|
|
41
|
+
## Category A — Specialists Runtime / npm-live Flow
|
|
42
|
+
|
|
43
|
+
### A1) Verify package and command surface
|
|
44
|
+
|
|
45
|
+
Run in the target repo:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
sp --version
|
|
49
|
+
sp doctor
|
|
50
|
+
sp doctor --check-drift
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Use `specialists` instead of `sp` if the alias is unavailable.
|
|
54
|
+
|
|
55
|
+
Category A canonical source is the installed `@jaggerxtrm/specialists` npm package. To update it, upgrade/pin the package version:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
npm install -g @jaggerxtrm/specialists@latest
|
|
59
|
+
# or project-local/package-managed pin, depending on repo policy
|
|
60
|
+
npm install -D @jaggerxtrm/specialists@<version>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Report the installed version and whether the repo is intentionally pinned.
|
|
64
|
+
|
|
65
|
+
### A2) Interpret `sp doctor --check-drift`
|
|
66
|
+
|
|
67
|
+
This checks stale `.specialists/default/` snapshots against package-canonical assets.
|
|
68
|
+
|
|
69
|
+
Typical statuses:
|
|
70
|
+
|
|
71
|
+
| Finding | Meaning | Action |
|
|
72
|
+
|---|---|---|
|
|
73
|
+
| redundant / byte-identical default | Local default snapshot duplicates package canonical | Safe to prune after review |
|
|
74
|
+
| diverged default | Local default differs from package canonical | Treat as intentional until operator confirms migration |
|
|
75
|
+
| missing package canonical | Installed package or registry is incomplete/stale | Upgrade/reinstall specialists package |
|
|
76
|
+
| user overlay | `.specialists/user/` custom asset | Preserve; never overwrite automatically |
|
|
77
|
+
|
|
78
|
+
### A3) Prune redundant Category A snapshots
|
|
79
|
+
|
|
80
|
+
Dry-run first:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
sp prune-stale-defaults --dry-run
|
|
84
|
+
sp prune-stale-defaults --root <repo>
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Only after operator confirmation, prune redundant defaults:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
sp prune-stale-defaults --root <repo>
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Rules:
|
|
94
|
+
- Never prune `.specialists/user/`.
|
|
95
|
+
- Never overwrite or delete diverged defaults without explicit operator approval.
|
|
96
|
+
- If a diverged default should become a customization, move/keep it as user-owned policy and document why.
|
|
97
|
+
- If the repo deliberately pins old behavior, leave `.specialists/default/` in place and record the pinned specialists version.
|
|
98
|
+
|
|
99
|
+
### A4) Validate runtime resolution
|
|
100
|
+
|
|
101
|
+
For specialist definitions and tool policy:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
sp list --full
|
|
105
|
+
sp config show <specialist> --resolved
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
For mandatory rules/skills references in custom specialists, verify resolution from package canonical or project override:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
sp config show <specialist> --resolved --from-source
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Use `--from-source` only in a specialists source/worktree context where installed dist may lag local source.
|
|
115
|
+
|
|
116
|
+
## Category B — xtrm-managed Filesystem Asset Flow
|
|
117
|
+
|
|
118
|
+
### B1) Discover projects root
|
|
33
119
|
|
|
34
120
|
Ask for root if user did not name one.
|
|
35
121
|
|
|
@@ -41,7 +127,7 @@ Default order:
|
|
|
41
127
|
|
|
42
128
|
If multiple candidate roots exist, ask which one to use.
|
|
43
129
|
|
|
44
|
-
###
|
|
130
|
+
### B2) Run xtrm doctor
|
|
45
131
|
|
|
46
132
|
Use:
|
|
47
133
|
|
|
@@ -49,106 +135,147 @@ Use:
|
|
|
49
135
|
xt doctor --cwd <root> --json
|
|
50
136
|
```
|
|
51
137
|
|
|
52
|
-
If `xt` is unavailable, stop and
|
|
138
|
+
If `xt` is unavailable, stop Category B and use fallback guidance below. Do not invent xtrm bulk commands.
|
|
139
|
+
|
|
140
|
+
### B3) Summarize Category B drift
|
|
53
141
|
|
|
54
|
-
|
|
142
|
+
Render a clean table grouped by repo:
|
|
55
143
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
- status
|
|
59
|
-
- drift count
|
|
60
|
-
- missing / extra / mismatched assets
|
|
61
|
-
- suggested action
|
|
144
|
+
| repo | status | drift | missing | mismatched | suggested action |
|
|
145
|
+
|---|---|---:|---:|---:|---|
|
|
62
146
|
|
|
63
147
|
Keep focus on operator action, not internal diagnostics.
|
|
64
148
|
|
|
65
|
-
###
|
|
149
|
+
### B4) Ask for confirmation
|
|
66
150
|
|
|
67
151
|
Offer three paths:
|
|
68
|
-
-
|
|
152
|
+
- dry-run only,
|
|
69
153
|
- refresh specific repos,
|
|
70
|
-
-
|
|
154
|
+
- refresh all repos.
|
|
71
155
|
|
|
72
156
|
If user names one repo, keep flow narrow and confirm only that repo.
|
|
73
157
|
|
|
74
|
-
###
|
|
158
|
+
### B5) Apply xtrm refresh
|
|
75
159
|
|
|
76
|
-
|
|
160
|
+
Dry-run:
|
|
77
161
|
|
|
78
162
|
```bash
|
|
79
|
-
xt update --
|
|
163
|
+
xt update --root <root>
|
|
164
|
+
xt update --repo <repo>
|
|
80
165
|
```
|
|
81
166
|
|
|
82
|
-
|
|
167
|
+
Apply:
|
|
83
168
|
|
|
84
169
|
```bash
|
|
170
|
+
xt update --apply --root <root>
|
|
85
171
|
xt update --apply --repo <repo>
|
|
86
172
|
```
|
|
87
173
|
|
|
88
|
-
|
|
174
|
+
### B6) Re-run doctor
|
|
175
|
+
|
|
176
|
+
Run the same doctor command again after update:
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
xt doctor --cwd <root> --json
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
Confirm clean state or reduced-to-intentional drift.
|
|
183
|
+
|
|
184
|
+
## Combined Multi-repo Flow
|
|
185
|
+
|
|
186
|
+
When the operator asks broadly to "update specialists" across repos:
|
|
187
|
+
|
|
188
|
+
1. Choose projects root.
|
|
189
|
+
2. For each repo with specialists state:
|
|
190
|
+
- run/record Category A status: `sp --version`, `sp doctor --check-drift` if available.
|
|
191
|
+
3. For each repo with `.xtrm/registry.json`:
|
|
192
|
+
- run/record Category B status: `xt doctor --cwd <repo> --json`.
|
|
193
|
+
4. Present one combined table:
|
|
194
|
+
|
|
195
|
+
| repo | specialists pkg | Category A status | Category B status | recommended action |
|
|
196
|
+
|---|---|---|---|---|
|
|
197
|
+
|
|
198
|
+
Recommended action examples:
|
|
199
|
+
- upgrade `@jaggerxtrm/specialists`, then re-run `sp doctor --check-drift`,
|
|
200
|
+
- prune redundant `.specialists/default/` snapshots,
|
|
201
|
+
- preserve `.specialists/user/` customization,
|
|
202
|
+
- run `xt update --repo <repo> --apply`,
|
|
203
|
+
- no action.
|
|
204
|
+
|
|
205
|
+
## Fallbacks
|
|
206
|
+
|
|
207
|
+
### `sp` missing
|
|
208
|
+
|
|
209
|
+
Say Category A cannot be verified until specialists is installed:
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
npm install -g @jaggerxtrm/specialists@latest
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
If project policy uses local dev dependency, recommend the project-local package manager command instead.
|
|
216
|
+
|
|
217
|
+
### `xt` missing
|
|
89
218
|
|
|
90
|
-
|
|
219
|
+
Category A can still be checked with `sp`. For Category B, tell user:
|
|
91
220
|
|
|
92
|
-
|
|
221
|
+
```bash
|
|
222
|
+
npm install -g xtrm-tools@latest
|
|
223
|
+
xt install
|
|
224
|
+
xt doctor --cwd <repo> --json
|
|
225
|
+
```
|
|
93
226
|
|
|
94
|
-
|
|
227
|
+
Do not claim skills/hooks are synced without `xt` or a valid `.xtrm/registry.json`.
|
|
95
228
|
|
|
96
|
-
|
|
97
|
-
- what drift existed,
|
|
98
|
-
- what refreshed,
|
|
99
|
-
- what stayed untouched,
|
|
100
|
-
- any residual manual fixes.
|
|
229
|
+
### `.xtrm/registry.json` missing
|
|
101
230
|
|
|
102
|
-
|
|
231
|
+
Report that xtrm-managed assets cannot be drift-checked in that repo until registry scaffold exists. Suggested action:
|
|
103
232
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
- tell user to run repo-local checks manually,
|
|
108
|
-
- do not invent bulk repair commands.
|
|
233
|
+
```bash
|
|
234
|
+
xt install
|
|
235
|
+
```
|
|
109
236
|
|
|
110
|
-
|
|
111
|
-
- identify likely drifted repos,
|
|
112
|
-
- point user at repo-local `sp doctor` / package-specific checks already available in that repo,
|
|
113
|
-
- say bulk refresh needs `xt` installed.
|
|
237
|
+
or pull a repo revision that tracks `.xtrm/registry.json`.
|
|
114
238
|
|
|
115
|
-
##
|
|
239
|
+
## Safety Rules
|
|
116
240
|
|
|
117
|
-
-
|
|
118
|
-
-
|
|
119
|
-
-
|
|
120
|
-
-
|
|
121
|
-
-
|
|
241
|
+
- Preserve `.specialists/user/` and any user-authored skill/hook layer.
|
|
242
|
+
- Treat `.specialists/default/` as compatibility/pinning surface, not normal fresh-repo state.
|
|
243
|
+
- Treat `.xtrm/skills/default/` and `.xtrm/hooks/default/` as managed output; do not hand-edit as the repair path.
|
|
244
|
+
- Prefer dry-run first when more than one repo will change.
|
|
245
|
+
- Keep Category A and Category B results separate in the final report.
|
|
122
246
|
|
|
123
247
|
## Output Shape
|
|
124
248
|
|
|
125
249
|
Use this order:
|
|
126
|
-
1. root chosen
|
|
127
|
-
2.
|
|
128
|
-
3.
|
|
129
|
-
4.
|
|
130
|
-
5.
|
|
131
|
-
6.
|
|
132
|
-
7.
|
|
250
|
+
1. root/repo chosen,
|
|
251
|
+
2. specialists package version and Category A summary,
|
|
252
|
+
3. xtrm Category B summary,
|
|
253
|
+
4. combined drift table,
|
|
254
|
+
5. proposed actions,
|
|
255
|
+
6. explicit confirmation request,
|
|
256
|
+
7. commands run,
|
|
257
|
+
8. post-action verification,
|
|
258
|
+
9. residual manual work.
|
|
133
259
|
|
|
134
260
|
## Example Operator Loop
|
|
135
261
|
|
|
136
262
|
```text
|
|
137
263
|
Root: ~/dev
|
|
138
|
-
Doctor: 3 repos checked
|
|
139
264
|
|
|
140
|
-
repo
|
|
141
|
-
repo-a
|
|
142
|
-
repo-b
|
|
143
|
-
repo-c
|
|
265
|
+
repo sp version Category A Category B action
|
|
266
|
+
repo-a 3.13.0 redundant defaults: 4 skills drift: 2 prune A + xt update
|
|
267
|
+
repo-b 3.12.0 package behind latest in-sync upgrade sp only
|
|
268
|
+
repo-c 3.13.0 user overlay only hooks drift: 1 preserve user + xt update
|
|
144
269
|
|
|
145
|
-
|
|
270
|
+
Apply which actions? dry-run / selected repos / all
|
|
146
271
|
```
|
|
147
272
|
|
|
148
|
-
## Verification
|
|
273
|
+
## Verification Checklist
|
|
149
274
|
|
|
150
|
-
After
|
|
275
|
+
After work:
|
|
276
|
+
- `sp doctor --check-drift` clean or reduced to intentional pins/overrides,
|
|
277
|
+
- `sp prune-stale-defaults --dry-run` shows no redundant defaults unless intentionally retained,
|
|
278
|
+
- `sp list --full` and selected `sp config show <name> --resolved` reflect package-live runtime,
|
|
151
279
|
- `xt doctor --cwd <root> --json` clean or reduced to intentional custom drift,
|
|
152
|
-
- repo-specific follow-up actions called out only when needed,
|
|
153
280
|
- single-repo case stays single-repo,
|
|
154
|
-
- missing
|
|
281
|
+
- missing-tool paths fall back cleanly.
|
|
@@ -179,14 +179,56 @@ for s, t, a in rows:
|
|
|
179
179
|
'
|
|
180
180
|
```
|
|
181
181
|
|
|
182
|
-
Component kinds: `system_prompt`, `mandatory_rule` (one event entry per attached rule), `skill` (path
|
|
182
|
+
Component kinds: `system_prompt`, `mandatory_rule` (one event entry per attached rule), `skill` (path/description label only — full bodies are eagerly injected at runtime but NOT counted here), `task_template`, `bead_context`, `memory`.
|
|
183
183
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
- `
|
|
184
|
+
**Important:** `skill` entries in `payload_breakdown` show only the path/description label (~10-40 tokens). The full skill body is forcefully injected via `skills.paths` on every run and IS billed as input tokens. To measure the real eager-skill cost, see Recipe 8.
|
|
185
|
+
|
|
186
|
+
Optimization signals (from breakdown alone):
|
|
187
|
+
- `mandatory_rule` total dominates: audit wrapper inflation by comparing `bytes` per rule in the event vs `wc -c config/mandatory-rules/<id>.md`. Mismatch >5x means a wrapper or richer source is adding hidden cost.
|
|
188
|
+
- `bead_context` huge: bead description is bloated — orchestrator should write more concise contracts.
|
|
188
189
|
- `memory` huge: stale or noisy memories — run `bd memories` cleanup or consolidation.
|
|
189
190
|
|
|
191
|
+
## Recipe 8 — eager skill-body cost per specialist
|
|
192
|
+
|
|
193
|
+
`skills.paths` are eagerly injected on every run; the bodies appear in the API-billed prompt but the `payload_breakdown` event records only the path label. To derive the real eager-skill cost:
|
|
194
|
+
|
|
195
|
+
```
|
|
196
|
+
eager_skill_cost ≈ first_turn_input_tokens − sum(payload_breakdown non-skill components)
|
|
197
|
+
− constant per-specialist framing/tool-defs overhead
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
Two-step audit:
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
# Step 1: real first-turn input tokens per specialist (truth)
|
|
204
|
+
DB=.specialists/db/observability.db
|
|
205
|
+
sqlite3 "$DB" "
|
|
206
|
+
SELECT specialist, AVG(json_extract(token_trajectory_json, '\$[0].token_usage.input_tokens')) AS avg_first_in, COUNT(*) AS n
|
|
207
|
+
FROM specialist_job_metrics
|
|
208
|
+
WHERE token_trajectory_json IS NOT NULL AND status='done'
|
|
209
|
+
GROUP BY specialist ORDER BY avg_first_in DESC"
|
|
210
|
+
|
|
211
|
+
# Step 2: per-specialist measured non-skill components (post-kdl4n)
|
|
212
|
+
sqlite3 "$DB" "SELECT specialist, event_json FROM specialist_events WHERE type='payload_breakdown' GROUP BY specialist ORDER BY t DESC" \
|
|
213
|
+
| python3 -c '
|
|
214
|
+
import json, sys
|
|
215
|
+
for line in sys.stdin:
|
|
216
|
+
if "|" not in line: continue
|
|
217
|
+
spec, js = line.split("|", 1)
|
|
218
|
+
d = json.loads(js)
|
|
219
|
+
non_skill = sum(c["tokens"] for c in d["payload_breakdown"]["components"] if c["kind"] != "skill")
|
|
220
|
+
print(f"{spec:<22}{non_skill:>10}")
|
|
221
|
+
'
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
Then `delta = first_in − non_skill_total`. The framing/tool-defs constant is roughly the same across specialists with the same model — you can estimate it by running a specialist with NO `skills.paths` attached as a baseline.
|
|
225
|
+
|
|
226
|
+
Per-skill body weight: `wc -c <skill-path>/SKILL.md` divided by 4 (cl100k_base approximation). High-frequency, large-body skills are the inlining candidates; low-frequency or small ones stay attached.
|
|
227
|
+
|
|
228
|
+
Optimization signals (skills):
|
|
229
|
+
- `delta` >> sum of attached skill body bytes/4: framing/tool defs are the bulk — leave skills alone.
|
|
230
|
+
- `delta` ≈ sum of skill body weights: skills dominate eager cost — inline frequently-used hot guidance into `system_prompt`, keep rare deep references as skills, consider splitting big mixed skills.
|
|
231
|
+
|
|
190
232
|
## References
|
|
191
233
|
|
|
192
234
|
- `docs/observability-metrics.md`
|
|
@@ -272,7 +272,7 @@ sp epic abandon <epic-id> --reason "..."
|
|
|
272
272
|
sp end
|
|
273
273
|
```
|
|
274
274
|
|
|
275
|
-
`sp result <job-id>` returns the most recent completed turn for `waiting` jobs with a `Session is waiting for your input` footer — use it to inspect a keep-alive job before deciding whether to resume. For `running` jobs, `sp feed <job-id>` is the right tool
|
|
275
|
+
`sp result <job-id>` returns the most recent completed turn for `waiting` jobs with a `Session is waiting for your input` footer — use it to inspect a keep-alive job before deciding whether to resume. For `running` jobs, `sp feed <job-id>` is the right tool. Avoid `specialists status --job` for normal monitoring; prefer `sp ps <job-id>`.
|
|
276
276
|
|
|
277
277
|
## Flag Semantics
|
|
278
278
|
|