xtrm-tools 0.7.0 → 0.7.1

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 (632) hide show
  1. package/.xtrm/config/README.md +10 -0
  2. package/{config/mcp_servers.json → .xtrm/config/claude.mcp.json} +0 -28
  3. package/{config → .xtrm/config}/instructions/agents-top.md +12 -3
  4. package/{config → .xtrm/config}/instructions/claude-top.md +12 -3
  5. package/{config → .xtrm/config}/pi/extensions/beads/index.ts +44 -13
  6. package/{config → .xtrm/config}/pi/extensions/custom-footer/index.ts +59 -82
  7. package/{config → .xtrm/config}/pi/extensions/xtrm-ui/index.ts +2 -2
  8. package/{config → .xtrm/config}/pi/install-schema.json +2 -2
  9. package/.xtrm/config/pi.mcp.json +39 -0
  10. package/.xtrm/config/settings.json +41 -0
  11. package/.xtrm/extensions/auto-session-name/index.ts +29 -0
  12. package/.xtrm/extensions/auto-session-name/package.json +16 -0
  13. package/.xtrm/extensions/auto-update/index.ts +71 -0
  14. package/.xtrm/extensions/auto-update/package.json +16 -0
  15. package/.xtrm/extensions/beads/index.ts +232 -0
  16. package/.xtrm/extensions/beads/package.json +19 -0
  17. package/.xtrm/extensions/compact-header/index.ts +69 -0
  18. package/.xtrm/extensions/compact-header/package.json +16 -0
  19. package/.xtrm/extensions/core/adapter.ts +52 -0
  20. package/.xtrm/extensions/core/guard-rules.ts +100 -0
  21. package/.xtrm/extensions/core/lib.ts +3 -0
  22. package/.xtrm/extensions/core/logger.ts +45 -0
  23. package/.xtrm/extensions/core/package.json +18 -0
  24. package/.xtrm/extensions/core/runner.ts +71 -0
  25. package/.xtrm/extensions/core/session-state.ts +59 -0
  26. package/.xtrm/extensions/custom-footer/index.ts +398 -0
  27. package/.xtrm/extensions/custom-footer/package.json +19 -0
  28. package/.xtrm/extensions/custom-provider-qwen-cli/index.ts +363 -0
  29. package/.xtrm/extensions/custom-provider-qwen-cli/package.json +1 -0
  30. package/.xtrm/extensions/git-checkpoint/index.ts +53 -0
  31. package/.xtrm/extensions/git-checkpoint/package.json +16 -0
  32. package/.xtrm/extensions/lsp-bootstrap/index.ts +134 -0
  33. package/.xtrm/extensions/lsp-bootstrap/package.json +17 -0
  34. package/.xtrm/extensions/pi-serena-compact/index.ts +121 -0
  35. package/.xtrm/extensions/pi-serena-compact/package.json +16 -0
  36. package/.xtrm/extensions/quality-gates/index.ts +66 -0
  37. package/.xtrm/extensions/quality-gates/package.json +19 -0
  38. package/.xtrm/extensions/service-skills/index.ts +108 -0
  39. package/.xtrm/extensions/service-skills/package.json +19 -0
  40. package/.xtrm/extensions/session-flow/index.ts +96 -0
  41. package/.xtrm/extensions/session-flow/package.json +19 -0
  42. package/.xtrm/extensions/xtrm-loader/index.ts +152 -0
  43. package/.xtrm/extensions/xtrm-loader/package.json +19 -0
  44. package/.xtrm/extensions/xtrm-ui/format.ts +93 -0
  45. package/.xtrm/extensions/xtrm-ui/index.ts +1044 -0
  46. package/.xtrm/extensions/xtrm-ui/package.json +10 -0
  47. package/.xtrm/extensions/xtrm-ui/themes/pidex-dark.json +85 -0
  48. package/.xtrm/extensions/xtrm-ui/themes/pidex-light.json +85 -0
  49. package/{hooks → .xtrm/hooks}/README.md +2 -1
  50. package/{hooks → .xtrm/hooks}/beads-commit-gate.mjs +4 -0
  51. package/.xtrm/hooks/beads-memory-gate.mjs +119 -0
  52. package/{plugins/xtrm-tools → .xtrm}/hooks/quality-check-env.mjs +1 -4
  53. package/.xtrm/hooks/statusline.mjs +156 -0
  54. package/{plugins/xtrm-tools → .xtrm}/hooks/using-xtrm-reminder.mjs +8 -7
  55. package/.xtrm/registry.json +1323 -0
  56. package/CHANGELOG.md +27 -0
  57. package/README.md +3 -1
  58. package/cli/dist/index.cjs +27158 -31320
  59. package/cli/dist/index.cjs.map +1 -1
  60. package/cli/package.json +2 -1
  61. package/package.json +12 -12
  62. package/.claude-plugin/marketplace.json +0 -19
  63. package/.claude-plugin/plugin.json +0 -9
  64. package/config/hooks.json +0 -83
  65. package/config/settings.json +0 -70
  66. package/hooks/beads-memory-gate.mjs +0 -94
  67. package/hooks/quality-check-env.mjs +0 -79
  68. package/hooks/statusline.mjs +0 -183
  69. package/hooks/tsconfig-cache.json +0 -4
  70. package/hooks/using-xtrm-reminder.mjs +0 -47
  71. package/plugins/xtrm-tools/.claude-plugin/plugin.json +0 -9
  72. package/plugins/xtrm-tools/.mcp.json +0 -18
  73. package/plugins/xtrm-tools/hooks/README.md +0 -61
  74. package/plugins/xtrm-tools/hooks/beads-claim-sync.mjs +0 -154
  75. package/plugins/xtrm-tools/hooks/beads-commit-gate.mjs +0 -70
  76. package/plugins/xtrm-tools/hooks/beads-compact-restore.mjs +0 -77
  77. package/plugins/xtrm-tools/hooks/beads-compact-save.mjs +0 -63
  78. package/plugins/xtrm-tools/hooks/beads-edit-gate.mjs +0 -85
  79. package/plugins/xtrm-tools/hooks/beads-gate-core.mjs +0 -236
  80. package/plugins/xtrm-tools/hooks/beads-gate-messages.mjs +0 -75
  81. package/plugins/xtrm-tools/hooks/beads-gate-utils.mjs +0 -176
  82. package/plugins/xtrm-tools/hooks/beads-memory-gate.mjs +0 -94
  83. package/plugins/xtrm-tools/hooks/beads-stop-gate.mjs +0 -53
  84. package/plugins/xtrm-tools/hooks/gitnexus/gitnexus-hook.cjs +0 -222
  85. package/plugins/xtrm-tools/hooks/hooks.json +0 -129
  86. package/plugins/xtrm-tools/hooks/quality-check.cjs +0 -1286
  87. package/plugins/xtrm-tools/hooks/quality-check.py +0 -345
  88. package/plugins/xtrm-tools/hooks/statusline.mjs +0 -183
  89. package/plugins/xtrm-tools/hooks/tsconfig-cache.json +0 -4
  90. package/plugins/xtrm-tools/hooks/worktree-boundary.mjs +0 -33
  91. package/plugins/xtrm-tools/hooks/xtrm-logger.mjs +0 -123
  92. package/plugins/xtrm-tools/hooks/xtrm-session-logger.mjs +0 -27
  93. package/plugins/xtrm-tools/hooks/xtrm-tool-logger.mjs +0 -53
  94. package/plugins/xtrm-tools/skills/README.txt +0 -31
  95. package/plugins/xtrm-tools/skills/clean-code/SKILL.md +0 -201
  96. package/plugins/xtrm-tools/skills/creating-service-skills/SKILL.md +0 -433
  97. package/plugins/xtrm-tools/skills/creating-service-skills/references/script_quality_standards.md +0 -425
  98. package/plugins/xtrm-tools/skills/creating-service-skills/references/service_skill_system_guide.md +0 -278
  99. package/plugins/xtrm-tools/skills/creating-service-skills/scripts/bootstrap.py +0 -326
  100. package/plugins/xtrm-tools/skills/creating-service-skills/scripts/deep_dive.py +0 -304
  101. package/plugins/xtrm-tools/skills/creating-service-skills/scripts/scaffolder.py +0 -482
  102. package/plugins/xtrm-tools/skills/delegating/SKILL.md +0 -196
  103. package/plugins/xtrm-tools/skills/delegating/config.yaml +0 -210
  104. package/plugins/xtrm-tools/skills/delegating/references/orchestration-protocols.md +0 -41
  105. package/plugins/xtrm-tools/skills/docker-expert/SKILL.md +0 -409
  106. package/plugins/xtrm-tools/skills/documenting/CHANGELOG.md +0 -23
  107. package/plugins/xtrm-tools/skills/documenting/README.md +0 -148
  108. package/plugins/xtrm-tools/skills/documenting/SKILL.md +0 -113
  109. package/plugins/xtrm-tools/skills/documenting/examples/example_pattern.md +0 -70
  110. package/plugins/xtrm-tools/skills/documenting/examples/example_reference.md +0 -70
  111. package/plugins/xtrm-tools/skills/documenting/examples/example_ssot_analytics.md +0 -64
  112. package/plugins/xtrm-tools/skills/documenting/examples/example_workflow.md +0 -141
  113. package/plugins/xtrm-tools/skills/documenting/references/changelog-format.md +0 -97
  114. package/plugins/xtrm-tools/skills/documenting/references/metadata-schema.md +0 -136
  115. package/plugins/xtrm-tools/skills/documenting/references/taxonomy.md +0 -81
  116. package/plugins/xtrm-tools/skills/documenting/references/versioning-rules.md +0 -78
  117. package/plugins/xtrm-tools/skills/documenting/scripts/bump_version.sh +0 -60
  118. package/plugins/xtrm-tools/skills/documenting/scripts/changelog/__init__.py +0 -0
  119. package/plugins/xtrm-tools/skills/documenting/scripts/changelog/add_entry.py +0 -216
  120. package/plugins/xtrm-tools/skills/documenting/scripts/changelog/bump_release.py +0 -117
  121. package/plugins/xtrm-tools/skills/documenting/scripts/changelog/init_changelog.py +0 -54
  122. package/plugins/xtrm-tools/skills/documenting/scripts/changelog/validate_changelog.py +0 -128
  123. package/plugins/xtrm-tools/skills/documenting/scripts/drift_detector.py +0 -266
  124. package/plugins/xtrm-tools/skills/documenting/scripts/generate_template.py +0 -311
  125. package/plugins/xtrm-tools/skills/documenting/scripts/list_by_category.sh +0 -84
  126. package/plugins/xtrm-tools/skills/documenting/scripts/orchestrator.py +0 -255
  127. package/plugins/xtrm-tools/skills/documenting/scripts/validate_metadata.py +0 -242
  128. package/plugins/xtrm-tools/skills/documenting/templates/CHANGELOG.md.template +0 -13
  129. package/plugins/xtrm-tools/skills/documenting/tests/integration_test.sh +0 -70
  130. package/plugins/xtrm-tools/skills/documenting/tests/test_changelog.py +0 -201
  131. package/plugins/xtrm-tools/skills/documenting/tests/test_drift_detector.py +0 -80
  132. package/plugins/xtrm-tools/skills/documenting/tests/test_orchestrator.py +0 -52
  133. package/plugins/xtrm-tools/skills/documenting/tests/test_validate_metadata.py +0 -64
  134. package/plugins/xtrm-tools/skills/find-skills/SKILL.md +0 -133
  135. package/plugins/xtrm-tools/skills/gitnexus-exploring/SKILL.md +0 -75
  136. package/plugins/xtrm-tools/skills/gitnexus-impact-analysis/SKILL.md +0 -94
  137. package/plugins/xtrm-tools/skills/gitnexus-refactoring/SKILL.md +0 -113
  138. package/plugins/xtrm-tools/skills/hook-development/SKILL.md +0 -797
  139. package/plugins/xtrm-tools/skills/hook-development/examples/load-context.sh +0 -55
  140. package/plugins/xtrm-tools/skills/hook-development/examples/quality-check.js +0 -1168
  141. package/plugins/xtrm-tools/skills/hook-development/examples/validate-bash.sh +0 -43
  142. package/plugins/xtrm-tools/skills/hook-development/examples/validate-write.sh +0 -38
  143. package/plugins/xtrm-tools/skills/hook-development/references/advanced.md +0 -527
  144. package/plugins/xtrm-tools/skills/hook-development/references/migration.md +0 -369
  145. package/plugins/xtrm-tools/skills/hook-development/references/patterns.md +0 -412
  146. package/plugins/xtrm-tools/skills/hook-development/scripts/README.md +0 -164
  147. package/plugins/xtrm-tools/skills/hook-development/scripts/hook-linter.sh +0 -153
  148. package/plugins/xtrm-tools/skills/hook-development/scripts/test-hook.sh +0 -252
  149. package/plugins/xtrm-tools/skills/hook-development/scripts/validate-hook-schema.sh +0 -159
  150. package/plugins/xtrm-tools/skills/obsidian-cli/SKILL.md +0 -106
  151. package/plugins/xtrm-tools/skills/orchestrating-agents/SKILL.md +0 -135
  152. package/plugins/xtrm-tools/skills/orchestrating-agents/config.yaml +0 -45
  153. package/plugins/xtrm-tools/skills/orchestrating-agents/references/agent-context-integration.md +0 -37
  154. package/plugins/xtrm-tools/skills/orchestrating-agents/references/examples.md +0 -45
  155. package/plugins/xtrm-tools/skills/orchestrating-agents/references/handover-protocol.md +0 -31
  156. package/plugins/xtrm-tools/skills/orchestrating-agents/references/workflows.md +0 -42
  157. package/plugins/xtrm-tools/skills/orchestrating-agents/scripts/detect_neighbors.py +0 -23
  158. package/plugins/xtrm-tools/skills/planning/SKILL.md +0 -405
  159. package/plugins/xtrm-tools/skills/planning/evals/evals.json +0 -19
  160. package/plugins/xtrm-tools/skills/prompt-improving/README.md +0 -162
  161. package/plugins/xtrm-tools/skills/prompt-improving/SKILL.md +0 -74
  162. package/plugins/xtrm-tools/skills/prompt-improving/references/analysis_commands.md +0 -24
  163. package/plugins/xtrm-tools/skills/prompt-improving/references/chain_of_thought.md +0 -24
  164. package/plugins/xtrm-tools/skills/prompt-improving/references/mcp_definitions.md +0 -20
  165. package/plugins/xtrm-tools/skills/prompt-improving/references/multishot.md +0 -23
  166. package/plugins/xtrm-tools/skills/prompt-improving/references/xml_core.md +0 -60
  167. package/plugins/xtrm-tools/skills/python-testing/SKILL.md +0 -815
  168. package/plugins/xtrm-tools/skills/scoping-service-skills/SKILL.md +0 -231
  169. package/plugins/xtrm-tools/skills/scoping-service-skills/scripts/scope.py +0 -74
  170. package/plugins/xtrm-tools/skills/senior-backend/SKILL.md +0 -209
  171. package/plugins/xtrm-tools/skills/senior-backend/references/api_design_patterns.md +0 -103
  172. package/plugins/xtrm-tools/skills/senior-backend/references/backend_security_practices.md +0 -103
  173. package/plugins/xtrm-tools/skills/senior-backend/references/database_optimization_guide.md +0 -103
  174. package/plugins/xtrm-tools/skills/senior-backend/scripts/api_load_tester.py +0 -114
  175. package/plugins/xtrm-tools/skills/senior-backend/scripts/api_scaffolder.py +0 -114
  176. package/plugins/xtrm-tools/skills/senior-backend/scripts/database_migration_tool.py +0 -114
  177. package/plugins/xtrm-tools/skills/senior-data-scientist/SKILL.md +0 -226
  178. package/plugins/xtrm-tools/skills/senior-data-scientist/references/experiment_design_frameworks.md +0 -80
  179. package/plugins/xtrm-tools/skills/senior-data-scientist/references/feature_engineering_patterns.md +0 -80
  180. package/plugins/xtrm-tools/skills/senior-data-scientist/references/statistical_methods_advanced.md +0 -80
  181. package/plugins/xtrm-tools/skills/senior-data-scientist/scripts/experiment_designer.py +0 -100
  182. package/plugins/xtrm-tools/skills/senior-data-scientist/scripts/feature_engineering_pipeline.py +0 -100
  183. package/plugins/xtrm-tools/skills/senior-data-scientist/scripts/model_evaluation_suite.py +0 -100
  184. package/plugins/xtrm-tools/skills/senior-devops/SKILL.md +0 -209
  185. package/plugins/xtrm-tools/skills/senior-devops/references/cicd_pipeline_guide.md +0 -103
  186. package/plugins/xtrm-tools/skills/senior-devops/references/deployment_strategies.md +0 -103
  187. package/plugins/xtrm-tools/skills/senior-devops/references/infrastructure_as_code.md +0 -103
  188. package/plugins/xtrm-tools/skills/senior-devops/scripts/deployment_manager.py +0 -114
  189. package/plugins/xtrm-tools/skills/senior-devops/scripts/pipeline_generator.py +0 -114
  190. package/plugins/xtrm-tools/skills/senior-devops/scripts/terraform_scaffolder.py +0 -114
  191. package/plugins/xtrm-tools/skills/senior-security/SKILL.md +0 -209
  192. package/plugins/xtrm-tools/skills/senior-security/references/cryptography_implementation.md +0 -103
  193. package/plugins/xtrm-tools/skills/senior-security/references/penetration_testing_guide.md +0 -103
  194. package/plugins/xtrm-tools/skills/senior-security/references/security_architecture_patterns.md +0 -103
  195. package/plugins/xtrm-tools/skills/senior-security/scripts/pentest_automator.py +0 -114
  196. package/plugins/xtrm-tools/skills/senior-security/scripts/security_auditor.py +0 -114
  197. package/plugins/xtrm-tools/skills/senior-security/scripts/threat_modeler.py +0 -114
  198. package/plugins/xtrm-tools/skills/skill-creator/LICENSE.txt +0 -202
  199. package/plugins/xtrm-tools/skills/skill-creator/SKILL.md +0 -479
  200. package/plugins/xtrm-tools/skills/skill-creator/agents/analyzer.md +0 -274
  201. package/plugins/xtrm-tools/skills/skill-creator/agents/comparator.md +0 -202
  202. package/plugins/xtrm-tools/skills/skill-creator/agents/grader.md +0 -223
  203. package/plugins/xtrm-tools/skills/skill-creator/assets/eval_review.html +0 -146
  204. package/plugins/xtrm-tools/skills/skill-creator/eval-viewer/generate_review.py +0 -471
  205. package/plugins/xtrm-tools/skills/skill-creator/eval-viewer/viewer.html +0 -1325
  206. package/plugins/xtrm-tools/skills/skill-creator/references/schemas.md +0 -430
  207. package/plugins/xtrm-tools/skills/skill-creator/scripts/__init__.py +0 -0
  208. package/plugins/xtrm-tools/skills/skill-creator/scripts/aggregate_benchmark.py +0 -401
  209. package/plugins/xtrm-tools/skills/skill-creator/scripts/generate_report.py +0 -326
  210. package/plugins/xtrm-tools/skills/skill-creator/scripts/improve_description.py +0 -248
  211. package/plugins/xtrm-tools/skills/skill-creator/scripts/package_skill.py +0 -136
  212. package/plugins/xtrm-tools/skills/skill-creator/scripts/quick_validate.py +0 -103
  213. package/plugins/xtrm-tools/skills/skill-creator/scripts/run_eval.py +0 -310
  214. package/plugins/xtrm-tools/skills/skill-creator/scripts/run_loop.py +0 -332
  215. package/plugins/xtrm-tools/skills/skill-creator/scripts/utils.py +0 -47
  216. package/plugins/xtrm-tools/skills/sync-docs/SKILL.md +0 -286
  217. package/plugins/xtrm-tools/skills/sync-docs/evals/evals.json +0 -89
  218. package/plugins/xtrm-tools/skills/sync-docs/references/doc-structure.md +0 -99
  219. package/plugins/xtrm-tools/skills/sync-docs/references/schema.md +0 -103
  220. package/plugins/xtrm-tools/skills/sync-docs/scripts/changelog/add_entry.py +0 -216
  221. package/plugins/xtrm-tools/skills/sync-docs/scripts/context_gatherer.py +0 -240
  222. package/plugins/xtrm-tools/skills/sync-docs/scripts/doc_structure_analyzer.py +0 -495
  223. package/plugins/xtrm-tools/skills/sync-docs/scripts/drift_detector.py +0 -563
  224. package/plugins/xtrm-tools/skills/sync-docs/scripts/validate_doc.py +0 -365
  225. package/plugins/xtrm-tools/skills/sync-docs/scripts/validate_metadata.py +0 -185
  226. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/benchmark.json +0 -293
  227. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/benchmark.md +0 -13
  228. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/eval_metadata.json +0 -27
  229. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/outputs/result.md +0 -210
  230. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/run-1/grading.json +0 -28
  231. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/run-1/timing.json +0 -1
  232. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/outputs/result.md +0 -101
  233. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/run-1/grading.json +0 -28
  234. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/run-1/timing.json +0 -5
  235. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/timing.json +0 -5
  236. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/eval_metadata.json +0 -27
  237. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/outputs/result.md +0 -198
  238. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/run-1/grading.json +0 -28
  239. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/run-1/timing.json +0 -1
  240. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/outputs/result.md +0 -94
  241. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/run-1/grading.json +0 -28
  242. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/run-1/timing.json +0 -1
  243. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/eval_metadata.json +0 -27
  244. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/outputs/result.md +0 -237
  245. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/run-1/grading.json +0 -28
  246. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/run-1/timing.json +0 -1
  247. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/outputs/result.md +0 -134
  248. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/run-1/grading.json +0 -28
  249. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/run-1/timing.json +0 -1
  250. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/benchmark.json +0 -297
  251. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/benchmark.md +0 -13
  252. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/eval_metadata.json +0 -27
  253. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/outputs/result.md +0 -137
  254. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/run-1/grading.json +0 -92
  255. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/run-1/timing.json +0 -1
  256. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/outputs/result.md +0 -134
  257. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/run-1/grading.json +0 -86
  258. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/run-1/timing.json +0 -1
  259. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/eval_metadata.json +0 -27
  260. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/outputs/result.md +0 -193
  261. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/run-1/grading.json +0 -72
  262. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/run-1/timing.json +0 -1
  263. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/outputs/result.md +0 -211
  264. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/run-1/grading.json +0 -91
  265. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/run-1/timing.json +0 -5
  266. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/eval_metadata.json +0 -27
  267. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/outputs/result.md +0 -182
  268. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/run-1/grading.json +0 -95
  269. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/run-1/timing.json +0 -1
  270. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/outputs/result.md +0 -222
  271. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/run-1/grading.json +0 -88
  272. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/run-1/timing.json +0 -5
  273. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/benchmark.json +0 -298
  274. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/benchmark.md +0 -13
  275. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/eval_metadata.json +0 -27
  276. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/outputs/result.md +0 -125
  277. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/run-1/grading.json +0 -97
  278. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/run-1/timing.json +0 -5
  279. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/outputs/result.md +0 -144
  280. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/run-1/grading.json +0 -78
  281. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/run-1/timing.json +0 -5
  282. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/eval_metadata.json +0 -27
  283. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/outputs/result.md +0 -104
  284. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/run-1/grading.json +0 -91
  285. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/run-1/timing.json +0 -5
  286. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/outputs/result.md +0 -79
  287. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/run-1/grading.json +0 -82
  288. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/run-1/timing.json +0 -5
  289. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/eval_metadata.json +0 -27
  290. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase1_context.json +0 -302
  291. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase2_drift.txt +0 -33
  292. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase3_analysis.json +0 -114
  293. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase4_fix.txt +0 -118
  294. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase5_validate.txt +0 -38
  295. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/result.md +0 -158
  296. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/run-1/grading.json +0 -95
  297. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/run-1/timing.json +0 -5
  298. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/outputs/result.md +0 -71
  299. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/run-1/grading.json +0 -90
  300. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/run-1/timing.json +0 -5
  301. package/plugins/xtrm-tools/skills/test-planning/SKILL.md +0 -465
  302. package/plugins/xtrm-tools/skills/test-planning/evals/evals.json +0 -23
  303. package/plugins/xtrm-tools/skills/updating-service-skills/SKILL.md +0 -136
  304. package/plugins/xtrm-tools/skills/updating-service-skills/scripts/drift_detector.py +0 -222
  305. package/plugins/xtrm-tools/skills/using-quality-gates/SKILL.md +0 -254
  306. package/plugins/xtrm-tools/skills/using-serena-lsp/README.md +0 -8
  307. package/plugins/xtrm-tools/skills/using-serena-lsp/REFERENCE.md +0 -194
  308. package/plugins/xtrm-tools/skills/using-serena-lsp/SKILL.md +0 -82
  309. package/plugins/xtrm-tools/skills/using-service-skills/SKILL.md +0 -108
  310. package/plugins/xtrm-tools/skills/using-service-skills/scripts/cataloger.py +0 -74
  311. package/plugins/xtrm-tools/skills/using-service-skills/scripts/skill_activator.py +0 -152
  312. package/plugins/xtrm-tools/skills/using-service-skills/scripts/test_skill_activator.py +0 -58
  313. package/plugins/xtrm-tools/skills/using-tdd/SKILL.md +0 -410
  314. package/plugins/xtrm-tools/skills/using-xtrm/SKILL.md +0 -127
  315. package/plugins/xtrm-tools/skills/xt-debugging/SKILL.md +0 -149
  316. package/plugins/xtrm-tools/skills/xt-end/SKILL.md +0 -297
  317. package/plugins/xtrm-tools/skills/xt-merge/SKILL.md +0 -313
  318. package/project-skills/quality-gates/.claude/hooks/hook-config.json +0 -66
  319. package/project-skills/quality-gates/.claude/hooks/quality-check.cjs +0 -1286
  320. package/project-skills/quality-gates/.claude/hooks/quality-check.py +0 -334
  321. package/project-skills/quality-gates/.claude/settings.json +0 -3
  322. package/project-skills/quality-gates/.claude/skills/using-quality-gates/SKILL.md +0 -254
  323. package/project-skills/quality-gates/README.md +0 -109
  324. package/project-skills/quality-gates/evals/evals.json +0 -181
  325. package/project-skills/quality-gates/workspace/iteration-1/FINAL-EVAL-SUMMARY.md +0 -75
  326. package/project-skills/quality-gates/workspace/iteration-1/edge-case-auto-fix-verification/with_skill/outputs/response.md +0 -59
  327. package/project-skills/quality-gates/workspace/iteration-1/edge-case-mixed-language-project/with_skill/outputs/response.md +0 -60
  328. package/project-skills/quality-gates/workspace/iteration-1/eval-summary.md +0 -105
  329. package/project-skills/quality-gates/workspace/iteration-1/partial-install-python-only/with_skill/outputs/response.md +0 -93
  330. package/project-skills/quality-gates/workspace/iteration-1/python-refactor-request/with_skill/outputs/response.md +0 -104
  331. package/project-skills/quality-gates/workspace/iteration-1/quality-gate-error-fix/with_skill/outputs/response.md +0 -74
  332. package/project-skills/quality-gates/workspace/iteration-1/should-not-trigger-general-chat/with_skill/outputs/response.md +0 -18
  333. package/project-skills/quality-gates/workspace/iteration-1/should-not-trigger-math-question/with_skill/outputs/response.md +0 -18
  334. package/project-skills/quality-gates/workspace/iteration-1/should-not-trigger-unrelated-coding/with_skill/outputs/response.md +0 -56
  335. package/project-skills/quality-gates/workspace/iteration-1/tdd-guard-blocking-confusion/with_skill/outputs/response.md +0 -67
  336. package/project-skills/quality-gates/workspace/iteration-1/typescript-feature-with-tests/with_skill/outputs/response.md +0 -97
  337. package/project-skills/service-skills-set/.claude/git-hooks/doc_reminder.py +0 -67
  338. package/project-skills/service-skills-set/.claude/git-hooks/skill_staleness.py +0 -194
  339. package/project-skills/service-skills-set/.claude/service-registry.json +0 -4
  340. package/project-skills/service-skills-set/.claude/settings.json +0 -37
  341. package/project-skills/service-skills-set/.claude/skills/creating-service-skills/SKILL.md +0 -433
  342. package/project-skills/service-skills-set/.claude/skills/creating-service-skills/references/script_quality_standards.md +0 -425
  343. package/project-skills/service-skills-set/.claude/skills/creating-service-skills/references/service_skill_system_guide.md +0 -278
  344. package/project-skills/service-skills-set/.claude/skills/creating-service-skills/scripts/bootstrap.py +0 -308
  345. package/project-skills/service-skills-set/.claude/skills/creating-service-skills/scripts/deep_dive.py +0 -304
  346. package/project-skills/service-skills-set/.claude/skills/creating-service-skills/scripts/scaffolder.py +0 -482
  347. package/project-skills/service-skills-set/.claude/skills/scoping-service-skills/SKILL.md +0 -231
  348. package/project-skills/service-skills-set/.claude/skills/scoping-service-skills/scripts/scope.py +0 -74
  349. package/project-skills/service-skills-set/.claude/skills/updating-service-skills/SKILL.md +0 -136
  350. package/project-skills/service-skills-set/.claude/skills/updating-service-skills/scripts/drift_detector.py +0 -222
  351. package/project-skills/service-skills-set/.claude/skills/using-service-skills/SKILL.md +0 -108
  352. package/project-skills/service-skills-set/.claude/skills/using-service-skills/scripts/cataloger.py +0 -74
  353. package/project-skills/service-skills-set/.claude/skills/using-service-skills/scripts/skill_activator.py +0 -152
  354. package/project-skills/service-skills-set/README.md +0 -93
  355. package/project-skills/service-skills-set/install-service-skills.py +0 -193
  356. package/project-skills/service-skills-set/service-skills-readme.md +0 -236
  357. package/skills/README.txt +0 -31
  358. package/skills/clean-code/SKILL.md +0 -201
  359. package/skills/creating-service-skills/SKILL.md +0 -433
  360. package/skills/creating-service-skills/references/script_quality_standards.md +0 -425
  361. package/skills/creating-service-skills/references/service_skill_system_guide.md +0 -278
  362. package/skills/creating-service-skills/scripts/bootstrap.py +0 -326
  363. package/skills/creating-service-skills/scripts/deep_dive.py +0 -304
  364. package/skills/creating-service-skills/scripts/scaffolder.py +0 -482
  365. package/skills/delegating/SKILL.md +0 -196
  366. package/skills/delegating/config.yaml +0 -210
  367. package/skills/delegating/references/orchestration-protocols.md +0 -41
  368. package/skills/docker-expert/SKILL.md +0 -409
  369. package/skills/documenting/CHANGELOG.md +0 -23
  370. package/skills/documenting/README.md +0 -148
  371. package/skills/documenting/SKILL.md +0 -113
  372. package/skills/documenting/examples/example_pattern.md +0 -70
  373. package/skills/documenting/examples/example_reference.md +0 -70
  374. package/skills/documenting/examples/example_ssot_analytics.md +0 -64
  375. package/skills/documenting/examples/example_workflow.md +0 -141
  376. package/skills/documenting/references/changelog-format.md +0 -97
  377. package/skills/documenting/references/metadata-schema.md +0 -136
  378. package/skills/documenting/references/taxonomy.md +0 -81
  379. package/skills/documenting/references/versioning-rules.md +0 -78
  380. package/skills/documenting/scripts/bump_version.sh +0 -60
  381. package/skills/documenting/scripts/changelog/__init__.py +0 -0
  382. package/skills/documenting/scripts/changelog/add_entry.py +0 -216
  383. package/skills/documenting/scripts/changelog/bump_release.py +0 -117
  384. package/skills/documenting/scripts/changelog/init_changelog.py +0 -54
  385. package/skills/documenting/scripts/changelog/validate_changelog.py +0 -128
  386. package/skills/documenting/scripts/drift_detector.py +0 -266
  387. package/skills/documenting/scripts/generate_template.py +0 -311
  388. package/skills/documenting/scripts/list_by_category.sh +0 -84
  389. package/skills/documenting/scripts/orchestrator.py +0 -255
  390. package/skills/documenting/scripts/validate_metadata.py +0 -242
  391. package/skills/documenting/templates/CHANGELOG.md.template +0 -13
  392. package/skills/find-skills/SKILL.md +0 -133
  393. package/skills/gitnexus-exploring/SKILL.md +0 -75
  394. package/skills/gitnexus-impact-analysis/SKILL.md +0 -94
  395. package/skills/gitnexus-refactoring/SKILL.md +0 -113
  396. package/skills/hook-development/SKILL.md +0 -797
  397. package/skills/hook-development/examples/load-context.sh +0 -55
  398. package/skills/hook-development/examples/quality-check.js +0 -1168
  399. package/skills/hook-development/examples/validate-bash.sh +0 -43
  400. package/skills/hook-development/examples/validate-write.sh +0 -38
  401. package/skills/hook-development/references/advanced.md +0 -527
  402. package/skills/hook-development/references/migration.md +0 -369
  403. package/skills/hook-development/references/patterns.md +0 -412
  404. package/skills/hook-development/scripts/README.md +0 -164
  405. package/skills/hook-development/scripts/hook-linter.sh +0 -153
  406. package/skills/hook-development/scripts/test-hook.sh +0 -252
  407. package/skills/hook-development/scripts/validate-hook-schema.sh +0 -159
  408. package/skills/obsidian-cli/SKILL.md +0 -106
  409. package/skills/orchestrating-agents/SKILL.md +0 -135
  410. package/skills/orchestrating-agents/config.yaml +0 -45
  411. package/skills/orchestrating-agents/references/agent-context-integration.md +0 -37
  412. package/skills/orchestrating-agents/references/examples.md +0 -45
  413. package/skills/orchestrating-agents/references/handover-protocol.md +0 -31
  414. package/skills/orchestrating-agents/references/workflows.md +0 -42
  415. package/skills/orchestrating-agents/scripts/detect_neighbors.py +0 -23
  416. package/skills/planning/SKILL.md +0 -405
  417. package/skills/planning/evals/evals.json +0 -19
  418. package/skills/prompt-improving/README.md +0 -162
  419. package/skills/prompt-improving/SKILL.md +0 -74
  420. package/skills/prompt-improving/references/analysis_commands.md +0 -24
  421. package/skills/prompt-improving/references/chain_of_thought.md +0 -24
  422. package/skills/prompt-improving/references/mcp_definitions.md +0 -20
  423. package/skills/prompt-improving/references/multishot.md +0 -23
  424. package/skills/prompt-improving/references/xml_core.md +0 -60
  425. package/skills/python-testing/SKILL.md +0 -815
  426. package/skills/scoping-service-skills/SKILL.md +0 -231
  427. package/skills/scoping-service-skills/scripts/scope.py +0 -74
  428. package/skills/senior-backend/SKILL.md +0 -209
  429. package/skills/senior-backend/references/api_design_patterns.md +0 -103
  430. package/skills/senior-backend/references/backend_security_practices.md +0 -103
  431. package/skills/senior-backend/references/database_optimization_guide.md +0 -103
  432. package/skills/senior-backend/scripts/api_load_tester.py +0 -114
  433. package/skills/senior-backend/scripts/api_scaffolder.py +0 -114
  434. package/skills/senior-backend/scripts/database_migration_tool.py +0 -114
  435. package/skills/senior-data-scientist/SKILL.md +0 -226
  436. package/skills/senior-data-scientist/references/experiment_design_frameworks.md +0 -80
  437. package/skills/senior-data-scientist/references/feature_engineering_patterns.md +0 -80
  438. package/skills/senior-data-scientist/references/statistical_methods_advanced.md +0 -80
  439. package/skills/senior-data-scientist/scripts/experiment_designer.py +0 -100
  440. package/skills/senior-data-scientist/scripts/feature_engineering_pipeline.py +0 -100
  441. package/skills/senior-data-scientist/scripts/model_evaluation_suite.py +0 -100
  442. package/skills/senior-devops/SKILL.md +0 -209
  443. package/skills/senior-devops/references/cicd_pipeline_guide.md +0 -103
  444. package/skills/senior-devops/references/deployment_strategies.md +0 -103
  445. package/skills/senior-devops/references/infrastructure_as_code.md +0 -103
  446. package/skills/senior-devops/scripts/deployment_manager.py +0 -114
  447. package/skills/senior-devops/scripts/pipeline_generator.py +0 -114
  448. package/skills/senior-devops/scripts/terraform_scaffolder.py +0 -114
  449. package/skills/senior-security/SKILL.md +0 -209
  450. package/skills/senior-security/references/cryptography_implementation.md +0 -103
  451. package/skills/senior-security/references/penetration_testing_guide.md +0 -103
  452. package/skills/senior-security/references/security_architecture_patterns.md +0 -103
  453. package/skills/senior-security/scripts/pentest_automator.py +0 -114
  454. package/skills/senior-security/scripts/security_auditor.py +0 -114
  455. package/skills/senior-security/scripts/threat_modeler.py +0 -114
  456. package/skills/skill-creator/LICENSE.txt +0 -202
  457. package/skills/skill-creator/SKILL.md +0 -479
  458. package/skills/skill-creator/agents/analyzer.md +0 -274
  459. package/skills/skill-creator/agents/comparator.md +0 -202
  460. package/skills/skill-creator/agents/grader.md +0 -223
  461. package/skills/skill-creator/assets/eval_review.html +0 -146
  462. package/skills/skill-creator/eval-viewer/generate_review.py +0 -471
  463. package/skills/skill-creator/eval-viewer/viewer.html +0 -1325
  464. package/skills/skill-creator/references/schemas.md +0 -430
  465. package/skills/skill-creator/scripts/__init__.py +0 -0
  466. package/skills/skill-creator/scripts/aggregate_benchmark.py +0 -401
  467. package/skills/skill-creator/scripts/generate_report.py +0 -326
  468. package/skills/skill-creator/scripts/improve_description.py +0 -248
  469. package/skills/skill-creator/scripts/package_skill.py +0 -136
  470. package/skills/skill-creator/scripts/quick_validate.py +0 -103
  471. package/skills/skill-creator/scripts/run_eval.py +0 -310
  472. package/skills/skill-creator/scripts/run_loop.py +0 -332
  473. package/skills/skill-creator/scripts/utils.py +0 -47
  474. package/skills/sync-docs/SKILL.md +0 -286
  475. package/skills/sync-docs/evals/evals.json +0 -89
  476. package/skills/sync-docs/references/doc-structure.md +0 -99
  477. package/skills/sync-docs/references/schema.md +0 -103
  478. package/skills/sync-docs/scripts/changelog/add_entry.py +0 -216
  479. package/skills/sync-docs/scripts/context_gatherer.py +0 -240
  480. package/skills/sync-docs/scripts/doc_structure_analyzer.py +0 -495
  481. package/skills/sync-docs/scripts/drift_detector.py +0 -563
  482. package/skills/sync-docs/scripts/validate_doc.py +0 -365
  483. package/skills/sync-docs/scripts/validate_metadata.py +0 -185
  484. package/skills/sync-docs-workspace/iteration-1/benchmark.json +0 -293
  485. package/skills/sync-docs-workspace/iteration-1/benchmark.md +0 -13
  486. package/skills/sync-docs-workspace/iteration-1/eval-doc-audit/eval_metadata.json +0 -27
  487. package/skills/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/outputs/result.md +0 -210
  488. package/skills/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/run-1/grading.json +0 -28
  489. package/skills/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/run-1/timing.json +0 -1
  490. package/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/outputs/result.md +0 -101
  491. package/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/run-1/grading.json +0 -28
  492. package/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/run-1/timing.json +0 -5
  493. package/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/timing.json +0 -5
  494. package/skills/sync-docs-workspace/iteration-1/eval-fix-mode/eval_metadata.json +0 -27
  495. package/skills/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/outputs/result.md +0 -198
  496. package/skills/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/run-1/grading.json +0 -28
  497. package/skills/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/run-1/timing.json +0 -1
  498. package/skills/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/outputs/result.md +0 -94
  499. package/skills/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/run-1/grading.json +0 -28
  500. package/skills/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/run-1/timing.json +0 -1
  501. package/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/eval_metadata.json +0 -27
  502. package/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/outputs/result.md +0 -237
  503. package/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/run-1/grading.json +0 -28
  504. package/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/run-1/timing.json +0 -1
  505. package/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/outputs/result.md +0 -134
  506. package/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/run-1/grading.json +0 -28
  507. package/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/run-1/timing.json +0 -1
  508. package/skills/sync-docs-workspace/iteration-2/benchmark.json +0 -297
  509. package/skills/sync-docs-workspace/iteration-2/benchmark.md +0 -13
  510. package/skills/sync-docs-workspace/iteration-2/eval-doc-audit/eval_metadata.json +0 -27
  511. package/skills/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/outputs/result.md +0 -137
  512. package/skills/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/run-1/grading.json +0 -92
  513. package/skills/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/run-1/timing.json +0 -1
  514. package/skills/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/outputs/result.md +0 -134
  515. package/skills/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/run-1/grading.json +0 -86
  516. package/skills/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/run-1/timing.json +0 -1
  517. package/skills/sync-docs-workspace/iteration-2/eval-fix-mode/eval_metadata.json +0 -27
  518. package/skills/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/outputs/result.md +0 -193
  519. package/skills/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/run-1/grading.json +0 -72
  520. package/skills/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/run-1/timing.json +0 -1
  521. package/skills/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/outputs/result.md +0 -211
  522. package/skills/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/run-1/grading.json +0 -91
  523. package/skills/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/run-1/timing.json +0 -5
  524. package/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/eval_metadata.json +0 -27
  525. package/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/outputs/result.md +0 -182
  526. package/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/run-1/grading.json +0 -95
  527. package/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/run-1/timing.json +0 -1
  528. package/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/outputs/result.md +0 -222
  529. package/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/run-1/grading.json +0 -88
  530. package/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/run-1/timing.json +0 -5
  531. package/skills/sync-docs-workspace/iteration-3/benchmark.json +0 -298
  532. package/skills/sync-docs-workspace/iteration-3/benchmark.md +0 -13
  533. package/skills/sync-docs-workspace/iteration-3/eval-doc-audit/eval_metadata.json +0 -27
  534. package/skills/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/outputs/result.md +0 -125
  535. package/skills/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/run-1/grading.json +0 -97
  536. package/skills/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/run-1/timing.json +0 -5
  537. package/skills/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/outputs/result.md +0 -144
  538. package/skills/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/run-1/grading.json +0 -78
  539. package/skills/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/run-1/timing.json +0 -5
  540. package/skills/sync-docs-workspace/iteration-3/eval-fix-mode/eval_metadata.json +0 -27
  541. package/skills/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/outputs/result.md +0 -104
  542. package/skills/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/run-1/grading.json +0 -91
  543. package/skills/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/run-1/timing.json +0 -5
  544. package/skills/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/outputs/result.md +0 -79
  545. package/skills/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/run-1/grading.json +0 -82
  546. package/skills/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/run-1/timing.json +0 -5
  547. package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/eval_metadata.json +0 -27
  548. package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase1_context.json +0 -302
  549. package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase2_drift.txt +0 -33
  550. package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase3_analysis.json +0 -114
  551. package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase4_fix.txt +0 -118
  552. package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase5_validate.txt +0 -38
  553. package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/result.md +0 -158
  554. package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/run-1/grading.json +0 -95
  555. package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/run-1/timing.json +0 -5
  556. package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/outputs/result.md +0 -71
  557. package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/run-1/grading.json +0 -90
  558. package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/run-1/timing.json +0 -5
  559. package/skills/test-planning/SKILL.md +0 -465
  560. package/skills/test-planning/evals/evals.json +0 -23
  561. package/skills/updating-service-skills/SKILL.md +0 -136
  562. package/skills/updating-service-skills/scripts/drift_detector.py +0 -222
  563. package/skills/using-quality-gates/SKILL.md +0 -254
  564. package/skills/using-serena-lsp/README.md +0 -8
  565. package/skills/using-serena-lsp/REFERENCE.md +0 -194
  566. package/skills/using-serena-lsp/SKILL.md +0 -82
  567. package/skills/using-service-skills/SKILL.md +0 -108
  568. package/skills/using-service-skills/scripts/cataloger.py +0 -74
  569. package/skills/using-service-skills/scripts/skill_activator.py +0 -152
  570. package/skills/using-service-skills/scripts/test_skill_activator.py +0 -58
  571. package/skills/using-tdd/SKILL.md +0 -410
  572. package/skills/using-xtrm/SKILL.md +0 -127
  573. package/skills/xt-debugging/SKILL.md +0 -149
  574. package/skills/xt-end/SKILL.md +0 -297
  575. package/skills/xt-merge/SKILL.md +0 -313
  576. /package/{config → .xtrm/config}/.env.example +0 -0
  577. /package/{config/mcp_servers_optional.json → .xtrm/config/claude.mcp.optional.json} +0 -0
  578. /package/{hooks → .xtrm/config}/hooks.json +0 -0
  579. /package/{config → .xtrm/config}/pi/auth.json.template +0 -0
  580. /package/{config → .xtrm/config}/pi/extensions/auto-session-name/index.ts +0 -0
  581. /package/{config → .xtrm/config}/pi/extensions/auto-session-name/package.json +0 -0
  582. /package/{config → .xtrm/config}/pi/extensions/auto-update/index.ts +0 -0
  583. /package/{config → .xtrm/config}/pi/extensions/auto-update/package.json +0 -0
  584. /package/{config → .xtrm/config}/pi/extensions/beads/package.json +0 -0
  585. /package/{config → .xtrm/config}/pi/extensions/compact-header/index.ts +0 -0
  586. /package/{config → .xtrm/config}/pi/extensions/compact-header/package.json +0 -0
  587. /package/{config → .xtrm/config}/pi/extensions/core/adapter.ts +0 -0
  588. /package/{config → .xtrm/config}/pi/extensions/core/guard-rules.ts +0 -0
  589. /package/{config → .xtrm/config}/pi/extensions/core/lib.ts +0 -0
  590. /package/{config → .xtrm/config}/pi/extensions/core/logger.ts +0 -0
  591. /package/{config → .xtrm/config}/pi/extensions/core/package.json +0 -0
  592. /package/{config → .xtrm/config}/pi/extensions/core/runner.ts +0 -0
  593. /package/{config → .xtrm/config}/pi/extensions/core/session-state.ts +0 -0
  594. /package/{config → .xtrm/config}/pi/extensions/custom-footer/package.json +0 -0
  595. /package/{config → .xtrm/config}/pi/extensions/custom-provider-qwen-cli/index.ts +0 -0
  596. /package/{config → .xtrm/config}/pi/extensions/custom-provider-qwen-cli/package.json +0 -0
  597. /package/{config → .xtrm/config}/pi/extensions/git-checkpoint/index.ts +0 -0
  598. /package/{config → .xtrm/config}/pi/extensions/git-checkpoint/package.json +0 -0
  599. /package/{config → .xtrm/config}/pi/extensions/lsp-bootstrap/index.ts +0 -0
  600. /package/{config → .xtrm/config}/pi/extensions/lsp-bootstrap/package.json +0 -0
  601. /package/{config → .xtrm/config}/pi/extensions/pi-serena-compact/index.ts +0 -0
  602. /package/{config → .xtrm/config}/pi/extensions/pi-serena-compact/package.json +0 -0
  603. /package/{config → .xtrm/config}/pi/extensions/quality-gates/index.ts +0 -0
  604. /package/{config → .xtrm/config}/pi/extensions/quality-gates/package.json +0 -0
  605. /package/{config → .xtrm/config}/pi/extensions/service-skills/index.ts +0 -0
  606. /package/{config → .xtrm/config}/pi/extensions/service-skills/package.json +0 -0
  607. /package/{config → .xtrm/config}/pi/extensions/session-flow/index.ts +0 -0
  608. /package/{config → .xtrm/config}/pi/extensions/session-flow/package.json +0 -0
  609. /package/{config → .xtrm/config}/pi/extensions/xtrm-loader/index.ts +0 -0
  610. /package/{config → .xtrm/config}/pi/extensions/xtrm-loader/package.json +0 -0
  611. /package/{config → .xtrm/config}/pi/extensions/xtrm-ui/format.ts +0 -0
  612. /package/{config → .xtrm/config}/pi/extensions/xtrm-ui/package.json +0 -0
  613. /package/{config → .xtrm/config}/pi/extensions/xtrm-ui/themes/pidex-dark.json +0 -0
  614. /package/{config → .xtrm/config}/pi/extensions/xtrm-ui/themes/pidex-light.json +0 -0
  615. /package/{config → .xtrm/config}/pi/models.json.template +0 -0
  616. /package/{config → .xtrm/config}/pi/pi-worktrees-settings.json +0 -0
  617. /package/{config → .xtrm/config}/pi/settings.json.template +0 -0
  618. /package/{hooks → .xtrm/hooks}/beads-claim-sync.mjs +0 -0
  619. /package/{hooks → .xtrm/hooks}/beads-compact-restore.mjs +0 -0
  620. /package/{hooks → .xtrm/hooks}/beads-compact-save.mjs +0 -0
  621. /package/{hooks → .xtrm/hooks}/beads-edit-gate.mjs +0 -0
  622. /package/{hooks → .xtrm/hooks}/beads-gate-core.mjs +0 -0
  623. /package/{hooks → .xtrm/hooks}/beads-gate-messages.mjs +0 -0
  624. /package/{hooks → .xtrm/hooks}/beads-gate-utils.mjs +0 -0
  625. /package/{hooks → .xtrm/hooks}/beads-stop-gate.mjs +0 -0
  626. /package/{hooks → .xtrm/hooks}/gitnexus/gitnexus-hook.cjs +0 -0
  627. /package/{hooks → .xtrm/hooks}/quality-check.cjs +0 -0
  628. /package/{hooks → .xtrm/hooks}/quality-check.py +0 -0
  629. /package/{hooks → .xtrm/hooks}/worktree-boundary.mjs +0 -0
  630. /package/{hooks → .xtrm/hooks}/xtrm-logger.mjs +0 -0
  631. /package/{hooks → .xtrm/hooks}/xtrm-session-logger.mjs +0 -0
  632. /package/{hooks → .xtrm/hooks}/xtrm-tool-logger.mjs +0 -0
@@ -1,74 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- scope.py — Read service-registry.json and output a formatted service catalog.
4
-
5
- Used by the /scope skill to provide registry data for agent reasoning before
6
- any files are touched. The agent uses this output to map a task description
7
- to the relevant registered service(s).
8
- """
9
-
10
- import json
11
- import os
12
- import sys
13
- from pathlib import Path
14
-
15
-
16
- def find_registry() -> Path | None:
17
- # 1. CLAUDE_PROJECT_DIR env var (set by Claude Code hooks)
18
- project_dir = os.environ.get("CLAUDE_PROJECT_DIR")
19
- if project_dir:
20
- p = Path(project_dir) / ".claude" / "skills" / "service-registry.json"
21
- if p.exists():
22
- return p
23
-
24
- # 2. Walk up from CWD until .git boundary
25
- cwd = Path.cwd()
26
- for parent in [cwd, *cwd.parents]:
27
- p = parent / ".claude" / "skills" / "service-registry.json"
28
- if p.exists():
29
- return p
30
- if (parent / ".git").exists():
31
- break
32
-
33
- return None
34
-
35
-
36
- def main() -> None:
37
- registry_path = find_registry()
38
-
39
- if not registry_path:
40
- print("ERROR: service-registry.json not found.")
41
- print("Run /creating-service-skills to set up service skills first.")
42
- sys.exit(1)
43
-
44
- try:
45
- with open(registry_path, encoding="utf-8") as f:
46
- registry = json.load(f)
47
- except json.JSONDecodeError as e:
48
- print(f"ERROR: service-registry.json is malformed: {e}")
49
- sys.exit(1)
50
-
51
- services = registry.get("services", {})
52
- if not services:
53
- print("Registry is empty — no services registered.")
54
- sys.exit(0)
55
-
56
- print(f"Registry : {registry_path}")
57
- print(f"Version : {registry.get('version', 'unknown')}")
58
- print(f"Services : {len(services)} registered")
59
- print("─" * 60)
60
-
61
- for service_id, info in services.items():
62
- territories = ", ".join(info.get("territory", [])) or "—"
63
- print(f"\n[{service_id}]")
64
- print(f" Container : {info.get('container', 'unknown')}")
65
- print(f" Territory : {territories}")
66
- print(f" Skill : {info.get('skill_path', 'unknown')}")
67
- print(f" Description: {info.get('description', '—')}")
68
-
69
- print("\n" + "─" * 60)
70
- print("Map the task description to the service(s) above, then load their skills.")
71
-
72
-
73
- if __name__ == "__main__":
74
- main()
@@ -1,136 +0,0 @@
1
- ---
2
- name: updating-service-skills
3
- description: >-
4
- Detect implementation drift and sync expert persona documentation.
5
- Activates automatically via PostToolUse hook when files in a registered
6
- service territory are modified. Use when a skill's documentation has
7
- fallen behind the actual implementation.
8
- hooks:
9
- PostToolUse:
10
- - matcher: "Write|Edit"
11
- hooks:
12
- - type: command
13
- command: "python3 \"$CLAUDE_PROJECT_DIR/.claude/skills/updating-service-skills/scripts/drift_detector.py\" check-hook"
14
- timeout: 10
15
- allowed-tools: Read, Write, Grep, Glob
16
- ---
17
-
18
- # Updating Service Skills
19
-
20
- ## Role: The Librarian
21
-
22
- You are the **Service Skills Librarian**. Your job is to keep expert persona
23
- documentation in sync with the actual implementation as the codebase evolves.
24
-
25
- ---
26
-
27
- ## Automatic Drift Detection
28
-
29
- After any `Write` or `Edit` operation, the `PostToolUse` hook runs
30
- `drift_detector.py check-hook`. It reads the modified file path from stdin JSON
31
- and checks whether it falls within a registered service territory.
32
-
33
- If drift is detected, you will see this in your context:
34
-
35
- ```
36
- [Skill Sync]: Implementation drift detected in 'db-expert'.
37
- File 'src/db/users.ts' was modified.
38
- Use '/updating-service-skills' to sync the Database Expert documentation.
39
- ```
40
-
41
- ---
42
-
43
- ## Manual Sync Process
44
-
45
- ### Step 1 — Scan for all drift
46
-
47
- ```bash
48
- python3 "$CLAUDE_PROJECT_DIR/.claude/skills/updating-service-skills/scripts/drift_detector.py" scan
49
- ```
50
-
51
- ### Step 2 — Read the current skill
52
-
53
- ```
54
- Read: .claude/skills/<service-id>/SKILL.md
55
- ```
56
-
57
- ### Step 3 — Analyze changes using Serena tools
58
-
59
- Use Serena LSP tools (not raw file reads) to understand what changed:
60
-
61
- ```
62
- get_symbols_overview(<modified-file>, depth=1)
63
- find_symbol(<changed-function>, include_body=True)
64
- search_for_pattern("<new-pattern>")
65
- ```
66
-
67
- ### Step 4 — Update the skill documentation
68
-
69
- - Add new patterns or conventions discovered
70
- - Update Failure Modes table if new exception handlers added
71
- - Update log patterns in `scripts/log_hunter.py` if new log strings found
72
- - Update territory patterns in `service-registry.json` if scope expanded
73
- - Preserve `<!-- SEMANTIC_START --> ... <!-- SEMANTIC_END -->` blocks
74
-
75
- ### Step 5 — Mark as synced
76
-
77
- ```bash
78
- python3 "$CLAUDE_PROJECT_DIR/.claude/skills/updating-service-skills/scripts/drift_detector.py" \
79
- sync <service-id>
80
- ```
81
-
82
- ---
83
-
84
- ## Drift Scenarios
85
-
86
- ### New error pattern added to codebase
87
-
88
- 1. `search_for_pattern("raise.*New.*Error|logger.error.*new")` to find it
89
- 2. Add to `scripts/log_hunter.py` PATTERNS list with correct severity
90
- 3. Update Troubleshooting table in SKILL.md
91
-
92
- ### Territory expanded (new directory added)
93
-
94
- 1. Check if current glob patterns in `service-registry.json` cover new files
95
- 2. If not, update `territory` array in `service-registry.json`
96
- 3. Sync timestamp
97
-
98
- ### Major refactor changes conventions
99
-
100
- 1. `get_symbols_overview` on all changed files
101
- 2. Rewrite relevant Guidelines section in SKILL.md
102
- 3. Update health_probe.py if table structure or ports changed
103
-
104
- ---
105
-
106
- ## Tool Restrictions
107
-
108
- Write to:
109
- - ✅ `.claude/skills/*/SKILL.md` — skill documentation updates
110
- - ✅ `.claude/skills/service-registry.json` — territory and sync timestamp updates
111
-
112
- Avoid:
113
- - ❌ Modify source code (read-only access to service territories)
114
- - ❌ Delete skills or registry entries
115
-
116
- ---
117
-
118
- ## Sync Output Format
119
-
120
- ```
121
- ✅ Skill Synced: `<service-id>`
122
-
123
- Updated:
124
- - log_hunter.py: added 2 new patterns from exception handlers
125
- - SKILL.md: Failure Modes table updated with OAuth expiry scenario
126
- - Territory: unchanged
127
-
128
- Next sync: triggers on next modification to <territory-patterns>
129
- ```
130
-
131
- ---
132
-
133
- ## Related Skills
134
-
135
- - `/using-service-skills` — Discover and activate expert personas
136
- - `/creating-service-skills` — Scaffold new expert personas
@@ -1,222 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- Drift detector — PostToolUse hook for updating-service-skills.
4
-
5
- Checks whether a modified file belongs to a registered service territory.
6
- If so, notifies Claude to sync the skill documentation.
7
-
8
- Configured via updating-service-skills/SKILL.md frontmatter hooks:
9
- PostToolUse → matcher: "Write|Edit" → command: drift_detector.py check-hook
10
-
11
- Subcommands:
12
- check-hook Read file_path from stdin JSON (PostToolUse hook mode)
13
- check <file> Check a specific file path from CLI
14
- sync <service-id> Mark service as synced (update registry timestamp)
15
- scan Scan all territories for drifted services
16
- """
17
-
18
- import json
19
- import sys
20
- from datetime import datetime, timezone
21
- from pathlib import Path
22
-
23
- # Bootstrap lives in creating-service-skills — shared utility
24
- BOOTSTRAP_DIR = Path(__file__).parent.parent.parent / "creating-service-skills" / "scripts"
25
- sys.path.insert(0, str(BOOTSTRAP_DIR))
26
-
27
- from bootstrap import ( # noqa: E402
28
- RootResolutionError,
29
- find_service_for_path,
30
- get_project_root,
31
- get_service,
32
- load_registry,
33
- save_registry,
34
- )
35
-
36
-
37
- def check_drift(file_path: str, project_root: str | None = None) -> dict:
38
- """Check if a file change causes drift in any registered service territory."""
39
- if project_root is None:
40
- try:
41
- project_root = get_project_root()
42
- except RootResolutionError:
43
- return {"drift": False, "reason": "Cannot resolve project root"}
44
-
45
- # Normalize to relative path
46
- fp = Path(file_path)
47
- if fp.is_absolute():
48
- try:
49
- fp = fp.relative_to(project_root)
50
- file_path = str(fp)
51
- except ValueError:
52
- pass
53
-
54
- service_id = find_service_for_path(file_path, project_root)
55
- if not service_id:
56
- return {"drift": False, "reason": "No service owns this file"}
57
-
58
- service = get_service(service_id, project_root)
59
- if not service:
60
- return {"drift": False, "reason": "Service not found in registry"}
61
-
62
- return {
63
- "drift": True,
64
- "service_id": service_id,
65
- "service_name": service.get("name", service_id),
66
- "skill_path": service.get("skill_path"),
67
- "last_sync": service.get("last_sync", ""),
68
- "file_path": file_path,
69
- "message": (
70
- f"[Skill Sync]: Implementation drift detected in '{service_id}'. "
71
- f"File '{file_path}' was modified. "
72
- f"Use '/updating-service-skills' to sync the {service.get('name', service_id)} documentation."
73
- ),
74
- }
75
-
76
-
77
- def check_drift_from_hook_stdin() -> None:
78
- """
79
- PostToolUse hook mode: reads file_path from stdin JSON.
80
-
81
- The PostToolUse hook delivers stdin JSON with shape:
82
- {"tool_name": "Write", "tool_input": {"file_path": "/abs/path"}, ...}
83
-
84
- Outputs drift message to stdout (shown to Claude via PostToolUse additionalContext).
85
- Exits 0 always — drift detection is advisory, never blocking.
86
- """
87
- try:
88
- data = json.load(sys.stdin)
89
- except (json.JSONDecodeError, EOFError):
90
- sys.exit(0)
91
-
92
- tool_input = data.get("tool_input", {})
93
- file_path = tool_input.get("file_path", "")
94
-
95
- if not file_path:
96
- sys.exit(0)
97
-
98
- result = check_drift(file_path)
99
-
100
- if result.get("drift"):
101
- # Output additionalContext for Claude via PostToolUse JSON format
102
- output = {
103
- "hookSpecificOutput": {
104
- "hookEventName": "PostToolUse",
105
- "additionalContext": result["message"],
106
- }
107
- }
108
- print(json.dumps(output))
109
-
110
- sys.exit(0)
111
-
112
-
113
- def update_sync_time(service_id: str, project_root: str | None = None) -> bool:
114
- """Update last_sync timestamp for a service in the registry."""
115
- try:
116
- registry = load_registry(project_root)
117
- except Exception:
118
- return False
119
-
120
- if "services" not in registry or service_id not in registry["services"]:
121
- return False
122
-
123
- registry["services"][service_id]["last_sync"] = (
124
- datetime.now(timezone.utc).isoformat().replace("+00:00", "Z")
125
- )
126
-
127
- try:
128
- save_registry(registry, project_root)
129
- return True
130
- except Exception:
131
- return False
132
-
133
-
134
- def scan_drift(project_root: str | None = None) -> list[dict]:
135
- """Scan all territories and identify services with files modified since last sync."""
136
- if project_root is None:
137
- try:
138
- project_root = get_project_root()
139
- except RootResolutionError:
140
- return []
141
-
142
- root = Path(project_root)
143
- registry = load_registry(project_root)
144
- drifted: list[dict] = []
145
-
146
- for service_id, service in registry.get("services", {}).items():
147
- last_sync_str = service.get("last_sync", "")
148
- if not last_sync_str:
149
- continue
150
- try:
151
- sync_time = datetime.fromisoformat(last_sync_str.replace("Z", "+00:00"))
152
- except ValueError:
153
- continue
154
-
155
- for pattern in service.get("territory", []):
156
- for fp in root.glob(pattern):
157
- if fp.is_file():
158
- try:
159
- mtime = datetime.fromtimestamp(fp.stat().st_mtime, tz=timezone.utc)
160
- if mtime > sync_time:
161
- drifted.append(
162
- {
163
- "service_id": service_id,
164
- "service_name": service.get("name", service_id),
165
- "file_path": str(fp.relative_to(root)),
166
- "last_sync": last_sync_str,
167
- }
168
- )
169
- except (OSError, ValueError):
170
- continue
171
-
172
- return drifted
173
-
174
-
175
- def main() -> None:
176
- if len(sys.argv) < 2:
177
- print("Usage: python drift_detector.py <command> [args...]")
178
- print(" check-hook — Read file from stdin JSON (PostToolUse hook mode)")
179
- print(" check <file> — Check a specific file path")
180
- print(" sync <service-id> — Mark service as synced")
181
- print(" scan — Scan all territories for drift")
182
- sys.exit(1)
183
-
184
- cmd = sys.argv[1]
185
-
186
- if cmd == "check-hook":
187
- check_drift_from_hook_stdin()
188
-
189
- elif cmd == "check" and len(sys.argv) > 2:
190
- result = check_drift(sys.argv[2])
191
- if result.get("drift"):
192
- print(result["message"])
193
- else:
194
- print(f"No drift: {result.get('reason', 'OK')}")
195
-
196
- elif cmd == "sync" and len(sys.argv) > 2:
197
- service_id = sys.argv[2]
198
- if update_sync_time(service_id):
199
- print(f"✓ Synced: {service_id}")
200
- else:
201
- print(f"✗ Failed to sync: {service_id}")
202
- sys.exit(1)
203
-
204
- elif cmd == "scan":
205
- drifted = scan_drift()
206
- if drifted:
207
- print(f"Found {len(drifted)} drifted service(s):")
208
- for item in drifted:
209
- print(
210
- f" {item['service_id']}: {item['file_path']} "
211
- f"(last sync: {item['last_sync']})"
212
- )
213
- else:
214
- print("No drift detected.")
215
-
216
- else:
217
- print(f"Unknown command: {cmd}")
218
- sys.exit(1)
219
-
220
-
221
- if __name__ == "__main__":
222
- main()
@@ -1,108 +0,0 @@
1
- ---
2
- name: using-service-skills
3
- description: >-
4
- Service catalog discovery and expert persona activation.
5
- At session start, a catalog of registered expert personas is injected
6
- automatically. Use this skill to discover, understand, and activate
7
- the right expert for any task.
8
- allowed-tools: Read, Glob
9
- ---
10
-
11
- # Using Service Skills
12
-
13
- ## Role: The Concierge
14
-
15
- You are the **Service Skills Concierge**. Your job is to help users discover and
16
- activate expert personas registered in `.claude/skills/service-registry.json`.
17
-
18
- ---
19
-
20
- ## How the Catalog Works
21
-
22
- At session start, the `SessionStart` hook (configured in `.claude/settings.json`)
23
- runs `cataloger.py` and injects a lightweight XML block into your context:
24
-
25
- ```xml
26
- <project_service_catalog>
27
- Available expert personas:
28
- - db-expert: SQL & schema optimization (Path: .claude/skills/db-expert/SKILL.md)
29
- - auth-service: JWT authentication expert (Path: .claude/skills/auth-service/SKILL.md)
30
- </project_service_catalog>
31
- <instruction>To activate an expert, read its SKILL.md from the provided path.</instruction>
32
- ```
33
-
34
- This costs ~150 tokens per session regardless of how many experts are registered
35
- (Progressive Disclosure: full skill bodies are loaded only when needed).
36
-
37
- ---
38
-
39
- ## Workflow
40
-
41
- ### 1. Check the Injected Catalog
42
-
43
- When a user asks about a service or starts a related task, check whether a
44
- `<project_service_catalog>` block is present in your context.
45
-
46
- If no catalog was injected (e.g. first run, no services registered), generate one:
47
-
48
- ```bash
49
- python3 "$CLAUDE_PROJECT_DIR/.claude/skills/using-service-skills/scripts/cataloger.py"
50
- ```
51
-
52
- ### 2. Activate an Expert Persona
53
-
54
- When a task matches an expert's domain, read that skill's SKILL.md:
55
-
56
- ```
57
- Read: .claude/skills/<service-id>/SKILL.md
58
- ```
59
-
60
- Then adopt the expert's persona, constraints, and knowledge for the duration
61
- of the task.
62
-
63
- **Example:**
64
- ```
65
- User: "Optimize this database query"
66
- You: [Catalog shows db-expert matches]
67
- [Read .claude/skills/db-expert/SKILL.md]
68
- [Apply Senior Database Engineer persona and expertise]
69
- ```
70
-
71
- ### 3. Handle Missing Experts
72
-
73
- If no registered expert covers the user's need:
74
- 1. Inform the user no expert exists for this domain
75
- 2. Offer to create one: "I can create a service skill using `/creating-service-skills`"
76
-
77
- ---
78
-
79
- ## Session Start Hook
80
-
81
- The catalog injection is not handled by skill frontmatter hooks. Configure it in
82
- `.claude/settings.json` using `SessionStart`:
83
-
84
- ```json
85
- {
86
- "hooks": {
87
- "SessionStart": [{
88
- "hooks": [{
89
- "type": "command",
90
- "command": "python3 \"$CLAUDE_PROJECT_DIR/.claude/skills/using-service-skills/scripts/cataloger.py\""
91
- }]
92
- }]
93
- }
94
- }
95
- ```
96
-
97
- ---
98
-
99
- ## Tool Restrictions
100
-
101
- Read-only — no write access:
102
- - ✅ `Read` — read SKILL.md files to activate expert personas
103
- - ✅ `Glob` — browse `.claude/skills/` directory
104
-
105
- ## Related Skills
106
-
107
- - `/creating-service-skills` — Scaffold new expert personas
108
- - `/updating-service-skills` — Sync skills when implementation drifts
@@ -1,74 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- Cataloger — SessionStart hook for using-service-skills.
4
-
5
- Reads .claude/skills/service-registry.json and prints a lightweight XML
6
- service catalog block (~150 tokens) to stdout. The SessionStart hook
7
- injects this as additional context so Claude knows which expert personas
8
- are available without loading full skill bodies (Progressive Disclosure).
9
-
10
- Configured in .claude/settings.json:
11
- "SessionStart": [{"hooks": [{"type": "command",
12
- "command": "python3 \\"$CLAUDE_PROJECT_DIR/.claude/skills/using-service-skills/scripts/cataloger.py\\""}]}]
13
-
14
- Output format:
15
- <project_service_catalog>
16
- Available expert personas:
17
- - db-expert: SQL & schema expert (Path: .claude/skills/db-expert/SKILL.md)
18
- </project_service_catalog>
19
- <instruction>To activate an expert, read its SKILL.md from the provided path.</instruction>
20
- """
21
-
22
- import sys
23
- from pathlib import Path
24
-
25
- # Bootstrap lives in creating-service-skills — shared utility
26
- BOOTSTRAP_DIR = Path(__file__).parent.parent.parent / "creating-service-skills" / "scripts"
27
- sys.path.insert(0, str(BOOTSTRAP_DIR))
28
-
29
- from bootstrap import RootResolutionError, list_services # noqa: E402
30
-
31
-
32
- def generate_catalog() -> str:
33
- """
34
- Generate the service catalog XML block.
35
-
36
- Returns empty string if no services are registered or project root
37
- cannot be determined (fails gracefully — never breaks session start).
38
- """
39
- try:
40
- services = list_services()
41
- except (RootResolutionError, Exception):
42
- return ""
43
-
44
- if not services:
45
- return ""
46
-
47
- lines = [
48
- "<project_service_catalog>",
49
- "Available expert personas:",
50
- ]
51
-
52
- for service_id, data in sorted(services.items()):
53
- description = data.get("description", data.get("name", service_id))
54
- skill_path = data.get("skill_path", f".claude/skills/{service_id}/SKILL.md")
55
- lines.append(f"- {service_id}: {description} (Path: {skill_path})")
56
-
57
- lines.append("</project_service_catalog>")
58
- lines.append(
59
- "<instruction>To activate an expert, read its SKILL.md from the provided path.</instruction>"
60
- )
61
-
62
- return "\n".join(lines)
63
-
64
-
65
- def main() -> None:
66
- """Print catalog to stdout — injected as SessionStart additional context."""
67
- catalog = generate_catalog()
68
- if catalog:
69
- print(catalog)
70
- # Silent if no services registered — don't break session start
71
-
72
-
73
- if __name__ == "__main__":
74
- main()