xtrm-tools 0.5.25 → 0.5.26

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 (252) hide show
  1. package/.claude-plugin/marketplace.json +19 -0
  2. package/.claude-plugin/plugin.json +9 -0
  3. package/cli/dist/index.cjs +59 -52
  4. package/cli/dist/index.cjs.map +1 -1
  5. package/cli/package.json +1 -1
  6. package/hooks/beads-claim-sync.mjs +1 -3
  7. package/package.json +5 -1
  8. package/plugins/xtrm-tools/.claude-plugin/plugin.json +9 -0
  9. package/plugins/xtrm-tools/.mcp.json +18 -0
  10. package/plugins/xtrm-tools/hooks/README.md +61 -0
  11. package/plugins/xtrm-tools/hooks/beads-claim-sync.mjs +223 -0
  12. package/plugins/xtrm-tools/hooks/beads-commit-gate.mjs +70 -0
  13. package/plugins/xtrm-tools/hooks/beads-compact-restore.mjs +69 -0
  14. package/plugins/xtrm-tools/hooks/beads-compact-save.mjs +51 -0
  15. package/plugins/xtrm-tools/hooks/beads-edit-gate.mjs +85 -0
  16. package/plugins/xtrm-tools/hooks/beads-gate-core.mjs +236 -0
  17. package/plugins/xtrm-tools/hooks/beads-gate-messages.mjs +68 -0
  18. package/plugins/xtrm-tools/hooks/beads-gate-utils.mjs +194 -0
  19. package/plugins/xtrm-tools/hooks/beads-memory-gate.mjs +81 -0
  20. package/plugins/xtrm-tools/hooks/beads-stop-gate.mjs +53 -0
  21. package/plugins/xtrm-tools/hooks/gitnexus/gitnexus-hook.cjs +222 -0
  22. package/plugins/xtrm-tools/hooks/hooks.json +115 -0
  23. package/plugins/xtrm-tools/hooks/quality-check-env.mjs +79 -0
  24. package/plugins/xtrm-tools/hooks/quality-check.cjs +1286 -0
  25. package/plugins/xtrm-tools/hooks/quality-check.py +345 -0
  26. package/plugins/xtrm-tools/hooks/statusline.mjs +145 -0
  27. package/plugins/xtrm-tools/hooks/using-xtrm-reminder.mjs +35 -0
  28. package/plugins/xtrm-tools/hooks/worktree-boundary.mjs +33 -0
  29. package/plugins/xtrm-tools/hooks/xtrm-logger.mjs +123 -0
  30. package/plugins/xtrm-tools/hooks/xtrm-session-logger.mjs +27 -0
  31. package/plugins/xtrm-tools/hooks/xtrm-tool-logger.mjs +53 -0
  32. package/plugins/xtrm-tools/skills/README.txt +31 -0
  33. package/plugins/xtrm-tools/skills/clean-code/SKILL.md +201 -0
  34. package/plugins/xtrm-tools/skills/creating-service-skills/SKILL.md +433 -0
  35. package/plugins/xtrm-tools/skills/creating-service-skills/references/script_quality_standards.md +425 -0
  36. package/plugins/xtrm-tools/skills/creating-service-skills/references/service_skill_system_guide.md +278 -0
  37. package/plugins/xtrm-tools/skills/creating-service-skills/scripts/bootstrap.py +326 -0
  38. package/plugins/xtrm-tools/skills/creating-service-skills/scripts/deep_dive.py +304 -0
  39. package/plugins/xtrm-tools/skills/creating-service-skills/scripts/scaffolder.py +482 -0
  40. package/plugins/xtrm-tools/skills/delegating/SKILL.md +196 -0
  41. package/plugins/xtrm-tools/skills/delegating/config.yaml +210 -0
  42. package/plugins/xtrm-tools/skills/delegating/references/orchestration-protocols.md +41 -0
  43. package/plugins/xtrm-tools/skills/docker-expert/SKILL.md +409 -0
  44. package/plugins/xtrm-tools/skills/documenting/CHANGELOG.md +23 -0
  45. package/plugins/xtrm-tools/skills/documenting/README.md +148 -0
  46. package/plugins/xtrm-tools/skills/documenting/SKILL.md +113 -0
  47. package/plugins/xtrm-tools/skills/documenting/examples/example_pattern.md +70 -0
  48. package/plugins/xtrm-tools/skills/documenting/examples/example_reference.md +70 -0
  49. package/plugins/xtrm-tools/skills/documenting/examples/example_ssot_analytics.md +64 -0
  50. package/plugins/xtrm-tools/skills/documenting/examples/example_workflow.md +141 -0
  51. package/plugins/xtrm-tools/skills/documenting/references/changelog-format.md +97 -0
  52. package/plugins/xtrm-tools/skills/documenting/references/metadata-schema.md +136 -0
  53. package/plugins/xtrm-tools/skills/documenting/references/taxonomy.md +81 -0
  54. package/plugins/xtrm-tools/skills/documenting/references/versioning-rules.md +78 -0
  55. package/plugins/xtrm-tools/skills/documenting/scripts/bump_version.sh +60 -0
  56. package/plugins/xtrm-tools/skills/documenting/scripts/changelog/__init__.py +0 -0
  57. package/plugins/xtrm-tools/skills/documenting/scripts/changelog/add_entry.py +216 -0
  58. package/plugins/xtrm-tools/skills/documenting/scripts/changelog/bump_release.py +117 -0
  59. package/plugins/xtrm-tools/skills/documenting/scripts/changelog/init_changelog.py +54 -0
  60. package/plugins/xtrm-tools/skills/documenting/scripts/changelog/validate_changelog.py +128 -0
  61. package/plugins/xtrm-tools/skills/documenting/scripts/drift_detector.py +266 -0
  62. package/plugins/xtrm-tools/skills/documenting/scripts/generate_template.py +311 -0
  63. package/plugins/xtrm-tools/skills/documenting/scripts/list_by_category.sh +84 -0
  64. package/plugins/xtrm-tools/skills/documenting/scripts/orchestrator.py +255 -0
  65. package/plugins/xtrm-tools/skills/documenting/scripts/validate_metadata.py +242 -0
  66. package/plugins/xtrm-tools/skills/documenting/templates/CHANGELOG.md.template +13 -0
  67. package/plugins/xtrm-tools/skills/documenting/tests/integration_test.sh +70 -0
  68. package/plugins/xtrm-tools/skills/documenting/tests/test_changelog.py +201 -0
  69. package/plugins/xtrm-tools/skills/documenting/tests/test_drift_detector.py +80 -0
  70. package/plugins/xtrm-tools/skills/documenting/tests/test_orchestrator.py +52 -0
  71. package/plugins/xtrm-tools/skills/documenting/tests/test_validate_metadata.py +64 -0
  72. package/plugins/xtrm-tools/skills/find-skills/SKILL.md +133 -0
  73. package/plugins/xtrm-tools/skills/gitnexus-debugging/SKILL.md +85 -0
  74. package/plugins/xtrm-tools/skills/gitnexus-exploring/SKILL.md +75 -0
  75. package/plugins/xtrm-tools/skills/gitnexus-impact-analysis/SKILL.md +94 -0
  76. package/plugins/xtrm-tools/skills/gitnexus-refactoring/SKILL.md +113 -0
  77. package/plugins/xtrm-tools/skills/hook-development/SKILL.md +797 -0
  78. package/plugins/xtrm-tools/skills/hook-development/examples/load-context.sh +55 -0
  79. package/plugins/xtrm-tools/skills/hook-development/examples/quality-check.js +1168 -0
  80. package/plugins/xtrm-tools/skills/hook-development/examples/validate-bash.sh +43 -0
  81. package/plugins/xtrm-tools/skills/hook-development/examples/validate-write.sh +38 -0
  82. package/plugins/xtrm-tools/skills/hook-development/references/advanced.md +527 -0
  83. package/plugins/xtrm-tools/skills/hook-development/references/migration.md +369 -0
  84. package/plugins/xtrm-tools/skills/hook-development/references/patterns.md +412 -0
  85. package/plugins/xtrm-tools/skills/hook-development/scripts/README.md +164 -0
  86. package/plugins/xtrm-tools/skills/hook-development/scripts/hook-linter.sh +153 -0
  87. package/plugins/xtrm-tools/skills/hook-development/scripts/test-hook.sh +252 -0
  88. package/plugins/xtrm-tools/skills/hook-development/scripts/validate-hook-schema.sh +159 -0
  89. package/plugins/xtrm-tools/skills/obsidian-cli/SKILL.md +106 -0
  90. package/plugins/xtrm-tools/skills/orchestrating-agents/SKILL.md +135 -0
  91. package/plugins/xtrm-tools/skills/orchestrating-agents/config.yaml +45 -0
  92. package/plugins/xtrm-tools/skills/orchestrating-agents/references/agent-context-integration.md +37 -0
  93. package/plugins/xtrm-tools/skills/orchestrating-agents/references/examples.md +45 -0
  94. package/plugins/xtrm-tools/skills/orchestrating-agents/references/handover-protocol.md +31 -0
  95. package/plugins/xtrm-tools/skills/orchestrating-agents/references/workflows.md +42 -0
  96. package/plugins/xtrm-tools/skills/orchestrating-agents/scripts/detect_neighbors.py +23 -0
  97. package/plugins/xtrm-tools/skills/prompt-improving/README.md +162 -0
  98. package/plugins/xtrm-tools/skills/prompt-improving/SKILL.md +74 -0
  99. package/plugins/xtrm-tools/skills/prompt-improving/references/analysis_commands.md +24 -0
  100. package/plugins/xtrm-tools/skills/prompt-improving/references/chain_of_thought.md +24 -0
  101. package/plugins/xtrm-tools/skills/prompt-improving/references/mcp_definitions.md +20 -0
  102. package/plugins/xtrm-tools/skills/prompt-improving/references/multishot.md +23 -0
  103. package/plugins/xtrm-tools/skills/prompt-improving/references/xml_core.md +60 -0
  104. package/plugins/xtrm-tools/skills/python-testing/SKILL.md +815 -0
  105. package/plugins/xtrm-tools/skills/scoping-service-skills/SKILL.md +231 -0
  106. package/plugins/xtrm-tools/skills/scoping-service-skills/scripts/scope.py +74 -0
  107. package/plugins/xtrm-tools/skills/senior-backend/SKILL.md +209 -0
  108. package/plugins/xtrm-tools/skills/senior-backend/references/api_design_patterns.md +103 -0
  109. package/plugins/xtrm-tools/skills/senior-backend/references/backend_security_practices.md +103 -0
  110. package/plugins/xtrm-tools/skills/senior-backend/references/database_optimization_guide.md +103 -0
  111. package/plugins/xtrm-tools/skills/senior-backend/scripts/api_load_tester.py +114 -0
  112. package/plugins/xtrm-tools/skills/senior-backend/scripts/api_scaffolder.py +114 -0
  113. package/plugins/xtrm-tools/skills/senior-backend/scripts/database_migration_tool.py +114 -0
  114. package/plugins/xtrm-tools/skills/senior-data-scientist/SKILL.md +226 -0
  115. package/plugins/xtrm-tools/skills/senior-data-scientist/references/experiment_design_frameworks.md +80 -0
  116. package/plugins/xtrm-tools/skills/senior-data-scientist/references/feature_engineering_patterns.md +80 -0
  117. package/plugins/xtrm-tools/skills/senior-data-scientist/references/statistical_methods_advanced.md +80 -0
  118. package/plugins/xtrm-tools/skills/senior-data-scientist/scripts/experiment_designer.py +100 -0
  119. package/plugins/xtrm-tools/skills/senior-data-scientist/scripts/feature_engineering_pipeline.py +100 -0
  120. package/plugins/xtrm-tools/skills/senior-data-scientist/scripts/model_evaluation_suite.py +100 -0
  121. package/plugins/xtrm-tools/skills/senior-devops/SKILL.md +209 -0
  122. package/plugins/xtrm-tools/skills/senior-devops/references/cicd_pipeline_guide.md +103 -0
  123. package/plugins/xtrm-tools/skills/senior-devops/references/deployment_strategies.md +103 -0
  124. package/plugins/xtrm-tools/skills/senior-devops/references/infrastructure_as_code.md +103 -0
  125. package/plugins/xtrm-tools/skills/senior-devops/scripts/deployment_manager.py +114 -0
  126. package/plugins/xtrm-tools/skills/senior-devops/scripts/pipeline_generator.py +114 -0
  127. package/plugins/xtrm-tools/skills/senior-devops/scripts/terraform_scaffolder.py +114 -0
  128. package/plugins/xtrm-tools/skills/senior-security/SKILL.md +209 -0
  129. package/plugins/xtrm-tools/skills/senior-security/references/cryptography_implementation.md +103 -0
  130. package/plugins/xtrm-tools/skills/senior-security/references/penetration_testing_guide.md +103 -0
  131. package/plugins/xtrm-tools/skills/senior-security/references/security_architecture_patterns.md +103 -0
  132. package/plugins/xtrm-tools/skills/senior-security/scripts/pentest_automator.py +114 -0
  133. package/plugins/xtrm-tools/skills/senior-security/scripts/security_auditor.py +114 -0
  134. package/plugins/xtrm-tools/skills/senior-security/scripts/threat_modeler.py +114 -0
  135. package/plugins/xtrm-tools/skills/skill-creator/LICENSE.txt +202 -0
  136. package/plugins/xtrm-tools/skills/skill-creator/SKILL.md +479 -0
  137. package/plugins/xtrm-tools/skills/skill-creator/agents/analyzer.md +274 -0
  138. package/plugins/xtrm-tools/skills/skill-creator/agents/comparator.md +202 -0
  139. package/plugins/xtrm-tools/skills/skill-creator/agents/grader.md +223 -0
  140. package/plugins/xtrm-tools/skills/skill-creator/assets/eval_review.html +146 -0
  141. package/plugins/xtrm-tools/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  142. package/plugins/xtrm-tools/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  143. package/plugins/xtrm-tools/skills/skill-creator/references/schemas.md +430 -0
  144. package/plugins/xtrm-tools/skills/skill-creator/scripts/__init__.py +0 -0
  145. package/plugins/xtrm-tools/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  146. package/plugins/xtrm-tools/skills/skill-creator/scripts/generate_report.py +326 -0
  147. package/plugins/xtrm-tools/skills/skill-creator/scripts/improve_description.py +248 -0
  148. package/plugins/xtrm-tools/skills/skill-creator/scripts/package_skill.py +136 -0
  149. package/plugins/xtrm-tools/skills/skill-creator/scripts/quick_validate.py +103 -0
  150. package/plugins/xtrm-tools/skills/skill-creator/scripts/run_eval.py +310 -0
  151. package/plugins/xtrm-tools/skills/skill-creator/scripts/run_loop.py +332 -0
  152. package/plugins/xtrm-tools/skills/skill-creator/scripts/utils.py +47 -0
  153. package/plugins/xtrm-tools/skills/sync-docs/SKILL.md +155 -0
  154. package/plugins/xtrm-tools/skills/sync-docs/evals/evals.json +89 -0
  155. package/plugins/xtrm-tools/skills/sync-docs/references/doc-structure.md +99 -0
  156. package/plugins/xtrm-tools/skills/sync-docs/references/schema.md +103 -0
  157. package/plugins/xtrm-tools/skills/sync-docs/scripts/changelog/add_entry.py +216 -0
  158. package/plugins/xtrm-tools/skills/sync-docs/scripts/context_gatherer.py +240 -0
  159. package/plugins/xtrm-tools/skills/sync-docs/scripts/doc_structure_analyzer.py +495 -0
  160. package/plugins/xtrm-tools/skills/sync-docs/scripts/drift_detector.py +563 -0
  161. package/plugins/xtrm-tools/skills/sync-docs/scripts/validate_doc.py +365 -0
  162. package/plugins/xtrm-tools/skills/sync-docs/scripts/validate_metadata.py +185 -0
  163. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/benchmark.json +293 -0
  164. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/benchmark.md +13 -0
  165. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/eval_metadata.json +27 -0
  166. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/outputs/result.md +210 -0
  167. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/run-1/grading.json +28 -0
  168. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/run-1/timing.json +1 -0
  169. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/outputs/result.md +101 -0
  170. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/run-1/grading.json +28 -0
  171. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/run-1/timing.json +5 -0
  172. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/timing.json +5 -0
  173. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/eval_metadata.json +27 -0
  174. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/outputs/result.md +198 -0
  175. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/run-1/grading.json +28 -0
  176. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/run-1/timing.json +1 -0
  177. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/outputs/result.md +94 -0
  178. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/run-1/grading.json +28 -0
  179. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/run-1/timing.json +1 -0
  180. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/eval_metadata.json +27 -0
  181. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/outputs/result.md +237 -0
  182. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/run-1/grading.json +28 -0
  183. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/run-1/timing.json +1 -0
  184. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/outputs/result.md +134 -0
  185. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/run-1/grading.json +28 -0
  186. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/run-1/timing.json +1 -0
  187. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/benchmark.json +297 -0
  188. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/benchmark.md +13 -0
  189. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/eval_metadata.json +27 -0
  190. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/outputs/result.md +137 -0
  191. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/run-1/grading.json +92 -0
  192. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/run-1/timing.json +1 -0
  193. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/outputs/result.md +134 -0
  194. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/run-1/grading.json +86 -0
  195. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/run-1/timing.json +1 -0
  196. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/eval_metadata.json +27 -0
  197. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/outputs/result.md +193 -0
  198. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/run-1/grading.json +72 -0
  199. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/run-1/timing.json +1 -0
  200. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/outputs/result.md +211 -0
  201. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/run-1/grading.json +91 -0
  202. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/run-1/timing.json +5 -0
  203. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/eval_metadata.json +27 -0
  204. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/outputs/result.md +182 -0
  205. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/run-1/grading.json +95 -0
  206. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/run-1/timing.json +1 -0
  207. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/outputs/result.md +222 -0
  208. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/run-1/grading.json +88 -0
  209. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/run-1/timing.json +5 -0
  210. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/benchmark.json +298 -0
  211. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/benchmark.md +13 -0
  212. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/eval_metadata.json +27 -0
  213. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/outputs/result.md +125 -0
  214. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/run-1/grading.json +97 -0
  215. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/run-1/timing.json +5 -0
  216. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/outputs/result.md +144 -0
  217. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/run-1/grading.json +78 -0
  218. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/run-1/timing.json +5 -0
  219. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/eval_metadata.json +27 -0
  220. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/outputs/result.md +104 -0
  221. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/run-1/grading.json +91 -0
  222. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/run-1/timing.json +5 -0
  223. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/outputs/result.md +79 -0
  224. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/run-1/grading.json +82 -0
  225. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/run-1/timing.json +5 -0
  226. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/eval_metadata.json +27 -0
  227. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase1_context.json +302 -0
  228. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase2_drift.txt +33 -0
  229. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase3_analysis.json +114 -0
  230. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase4_fix.txt +118 -0
  231. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase5_validate.txt +38 -0
  232. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/result.md +158 -0
  233. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/run-1/grading.json +95 -0
  234. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/run-1/timing.json +5 -0
  235. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/outputs/result.md +71 -0
  236. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/run-1/grading.json +90 -0
  237. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/run-1/timing.json +5 -0
  238. package/plugins/xtrm-tools/skills/test-planning/SKILL.md +208 -0
  239. package/plugins/xtrm-tools/skills/test-planning/evals/evals.json +23 -0
  240. package/plugins/xtrm-tools/skills/updating-service-skills/SKILL.md +136 -0
  241. package/plugins/xtrm-tools/skills/updating-service-skills/scripts/drift_detector.py +222 -0
  242. package/plugins/xtrm-tools/skills/using-TDD/SKILL.md +410 -0
  243. package/plugins/xtrm-tools/skills/using-quality-gates/SKILL.md +254 -0
  244. package/plugins/xtrm-tools/skills/using-serena-lsp/README.md +8 -0
  245. package/plugins/xtrm-tools/skills/using-serena-lsp/REFERENCE.md +194 -0
  246. package/plugins/xtrm-tools/skills/using-serena-lsp/SKILL.md +82 -0
  247. package/plugins/xtrm-tools/skills/using-service-skills/SKILL.md +108 -0
  248. package/plugins/xtrm-tools/skills/using-service-skills/scripts/cataloger.py +74 -0
  249. package/plugins/xtrm-tools/skills/using-service-skills/scripts/skill_activator.py +152 -0
  250. package/plugins/xtrm-tools/skills/using-service-skills/scripts/test_skill_activator.py +58 -0
  251. package/plugins/xtrm-tools/skills/using-xtrm/SKILL.md +124 -0
  252. package/plugins/xtrm-tools/skills/xt-end/SKILL.md +128 -0
@@ -0,0 +1,19 @@
1
+ {
2
+ "$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
3
+ "name": "xtrm-tools",
4
+ "description": "xtrm-tools: workflow enforcement hooks, skills, and MCP servers for Claude Code",
5
+ "owner": {
6
+ "name": "jaggers"
7
+ },
8
+ "plugins": [
9
+ {
10
+ "name": "xtrm-tools",
11
+ "description": "Workflow enforcement hooks (main-guard, beads gates), skills, and MCP server wiring for Claude Code",
12
+ "author": {
13
+ "name": "jaggers"
14
+ },
15
+ "source": "./plugins/xtrm-tools",
16
+ "category": "productivity"
17
+ }
18
+ ]
19
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "xtrm-tools",
3
+ "version": "0.5.26",
4
+ "description": "xtrm-tools: dual-runtime workflow enforcement (Claude Code + Pi) — hooks, extensions, skills, and MCP servers",
5
+ "author": {
6
+ "name": "jaggers"
7
+ },
8
+ "mcpServers": "./.mcp.json"
9
+ }
@@ -36342,14 +36342,14 @@ var Temp = {
36342
36342
  }
36343
36343
  },
36344
36344
  truncate: (filePath) => {
36345
- const basename = import_node_path2.default.basename(filePath);
36346
- if (basename.length <= LIMIT_BASENAME_LENGTH)
36345
+ const basename2 = import_node_path2.default.basename(filePath);
36346
+ if (basename2.length <= LIMIT_BASENAME_LENGTH)
36347
36347
  return filePath;
36348
- const truncable = /^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(basename);
36348
+ const truncable = /^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(basename2);
36349
36349
  if (!truncable)
36350
36350
  return filePath;
36351
- const truncationLength = basename.length - LIMIT_BASENAME_LENGTH;
36352
- return `${filePath.slice(0, -basename.length)}${truncable[1]}${truncable[2].slice(0, -truncationLength)}${truncable[3]}`;
36351
+ const truncationLength = basename2.length - LIMIT_BASENAME_LENGTH;
36352
+ return `${filePath.slice(0, -basename2.length)}${truncable[1]}${truncable[2].slice(0, -truncationLength)}${truncable[3]}`;
36353
36353
  }
36354
36354
  };
36355
36355
  node_default(Temp.purgeSyncAll);
@@ -40962,6 +40962,14 @@ function isDoltInstalled() {
40962
40962
  return false;
40963
40963
  }
40964
40964
  }
40965
+ function isDeepwikiInstalled() {
40966
+ try {
40967
+ (0, import_child_process2.execSync)("deepwiki --version", { stdio: "ignore" });
40968
+ return true;
40969
+ } catch {
40970
+ return false;
40971
+ }
40972
+ }
40965
40973
  async function needsSettingsSync(repoRoot, target) {
40966
40974
  const normalizedTarget = target.replace(/\\/g, "/").toLowerCase();
40967
40975
  if (normalizedTarget.includes(".agents/skills")) return false;
@@ -41115,13 +41123,15 @@ async function installPlugin(repoRoot, dryRun) {
41115
41123
  await installOfficialClaudePlugins(true);
41116
41124
  return;
41117
41125
  }
41118
- (0, import_child_process3.spawnSync)("claude", ["plugin", "marketplace", "add", repoRoot, "--scope", "user"], { stdio: "pipe" });
41126
+ const xtrmPkgRoot = import_path11.default.resolve(__dirname, "..", "..");
41127
+ (0, import_child_process3.spawnSync)("claude", ["plugin", "marketplace", "add", xtrmPkgRoot, "--scope", "user"], { stdio: "pipe" });
41119
41128
  const listResult = (0, import_child_process3.spawnSync)("claude", ["plugin", "list"], { encoding: "utf8", stdio: "pipe" });
41120
41129
  if (listResult.stdout?.includes("xtrm-tools@xtrm-tools")) {
41121
41130
  (0, import_child_process3.spawnSync)("claude", ["plugin", "uninstall", "xtrm-tools@xtrm-tools"], { stdio: "inherit" });
41122
41131
  }
41123
41132
  (0, import_child_process3.spawnSync)("claude", ["plugin", "install", "xtrm-tools@xtrm-tools", "--scope", "user"], { stdio: "inherit" });
41124
41133
  console.log(t.success(" \u2713 xtrm-tools plugin installed"));
41134
+ console.log(t.warning(" \u21BB Restart Claude Code for the new plugin hooks to take effect"));
41125
41135
  await cleanStalePrePluginFiles(repoRoot, dryRun);
41126
41136
  await installOfficialClaudePlugins(false);
41127
41137
  }
@@ -41194,6 +41204,31 @@ function createInstallCommand() {
41194
41204
  }
41195
41205
  }
41196
41206
  }
41207
+ if (!backport) {
41208
+ console.log(t.bold("\n \u2699 deepwiki (AI-powered repo documentation)"));
41209
+ const deepwikiOk = isDeepwikiInstalled();
41210
+ if (deepwikiOk) {
41211
+ console.log(t.success(" \u2713 deepwiki already installed\n"));
41212
+ } else {
41213
+ let doInstall = effectiveYes;
41214
+ if (!effectiveYes) {
41215
+ const { install } = await (0, import_prompts.default)({
41216
+ type: "confirm",
41217
+ name: "install",
41218
+ message: "Install @seflless/deepwiki?",
41219
+ initial: true
41220
+ });
41221
+ doInstall = install;
41222
+ }
41223
+ if (doInstall) {
41224
+ console.log(t.muted("\n Installing @seflless/deepwiki..."));
41225
+ (0, import_child_process3.spawnSync)("npm", ["install", "-g", "@seflless/deepwiki"], { stdio: "inherit" });
41226
+ console.log(t.success(" \u2713 deepwiki installed\n"));
41227
+ } else {
41228
+ console.log(t.muted(" \u2139 Skipped.\n"));
41229
+ }
41230
+ }
41231
+ }
41197
41232
  if (!backport) {
41198
41233
  for (const _claudeTarget of claudeTargets) {
41199
41234
  await installPlugin(repoRoot, dryRun);
@@ -56871,7 +56906,7 @@ var import_node_fs5 = require("fs");
56871
56906
  var import_node_path6 = require("path");
56872
56907
  var KIND_LABELS = {
56873
56908
  "session.start": { label: "SESS+", color: kleur_default.green },
56874
- "session.end": { label: "SESS-", color: kleur_default.dim },
56909
+ "session.end": { label: "SESS-", color: kleur_default.white },
56875
56910
  "gate.edit.allow": { label: "EDIT+", color: kleur_default.green },
56876
56911
  "gate.edit.block": { label: "EDIT-", color: kleur_default.red },
56877
56912
  "gate.commit.allow": { label: "CMIT+", color: kleur_default.green },
@@ -56967,16 +57002,15 @@ function buildDetail(event) {
56967
57002
  }
56968
57003
  }
56969
57004
  if (event.kind === "tool.call") {
56970
- if (d?.cmd) parts.push(kleur_default.dim(d.cmd.slice(0, 60)));
56971
- if (d?.file) parts.push(kleur_default.dim(d.file));
57005
+ if (d?.cmd) parts.push(kleur_default.dim(d.cmd.slice(0, 72)));
57006
+ if (d?.file) parts.push(kleur_default.dim((0, import_node_path6.basename)(d.file)));
56972
57007
  if (d?.pattern) parts.push(kleur_default.dim(`/${d.pattern}/`));
56973
- if (d?.url) parts.push(kleur_default.dim(d.url.slice(0, 60)));
56974
- if (d?.query) parts.push(kleur_default.dim(d.query.slice(0, 60)));
56975
- if (d?.prompt) parts.push(kleur_default.dim(d.prompt.slice(0, 60)));
57008
+ if (d?.url) parts.push(kleur_default.dim(d.url.slice(0, 72)));
57009
+ if (d?.query) parts.push(kleur_default.dim(d.query.slice(0, 72)));
57010
+ if (d?.prompt) parts.push(kleur_default.dim(d.prompt.slice(0, 72)));
56976
57011
  } else {
56977
57012
  if (event.issue_id) parts.push(kleur_default.yellow(event.issue_id));
56978
- if (d?.file) parts.push(kleur_default.dim(d.file));
56979
- if (d?.msg) parts.push(kleur_default.dim(d.msg.slice(0, 60)));
57013
+ if (d?.file) parts.push(kleur_default.dim((0, import_node_path6.basename)(d.file)));
56980
57014
  if (d?.reason_code) parts.push(kleur_default.dim(`[${d.reason_code}]`));
56981
57015
  if (event.worktree) parts.push(kleur_default.dim(`wt:${event.worktree}`));
56982
57016
  }
@@ -56988,13 +57022,7 @@ function formatLine(event, colorMap) {
56988
57022
  const session = colorFn(event.session_id.slice(0, 8));
56989
57023
  const label = getLabel(event);
56990
57024
  const detail = buildDetail(event);
56991
- return `${time3} ${session} ${label} ${detail}`;
56992
- }
56993
- function printHeader() {
56994
- console.log(
56995
- ` ${kleur_default.dim("TIME ")} ${kleur_default.dim("SESSION ")} ${kleur_default.dim("LABEL")} ${kleur_default.dim("DETAIL")}`
56996
- );
56997
- console.log(` ${kleur_default.dim("\u2500".repeat(72))}`);
57025
+ return `${time3} ${label} ${session} ${detail}`;
56998
57026
  }
56999
57027
  function findDbPath(cwd) {
57000
57028
  let dir = cwd;
@@ -57038,13 +57066,9 @@ function follow(dbPath, opts) {
57038
57066
  const initial = queryEvents(dbPath, buildWhere(opts, `ts >= ${sinceTs}`), 200);
57039
57067
  const colorMap = buildColorMap(initial);
57040
57068
  let lastId = 0;
57041
- if (initial.length > 0) {
57042
- for (const ev of initial) {
57043
- if (ev.id > lastId) lastId = ev.id;
57044
- opts.json ? console.log(JSON.stringify(ev)) : console.log(" " + formatLine(ev, colorMap));
57045
- }
57046
- } else if (!opts.json) {
57047
- console.log(kleur_default.dim(" (no recent events \u2014 waiting for new ones)\n"));
57069
+ for (const ev of initial) {
57070
+ if (ev.id > lastId) lastId = ev.id;
57071
+ opts.json ? console.log(JSON.stringify(ev)) : console.log(formatLine(ev, colorMap));
57048
57072
  }
57049
57073
  const interval = setInterval(() => {
57050
57074
  const events = queryEvents(dbPath, buildWhere(opts, `id > ${lastId}`), 50);
@@ -57052,13 +57076,12 @@ function follow(dbPath, opts) {
57052
57076
  extendColorMap(colorMap, events);
57053
57077
  for (const ev of events) {
57054
57078
  if (ev.id > lastId) lastId = ev.id;
57055
- opts.json ? console.log(JSON.stringify(ev)) : console.log(" " + formatLine(ev, colorMap));
57079
+ opts.json ? console.log(JSON.stringify(ev)) : console.log(formatLine(ev, colorMap));
57056
57080
  }
57057
57081
  }
57058
57082
  }, 2e3);
57059
57083
  process.on("SIGINT", () => {
57060
57084
  clearInterval(interval);
57061
- if (!opts.json) console.log(kleur_default.dim("\n stopped\n"));
57062
57085
  process.exit(0);
57063
57086
  });
57064
57087
  }
@@ -57066,29 +57089,12 @@ function createDebugCommand() {
57066
57089
  return new Command("debug").description("Watch xtrm events: tool calls, gate decisions, bd lifecycle").option("-f, --follow", "Follow new events (default)", false).option("--all", "Show full history and exit", false).option("--session <id>", "Filter by session ID (prefix match)").option("--type <domain>", "Filter by domain: tool | gate | bd | session").option("--json", "Output raw JSON lines", false).action((opts) => {
57067
57090
  const cwd = process.cwd();
57068
57091
  const dbPath = findDbPath(cwd);
57069
- if (!dbPath || !(0, import_node_fs5.existsSync)(dbPath)) {
57070
- if (!opts.json) {
57071
- console.log(kleur_default.bold("\n xtrm event log"));
57072
- console.log(kleur_default.dim(" No events yet \u2014 DB initializes on first hook fire.\n"));
57073
- console.log(kleur_default.dim(" Run from inside an xtrm project with beads initialized.\n"));
57074
- }
57075
- return;
57076
- }
57077
- if (!opts.json) {
57078
- console.log(kleur_default.bold("\n xtrm event log"));
57079
- console.log(kleur_default.dim(opts.all ? " Full history\n" : " Following \u2014 Ctrl+C to stop\n"));
57080
- printHeader();
57081
- }
57092
+ if (!dbPath || !(0, import_node_fs5.existsSync)(dbPath)) return;
57082
57093
  if (opts.all) {
57083
57094
  const events = queryEvents(dbPath, buildWhere(opts, ""), 1e3);
57084
- if (events.length === 0) {
57085
- if (!opts.json) console.log(kleur_default.dim("\n No events recorded yet.\n"));
57086
- } else {
57087
- const colorMap = buildColorMap(events);
57088
- for (const ev of events) {
57089
- opts.json ? console.log(JSON.stringify(ev)) : console.log(" " + formatLine(ev, colorMap));
57090
- }
57091
- if (!opts.json) console.log("");
57095
+ const colorMap = buildColorMap(events);
57096
+ for (const ev of events) {
57097
+ opts.json ? console.log(JSON.stringify(ev)) : console.log(formatLine(ev, colorMap));
57092
57098
  }
57093
57099
  return;
57094
57100
  }
@@ -57315,8 +57321,9 @@ process.on("unhandledRejection", (reason) => {
57315
57321
  process.exit(1);
57316
57322
  });
57317
57323
  var isHelpOrVersion = process.argv.some((a) => a === "--help" || a === "-h" || a === "--version" || a === "-V");
57324
+ var isViewerCommand = ["debug", "status"].includes(process.argv[2] ?? "");
57318
57325
  (async () => {
57319
- if (!isHelpOrVersion) {
57326
+ if (!isHelpOrVersion && !isViewerCommand) {
57320
57327
  await printBanner(version2);
57321
57328
  }
57322
57329
  program2.parseAsync(process.argv);