xtrm-tools 0.7.0 → 0.7.2

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 (633) 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 +31 -0
  57. package/README.md +20 -3
  58. package/cli/dist/index.cjs +26796 -30901
  59. package/cli/dist/index.cjs.map +1 -1
  60. package/cli/package.json +6 -3
  61. package/package.json +15 -13
  62. package/scripts/ghgrep.mjs +358 -0
  63. package/.claude-plugin/marketplace.json +0 -19
  64. package/.claude-plugin/plugin.json +0 -9
  65. package/config/hooks.json +0 -83
  66. package/config/settings.json +0 -70
  67. package/hooks/beads-memory-gate.mjs +0 -94
  68. package/hooks/quality-check-env.mjs +0 -79
  69. package/hooks/statusline.mjs +0 -183
  70. package/hooks/tsconfig-cache.json +0 -4
  71. package/hooks/using-xtrm-reminder.mjs +0 -47
  72. package/plugins/xtrm-tools/.claude-plugin/plugin.json +0 -9
  73. package/plugins/xtrm-tools/.mcp.json +0 -18
  74. package/plugins/xtrm-tools/hooks/README.md +0 -61
  75. package/plugins/xtrm-tools/hooks/beads-claim-sync.mjs +0 -154
  76. package/plugins/xtrm-tools/hooks/beads-commit-gate.mjs +0 -70
  77. package/plugins/xtrm-tools/hooks/beads-compact-restore.mjs +0 -77
  78. package/plugins/xtrm-tools/hooks/beads-compact-save.mjs +0 -63
  79. package/plugins/xtrm-tools/hooks/beads-edit-gate.mjs +0 -85
  80. package/plugins/xtrm-tools/hooks/beads-gate-core.mjs +0 -236
  81. package/plugins/xtrm-tools/hooks/beads-gate-messages.mjs +0 -75
  82. package/plugins/xtrm-tools/hooks/beads-gate-utils.mjs +0 -176
  83. package/plugins/xtrm-tools/hooks/beads-memory-gate.mjs +0 -94
  84. package/plugins/xtrm-tools/hooks/beads-stop-gate.mjs +0 -53
  85. package/plugins/xtrm-tools/hooks/gitnexus/gitnexus-hook.cjs +0 -222
  86. package/plugins/xtrm-tools/hooks/hooks.json +0 -129
  87. package/plugins/xtrm-tools/hooks/quality-check.cjs +0 -1286
  88. package/plugins/xtrm-tools/hooks/quality-check.py +0 -345
  89. package/plugins/xtrm-tools/hooks/statusline.mjs +0 -183
  90. package/plugins/xtrm-tools/hooks/tsconfig-cache.json +0 -4
  91. package/plugins/xtrm-tools/hooks/worktree-boundary.mjs +0 -33
  92. package/plugins/xtrm-tools/hooks/xtrm-logger.mjs +0 -123
  93. package/plugins/xtrm-tools/hooks/xtrm-session-logger.mjs +0 -27
  94. package/plugins/xtrm-tools/hooks/xtrm-tool-logger.mjs +0 -53
  95. package/plugins/xtrm-tools/skills/README.txt +0 -31
  96. package/plugins/xtrm-tools/skills/clean-code/SKILL.md +0 -201
  97. package/plugins/xtrm-tools/skills/creating-service-skills/SKILL.md +0 -433
  98. package/plugins/xtrm-tools/skills/creating-service-skills/references/script_quality_standards.md +0 -425
  99. package/plugins/xtrm-tools/skills/creating-service-skills/references/service_skill_system_guide.md +0 -278
  100. package/plugins/xtrm-tools/skills/creating-service-skills/scripts/bootstrap.py +0 -326
  101. package/plugins/xtrm-tools/skills/creating-service-skills/scripts/deep_dive.py +0 -304
  102. package/plugins/xtrm-tools/skills/creating-service-skills/scripts/scaffolder.py +0 -482
  103. package/plugins/xtrm-tools/skills/delegating/SKILL.md +0 -196
  104. package/plugins/xtrm-tools/skills/delegating/config.yaml +0 -210
  105. package/plugins/xtrm-tools/skills/delegating/references/orchestration-protocols.md +0 -41
  106. package/plugins/xtrm-tools/skills/docker-expert/SKILL.md +0 -409
  107. package/plugins/xtrm-tools/skills/documenting/CHANGELOG.md +0 -23
  108. package/plugins/xtrm-tools/skills/documenting/README.md +0 -148
  109. package/plugins/xtrm-tools/skills/documenting/SKILL.md +0 -113
  110. package/plugins/xtrm-tools/skills/documenting/examples/example_pattern.md +0 -70
  111. package/plugins/xtrm-tools/skills/documenting/examples/example_reference.md +0 -70
  112. package/plugins/xtrm-tools/skills/documenting/examples/example_ssot_analytics.md +0 -64
  113. package/plugins/xtrm-tools/skills/documenting/examples/example_workflow.md +0 -141
  114. package/plugins/xtrm-tools/skills/documenting/references/changelog-format.md +0 -97
  115. package/plugins/xtrm-tools/skills/documenting/references/metadata-schema.md +0 -136
  116. package/plugins/xtrm-tools/skills/documenting/references/taxonomy.md +0 -81
  117. package/plugins/xtrm-tools/skills/documenting/references/versioning-rules.md +0 -78
  118. package/plugins/xtrm-tools/skills/documenting/scripts/bump_version.sh +0 -60
  119. package/plugins/xtrm-tools/skills/documenting/scripts/changelog/__init__.py +0 -0
  120. package/plugins/xtrm-tools/skills/documenting/scripts/changelog/add_entry.py +0 -216
  121. package/plugins/xtrm-tools/skills/documenting/scripts/changelog/bump_release.py +0 -117
  122. package/plugins/xtrm-tools/skills/documenting/scripts/changelog/init_changelog.py +0 -54
  123. package/plugins/xtrm-tools/skills/documenting/scripts/changelog/validate_changelog.py +0 -128
  124. package/plugins/xtrm-tools/skills/documenting/scripts/drift_detector.py +0 -266
  125. package/plugins/xtrm-tools/skills/documenting/scripts/generate_template.py +0 -311
  126. package/plugins/xtrm-tools/skills/documenting/scripts/list_by_category.sh +0 -84
  127. package/plugins/xtrm-tools/skills/documenting/scripts/orchestrator.py +0 -255
  128. package/plugins/xtrm-tools/skills/documenting/scripts/validate_metadata.py +0 -242
  129. package/plugins/xtrm-tools/skills/documenting/templates/CHANGELOG.md.template +0 -13
  130. package/plugins/xtrm-tools/skills/documenting/tests/integration_test.sh +0 -70
  131. package/plugins/xtrm-tools/skills/documenting/tests/test_changelog.py +0 -201
  132. package/plugins/xtrm-tools/skills/documenting/tests/test_drift_detector.py +0 -80
  133. package/plugins/xtrm-tools/skills/documenting/tests/test_orchestrator.py +0 -52
  134. package/plugins/xtrm-tools/skills/documenting/tests/test_validate_metadata.py +0 -64
  135. package/plugins/xtrm-tools/skills/find-skills/SKILL.md +0 -133
  136. package/plugins/xtrm-tools/skills/gitnexus-exploring/SKILL.md +0 -75
  137. package/plugins/xtrm-tools/skills/gitnexus-impact-analysis/SKILL.md +0 -94
  138. package/plugins/xtrm-tools/skills/gitnexus-refactoring/SKILL.md +0 -113
  139. package/plugins/xtrm-tools/skills/hook-development/SKILL.md +0 -797
  140. package/plugins/xtrm-tools/skills/hook-development/examples/load-context.sh +0 -55
  141. package/plugins/xtrm-tools/skills/hook-development/examples/quality-check.js +0 -1168
  142. package/plugins/xtrm-tools/skills/hook-development/examples/validate-bash.sh +0 -43
  143. package/plugins/xtrm-tools/skills/hook-development/examples/validate-write.sh +0 -38
  144. package/plugins/xtrm-tools/skills/hook-development/references/advanced.md +0 -527
  145. package/plugins/xtrm-tools/skills/hook-development/references/migration.md +0 -369
  146. package/plugins/xtrm-tools/skills/hook-development/references/patterns.md +0 -412
  147. package/plugins/xtrm-tools/skills/hook-development/scripts/README.md +0 -164
  148. package/plugins/xtrm-tools/skills/hook-development/scripts/hook-linter.sh +0 -153
  149. package/plugins/xtrm-tools/skills/hook-development/scripts/test-hook.sh +0 -252
  150. package/plugins/xtrm-tools/skills/hook-development/scripts/validate-hook-schema.sh +0 -159
  151. package/plugins/xtrm-tools/skills/obsidian-cli/SKILL.md +0 -106
  152. package/plugins/xtrm-tools/skills/orchestrating-agents/SKILL.md +0 -135
  153. package/plugins/xtrm-tools/skills/orchestrating-agents/config.yaml +0 -45
  154. package/plugins/xtrm-tools/skills/orchestrating-agents/references/agent-context-integration.md +0 -37
  155. package/plugins/xtrm-tools/skills/orchestrating-agents/references/examples.md +0 -45
  156. package/plugins/xtrm-tools/skills/orchestrating-agents/references/handover-protocol.md +0 -31
  157. package/plugins/xtrm-tools/skills/orchestrating-agents/references/workflows.md +0 -42
  158. package/plugins/xtrm-tools/skills/orchestrating-agents/scripts/detect_neighbors.py +0 -23
  159. package/plugins/xtrm-tools/skills/planning/SKILL.md +0 -405
  160. package/plugins/xtrm-tools/skills/planning/evals/evals.json +0 -19
  161. package/plugins/xtrm-tools/skills/prompt-improving/README.md +0 -162
  162. package/plugins/xtrm-tools/skills/prompt-improving/SKILL.md +0 -74
  163. package/plugins/xtrm-tools/skills/prompt-improving/references/analysis_commands.md +0 -24
  164. package/plugins/xtrm-tools/skills/prompt-improving/references/chain_of_thought.md +0 -24
  165. package/plugins/xtrm-tools/skills/prompt-improving/references/mcp_definitions.md +0 -20
  166. package/plugins/xtrm-tools/skills/prompt-improving/references/multishot.md +0 -23
  167. package/plugins/xtrm-tools/skills/prompt-improving/references/xml_core.md +0 -60
  168. package/plugins/xtrm-tools/skills/python-testing/SKILL.md +0 -815
  169. package/plugins/xtrm-tools/skills/scoping-service-skills/SKILL.md +0 -231
  170. package/plugins/xtrm-tools/skills/scoping-service-skills/scripts/scope.py +0 -74
  171. package/plugins/xtrm-tools/skills/senior-backend/SKILL.md +0 -209
  172. package/plugins/xtrm-tools/skills/senior-backend/references/api_design_patterns.md +0 -103
  173. package/plugins/xtrm-tools/skills/senior-backend/references/backend_security_practices.md +0 -103
  174. package/plugins/xtrm-tools/skills/senior-backend/references/database_optimization_guide.md +0 -103
  175. package/plugins/xtrm-tools/skills/senior-backend/scripts/api_load_tester.py +0 -114
  176. package/plugins/xtrm-tools/skills/senior-backend/scripts/api_scaffolder.py +0 -114
  177. package/plugins/xtrm-tools/skills/senior-backend/scripts/database_migration_tool.py +0 -114
  178. package/plugins/xtrm-tools/skills/senior-data-scientist/SKILL.md +0 -226
  179. package/plugins/xtrm-tools/skills/senior-data-scientist/references/experiment_design_frameworks.md +0 -80
  180. package/plugins/xtrm-tools/skills/senior-data-scientist/references/feature_engineering_patterns.md +0 -80
  181. package/plugins/xtrm-tools/skills/senior-data-scientist/references/statistical_methods_advanced.md +0 -80
  182. package/plugins/xtrm-tools/skills/senior-data-scientist/scripts/experiment_designer.py +0 -100
  183. package/plugins/xtrm-tools/skills/senior-data-scientist/scripts/feature_engineering_pipeline.py +0 -100
  184. package/plugins/xtrm-tools/skills/senior-data-scientist/scripts/model_evaluation_suite.py +0 -100
  185. package/plugins/xtrm-tools/skills/senior-devops/SKILL.md +0 -209
  186. package/plugins/xtrm-tools/skills/senior-devops/references/cicd_pipeline_guide.md +0 -103
  187. package/plugins/xtrm-tools/skills/senior-devops/references/deployment_strategies.md +0 -103
  188. package/plugins/xtrm-tools/skills/senior-devops/references/infrastructure_as_code.md +0 -103
  189. package/plugins/xtrm-tools/skills/senior-devops/scripts/deployment_manager.py +0 -114
  190. package/plugins/xtrm-tools/skills/senior-devops/scripts/pipeline_generator.py +0 -114
  191. package/plugins/xtrm-tools/skills/senior-devops/scripts/terraform_scaffolder.py +0 -114
  192. package/plugins/xtrm-tools/skills/senior-security/SKILL.md +0 -209
  193. package/plugins/xtrm-tools/skills/senior-security/references/cryptography_implementation.md +0 -103
  194. package/plugins/xtrm-tools/skills/senior-security/references/penetration_testing_guide.md +0 -103
  195. package/plugins/xtrm-tools/skills/senior-security/references/security_architecture_patterns.md +0 -103
  196. package/plugins/xtrm-tools/skills/senior-security/scripts/pentest_automator.py +0 -114
  197. package/plugins/xtrm-tools/skills/senior-security/scripts/security_auditor.py +0 -114
  198. package/plugins/xtrm-tools/skills/senior-security/scripts/threat_modeler.py +0 -114
  199. package/plugins/xtrm-tools/skills/skill-creator/LICENSE.txt +0 -202
  200. package/plugins/xtrm-tools/skills/skill-creator/SKILL.md +0 -479
  201. package/plugins/xtrm-tools/skills/skill-creator/agents/analyzer.md +0 -274
  202. package/plugins/xtrm-tools/skills/skill-creator/agents/comparator.md +0 -202
  203. package/plugins/xtrm-tools/skills/skill-creator/agents/grader.md +0 -223
  204. package/plugins/xtrm-tools/skills/skill-creator/assets/eval_review.html +0 -146
  205. package/plugins/xtrm-tools/skills/skill-creator/eval-viewer/generate_review.py +0 -471
  206. package/plugins/xtrm-tools/skills/skill-creator/eval-viewer/viewer.html +0 -1325
  207. package/plugins/xtrm-tools/skills/skill-creator/references/schemas.md +0 -430
  208. package/plugins/xtrm-tools/skills/skill-creator/scripts/__init__.py +0 -0
  209. package/plugins/xtrm-tools/skills/skill-creator/scripts/aggregate_benchmark.py +0 -401
  210. package/plugins/xtrm-tools/skills/skill-creator/scripts/generate_report.py +0 -326
  211. package/plugins/xtrm-tools/skills/skill-creator/scripts/improve_description.py +0 -248
  212. package/plugins/xtrm-tools/skills/skill-creator/scripts/package_skill.py +0 -136
  213. package/plugins/xtrm-tools/skills/skill-creator/scripts/quick_validate.py +0 -103
  214. package/plugins/xtrm-tools/skills/skill-creator/scripts/run_eval.py +0 -310
  215. package/plugins/xtrm-tools/skills/skill-creator/scripts/run_loop.py +0 -332
  216. package/plugins/xtrm-tools/skills/skill-creator/scripts/utils.py +0 -47
  217. package/plugins/xtrm-tools/skills/sync-docs/SKILL.md +0 -286
  218. package/plugins/xtrm-tools/skills/sync-docs/evals/evals.json +0 -89
  219. package/plugins/xtrm-tools/skills/sync-docs/references/doc-structure.md +0 -99
  220. package/plugins/xtrm-tools/skills/sync-docs/references/schema.md +0 -103
  221. package/plugins/xtrm-tools/skills/sync-docs/scripts/changelog/add_entry.py +0 -216
  222. package/plugins/xtrm-tools/skills/sync-docs/scripts/context_gatherer.py +0 -240
  223. package/plugins/xtrm-tools/skills/sync-docs/scripts/doc_structure_analyzer.py +0 -495
  224. package/plugins/xtrm-tools/skills/sync-docs/scripts/drift_detector.py +0 -563
  225. package/plugins/xtrm-tools/skills/sync-docs/scripts/validate_doc.py +0 -365
  226. package/plugins/xtrm-tools/skills/sync-docs/scripts/validate_metadata.py +0 -185
  227. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/benchmark.json +0 -293
  228. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/benchmark.md +0 -13
  229. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/eval_metadata.json +0 -27
  230. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/outputs/result.md +0 -210
  231. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/run-1/grading.json +0 -28
  232. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/run-1/timing.json +0 -1
  233. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/outputs/result.md +0 -101
  234. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/run-1/grading.json +0 -28
  235. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/run-1/timing.json +0 -5
  236. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/timing.json +0 -5
  237. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/eval_metadata.json +0 -27
  238. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/outputs/result.md +0 -198
  239. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/run-1/grading.json +0 -28
  240. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/run-1/timing.json +0 -1
  241. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/outputs/result.md +0 -94
  242. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/run-1/grading.json +0 -28
  243. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/run-1/timing.json +0 -1
  244. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/eval_metadata.json +0 -27
  245. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/outputs/result.md +0 -237
  246. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/run-1/grading.json +0 -28
  247. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/run-1/timing.json +0 -1
  248. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/outputs/result.md +0 -134
  249. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/run-1/grading.json +0 -28
  250. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/run-1/timing.json +0 -1
  251. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/benchmark.json +0 -297
  252. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/benchmark.md +0 -13
  253. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/eval_metadata.json +0 -27
  254. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/outputs/result.md +0 -137
  255. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/run-1/grading.json +0 -92
  256. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/run-1/timing.json +0 -1
  257. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/outputs/result.md +0 -134
  258. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/run-1/grading.json +0 -86
  259. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/run-1/timing.json +0 -1
  260. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/eval_metadata.json +0 -27
  261. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/outputs/result.md +0 -193
  262. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/run-1/grading.json +0 -72
  263. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/run-1/timing.json +0 -1
  264. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/outputs/result.md +0 -211
  265. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/run-1/grading.json +0 -91
  266. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/run-1/timing.json +0 -5
  267. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/eval_metadata.json +0 -27
  268. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/outputs/result.md +0 -182
  269. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/run-1/grading.json +0 -95
  270. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/run-1/timing.json +0 -1
  271. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/outputs/result.md +0 -222
  272. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/run-1/grading.json +0 -88
  273. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/run-1/timing.json +0 -5
  274. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/benchmark.json +0 -298
  275. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/benchmark.md +0 -13
  276. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/eval_metadata.json +0 -27
  277. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/outputs/result.md +0 -125
  278. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/run-1/grading.json +0 -97
  279. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/run-1/timing.json +0 -5
  280. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/outputs/result.md +0 -144
  281. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/run-1/grading.json +0 -78
  282. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/run-1/timing.json +0 -5
  283. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/eval_metadata.json +0 -27
  284. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/outputs/result.md +0 -104
  285. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/run-1/grading.json +0 -91
  286. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/run-1/timing.json +0 -5
  287. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/outputs/result.md +0 -79
  288. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/run-1/grading.json +0 -82
  289. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/run-1/timing.json +0 -5
  290. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/eval_metadata.json +0 -27
  291. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase1_context.json +0 -302
  292. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase2_drift.txt +0 -33
  293. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase3_analysis.json +0 -114
  294. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase4_fix.txt +0 -118
  295. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase5_validate.txt +0 -38
  296. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/result.md +0 -158
  297. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/run-1/grading.json +0 -95
  298. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/run-1/timing.json +0 -5
  299. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/outputs/result.md +0 -71
  300. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/run-1/grading.json +0 -90
  301. package/plugins/xtrm-tools/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/run-1/timing.json +0 -5
  302. package/plugins/xtrm-tools/skills/test-planning/SKILL.md +0 -465
  303. package/plugins/xtrm-tools/skills/test-planning/evals/evals.json +0 -23
  304. package/plugins/xtrm-tools/skills/updating-service-skills/SKILL.md +0 -136
  305. package/plugins/xtrm-tools/skills/updating-service-skills/scripts/drift_detector.py +0 -222
  306. package/plugins/xtrm-tools/skills/using-quality-gates/SKILL.md +0 -254
  307. package/plugins/xtrm-tools/skills/using-serena-lsp/README.md +0 -8
  308. package/plugins/xtrm-tools/skills/using-serena-lsp/REFERENCE.md +0 -194
  309. package/plugins/xtrm-tools/skills/using-serena-lsp/SKILL.md +0 -82
  310. package/plugins/xtrm-tools/skills/using-service-skills/SKILL.md +0 -108
  311. package/plugins/xtrm-tools/skills/using-service-skills/scripts/cataloger.py +0 -74
  312. package/plugins/xtrm-tools/skills/using-service-skills/scripts/skill_activator.py +0 -152
  313. package/plugins/xtrm-tools/skills/using-service-skills/scripts/test_skill_activator.py +0 -58
  314. package/plugins/xtrm-tools/skills/using-tdd/SKILL.md +0 -410
  315. package/plugins/xtrm-tools/skills/using-xtrm/SKILL.md +0 -127
  316. package/plugins/xtrm-tools/skills/xt-debugging/SKILL.md +0 -149
  317. package/plugins/xtrm-tools/skills/xt-end/SKILL.md +0 -297
  318. package/plugins/xtrm-tools/skills/xt-merge/SKILL.md +0 -313
  319. package/project-skills/quality-gates/.claude/hooks/hook-config.json +0 -66
  320. package/project-skills/quality-gates/.claude/hooks/quality-check.cjs +0 -1286
  321. package/project-skills/quality-gates/.claude/hooks/quality-check.py +0 -334
  322. package/project-skills/quality-gates/.claude/settings.json +0 -3
  323. package/project-skills/quality-gates/.claude/skills/using-quality-gates/SKILL.md +0 -254
  324. package/project-skills/quality-gates/README.md +0 -109
  325. package/project-skills/quality-gates/evals/evals.json +0 -181
  326. package/project-skills/quality-gates/workspace/iteration-1/FINAL-EVAL-SUMMARY.md +0 -75
  327. package/project-skills/quality-gates/workspace/iteration-1/edge-case-auto-fix-verification/with_skill/outputs/response.md +0 -59
  328. package/project-skills/quality-gates/workspace/iteration-1/edge-case-mixed-language-project/with_skill/outputs/response.md +0 -60
  329. package/project-skills/quality-gates/workspace/iteration-1/eval-summary.md +0 -105
  330. package/project-skills/quality-gates/workspace/iteration-1/partial-install-python-only/with_skill/outputs/response.md +0 -93
  331. package/project-skills/quality-gates/workspace/iteration-1/python-refactor-request/with_skill/outputs/response.md +0 -104
  332. package/project-skills/quality-gates/workspace/iteration-1/quality-gate-error-fix/with_skill/outputs/response.md +0 -74
  333. package/project-skills/quality-gates/workspace/iteration-1/should-not-trigger-general-chat/with_skill/outputs/response.md +0 -18
  334. package/project-skills/quality-gates/workspace/iteration-1/should-not-trigger-math-question/with_skill/outputs/response.md +0 -18
  335. package/project-skills/quality-gates/workspace/iteration-1/should-not-trigger-unrelated-coding/with_skill/outputs/response.md +0 -56
  336. package/project-skills/quality-gates/workspace/iteration-1/tdd-guard-blocking-confusion/with_skill/outputs/response.md +0 -67
  337. package/project-skills/quality-gates/workspace/iteration-1/typescript-feature-with-tests/with_skill/outputs/response.md +0 -97
  338. package/project-skills/service-skills-set/.claude/git-hooks/doc_reminder.py +0 -67
  339. package/project-skills/service-skills-set/.claude/git-hooks/skill_staleness.py +0 -194
  340. package/project-skills/service-skills-set/.claude/service-registry.json +0 -4
  341. package/project-skills/service-skills-set/.claude/settings.json +0 -37
  342. package/project-skills/service-skills-set/.claude/skills/creating-service-skills/SKILL.md +0 -433
  343. package/project-skills/service-skills-set/.claude/skills/creating-service-skills/references/script_quality_standards.md +0 -425
  344. package/project-skills/service-skills-set/.claude/skills/creating-service-skills/references/service_skill_system_guide.md +0 -278
  345. package/project-skills/service-skills-set/.claude/skills/creating-service-skills/scripts/bootstrap.py +0 -308
  346. package/project-skills/service-skills-set/.claude/skills/creating-service-skills/scripts/deep_dive.py +0 -304
  347. package/project-skills/service-skills-set/.claude/skills/creating-service-skills/scripts/scaffolder.py +0 -482
  348. package/project-skills/service-skills-set/.claude/skills/scoping-service-skills/SKILL.md +0 -231
  349. package/project-skills/service-skills-set/.claude/skills/scoping-service-skills/scripts/scope.py +0 -74
  350. package/project-skills/service-skills-set/.claude/skills/updating-service-skills/SKILL.md +0 -136
  351. package/project-skills/service-skills-set/.claude/skills/updating-service-skills/scripts/drift_detector.py +0 -222
  352. package/project-skills/service-skills-set/.claude/skills/using-service-skills/SKILL.md +0 -108
  353. package/project-skills/service-skills-set/.claude/skills/using-service-skills/scripts/cataloger.py +0 -74
  354. package/project-skills/service-skills-set/.claude/skills/using-service-skills/scripts/skill_activator.py +0 -152
  355. package/project-skills/service-skills-set/README.md +0 -93
  356. package/project-skills/service-skills-set/install-service-skills.py +0 -193
  357. package/project-skills/service-skills-set/service-skills-readme.md +0 -236
  358. package/skills/README.txt +0 -31
  359. package/skills/clean-code/SKILL.md +0 -201
  360. package/skills/creating-service-skills/SKILL.md +0 -433
  361. package/skills/creating-service-skills/references/script_quality_standards.md +0 -425
  362. package/skills/creating-service-skills/references/service_skill_system_guide.md +0 -278
  363. package/skills/creating-service-skills/scripts/bootstrap.py +0 -326
  364. package/skills/creating-service-skills/scripts/deep_dive.py +0 -304
  365. package/skills/creating-service-skills/scripts/scaffolder.py +0 -482
  366. package/skills/delegating/SKILL.md +0 -196
  367. package/skills/delegating/config.yaml +0 -210
  368. package/skills/delegating/references/orchestration-protocols.md +0 -41
  369. package/skills/docker-expert/SKILL.md +0 -409
  370. package/skills/documenting/CHANGELOG.md +0 -23
  371. package/skills/documenting/README.md +0 -148
  372. package/skills/documenting/SKILL.md +0 -113
  373. package/skills/documenting/examples/example_pattern.md +0 -70
  374. package/skills/documenting/examples/example_reference.md +0 -70
  375. package/skills/documenting/examples/example_ssot_analytics.md +0 -64
  376. package/skills/documenting/examples/example_workflow.md +0 -141
  377. package/skills/documenting/references/changelog-format.md +0 -97
  378. package/skills/documenting/references/metadata-schema.md +0 -136
  379. package/skills/documenting/references/taxonomy.md +0 -81
  380. package/skills/documenting/references/versioning-rules.md +0 -78
  381. package/skills/documenting/scripts/bump_version.sh +0 -60
  382. package/skills/documenting/scripts/changelog/__init__.py +0 -0
  383. package/skills/documenting/scripts/changelog/add_entry.py +0 -216
  384. package/skills/documenting/scripts/changelog/bump_release.py +0 -117
  385. package/skills/documenting/scripts/changelog/init_changelog.py +0 -54
  386. package/skills/documenting/scripts/changelog/validate_changelog.py +0 -128
  387. package/skills/documenting/scripts/drift_detector.py +0 -266
  388. package/skills/documenting/scripts/generate_template.py +0 -311
  389. package/skills/documenting/scripts/list_by_category.sh +0 -84
  390. package/skills/documenting/scripts/orchestrator.py +0 -255
  391. package/skills/documenting/scripts/validate_metadata.py +0 -242
  392. package/skills/documenting/templates/CHANGELOG.md.template +0 -13
  393. package/skills/find-skills/SKILL.md +0 -133
  394. package/skills/gitnexus-exploring/SKILL.md +0 -75
  395. package/skills/gitnexus-impact-analysis/SKILL.md +0 -94
  396. package/skills/gitnexus-refactoring/SKILL.md +0 -113
  397. package/skills/hook-development/SKILL.md +0 -797
  398. package/skills/hook-development/examples/load-context.sh +0 -55
  399. package/skills/hook-development/examples/quality-check.js +0 -1168
  400. package/skills/hook-development/examples/validate-bash.sh +0 -43
  401. package/skills/hook-development/examples/validate-write.sh +0 -38
  402. package/skills/hook-development/references/advanced.md +0 -527
  403. package/skills/hook-development/references/migration.md +0 -369
  404. package/skills/hook-development/references/patterns.md +0 -412
  405. package/skills/hook-development/scripts/README.md +0 -164
  406. package/skills/hook-development/scripts/hook-linter.sh +0 -153
  407. package/skills/hook-development/scripts/test-hook.sh +0 -252
  408. package/skills/hook-development/scripts/validate-hook-schema.sh +0 -159
  409. package/skills/obsidian-cli/SKILL.md +0 -106
  410. package/skills/orchestrating-agents/SKILL.md +0 -135
  411. package/skills/orchestrating-agents/config.yaml +0 -45
  412. package/skills/orchestrating-agents/references/agent-context-integration.md +0 -37
  413. package/skills/orchestrating-agents/references/examples.md +0 -45
  414. package/skills/orchestrating-agents/references/handover-protocol.md +0 -31
  415. package/skills/orchestrating-agents/references/workflows.md +0 -42
  416. package/skills/orchestrating-agents/scripts/detect_neighbors.py +0 -23
  417. package/skills/planning/SKILL.md +0 -405
  418. package/skills/planning/evals/evals.json +0 -19
  419. package/skills/prompt-improving/README.md +0 -162
  420. package/skills/prompt-improving/SKILL.md +0 -74
  421. package/skills/prompt-improving/references/analysis_commands.md +0 -24
  422. package/skills/prompt-improving/references/chain_of_thought.md +0 -24
  423. package/skills/prompt-improving/references/mcp_definitions.md +0 -20
  424. package/skills/prompt-improving/references/multishot.md +0 -23
  425. package/skills/prompt-improving/references/xml_core.md +0 -60
  426. package/skills/python-testing/SKILL.md +0 -815
  427. package/skills/scoping-service-skills/SKILL.md +0 -231
  428. package/skills/scoping-service-skills/scripts/scope.py +0 -74
  429. package/skills/senior-backend/SKILL.md +0 -209
  430. package/skills/senior-backend/references/api_design_patterns.md +0 -103
  431. package/skills/senior-backend/references/backend_security_practices.md +0 -103
  432. package/skills/senior-backend/references/database_optimization_guide.md +0 -103
  433. package/skills/senior-backend/scripts/api_load_tester.py +0 -114
  434. package/skills/senior-backend/scripts/api_scaffolder.py +0 -114
  435. package/skills/senior-backend/scripts/database_migration_tool.py +0 -114
  436. package/skills/senior-data-scientist/SKILL.md +0 -226
  437. package/skills/senior-data-scientist/references/experiment_design_frameworks.md +0 -80
  438. package/skills/senior-data-scientist/references/feature_engineering_patterns.md +0 -80
  439. package/skills/senior-data-scientist/references/statistical_methods_advanced.md +0 -80
  440. package/skills/senior-data-scientist/scripts/experiment_designer.py +0 -100
  441. package/skills/senior-data-scientist/scripts/feature_engineering_pipeline.py +0 -100
  442. package/skills/senior-data-scientist/scripts/model_evaluation_suite.py +0 -100
  443. package/skills/senior-devops/SKILL.md +0 -209
  444. package/skills/senior-devops/references/cicd_pipeline_guide.md +0 -103
  445. package/skills/senior-devops/references/deployment_strategies.md +0 -103
  446. package/skills/senior-devops/references/infrastructure_as_code.md +0 -103
  447. package/skills/senior-devops/scripts/deployment_manager.py +0 -114
  448. package/skills/senior-devops/scripts/pipeline_generator.py +0 -114
  449. package/skills/senior-devops/scripts/terraform_scaffolder.py +0 -114
  450. package/skills/senior-security/SKILL.md +0 -209
  451. package/skills/senior-security/references/cryptography_implementation.md +0 -103
  452. package/skills/senior-security/references/penetration_testing_guide.md +0 -103
  453. package/skills/senior-security/references/security_architecture_patterns.md +0 -103
  454. package/skills/senior-security/scripts/pentest_automator.py +0 -114
  455. package/skills/senior-security/scripts/security_auditor.py +0 -114
  456. package/skills/senior-security/scripts/threat_modeler.py +0 -114
  457. package/skills/skill-creator/LICENSE.txt +0 -202
  458. package/skills/skill-creator/SKILL.md +0 -479
  459. package/skills/skill-creator/agents/analyzer.md +0 -274
  460. package/skills/skill-creator/agents/comparator.md +0 -202
  461. package/skills/skill-creator/agents/grader.md +0 -223
  462. package/skills/skill-creator/assets/eval_review.html +0 -146
  463. package/skills/skill-creator/eval-viewer/generate_review.py +0 -471
  464. package/skills/skill-creator/eval-viewer/viewer.html +0 -1325
  465. package/skills/skill-creator/references/schemas.md +0 -430
  466. package/skills/skill-creator/scripts/__init__.py +0 -0
  467. package/skills/skill-creator/scripts/aggregate_benchmark.py +0 -401
  468. package/skills/skill-creator/scripts/generate_report.py +0 -326
  469. package/skills/skill-creator/scripts/improve_description.py +0 -248
  470. package/skills/skill-creator/scripts/package_skill.py +0 -136
  471. package/skills/skill-creator/scripts/quick_validate.py +0 -103
  472. package/skills/skill-creator/scripts/run_eval.py +0 -310
  473. package/skills/skill-creator/scripts/run_loop.py +0 -332
  474. package/skills/skill-creator/scripts/utils.py +0 -47
  475. package/skills/sync-docs/SKILL.md +0 -286
  476. package/skills/sync-docs/evals/evals.json +0 -89
  477. package/skills/sync-docs/references/doc-structure.md +0 -99
  478. package/skills/sync-docs/references/schema.md +0 -103
  479. package/skills/sync-docs/scripts/changelog/add_entry.py +0 -216
  480. package/skills/sync-docs/scripts/context_gatherer.py +0 -240
  481. package/skills/sync-docs/scripts/doc_structure_analyzer.py +0 -495
  482. package/skills/sync-docs/scripts/drift_detector.py +0 -563
  483. package/skills/sync-docs/scripts/validate_doc.py +0 -365
  484. package/skills/sync-docs/scripts/validate_metadata.py +0 -185
  485. package/skills/sync-docs-workspace/iteration-1/benchmark.json +0 -293
  486. package/skills/sync-docs-workspace/iteration-1/benchmark.md +0 -13
  487. package/skills/sync-docs-workspace/iteration-1/eval-doc-audit/eval_metadata.json +0 -27
  488. package/skills/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/outputs/result.md +0 -210
  489. package/skills/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/run-1/grading.json +0 -28
  490. package/skills/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/run-1/timing.json +0 -1
  491. package/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/outputs/result.md +0 -101
  492. package/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/run-1/grading.json +0 -28
  493. package/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/run-1/timing.json +0 -5
  494. package/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/timing.json +0 -5
  495. package/skills/sync-docs-workspace/iteration-1/eval-fix-mode/eval_metadata.json +0 -27
  496. package/skills/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/outputs/result.md +0 -198
  497. package/skills/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/run-1/grading.json +0 -28
  498. package/skills/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/run-1/timing.json +0 -1
  499. package/skills/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/outputs/result.md +0 -94
  500. package/skills/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/run-1/grading.json +0 -28
  501. package/skills/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/run-1/timing.json +0 -1
  502. package/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/eval_metadata.json +0 -27
  503. package/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/outputs/result.md +0 -237
  504. package/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/run-1/grading.json +0 -28
  505. package/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/run-1/timing.json +0 -1
  506. package/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/outputs/result.md +0 -134
  507. package/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/run-1/grading.json +0 -28
  508. package/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/run-1/timing.json +0 -1
  509. package/skills/sync-docs-workspace/iteration-2/benchmark.json +0 -297
  510. package/skills/sync-docs-workspace/iteration-2/benchmark.md +0 -13
  511. package/skills/sync-docs-workspace/iteration-2/eval-doc-audit/eval_metadata.json +0 -27
  512. package/skills/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/outputs/result.md +0 -137
  513. package/skills/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/run-1/grading.json +0 -92
  514. package/skills/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/run-1/timing.json +0 -1
  515. package/skills/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/outputs/result.md +0 -134
  516. package/skills/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/run-1/grading.json +0 -86
  517. package/skills/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/run-1/timing.json +0 -1
  518. package/skills/sync-docs-workspace/iteration-2/eval-fix-mode/eval_metadata.json +0 -27
  519. package/skills/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/outputs/result.md +0 -193
  520. package/skills/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/run-1/grading.json +0 -72
  521. package/skills/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/run-1/timing.json +0 -1
  522. package/skills/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/outputs/result.md +0 -211
  523. package/skills/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/run-1/grading.json +0 -91
  524. package/skills/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/run-1/timing.json +0 -5
  525. package/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/eval_metadata.json +0 -27
  526. package/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/outputs/result.md +0 -182
  527. package/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/run-1/grading.json +0 -95
  528. package/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/run-1/timing.json +0 -1
  529. package/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/outputs/result.md +0 -222
  530. package/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/run-1/grading.json +0 -88
  531. package/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/run-1/timing.json +0 -5
  532. package/skills/sync-docs-workspace/iteration-3/benchmark.json +0 -298
  533. package/skills/sync-docs-workspace/iteration-3/benchmark.md +0 -13
  534. package/skills/sync-docs-workspace/iteration-3/eval-doc-audit/eval_metadata.json +0 -27
  535. package/skills/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/outputs/result.md +0 -125
  536. package/skills/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/run-1/grading.json +0 -97
  537. package/skills/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/run-1/timing.json +0 -5
  538. package/skills/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/outputs/result.md +0 -144
  539. package/skills/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/run-1/grading.json +0 -78
  540. package/skills/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/run-1/timing.json +0 -5
  541. package/skills/sync-docs-workspace/iteration-3/eval-fix-mode/eval_metadata.json +0 -27
  542. package/skills/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/outputs/result.md +0 -104
  543. package/skills/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/run-1/grading.json +0 -91
  544. package/skills/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/run-1/timing.json +0 -5
  545. package/skills/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/outputs/result.md +0 -79
  546. package/skills/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/run-1/grading.json +0 -82
  547. package/skills/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/run-1/timing.json +0 -5
  548. package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/eval_metadata.json +0 -27
  549. package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase1_context.json +0 -302
  550. package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase2_drift.txt +0 -33
  551. package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase3_analysis.json +0 -114
  552. package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase4_fix.txt +0 -118
  553. package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase5_validate.txt +0 -38
  554. package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/result.md +0 -158
  555. package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/run-1/grading.json +0 -95
  556. package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/run-1/timing.json +0 -5
  557. package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/outputs/result.md +0 -71
  558. package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/run-1/grading.json +0 -90
  559. package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/run-1/timing.json +0 -5
  560. package/skills/test-planning/SKILL.md +0 -465
  561. package/skills/test-planning/evals/evals.json +0 -23
  562. package/skills/updating-service-skills/SKILL.md +0 -136
  563. package/skills/updating-service-skills/scripts/drift_detector.py +0 -222
  564. package/skills/using-quality-gates/SKILL.md +0 -254
  565. package/skills/using-serena-lsp/README.md +0 -8
  566. package/skills/using-serena-lsp/REFERENCE.md +0 -194
  567. package/skills/using-serena-lsp/SKILL.md +0 -82
  568. package/skills/using-service-skills/SKILL.md +0 -108
  569. package/skills/using-service-skills/scripts/cataloger.py +0 -74
  570. package/skills/using-service-skills/scripts/skill_activator.py +0 -152
  571. package/skills/using-service-skills/scripts/test_skill_activator.py +0 -58
  572. package/skills/using-tdd/SKILL.md +0 -410
  573. package/skills/using-xtrm/SKILL.md +0 -127
  574. package/skills/xt-debugging/SKILL.md +0 -149
  575. package/skills/xt-end/SKILL.md +0 -297
  576. package/skills/xt-merge/SKILL.md +0 -313
  577. /package/{config → .xtrm/config}/.env.example +0 -0
  578. /package/{config/mcp_servers_optional.json → .xtrm/config/claude.mcp.optional.json} +0 -0
  579. /package/{hooks → .xtrm/config}/hooks.json +0 -0
  580. /package/{config → .xtrm/config}/pi/auth.json.template +0 -0
  581. /package/{config → .xtrm/config}/pi/extensions/auto-session-name/index.ts +0 -0
  582. /package/{config → .xtrm/config}/pi/extensions/auto-session-name/package.json +0 -0
  583. /package/{config → .xtrm/config}/pi/extensions/auto-update/index.ts +0 -0
  584. /package/{config → .xtrm/config}/pi/extensions/auto-update/package.json +0 -0
  585. /package/{config → .xtrm/config}/pi/extensions/beads/package.json +0 -0
  586. /package/{config → .xtrm/config}/pi/extensions/compact-header/index.ts +0 -0
  587. /package/{config → .xtrm/config}/pi/extensions/compact-header/package.json +0 -0
  588. /package/{config → .xtrm/config}/pi/extensions/core/adapter.ts +0 -0
  589. /package/{config → .xtrm/config}/pi/extensions/core/guard-rules.ts +0 -0
  590. /package/{config → .xtrm/config}/pi/extensions/core/lib.ts +0 -0
  591. /package/{config → .xtrm/config}/pi/extensions/core/logger.ts +0 -0
  592. /package/{config → .xtrm/config}/pi/extensions/core/package.json +0 -0
  593. /package/{config → .xtrm/config}/pi/extensions/core/runner.ts +0 -0
  594. /package/{config → .xtrm/config}/pi/extensions/core/session-state.ts +0 -0
  595. /package/{config → .xtrm/config}/pi/extensions/custom-footer/package.json +0 -0
  596. /package/{config → .xtrm/config}/pi/extensions/custom-provider-qwen-cli/index.ts +0 -0
  597. /package/{config → .xtrm/config}/pi/extensions/custom-provider-qwen-cli/package.json +0 -0
  598. /package/{config → .xtrm/config}/pi/extensions/git-checkpoint/index.ts +0 -0
  599. /package/{config → .xtrm/config}/pi/extensions/git-checkpoint/package.json +0 -0
  600. /package/{config → .xtrm/config}/pi/extensions/lsp-bootstrap/index.ts +0 -0
  601. /package/{config → .xtrm/config}/pi/extensions/lsp-bootstrap/package.json +0 -0
  602. /package/{config → .xtrm/config}/pi/extensions/pi-serena-compact/index.ts +0 -0
  603. /package/{config → .xtrm/config}/pi/extensions/pi-serena-compact/package.json +0 -0
  604. /package/{config → .xtrm/config}/pi/extensions/quality-gates/index.ts +0 -0
  605. /package/{config → .xtrm/config}/pi/extensions/quality-gates/package.json +0 -0
  606. /package/{config → .xtrm/config}/pi/extensions/service-skills/index.ts +0 -0
  607. /package/{config → .xtrm/config}/pi/extensions/service-skills/package.json +0 -0
  608. /package/{config → .xtrm/config}/pi/extensions/session-flow/index.ts +0 -0
  609. /package/{config → .xtrm/config}/pi/extensions/session-flow/package.json +0 -0
  610. /package/{config → .xtrm/config}/pi/extensions/xtrm-loader/index.ts +0 -0
  611. /package/{config → .xtrm/config}/pi/extensions/xtrm-loader/package.json +0 -0
  612. /package/{config → .xtrm/config}/pi/extensions/xtrm-ui/format.ts +0 -0
  613. /package/{config → .xtrm/config}/pi/extensions/xtrm-ui/package.json +0 -0
  614. /package/{config → .xtrm/config}/pi/extensions/xtrm-ui/themes/pidex-dark.json +0 -0
  615. /package/{config → .xtrm/config}/pi/extensions/xtrm-ui/themes/pidex-light.json +0 -0
  616. /package/{config → .xtrm/config}/pi/models.json.template +0 -0
  617. /package/{config → .xtrm/config}/pi/pi-worktrees-settings.json +0 -0
  618. /package/{config → .xtrm/config}/pi/settings.json.template +0 -0
  619. /package/{hooks → .xtrm/hooks}/beads-claim-sync.mjs +0 -0
  620. /package/{hooks → .xtrm/hooks}/beads-compact-restore.mjs +0 -0
  621. /package/{hooks → .xtrm/hooks}/beads-compact-save.mjs +0 -0
  622. /package/{hooks → .xtrm/hooks}/beads-edit-gate.mjs +0 -0
  623. /package/{hooks → .xtrm/hooks}/beads-gate-core.mjs +0 -0
  624. /package/{hooks → .xtrm/hooks}/beads-gate-messages.mjs +0 -0
  625. /package/{hooks → .xtrm/hooks}/beads-gate-utils.mjs +0 -0
  626. /package/{hooks → .xtrm/hooks}/beads-stop-gate.mjs +0 -0
  627. /package/{hooks → .xtrm/hooks}/gitnexus/gitnexus-hook.cjs +0 -0
  628. /package/{hooks → .xtrm/hooks}/quality-check.cjs +0 -0
  629. /package/{hooks → .xtrm/hooks}/quality-check.py +0 -0
  630. /package/{hooks → .xtrm/hooks}/worktree-boundary.mjs +0 -0
  631. /package/{hooks → .xtrm/hooks}/xtrm-logger.mjs +0 -0
  632. /package/{hooks → .xtrm/hooks}/xtrm-session-logger.mjs +0 -0
  633. /package/{hooks → .xtrm/hooks}/xtrm-tool-logger.mjs +0 -0
@@ -1,43 +0,0 @@
1
- #!/bin/bash
2
- # Example PreToolUse hook for validating Bash commands
3
- # This script demonstrates bash command validation patterns
4
-
5
- set -euo pipefail
6
-
7
- # Read input from stdin
8
- input=$(cat)
9
-
10
- # Extract command
11
- command=$(echo "$input" | jq -r '.tool_input.command // empty')
12
-
13
- # Validate command exists
14
- if [ -z "$command" ]; then
15
- echo '{"continue": true}' # No command to validate
16
- exit 0
17
- fi
18
-
19
- # Check for obviously safe commands (quick approval)
20
- if [[ "$command" =~ ^(ls|pwd|echo|date|whoami)(\s|$) ]]; then
21
- exit 0
22
- fi
23
-
24
- # Check for destructive operations
25
- if [[ "$command" == *"rm -rf"* ]] || [[ "$command" == *"rm -fr"* ]]; then
26
- echo '{"hookSpecificOutput": {"permissionDecision": "deny"}, "systemMessage": "Dangerous command detected: rm -rf"}' >&2
27
- exit 2
28
- fi
29
-
30
- # Check for other dangerous commands
31
- if [[ "$command" == *"dd if="* ]] || [[ "$command" == *"mkfs"* ]] || [[ "$command" == *"> /dev/"* ]]; then
32
- echo '{"hookSpecificOutput": {"permissionDecision": "deny"}, "systemMessage": "Dangerous system operation detected"}' >&2
33
- exit 2
34
- fi
35
-
36
- # Check for privilege escalation
37
- if [[ "$command" == sudo* ]] || [[ "$command" == su* ]]; then
38
- echo '{"hookSpecificOutput": {"permissionDecision": "ask"}, "systemMessage": "Command requires elevated privileges"}' >&2
39
- exit 2
40
- fi
41
-
42
- # Approve the operation
43
- exit 0
@@ -1,38 +0,0 @@
1
- #!/bin/bash
2
- # Example PreToolUse hook for validating Write/Edit operations
3
- # This script demonstrates file write validation patterns
4
-
5
- set -euo pipefail
6
-
7
- # Read input from stdin
8
- input=$(cat)
9
-
10
- # Extract file path and content
11
- file_path=$(echo "$input" | jq -r '.tool_input.file_path // empty')
12
-
13
- # Validate path exists
14
- if [ -z "$file_path" ]; then
15
- echo '{"continue": true}' # No path to validate
16
- exit 0
17
- fi
18
-
19
- # Check for path traversal
20
- if [[ "$file_path" == *".."* ]]; then
21
- echo '{"hookSpecificOutput": {"permissionDecision": "deny"}, "systemMessage": "Path traversal detected in: '"$file_path"'"}' >&2
22
- exit 2
23
- fi
24
-
25
- # Check for system directories
26
- if [[ "$file_path" == /etc/* ]] || [[ "$file_path" == /sys/* ]] || [[ "$file_path" == /usr/* ]]; then
27
- echo '{"hookSpecificOutput": {"permissionDecision": "deny"}, "systemMessage": "Cannot write to system directory: '"$file_path"'"}' >&2
28
- exit 2
29
- fi
30
-
31
- # Check for sensitive files
32
- if [[ "$file_path" == *.env ]] || [[ "$file_path" == *secret* ]] || [[ "$file_path" == *credentials* ]]; then
33
- echo '{"hookSpecificOutput": {"permissionDecision": "ask"}, "systemMessage": "Writing to potentially sensitive file: '"$file_path"'"}' >&2
34
- exit 2
35
- fi
36
-
37
- # Approve the operation
38
- exit 0
@@ -1,527 +0,0 @@
1
- # Advanced Hook Use Cases
2
-
3
- This reference covers advanced hook patterns and techniques for sophisticated automation workflows.
4
-
5
- ## Multi-Stage Validation
6
-
7
- Combine command and prompt hooks for layered validation:
8
-
9
- ```json
10
- {
11
- "PreToolUse": [
12
- {
13
- "matcher": "Bash",
14
- "hooks": [
15
- {
16
- "type": "command",
17
- "command": "bash ${CLAUDE_PLUGIN_ROOT}/scripts/quick-check.sh",
18
- "timeout": 5
19
- },
20
- {
21
- "type": "prompt",
22
- "prompt": "Deep analysis of bash command: $TOOL_INPUT",
23
- "timeout": 15
24
- }
25
- ]
26
- }
27
- ]
28
- }
29
- ```
30
-
31
- **Use case:** Fast deterministic checks followed by intelligent analysis
32
-
33
- **Example quick-check.sh:**
34
- ```bash
35
- #!/bin/bash
36
- input=$(cat)
37
- command=$(echo "$input" | jq -r '.tool_input.command')
38
-
39
- # Immediate approval for safe commands
40
- if [[ "$command" =~ ^(ls|pwd|echo|date|whoami)$ ]]; then
41
- exit 0
42
- fi
43
-
44
- # Let prompt hook handle complex cases
45
- exit 0
46
- ```
47
-
48
- The command hook quickly approves obviously safe commands, while the prompt hook analyzes everything else.
49
-
50
- ## Conditional Hook Execution
51
-
52
- Execute hooks based on environment or context:
53
-
54
- ```bash
55
- #!/bin/bash
56
- # Only run in CI environment
57
- if [ -z "$CI" ]; then
58
- echo '{"continue": true}' # Skip in non-CI
59
- exit 0
60
- fi
61
-
62
- # Run validation logic in CI
63
- input=$(cat)
64
- # ... validation code ...
65
- ```
66
-
67
- **Use cases:**
68
- - Different behavior in CI vs local development
69
- - Project-specific validation
70
- - User-specific rules
71
-
72
- **Example: Skip certain checks for trusted users:**
73
- ```bash
74
- #!/bin/bash
75
- # Skip detailed checks for admin users
76
- if [ "$USER" = "admin" ]; then
77
- exit 0
78
- fi
79
-
80
- # Full validation for other users
81
- input=$(cat)
82
- # ... validation code ...
83
- ```
84
-
85
- ## Hook Chaining via State
86
-
87
- Share state between hooks using temporary files:
88
-
89
- ```bash
90
- # Hook 1: Analyze and save state
91
- #!/bin/bash
92
- input=$(cat)
93
- command=$(echo "$input" | jq -r '.tool_input.command')
94
-
95
- # Analyze command
96
- risk_level=$(calculate_risk "$command")
97
- echo "$risk_level" > /tmp/hook-state-$$
98
-
99
- exit 0
100
- ```
101
-
102
- ```bash
103
- # Hook 2: Use saved state
104
- #!/bin/bash
105
- risk_level=$(cat /tmp/hook-state-$$ 2>/dev/null || echo "unknown")
106
-
107
- if [ "$risk_level" = "high" ]; then
108
- echo "High risk operation detected" >&2
109
- exit 2
110
- fi
111
- ```
112
-
113
- **Important:** This only works for sequential hook events (e.g., PreToolUse then PostToolUse), not parallel hooks.
114
-
115
- ## Dynamic Hook Configuration
116
-
117
- Modify hook behavior based on project configuration:
118
-
119
- ```bash
120
- #!/bin/bash
121
- cd "$CLAUDE_PROJECT_DIR" || exit 1
122
-
123
- # Read project-specific config
124
- if [ -f ".claude-hooks-config.json" ]; then
125
- strict_mode=$(jq -r '.strict_mode' .claude-hooks-config.json)
126
-
127
- if [ "$strict_mode" = "true" ]; then
128
- # Apply strict validation
129
- # ...
130
- else
131
- # Apply lenient validation
132
- # ...
133
- fi
134
- fi
135
- ```
136
-
137
- **Example .claude-hooks-config.json:**
138
- ```json
139
- {
140
- "strict_mode": true,
141
- "allowed_commands": ["ls", "pwd", "grep"],
142
- "forbidden_paths": ["/etc", "/sys"]
143
- }
144
- ```
145
-
146
- ## Context-Aware Prompt Hooks
147
-
148
- Use transcript and session context for intelligent decisions:
149
-
150
- ```json
151
- {
152
- "Stop": [
153
- {
154
- "matcher": "*",
155
- "hooks": [
156
- {
157
- "type": "prompt",
158
- "prompt": "Review the full transcript at $TRANSCRIPT_PATH. Check: 1) Were tests run after code changes? 2) Did the build succeed? 3) Were all user questions answered? 4) Is there any unfinished work? Return 'approve' only if everything is complete."
159
- }
160
- ]
161
- }
162
- ]
163
- }
164
- ```
165
-
166
- The LLM can read the transcript file and make context-aware decisions.
167
-
168
- ## Performance Optimization
169
-
170
- ### Caching Validation Results
171
-
172
- ```bash
173
- #!/bin/bash
174
- input=$(cat)
175
- file_path=$(echo "$input" | jq -r '.tool_input.file_path')
176
- cache_key=$(echo -n "$file_path" | md5sum | cut -d' ' -f1)
177
- cache_file="/tmp/hook-cache-$cache_key"
178
-
179
- # Check cache
180
- if [ -f "$cache_file" ]; then
181
- cache_age=$(($(date +%s) - $(stat -f%m "$cache_file" 2>/dev/null || stat -c%Y "$cache_file")))
182
- if [ "$cache_age" -lt 300 ]; then # 5 minute cache
183
- cat "$cache_file"
184
- exit 0
185
- fi
186
- fi
187
-
188
- # Perform validation
189
- result='{"decision": "approve"}'
190
-
191
- # Cache result
192
- echo "$result" > "$cache_file"
193
- echo "$result"
194
- ```
195
-
196
- ### Parallel Execution Optimization
197
-
198
- Since hooks run in parallel, design them to be independent:
199
-
200
- ```json
201
- {
202
- "PreToolUse": [
203
- {
204
- "matcher": "Write",
205
- "hooks": [
206
- {
207
- "type": "command",
208
- "command": "bash check-size.sh", // Independent
209
- "timeout": 2
210
- },
211
- {
212
- "type": "command",
213
- "command": "bash check-path.sh", // Independent
214
- "timeout": 2
215
- },
216
- {
217
- "type": "prompt",
218
- "prompt": "Check content safety", // Independent
219
- "timeout": 10
220
- }
221
- ]
222
- }
223
- ]
224
- }
225
- ```
226
-
227
- All three hooks run simultaneously, reducing total latency.
228
-
229
- ## Cross-Event Workflows
230
-
231
- Coordinate hooks across different events:
232
-
233
- **SessionStart - Set up tracking:**
234
- ```bash
235
- #!/bin/bash
236
- # Initialize session tracking
237
- echo "0" > /tmp/test-count-$$
238
- echo "0" > /tmp/build-count-$$
239
- ```
240
-
241
- **PostToolUse - Track events:**
242
- ```bash
243
- #!/bin/bash
244
- input=$(cat)
245
- tool_name=$(echo "$input" | jq -r '.tool_name')
246
-
247
- if [ "$tool_name" = "Bash" ]; then
248
- command=$(echo "$input" | jq -r '.tool_result')
249
- if [[ "$command" == *"test"* ]]; then
250
- count=$(cat /tmp/test-count-$$ 2>/dev/null || echo "0")
251
- echo $((count + 1)) > /tmp/test-count-$$
252
- fi
253
- fi
254
- ```
255
-
256
- **Stop - Verify based on tracking:**
257
- ```bash
258
- #!/bin/bash
259
- test_count=$(cat /tmp/test-count-$$ 2>/dev/null || echo "0")
260
-
261
- if [ "$test_count" -eq 0 ]; then
262
- echo '{"decision": "block", "reason": "No tests were run"}' >&2
263
- exit 2
264
- fi
265
- ```
266
-
267
- ## Integration with External Systems
268
-
269
- ### Slack Notifications
270
-
271
- ```bash
272
- #!/bin/bash
273
- input=$(cat)
274
- tool_name=$(echo "$input" | jq -r '.tool_name')
275
- decision="blocked"
276
-
277
- # Send notification to Slack
278
- curl -X POST "$SLACK_WEBHOOK" \
279
- -H 'Content-Type: application/json' \
280
- -d "{\"text\": \"Hook ${decision} ${tool_name} operation\"}" \
281
- 2>/dev/null
282
-
283
- echo '{"decision": "deny"}' >&2
284
- exit 2
285
- ```
286
-
287
- ### Database Logging
288
-
289
- ```bash
290
- #!/bin/bash
291
- input=$(cat)
292
-
293
- # Log to database
294
- psql "$DATABASE_URL" -c "INSERT INTO hook_logs (event, data) VALUES ('PreToolUse', '$input')" \
295
- 2>/dev/null
296
-
297
- exit 0
298
- ```
299
-
300
- ### Metrics Collection
301
-
302
- ```bash
303
- #!/bin/bash
304
- input=$(cat)
305
- tool_name=$(echo "$input" | jq -r '.tool_name')
306
-
307
- # Send metrics to monitoring system
308
- echo "hook.pretooluse.${tool_name}:1|c" | nc -u -w1 statsd.local 8125
309
-
310
- exit 0
311
- ```
312
-
313
- ## Security Patterns
314
-
315
- ### Rate Limiting
316
-
317
- ```bash
318
- #!/bin/bash
319
- input=$(cat)
320
- command=$(echo "$input" | jq -r '.tool_input.command')
321
-
322
- # Track command frequency
323
- rate_file="/tmp/hook-rate-$$"
324
- current_minute=$(date +%Y%m%d%H%M)
325
-
326
- if [ -f "$rate_file" ]; then
327
- last_minute=$(head -1 "$rate_file")
328
- count=$(tail -1 "$rate_file")
329
-
330
- if [ "$current_minute" = "$last_minute" ]; then
331
- if [ "$count" -gt 10 ]; then
332
- echo '{"decision": "deny", "reason": "Rate limit exceeded"}' >&2
333
- exit 2
334
- fi
335
- count=$((count + 1))
336
- else
337
- count=1
338
- fi
339
- else
340
- count=1
341
- fi
342
-
343
- echo "$current_minute" > "$rate_file"
344
- echo "$count" >> "$rate_file"
345
-
346
- exit 0
347
- ```
348
-
349
- ### Audit Logging
350
-
351
- ```bash
352
- #!/bin/bash
353
- input=$(cat)
354
- tool_name=$(echo "$input" | jq -r '.tool_name')
355
- timestamp=$(date -Iseconds)
356
-
357
- # Append to audit log
358
- echo "$timestamp | $USER | $tool_name | $input" >> ~/.claude/audit.log
359
-
360
- exit 0
361
- ```
362
-
363
- ### Secret Detection
364
-
365
- ```bash
366
- #!/bin/bash
367
- input=$(cat)
368
- content=$(echo "$input" | jq -r '.tool_input.content')
369
-
370
- # Check for common secret patterns
371
- if echo "$content" | grep -qE "(api[_-]?key|password|secret|token).{0,20}['\"]?[A-Za-z0-9]{20,}"; then
372
- echo '{"decision": "deny", "reason": "Potential secret detected in content"}' >&2
373
- exit 2
374
- fi
375
-
376
- exit 0
377
- ```
378
-
379
- ## Testing Advanced Hooks
380
-
381
- ### Unit Testing Hook Scripts
382
-
383
- ```bash
384
- # test-hook.sh
385
- #!/bin/bash
386
-
387
- # Test 1: Approve safe command
388
- result=$(echo '{"tool_input": {"command": "ls"}}' | bash validate-bash.sh)
389
- if [ $? -eq 0 ]; then
390
- echo "✓ Test 1 passed"
391
- else
392
- echo "✗ Test 1 failed"
393
- fi
394
-
395
- # Test 2: Block dangerous command
396
- result=$(echo '{"tool_input": {"command": "rm -rf /"}}' | bash validate-bash.sh)
397
- if [ $? -eq 2 ]; then
398
- echo "✓ Test 2 passed"
399
- else
400
- echo "✗ Test 2 failed"
401
- fi
402
- ```
403
-
404
- ### Integration Testing
405
-
406
- Create test scenarios that exercise the full hook workflow:
407
-
408
- ```bash
409
- # integration-test.sh
410
- #!/bin/bash
411
-
412
- # Set up test environment
413
- export CLAUDE_PROJECT_DIR="/tmp/test-project"
414
- export CLAUDE_PLUGIN_ROOT="$(pwd)"
415
- mkdir -p "$CLAUDE_PROJECT_DIR"
416
-
417
- # Test SessionStart hook
418
- echo '{}' | bash hooks/session-start.sh
419
- if [ -f "/tmp/session-initialized" ]; then
420
- echo "✓ SessionStart hook works"
421
- else
422
- echo "✗ SessionStart hook failed"
423
- fi
424
-
425
- # Clean up
426
- rm -rf "$CLAUDE_PROJECT_DIR"
427
- ```
428
-
429
- ## Best Practices for Advanced Hooks
430
-
431
- 1. **Keep hooks independent**: Don't rely on execution order
432
- 2. **Use timeouts**: Set appropriate limits for each hook type
433
- 3. **Handle errors gracefully**: Provide clear error messages
434
- 4. **Document complexity**: Explain advanced patterns in README
435
- 5. **Test thoroughly**: Cover edge cases and failure modes
436
- 6. **Monitor performance**: Track hook execution time
437
- 7. **Version configuration**: Use version control for hook configs
438
- 8. **Provide escape hatches**: Allow users to bypass hooks when needed
439
-
440
- ## Common Pitfalls
441
-
442
- ### ❌ Assuming Hook Order
443
-
444
- ```bash
445
- # BAD: Assumes hooks run in specific order
446
- # Hook 1 saves state, Hook 2 reads it
447
- # This can fail because hooks run in parallel!
448
- ```
449
-
450
- ### ❌ Long-Running Hooks
451
-
452
- ```bash
453
- # BAD: Hook takes 2 minutes to run
454
- sleep 120
455
- # This will timeout and block the workflow
456
- ```
457
-
458
- ### ❌ Uncaught Exceptions
459
-
460
- ```bash
461
- # BAD: Script crashes on unexpected input
462
- file_path=$(echo "$input" | jq -r '.tool_input.file_path')
463
- cat "$file_path" # Fails if file doesn't exist
464
- ```
465
-
466
- ### ✅ Proper Error Handling
467
-
468
- ```bash
469
- # GOOD: Handles errors gracefully
470
- file_path=$(echo "$input" | jq -r '.tool_input.file_path')
471
- if [ ! -f "$file_path" ]; then
472
- echo '{"continue": true, "systemMessage": "File not found, skipping check"}' >&2
473
- exit 0
474
- fi
475
- ```
476
-
477
- ## Conclusion
478
-
479
- Advanced hook patterns enable sophisticated automation while maintaining reliability and performance. Use these techniques when basic hooks are insufficient, but always prioritize simplicity and maintainability.
480
-
481
- ## Agent-Based Hooks
482
-
483
- Instead of using a simple `prompt` type, you can trigger a full `agent` to evaluate complex scenarios. This is useful when the validation itself requires tool usage (e.g., searching codebase, reading external logs).
484
-
485
- ```json
486
- {
487
- "PreToolUse": [
488
- {
489
- "matcher": "Bash",
490
- "hooks": [
491
- {
492
- "type": "agent",
493
- "agent": "security-reviewer",
494
- "prompt": "Review this bash command for security issues: $TOOL_INPUT",
495
- "timeout": 120
496
- }
497
- ]
498
- }
499
- ]
500
- }
501
- ```
502
-
503
- ## HTTP Webhooks (HTTP Hooks)
504
-
505
- You can trigger remote services directly via HTTP endpoints instead of using Bash `curl`. Useful for CI/CD integrations or remote logging.
506
-
507
- ```json
508
- {
509
- "PostToolUse": [
510
- {
511
- "matcher": "Bash",
512
- "hooks": [
513
- {
514
- "type": "http",
515
- "url": "https://api.your-monitoring.com/events",
516
- "method": "POST",
517
- "headers": {
518
- "Authorization": "Bearer ${MONITORING_TOKEN}"
519
- },
520
- "body": "{\"event\": \"tool_use\", \"tool\": \"$TOOL_NAME\", \"cwd\": \"$CWD\"}",
521
- "timeout": 10
522
- }
523
- ]
524
- }
525
- ]
526
- }
527
- ```