xtrm-tools 2.0.0

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 (447) hide show
  1. package/CHANGELOG.md +496 -0
  2. package/README.md +762 -0
  3. package/cli/dist/index.cjs +55245 -0
  4. package/cli/dist/index.cjs.map +1 -0
  5. package/cli/dist/index.d.cts +2 -0
  6. package/cli/package.json +43 -0
  7. package/config/.env.example +40 -0
  8. package/config/hooks.json +36 -0
  9. package/config/mcp_servers.json +46 -0
  10. package/config/mcp_servers_optional.json +53 -0
  11. package/config/settings.json +70 -0
  12. package/hooks/README.md +156 -0
  13. package/hooks/__pycache__/agent_context.cpython-314.pyc +0 -0
  14. package/hooks/agent_context.py +105 -0
  15. package/hooks/gitnexus/gitnexus-hook.cjs +133 -0
  16. package/hooks/serena-workflow-reminder.py +74 -0
  17. package/hooks/skill-discovery.py +90 -0
  18. package/hooks/skill-suggestion.py +112 -0
  19. package/hooks/test_agent_context.py +112 -0
  20. package/hooks/type-safety-enforcement.py +107 -0
  21. package/package.json +48 -0
  22. package/project-skills/main-guard/.claude/hooks/main-guard.cjs +188 -0
  23. package/project-skills/main-guard/.claude/settings.json +16 -0
  24. package/project-skills/main-guard/.claude/skills/using-main-guard/SKILL.md +135 -0
  25. package/project-skills/main-guard/README.md +163 -0
  26. package/project-skills/py-quality-gate/.claude/hooks/quality-check.py +311 -0
  27. package/project-skills/py-quality-gate/.claude/settings.json +16 -0
  28. package/project-skills/py-quality-gate/.claude/skills/using-py-quality-gate/SKILL.md +112 -0
  29. package/project-skills/py-quality-gate/README.md +147 -0
  30. package/project-skills/service-skills-set/.claude/git-hooks/__pycache__/doc_reminder.cpython-314.pyc +0 -0
  31. package/project-skills/service-skills-set/.claude/git-hooks/__pycache__/skill_staleness.cpython-314.pyc +0 -0
  32. package/project-skills/service-skills-set/.claude/git-hooks/doc_reminder.py +67 -0
  33. package/project-skills/service-skills-set/.claude/git-hooks/skill_staleness.py +194 -0
  34. package/project-skills/service-skills-set/.claude/service-registry.json +4 -0
  35. package/project-skills/service-skills-set/.claude/settings.json +37 -0
  36. package/project-skills/service-skills-set/.claude/skills/creating-service-skills/SKILL.md +433 -0
  37. package/project-skills/service-skills-set/.claude/skills/creating-service-skills/references/script_quality_standards.md +412 -0
  38. package/project-skills/service-skills-set/.claude/skills/creating-service-skills/references/service_skill_system_guide.md +264 -0
  39. package/project-skills/service-skills-set/.claude/skills/creating-service-skills/scripts/bootstrap.py +308 -0
  40. package/project-skills/service-skills-set/.claude/skills/creating-service-skills/scripts/deep_dive.py +304 -0
  41. package/project-skills/service-skills-set/.claude/skills/creating-service-skills/scripts/scaffolder.py +482 -0
  42. package/project-skills/service-skills-set/.claude/skills/scoping-service-skills/SKILL.md +231 -0
  43. package/project-skills/service-skills-set/.claude/skills/scoping-service-skills/scripts/scope.py +74 -0
  44. package/project-skills/service-skills-set/.claude/skills/updating-service-skills/SKILL.md +136 -0
  45. package/project-skills/service-skills-set/.claude/skills/updating-service-skills/scripts/__pycache__/drift_detector.cpython-314.pyc +0 -0
  46. package/project-skills/service-skills-set/.claude/skills/updating-service-skills/scripts/drift_detector.py +222 -0
  47. package/project-skills/service-skills-set/.claude/skills/using-service-skills/SKILL.md +108 -0
  48. package/project-skills/service-skills-set/.claude/skills/using-service-skills/scripts/__pycache__/cataloger.cpython-314.pyc +0 -0
  49. package/project-skills/service-skills-set/.claude/skills/using-service-skills/scripts/__pycache__/skill_activator.cpython-314.pyc +0 -0
  50. package/project-skills/service-skills-set/.claude/skills/using-service-skills/scripts/cataloger.py +74 -0
  51. package/project-skills/service-skills-set/.claude/skills/using-service-skills/scripts/skill_activator.py +152 -0
  52. package/project-skills/service-skills-set/README.md +93 -0
  53. package/project-skills/service-skills-set/__pycache__/install-service-skills.cpython-314.pyc +0 -0
  54. package/project-skills/service-skills-set/install-service-skills.py +163 -0
  55. package/project-skills/service-skills-set/service-skills-readme.md +236 -0
  56. package/project-skills/tdd-guard/.claude/settings.json +38 -0
  57. package/project-skills/tdd-guard/.claude/skills/using-tdd-guard/SKILL.md +74 -0
  58. package/project-skills/tdd-guard/CLAUDE.md +98 -0
  59. package/project-skills/tdd-guard/CONTRIBUTING.md +38 -0
  60. package/project-skills/tdd-guard/DEVELOPMENT.md +127 -0
  61. package/project-skills/tdd-guard/LICENSE +21 -0
  62. package/project-skills/tdd-guard/README.md +396 -0
  63. package/project-skills/tdd-guard/docs/adr/001-claude-session-subdirectory.md +52 -0
  64. package/project-skills/tdd-guard/docs/adr/002-secure-claude-binary-path.md +56 -0
  65. package/project-skills/tdd-guard/docs/adr/003-remove-configurable-data-directory.md +56 -0
  66. package/project-skills/tdd-guard/docs/adr/004-monorepo-architecture.md +64 -0
  67. package/project-skills/tdd-guard/docs/adr/005-claude-project-dir-support.md +55 -0
  68. package/project-skills/tdd-guard/docs/adr/006-phpunit-separate-repository.md +93 -0
  69. package/project-skills/tdd-guard/docs/adr/007-golangci-lint-path-support.md +83 -0
  70. package/project-skills/tdd-guard/docs/adr/008-storybook-reporter-design.md +182 -0
  71. package/project-skills/tdd-guard/docs/assets/tdd-guard-demo-screenshot.gif +0 -0
  72. package/project-skills/tdd-guard/docs/config-migration.md +143 -0
  73. package/project-skills/tdd-guard/docs/configuration.md +137 -0
  74. package/project-skills/tdd-guard/docs/custom-instructions.md +43 -0
  75. package/project-skills/tdd-guard/docs/enforcement.md +46 -0
  76. package/project-skills/tdd-guard/docs/ignore-patterns.md +81 -0
  77. package/project-skills/tdd-guard/docs/linting.md +109 -0
  78. package/project-skills/tdd-guard/docs/quick-commands.md +52 -0
  79. package/project-skills/tdd-guard/docs/session-management.md +75 -0
  80. package/project-skills/tdd-guard/docs/storybook-vitest-addon.md +120 -0
  81. package/project-skills/tdd-guard/docs/validation-model.md +63 -0
  82. package/project-skills/tdd-guard/eslint.config.mjs +140 -0
  83. package/project-skills/tdd-guard/package-lock.json +16937 -0
  84. package/project-skills/tdd-guard/package.json +102 -0
  85. package/project-skills/tdd-guard/reporters/go/README.md +67 -0
  86. package/project-skills/tdd-guard/reporters/go/cmd/tdd-guard-go/main.go +127 -0
  87. package/project-skills/tdd-guard/reporters/go/cmd/tdd-guard-go/main_test.go +280 -0
  88. package/project-skills/tdd-guard/reporters/go/go.mod +3 -0
  89. package/project-skills/tdd-guard/reporters/go/go.sum +0 -0
  90. package/project-skills/tdd-guard/reporters/go/internal/formatter/formatter.go +126 -0
  91. package/project-skills/tdd-guard/reporters/go/internal/formatter/formatter_test.go +264 -0
  92. package/project-skills/tdd-guard/reporters/go/internal/io/tee_reader.go +26 -0
  93. package/project-skills/tdd-guard/reporters/go/internal/io/tee_reader_test.go +37 -0
  94. package/project-skills/tdd-guard/reporters/go/internal/parser/mixed_reader.go +94 -0
  95. package/project-skills/tdd-guard/reporters/go/internal/parser/mixed_reader_test.go +198 -0
  96. package/project-skills/tdd-guard/reporters/go/internal/parser/parser.go +245 -0
  97. package/project-skills/tdd-guard/reporters/go/internal/parser/parser_test.go +547 -0
  98. package/project-skills/tdd-guard/reporters/go/internal/storage/storage.go +35 -0
  99. package/project-skills/tdd-guard/reporters/go/internal/storage/storage_test.go +113 -0
  100. package/project-skills/tdd-guard/reporters/go/internal/transformer/transformer.go +103 -0
  101. package/project-skills/tdd-guard/reporters/go/internal/transformer/transformer_test.go +303 -0
  102. package/project-skills/tdd-guard/reporters/jest/README.md +102 -0
  103. package/project-skills/tdd-guard/reporters/jest/package.json +38 -0
  104. package/project-skills/tdd-guard/reporters/phpunit/.php-cs-fixer.php +28 -0
  105. package/project-skills/tdd-guard/reporters/phpunit/README.md +97 -0
  106. package/project-skills/tdd-guard/reporters/phpunit/SYNC_README.md +29 -0
  107. package/project-skills/tdd-guard/reporters/phpunit/composer.json +55 -0
  108. package/project-skills/tdd-guard/reporters/phpunit/phpunit.xml.dist +19 -0
  109. package/project-skills/tdd-guard/reporters/phpunit/psalm.xml +44 -0
  110. package/project-skills/tdd-guard/reporters/phpunit/src/Event/ErroredTestSubscriber.php +28 -0
  111. package/project-skills/tdd-guard/reporters/phpunit/src/Event/FailedTestSubscriber.php +28 -0
  112. package/project-skills/tdd-guard/reporters/phpunit/src/Event/IncompleteTestSubscriber.php +28 -0
  113. package/project-skills/tdd-guard/reporters/phpunit/src/Event/PassedTestSubscriber.php +27 -0
  114. package/project-skills/tdd-guard/reporters/phpunit/src/Event/SkippedTestSubscriber.php +28 -0
  115. package/project-skills/tdd-guard/reporters/phpunit/src/Event/TestRunnerFinishedSubscriber.php +24 -0
  116. package/project-skills/tdd-guard/reporters/phpunit/src/PathValidator.php +88 -0
  117. package/project-skills/tdd-guard/reporters/phpunit/src/Storage.php +26 -0
  118. package/project-skills/tdd-guard/reporters/phpunit/src/TddGuardExtension.php +33 -0
  119. package/project-skills/tdd-guard/reporters/phpunit/src/TddGuardListener.php +158 -0
  120. package/project-skills/tdd-guard/reporters/phpunit/src/TddGuardSubscriber.php +35 -0
  121. package/project-skills/tdd-guard/reporters/phpunit/src/TestResultCollector.php +105 -0
  122. package/project-skills/tdd-guard/reporters/phpunit/tests/PathValidatorTest.php +74 -0
  123. package/project-skills/tdd-guard/reporters/phpunit/tests/TddGuardExtensionFailedTest.php +241 -0
  124. package/project-skills/tdd-guard/reporters/phpunit/tests/TddGuardExtensionTest.php +84 -0
  125. package/project-skills/tdd-guard/reporters/phpunit/tests/TddGuardStorageLocationTest.php +71 -0
  126. package/project-skills/tdd-guard/reporters/pytest/README.md +77 -0
  127. package/project-skills/tdd-guard/reporters/pytest/pyproject.toml +43 -0
  128. package/project-skills/tdd-guard/reporters/pytest/pytest.ini.example +7 -0
  129. package/project-skills/tdd-guard/reporters/pytest/tdd_guard_pytest/__init__.py +1 -0
  130. package/project-skills/tdd-guard/reporters/pytest/tdd_guard_pytest/pytest_reporter.py +134 -0
  131. package/project-skills/tdd-guard/reporters/pytest/tests/__init__.py +1 -0
  132. package/project-skills/tdd-guard/reporters/pytest/tests/conftest.py +3 -0
  133. package/project-skills/tdd-guard/reporters/pytest/tests/helpers.py +293 -0
  134. package/project-skills/tdd-guard/reporters/pytest/tests/test_config_option.py +38 -0
  135. package/project-skills/tdd-guard/reporters/pytest/tests/test_path_validation.py +59 -0
  136. package/project-skills/tdd-guard/reporters/pytest/tests/test_plugin_config.py +32 -0
  137. package/project-skills/tdd-guard/reporters/pytest/tests/test_project_root.py +296 -0
  138. package/project-skills/tdd-guard/reporters/pytest/tests/test_pytest_reporter.py +137 -0
  139. package/project-skills/tdd-guard/reporters/rspec/Gemfile +3 -0
  140. package/project-skills/tdd-guard/reporters/rust/Cargo.lock +458 -0
  141. package/project-skills/tdd-guard/reporters/rust/Cargo.toml +33 -0
  142. package/project-skills/tdd-guard/reporters/rust/Makefile.example +95 -0
  143. package/project-skills/tdd-guard/reporters/rust/README.md +88 -0
  144. package/project-skills/tdd-guard/reporters/rust/src/error_parser.rs +309 -0
  145. package/project-skills/tdd-guard/reporters/rust/src/main.rs +464 -0
  146. package/project-skills/tdd-guard/reporters/rust/src/parser.rs +225 -0
  147. package/project-skills/tdd-guard/reporters/rust/src/transformer.rs +409 -0
  148. package/project-skills/tdd-guard/reporters/storybook/README.md +108 -0
  149. package/project-skills/tdd-guard/reporters/storybook/package-lock.json +9482 -0
  150. package/project-skills/tdd-guard/reporters/storybook/package.json +43 -0
  151. package/project-skills/tdd-guard/reporters/storybook/src/StorybookReporter.test-data.ts +22 -0
  152. package/project-skills/tdd-guard/reporters/storybook/src/StorybookReporter.test.ts +190 -0
  153. package/project-skills/tdd-guard/reporters/storybook/src/StorybookReporter.ts +88 -0
  154. package/project-skills/tdd-guard/reporters/storybook/src/index.ts +12 -0
  155. package/project-skills/tdd-guard/reporters/storybook/src/types.ts +37 -0
  156. package/project-skills/tdd-guard/reporters/storybook/tsconfig.json +11 -0
  157. package/project-skills/tdd-guard/reporters/test/artifacts/go/failing/go.mod +3 -0
  158. package/project-skills/tdd-guard/reporters/test/artifacts/go/failing/single_failing_test.go +13 -0
  159. package/project-skills/tdd-guard/reporters/test/artifacts/go/import/go.mod +3 -0
  160. package/project-skills/tdd-guard/reporters/test/artifacts/go/import/single_import_error_test.go +17 -0
  161. package/project-skills/tdd-guard/reporters/test/artifacts/go/passing/go.mod +3 -0
  162. package/project-skills/tdd-guard/reporters/test/artifacts/go/passing/single_passing_test.go +13 -0
  163. package/project-skills/tdd-guard/reporters/test/artifacts/jest/single-failing.test.js +5 -0
  164. package/project-skills/tdd-guard/reporters/test/artifacts/jest/single-import-error.test.js +8 -0
  165. package/project-skills/tdd-guard/reporters/test/artifacts/jest/single-passing.test.js +5 -0
  166. package/project-skills/tdd-guard/reporters/test/artifacts/phpunit/SingleFailingTest.php +11 -0
  167. package/project-skills/tdd-guard/reporters/test/artifacts/phpunit/SingleImportErrorTest.php +14 -0
  168. package/project-skills/tdd-guard/reporters/test/artifacts/phpunit/SinglePassingTest.php +11 -0
  169. package/project-skills/tdd-guard/reporters/test/artifacts/pytest/test_single_failing.py +3 -0
  170. package/project-skills/tdd-guard/reporters/test/artifacts/pytest/test_single_import_error.py +6 -0
  171. package/project-skills/tdd-guard/reporters/test/artifacts/pytest/test_single_passing.py +3 -0
  172. package/project-skills/tdd-guard/reporters/test/artifacts/rust/failing/Cargo.lock +7 -0
  173. package/project-skills/tdd-guard/reporters/test/artifacts/rust/failing/Cargo.toml +4 -0
  174. package/project-skills/tdd-guard/reporters/test/artifacts/rust/failing/src/lib.rs +14 -0
  175. package/project-skills/tdd-guard/reporters/test/artifacts/rust/import/Cargo.lock +7 -0
  176. package/project-skills/tdd-guard/reporters/test/artifacts/rust/import/Cargo.toml +4 -0
  177. package/project-skills/tdd-guard/reporters/test/artifacts/rust/import/src/lib.rs +13 -0
  178. package/project-skills/tdd-guard/reporters/test/artifacts/rust/passing/Cargo.lock +7 -0
  179. package/project-skills/tdd-guard/reporters/test/artifacts/rust/passing/Cargo.toml +4 -0
  180. package/project-skills/tdd-guard/reporters/test/artifacts/rust/passing/src/lib.rs +14 -0
  181. package/project-skills/tdd-guard/reporters/test/artifacts/storybook/Calculator.js +4 -0
  182. package/project-skills/tdd-guard/reporters/test/artifacts/storybook/single-failing.stories.js +15 -0
  183. package/project-skills/tdd-guard/reporters/test/artifacts/storybook/single-import-error.stories.js +14 -0
  184. package/project-skills/tdd-guard/reporters/test/artifacts/storybook/single-passing.stories.js +15 -0
  185. package/project-skills/tdd-guard/reporters/test/artifacts/vitest/single-failing.test.js +7 -0
  186. package/project-skills/tdd-guard/reporters/test/artifacts/vitest/single-import-error.test.js +9 -0
  187. package/project-skills/tdd-guard/reporters/test/artifacts/vitest/single-passing.test.js +7 -0
  188. package/project-skills/tdd-guard/reporters/test/factories/go.ts +59 -0
  189. package/project-skills/tdd-guard/reporters/test/factories/helpers.ts +48 -0
  190. package/project-skills/tdd-guard/reporters/test/factories/index.ts +7 -0
  191. package/project-skills/tdd-guard/reporters/test/factories/jest.ts +51 -0
  192. package/project-skills/tdd-guard/reporters/test/factories/phpunit.ts +63 -0
  193. package/project-skills/tdd-guard/reporters/test/factories/pytest.ts +41 -0
  194. package/project-skills/tdd-guard/reporters/test/factories/rust.ts +158 -0
  195. package/project-skills/tdd-guard/reporters/test/factories/storybook.ts +198 -0
  196. package/project-skills/tdd-guard/reporters/test/factories/vitest.ts +51 -0
  197. package/project-skills/tdd-guard/reporters/test/reporters.integration.test.ts +735 -0
  198. package/project-skills/tdd-guard/reporters/test/types.ts +28 -0
  199. package/project-skills/tdd-guard/reporters/vitest/README.md +64 -0
  200. package/project-skills/tdd-guard/reporters/vitest/package.json +35 -0
  201. package/project-skills/tdd-guard/src/cli/buildContext.test.ts +200 -0
  202. package/project-skills/tdd-guard/src/cli/buildContext.ts +48 -0
  203. package/project-skills/tdd-guard/src/cli/tdd-guard.test.ts +159 -0
  204. package/project-skills/tdd-guard/src/cli/tdd-guard.ts +48 -0
  205. package/project-skills/tdd-guard/src/config/Config.test.ts +538 -0
  206. package/project-skills/tdd-guard/src/config/Config.ts +172 -0
  207. package/project-skills/tdd-guard/src/contracts/schemas/guardSchemas.test.ts +58 -0
  208. package/project-skills/tdd-guard/src/contracts/schemas/guardSchemas.ts +8 -0
  209. package/project-skills/tdd-guard/src/contracts/schemas/lintSchemas.test.ts +347 -0
  210. package/project-skills/tdd-guard/src/contracts/schemas/lintSchemas.ts +61 -0
  211. package/project-skills/tdd-guard/src/contracts/schemas/pytestSchemas.test.ts +24 -0
  212. package/project-skills/tdd-guard/src/contracts/schemas/pytestSchemas.ts +7 -0
  213. package/project-skills/tdd-guard/src/contracts/schemas/reporterSchemas.test.ts +377 -0
  214. package/project-skills/tdd-guard/src/contracts/schemas/reporterSchemas.ts +75 -0
  215. package/project-skills/tdd-guard/src/contracts/schemas/toolSchemas.test.ts +563 -0
  216. package/project-skills/tdd-guard/src/contracts/schemas/toolSchemas.ts +140 -0
  217. package/project-skills/tdd-guard/src/contracts/types/ClientType.ts +1 -0
  218. package/project-skills/tdd-guard/src/contracts/types/ConfigOptions.ts +12 -0
  219. package/project-skills/tdd-guard/src/contracts/types/Context.ts +16 -0
  220. package/project-skills/tdd-guard/src/contracts/types/ModelClient.ts +3 -0
  221. package/project-skills/tdd-guard/src/contracts/types/ValidationResult.ts +6 -0
  222. package/project-skills/tdd-guard/src/guard/GuardManager.test.ts +336 -0
  223. package/project-skills/tdd-guard/src/guard/GuardManager.ts +83 -0
  224. package/project-skills/tdd-guard/src/hooks/HookEvents.test.ts +107 -0
  225. package/project-skills/tdd-guard/src/hooks/HookEvents.ts +39 -0
  226. package/project-skills/tdd-guard/src/hooks/fileTypeDetection.ts +16 -0
  227. package/project-skills/tdd-guard/src/hooks/postToolLint.test.ts +327 -0
  228. package/project-skills/tdd-guard/src/hooks/postToolLint.ts +165 -0
  229. package/project-skills/tdd-guard/src/hooks/processHookData.test.ts +465 -0
  230. package/project-skills/tdd-guard/src/hooks/processHookData.ts +203 -0
  231. package/project-skills/tdd-guard/src/hooks/sessionHandler.test.ts +136 -0
  232. package/project-skills/tdd-guard/src/hooks/sessionHandler.ts +31 -0
  233. package/project-skills/tdd-guard/src/hooks/userPromptHandler.test.ts +131 -0
  234. package/project-skills/tdd-guard/src/hooks/userPromptHandler.ts +55 -0
  235. package/project-skills/tdd-guard/src/index.ts +19 -0
  236. package/project-skills/tdd-guard/src/linters/Linter.ts +5 -0
  237. package/project-skills/tdd-guard/src/linters/eslint/ESLint.test.ts +183 -0
  238. package/project-skills/tdd-guard/src/linters/eslint/ESLint.ts +82 -0
  239. package/project-skills/tdd-guard/src/linters/golangci/GolangciLint.test.ts +170 -0
  240. package/project-skills/tdd-guard/src/linters/golangci/GolangciLint.ts +148 -0
  241. package/project-skills/tdd-guard/src/processors/index.ts +1 -0
  242. package/project-skills/tdd-guard/src/processors/lintProcessor.ts +77 -0
  243. package/project-skills/tdd-guard/src/processors/testResults/TestResultsProcessor.test.ts +303 -0
  244. package/project-skills/tdd-guard/src/processors/testResults/TestResultsProcessor.ts +255 -0
  245. package/project-skills/tdd-guard/src/providers/LinterProvider.test.ts +43 -0
  246. package/project-skills/tdd-guard/src/providers/LinterProvider.ts +20 -0
  247. package/project-skills/tdd-guard/src/providers/ModelClientProvider.test.ts +68 -0
  248. package/project-skills/tdd-guard/src/providers/ModelClientProvider.ts +22 -0
  249. package/project-skills/tdd-guard/src/storage/FileStorage.test.ts +76 -0
  250. package/project-skills/tdd-guard/src/storage/FileStorage.ts +108 -0
  251. package/project-skills/tdd-guard/src/storage/MemoryStorage.ts +57 -0
  252. package/project-skills/tdd-guard/src/storage/Storage.test.ts +227 -0
  253. package/project-skills/tdd-guard/src/storage/Storage.ts +17 -0
  254. package/project-skills/tdd-guard/src/validation/context/context.test.ts +364 -0
  255. package/project-skills/tdd-guard/src/validation/context/context.ts +155 -0
  256. package/project-skills/tdd-guard/src/validation/models/AnthropicApi.test.ts +171 -0
  257. package/project-skills/tdd-guard/src/validation/models/AnthropicApi.ts +49 -0
  258. package/project-skills/tdd-guard/src/validation/models/ClaudeAgentSdk.test.ts +167 -0
  259. package/project-skills/tdd-guard/src/validation/models/ClaudeAgentSdk.ts +54 -0
  260. package/project-skills/tdd-guard/src/validation/models/ClaudeCli.test.ts +239 -0
  261. package/project-skills/tdd-guard/src/validation/models/ClaudeCli.ts +57 -0
  262. package/project-skills/tdd-guard/src/validation/prompts/file-types.ts +52 -0
  263. package/project-skills/tdd-guard/src/validation/prompts/operations/edit.ts +58 -0
  264. package/project-skills/tdd-guard/src/validation/prompts/operations/multi-edit.ts +54 -0
  265. package/project-skills/tdd-guard/src/validation/prompts/operations/write.ts +54 -0
  266. package/project-skills/tdd-guard/src/validation/prompts/response.ts +40 -0
  267. package/project-skills/tdd-guard/src/validation/prompts/rules.ts +51 -0
  268. package/project-skills/tdd-guard/src/validation/prompts/system-prompt.ts +10 -0
  269. package/project-skills/tdd-guard/src/validation/prompts/tools/lint-results.ts +15 -0
  270. package/project-skills/tdd-guard/src/validation/prompts/tools/test-output.ts +14 -0
  271. package/project-skills/tdd-guard/src/validation/prompts/tools/todos.ts +9 -0
  272. package/project-skills/tdd-guard/src/validation/validator.test.ts +268 -0
  273. package/project-skills/tdd-guard/src/validation/validator.ts +159 -0
  274. package/project-skills/tdd-guard/test/artifacts/go/.golangci.yml +6 -0
  275. package/project-skills/tdd-guard/test/artifacts/go/with-issues/file-with-issues.go +12 -0
  276. package/project-skills/tdd-guard/test/artifacts/go/with-issues/go.mod +3 -0
  277. package/project-skills/tdd-guard/test/artifacts/go/without-issues/file-without-issues.go +7 -0
  278. package/project-skills/tdd-guard/test/artifacts/go/without-issues/go.mod +3 -0
  279. package/project-skills/tdd-guard/test/artifacts/javascript/eslint.config.js +20 -0
  280. package/project-skills/tdd-guard/test/artifacts/javascript/file-with-issues.js +12 -0
  281. package/project-skills/tdd-guard/test/artifacts/javascript/file-without-issues.js +10 -0
  282. package/project-skills/tdd-guard/test/hooks/fileTypeDetection.test.ts +26 -0
  283. package/project-skills/tdd-guard/test/hooks/processHookData.fileType.test.ts +46 -0
  284. package/project-skills/tdd-guard/test/hooks/processHookData.python.test.ts +68 -0
  285. package/project-skills/tdd-guard/test/integration/test-context.test.ts +66 -0
  286. package/project-skills/tdd-guard/test/integration/validator.core.test.ts +96 -0
  287. package/project-skills/tdd-guard/test/integration/validator.scenarios.test.ts +497 -0
  288. package/project-skills/tdd-guard/test/utils/assertions.ts +29 -0
  289. package/project-skills/tdd-guard/test/utils/factories/contextFactory.ts +30 -0
  290. package/project-skills/tdd-guard/test/utils/factories/editFactory.ts +82 -0
  291. package/project-skills/tdd-guard/test/utils/factories/helpers.test.ts +46 -0
  292. package/project-skills/tdd-guard/test/utils/factories/helpers.ts +46 -0
  293. package/project-skills/tdd-guard/test/utils/factories/lintFactory.ts +352 -0
  294. package/project-skills/tdd-guard/test/utils/factories/modelClientProviderFactory.ts +21 -0
  295. package/project-skills/tdd-guard/test/utils/factories/multiEditFactory.ts +79 -0
  296. package/project-skills/tdd-guard/test/utils/factories/operations.ts +57 -0
  297. package/project-skills/tdd-guard/test/utils/factories/reporterFactory.ts +55 -0
  298. package/project-skills/tdd-guard/test/utils/factories/scenarios/index.ts +22 -0
  299. package/project-skills/tdd-guard/test/utils/factories/scenarios/languages/python.ts +745 -0
  300. package/project-skills/tdd-guard/test/utils/factories/scenarios/languages/typescript.ts +767 -0
  301. package/project-skills/tdd-guard/test/utils/factories/scenarios/types.ts +77 -0
  302. package/project-skills/tdd-guard/test/utils/factories/scenarios/utils.ts +15 -0
  303. package/project-skills/tdd-guard/test/utils/factories/sessionStartFactory.ts +36 -0
  304. package/project-skills/tdd-guard/test/utils/factories/testDefaults.ts +90 -0
  305. package/project-skills/tdd-guard/test/utils/factories/testResultsFactory.ts +234 -0
  306. package/project-skills/tdd-guard/test/utils/factories/todoFactory.ts +99 -0
  307. package/project-skills/tdd-guard/test/utils/factories/userPromptSubmitFactory.ts +39 -0
  308. package/project-skills/tdd-guard/test/utils/factories/writeFactory.ts +70 -0
  309. package/project-skills/tdd-guard/test/utils/index.ts +131 -0
  310. package/project-skills/tdd-guard/tsconfig.build.json +16 -0
  311. package/project-skills/tdd-guard/tsconfig.eslint.json +17 -0
  312. package/project-skills/tdd-guard/tsconfig.json +32 -0
  313. package/project-skills/tdd-guard/tsconfig.node.json +10 -0
  314. package/project-skills/tdd-guard/vitest.config.ts +85 -0
  315. package/project-skills/ts-quality-gate/.claude/hooks/hook-config.json +66 -0
  316. package/project-skills/ts-quality-gate/.claude/hooks/quality-check.cjs +1251 -0
  317. package/project-skills/ts-quality-gate/.claude/settings.json +16 -0
  318. package/project-skills/ts-quality-gate/.claude/skills/using-ts-quality-gate/SKILL.md +81 -0
  319. package/project-skills/ts-quality-gate/README.md +115 -0
  320. package/skills/README.txt +31 -0
  321. package/skills/clean-code/SKILL.md +201 -0
  322. package/skills/delegating/SKILL.md +196 -0
  323. package/skills/delegating/config.yaml +210 -0
  324. package/skills/delegating/references/orchestration-protocols.md +41 -0
  325. package/skills/docker-expert/SKILL.md +409 -0
  326. package/skills/documenting/CHANGELOG.md +23 -0
  327. package/skills/documenting/README.md +148 -0
  328. package/skills/documenting/SKILL.md +113 -0
  329. package/skills/documenting/examples/example_pattern.md +70 -0
  330. package/skills/documenting/examples/example_reference.md +70 -0
  331. package/skills/documenting/examples/example_ssot_analytics.md +64 -0
  332. package/skills/documenting/examples/example_workflow.md +141 -0
  333. package/skills/documenting/references/changelog-format.md +97 -0
  334. package/skills/documenting/references/metadata-schema.md +136 -0
  335. package/skills/documenting/references/taxonomy.md +81 -0
  336. package/skills/documenting/references/versioning-rules.md +78 -0
  337. package/skills/documenting/scripts/__pycache__/drift_detector.cpython-314.pyc +0 -0
  338. package/skills/documenting/scripts/__pycache__/orchestrator.cpython-314.pyc +0 -0
  339. package/skills/documenting/scripts/__pycache__/validate_metadata.cpython-314.pyc +0 -0
  340. package/skills/documenting/scripts/bump_version.sh +60 -0
  341. package/skills/documenting/scripts/changelog/__init__.py +0 -0
  342. package/skills/documenting/scripts/changelog/__pycache__/__init__.cpython-314.pyc +0 -0
  343. package/skills/documenting/scripts/changelog/__pycache__/add_entry.cpython-314.pyc +0 -0
  344. package/skills/documenting/scripts/changelog/__pycache__/bump_release.cpython-314.pyc +0 -0
  345. package/skills/documenting/scripts/changelog/__pycache__/validate_changelog.cpython-314.pyc +0 -0
  346. package/skills/documenting/scripts/changelog/add_entry.py +216 -0
  347. package/skills/documenting/scripts/changelog/bump_release.py +117 -0
  348. package/skills/documenting/scripts/changelog/init_changelog.py +54 -0
  349. package/skills/documenting/scripts/changelog/validate_changelog.py +128 -0
  350. package/skills/documenting/scripts/drift_detector.py +266 -0
  351. package/skills/documenting/scripts/generate_template.py +311 -0
  352. package/skills/documenting/scripts/list_by_category.sh +84 -0
  353. package/skills/documenting/scripts/orchestrator.py +255 -0
  354. package/skills/documenting/scripts/validate_metadata.py +242 -0
  355. package/skills/documenting/templates/CHANGELOG.md.template +13 -0
  356. package/skills/documenting/tests/__pycache__/test_changelog.cpython-314-pytest-9.0.2.pyc +0 -0
  357. package/skills/documenting/tests/__pycache__/test_drift_detector.cpython-314-pytest-9.0.2.pyc +0 -0
  358. package/skills/documenting/tests/__pycache__/test_orchestrator.cpython-314-pytest-9.0.2.pyc +0 -0
  359. package/skills/documenting/tests/__pycache__/test_validate_metadata.cpython-314-pytest-9.0.2.pyc +0 -0
  360. package/skills/documenting/tests/integration_test.sh +70 -0
  361. package/skills/documenting/tests/test_changelog.py +201 -0
  362. package/skills/documenting/tests/test_drift_detector.py +80 -0
  363. package/skills/documenting/tests/test_orchestrator.py +52 -0
  364. package/skills/documenting/tests/test_validate_metadata.py +64 -0
  365. package/skills/find-skills/SKILL.md +133 -0
  366. package/skills/gitnexus-debugging/SKILL.md +85 -0
  367. package/skills/gitnexus-exploring/SKILL.md +75 -0
  368. package/skills/gitnexus-impact-analysis/SKILL.md +94 -0
  369. package/skills/gitnexus-refactoring/SKILL.md +113 -0
  370. package/skills/hook-development/SKILL.md +797 -0
  371. package/skills/hook-development/examples/load-context.sh +55 -0
  372. package/skills/hook-development/examples/quality-check.js +1168 -0
  373. package/skills/hook-development/examples/validate-bash.sh +43 -0
  374. package/skills/hook-development/examples/validate-write.sh +38 -0
  375. package/skills/hook-development/references/advanced.md +527 -0
  376. package/skills/hook-development/references/migration.md +369 -0
  377. package/skills/hook-development/references/patterns.md +412 -0
  378. package/skills/hook-development/scripts/README.md +164 -0
  379. package/skills/hook-development/scripts/hook-linter.sh +153 -0
  380. package/skills/hook-development/scripts/test-hook.sh +252 -0
  381. package/skills/hook-development/scripts/validate-hook-schema.sh +159 -0
  382. package/skills/obsidian-cli/SKILL.md +106 -0
  383. package/skills/orchestrating-agents/SKILL.md +135 -0
  384. package/skills/orchestrating-agents/config.yaml +45 -0
  385. package/skills/orchestrating-agents/references/agent-context-integration.md +37 -0
  386. package/skills/orchestrating-agents/references/examples.md +45 -0
  387. package/skills/orchestrating-agents/references/handover-protocol.md +31 -0
  388. package/skills/orchestrating-agents/references/workflows.md +42 -0
  389. package/skills/orchestrating-agents/scripts/detect_neighbors.py +23 -0
  390. package/skills/prompt-improving/README.md +162 -0
  391. package/skills/prompt-improving/SKILL.md +74 -0
  392. package/skills/prompt-improving/references/analysis_commands.md +24 -0
  393. package/skills/prompt-improving/references/chain_of_thought.md +24 -0
  394. package/skills/prompt-improving/references/mcp_definitions.md +20 -0
  395. package/skills/prompt-improving/references/multishot.md +23 -0
  396. package/skills/prompt-improving/references/xml_core.md +60 -0
  397. package/skills/python-testing/SKILL.md +815 -0
  398. package/skills/senior-backend/SKILL.md +209 -0
  399. package/skills/senior-backend/references/api_design_patterns.md +103 -0
  400. package/skills/senior-backend/references/backend_security_practices.md +103 -0
  401. package/skills/senior-backend/references/database_optimization_guide.md +103 -0
  402. package/skills/senior-backend/scripts/api_load_tester.py +114 -0
  403. package/skills/senior-backend/scripts/api_scaffolder.py +114 -0
  404. package/skills/senior-backend/scripts/database_migration_tool.py +114 -0
  405. package/skills/senior-data-scientist/SKILL.md +226 -0
  406. package/skills/senior-data-scientist/references/experiment_design_frameworks.md +80 -0
  407. package/skills/senior-data-scientist/references/feature_engineering_patterns.md +80 -0
  408. package/skills/senior-data-scientist/references/statistical_methods_advanced.md +80 -0
  409. package/skills/senior-data-scientist/scripts/experiment_designer.py +100 -0
  410. package/skills/senior-data-scientist/scripts/feature_engineering_pipeline.py +100 -0
  411. package/skills/senior-data-scientist/scripts/model_evaluation_suite.py +100 -0
  412. package/skills/senior-devops/SKILL.md +209 -0
  413. package/skills/senior-devops/references/cicd_pipeline_guide.md +103 -0
  414. package/skills/senior-devops/references/deployment_strategies.md +103 -0
  415. package/skills/senior-devops/references/infrastructure_as_code.md +103 -0
  416. package/skills/senior-devops/scripts/deployment_manager.py +114 -0
  417. package/skills/senior-devops/scripts/pipeline_generator.py +114 -0
  418. package/skills/senior-devops/scripts/terraform_scaffolder.py +114 -0
  419. package/skills/senior-security/SKILL.md +209 -0
  420. package/skills/senior-security/references/cryptography_implementation.md +103 -0
  421. package/skills/senior-security/references/penetration_testing_guide.md +103 -0
  422. package/skills/senior-security/references/security_architecture_patterns.md +103 -0
  423. package/skills/senior-security/scripts/pentest_automator.py +114 -0
  424. package/skills/senior-security/scripts/security_auditor.py +114 -0
  425. package/skills/senior-security/scripts/threat_modeler.py +114 -0
  426. package/skills/skill-creator/LICENSE.txt +202 -0
  427. package/skills/skill-creator/SKILL.md +479 -0
  428. package/skills/skill-creator/agents/analyzer.md +274 -0
  429. package/skills/skill-creator/agents/comparator.md +202 -0
  430. package/skills/skill-creator/agents/grader.md +223 -0
  431. package/skills/skill-creator/assets/eval_review.html +146 -0
  432. package/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  433. package/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  434. package/skills/skill-creator/references/schemas.md +430 -0
  435. package/skills/skill-creator/scripts/__init__.py +0 -0
  436. package/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  437. package/skills/skill-creator/scripts/generate_report.py +326 -0
  438. package/skills/skill-creator/scripts/improve_description.py +248 -0
  439. package/skills/skill-creator/scripts/package_skill.py +136 -0
  440. package/skills/skill-creator/scripts/quick_validate.py +103 -0
  441. package/skills/skill-creator/scripts/run_eval.py +310 -0
  442. package/skills/skill-creator/scripts/run_loop.py +332 -0
  443. package/skills/skill-creator/scripts/utils.py +47 -0
  444. package/skills/using-TDD/SKILL.md +410 -0
  445. package/skills/using-serena-lsp/README.md +8 -0
  446. package/skills/using-serena-lsp/REFERENCE.md +194 -0
  447. package/skills/using-serena-lsp/SKILL.md +82 -0
package/README.md ADDED
@@ -0,0 +1,762 @@
1
+ # XTRM-Tools
2
+
3
+ **Claude Code tools installer** — skills, hooks, MCP servers, and project-specific extensions.
4
+
5
+ > **ARCHITECTURAL DECISION (v2.0.0):** xtrm-tools now supports **Claude Code exclusively**. Hook translation for Gemini CLI and Qwen CLI was removed due to fragile, undocumented, and unofficially supported hook ecosystems. For Gemini/Qwen, users must manually configure their environments (see [Manual Setup for Gemini/Qwen](#manual-setup-for-geminiqwen)).
6
+
7
+ This repository contains production-ready extensions to enhance Claude's capabilities with prompt improvement, task delegation, development workflow automation, and quality gates. The `xtrm` CLI provides a robust, modular "Plug & Play" installation engine for project-specific tools.
8
+
9
+ ## Quick Start
10
+
11
+ ```bash
12
+ # Install globally (one-time)
13
+ git clone https://github.com/Jaggerxtrm/xtrm-tools.git
14
+ cd xtrm-tools/cli
15
+ npm install && npm run build
16
+ npm link
17
+
18
+ # Install tools to your Claude Code environment
19
+ xtrm install
20
+ ```
21
+
22
+ ## Table of Contents
23
+
24
+ - [Skills](#skills)
25
+ - [Hooks](#hooks)
26
+ - [Installation](#installation)
27
+ - [Project Skills](#project-skills)
28
+ - [Configuration](#configuration)
29
+ - [Documentation](#documentation)
30
+ - [Version History](#version-history)
31
+ - [License](#license)
32
+
33
+ ## Skills
34
+
35
+ ### prompt-improving
36
+
37
+ Automatically improves user prompts using Claude's XML best practices before execution.
38
+
39
+ - **Invocation**: `/prompt [prompt]` or `/prompt-improving [prompt]`
40
+ - **Purpose**: Applies semantic XML structure, multishot examples, and chain-of-thought patterns
41
+ - **Hook**: `skill-suggestion.py`
42
+ - **Version**: 5.1.0
43
+
44
+ ### delegating
45
+
46
+ Unified task delegation system supporting both CCS (cost-optimized) and unitAI (multi-agent workflows).
47
+
48
+ - **Invocation**: `/delegate [task]` or `/delegating [task]`
49
+ - **Purpose**: Auto-selects optimal backend for task execution
50
+ - **CCS**: Simple tasks (tests, typos, docs) → GLM/Gemini/Qwen
51
+ - **unitAI**: Complex tasks (code review, feature dev, debugging) → Multi-agent workflows
52
+ - **Hook**: `skill-suggestion.sh` (triggers on "delegate" keyword)
53
+ - **Config**: `skills/delegation/config.yaml` (user-customizable patterns)
54
+ - **Version**: 6.0.0
55
+
56
+ **Key Features**:
57
+ - Configuration-driven pattern matching
58
+ - Autonomous workflow selection for unitAI
59
+ - Interactive 2-step menu (Delegate? → Backend?)
60
+ - Auto-focus detection (security/performance/quality)
61
+ - Override flags (`--glm`, `--unitai`, etc.)
62
+
63
+ **Deprecates**: `/ccs-delegation` (v5.0.0) - use `/delegation` instead
64
+
65
+ ### orchestrating-agents
66
+
67
+ Orchestrates task handoff and deep multi-turn "handshaking" sessions between Gemini and Qwen CLI agents.
68
+
69
+ - **Invocation**: `/orchestrate [workflow-type] [task]` (workflow-type optional)
70
+ - **Purpose**: Facilitates multi-model collaboration, adversarial reviews, and deep troubleshooting.
71
+ - **Workflows**:
72
+ - **Collaborative Design** (`collaborative`): Proposal -> Critique -> Refinement (for features).
73
+ - **Adversarial Review** (`adversarial`): Proposal -> Red Team Attack -> Defense (for security).
74
+ - **Troubleshoot Session** (`troubleshoot`): Multi-agent hypothesis testing (for emergencies).
75
+ - **Single Handshake** (`handshake`): Quick one-turn second opinion.
76
+ - **Examples**:
77
+ - `/orchestrate adversarial "Review payment security"`
78
+ - `/orchestrate "Design auth system"` (interactive workflow selection)
79
+ - **Hook**: None (Direct slash command)
80
+ - **Version**: 1.2.0
81
+
82
+ **Key Features**:
83
+ - Parameter-based workflow selection for direct invocation
84
+ - Interactive fallback when no workflow specified
85
+ - Corrected resume flags for multi-turn sessions (Gemini: `-r latest`, Qwen: `-c`)
86
+
87
+ ### using-serena-lsp
88
+
89
+ Master workflow combining Serena MCP semantic tools with LSP plugins for efficient code editing.
90
+
91
+ - **Invocation**: Auto-suggested via hooks
92
+ - **Purpose**: Surgical code editing with 75-80% token savings
93
+ - **Hook**: `serena-workflow-reminder.py`
94
+ - **Origin**: Serena MCP
95
+
96
+ ### documenting
97
+
98
+ Maintains Single Source of Truth (SSOT) documentation system for projects.
99
+
100
+ - **Invocation**: `/document [task]` or skill commands
101
+ - **Purpose**: Create, update, validate SSOT documentation
102
+ - **Hook**: None
103
+ - **Origin**: Serena MCP
104
+ - **Version**: 2.0.0 (with drift detection and INDEX blocks)
105
+
106
+ **Key Features**:
107
+ - `tracks:` frontmatter field for automatic drift detection
108
+ - Auto-generated INDEX tables for navigation without full reads
109
+ - Stop hook fires at session end to detect stale memories
110
+ - Decision table for when to update SSOT vs changelog only
111
+
112
+ ### obsidian-cli
113
+
114
+ Interact with Obsidian vaults using the Obsidian CLI.
115
+
116
+ - **Invocation**: Auto-loaded when working with Obsidian tasks
117
+ - **Purpose**: Read, create, search, and manage notes, tasks, properties
118
+ - **Hook**: None
119
+ - **Version**: 1.0.0
120
+
121
+ **Key Features**:
122
+ - Full CLI command reference (create, read, search, daily notes, tasks)
123
+ - Plugin development workflow (reload, error capture, screenshots, DOM inspection)
124
+ - Vault targeting with `vault=<name>` parameter
125
+ - File targeting with `file=` (wikilink-style) or `path=` (exact path)
126
+
127
+ ### gitnexus (4 skills)
128
+
129
+ Knowledge graph-powered code intelligence skills.
130
+
131
+ - **Invocation**: Auto-suggested via hooks for code operations
132
+ - **Purpose**: Semantic code understanding with 75-80% token savings
133
+ - **Hook**: `gitnexus-hook.cjs` (PreToolUse for Grep|Glob|Bash)
134
+ - **Version**: 1.0.0
135
+
136
+ **Skills**:
137
+ - `gitnexus/exploring` — Architecture understanding ("How does X work?")
138
+ - `gitnexus/debugging` — Bug tracing ("Why is X failing?")
139
+ - `gitnexus/impact-analysis` — Blast radius ("What breaks if I change X?")
140
+ - `gitnexus/refactoring` — Surgical refactors (rename, extract, split)
141
+
142
+ **Tools**:
143
+ - `query` — Process-grouped execution flows
144
+ - `context` — 360-degree symbol view
145
+ - `impact` — Blast radius analysis (depth 1/2/3)
146
+ - `detect_changes` — Git-diff impact analysis
147
+ - `rename` — Multi-file coordinated rename
148
+ - `cypher` — Raw graph queries
149
+
150
+ ### scoping-service-skills (Trinity)
151
+
152
+ Task intake and service routing for Docker service projects.
153
+
154
+ - **Invocation**: `/scope "task description"`
155
+ - **Purpose**: Detect intent, map to expert service skills, emit structured scope plan
156
+ - **Hook**: None (invoked before investigation/feature/refactor tasks)
157
+ - **Version**: 1.0.0
158
+
159
+ **Intent Taxonomy**:
160
+ - `investigation` — Errors, failures, issues (default when ambiguous)
161
+ - `feature` — New functionality
162
+ - `refactor` — Restructuring, cleanup
163
+ - `config-change` — Configuration updates
164
+ - `exploration` — Understanding, explanations
165
+
166
+ **Workflow**:
167
+ 1. Read service registry
168
+ 2. Detect intent from keywords
169
+ 3. Map to registered services
170
+ 4. Emit XML scope block with diagnosis → fix → regression-test phases
171
+
172
+ ## Hooks
173
+
174
+ ### Skill-Associated Hooks
175
+
176
+ **skill-suggestion.py**
177
+ - Skills: `prompt-improving`, `delegating`
178
+ - Trigger: UserPromptSubmit
179
+ - Purpose: Proactive skill suggestions based on prompt analysis
180
+ - Config: `settings.json` → `skillSuggestions.enabled: true`
181
+
182
+ **skill-discovery.py**
183
+ - Skills: All `skills/` directory skills
184
+ - Trigger: SessionStart
185
+ - Purpose: Injects summarized skill catalog at session start
186
+ - Config: Auto-wired in `settings.json`
187
+
188
+ **serena-workflow-reminder.py**
189
+ - Skill: `using-serena-lsp`
190
+ - Trigger: SessionStart, PreToolUse (Read|Edit)
191
+ - Purpose: Enforces semantic Serena LSP workflow
192
+
193
+ **gitnexus-hook.cjs**
194
+ - Skills: `gitnexus/*` (4 skills)
195
+ - Trigger: PreToolUse (Grep|Glob|Bash)
196
+ - Purpose: Enriches tool calls with knowledge graph context via `gitnexus augment`
197
+ - Config: Auto-wired in `settings.json`
198
+
199
+ ### Standalone Hooks
200
+
201
+ **pip-venv-guard.py**
202
+ - Trigger: PreToolUse (Bash)
203
+ - Purpose: Prevent `pip install` outside virtual environments
204
+
205
+ **type-safety-enforcement.py**
206
+ - Trigger: PreToolUse (Bash|Edit|Write)
207
+ - Purpose: Enforce type safety in Python code
208
+
209
+ **statusline.js**
210
+ - Trigger: StatusLine
211
+ - Purpose: Display custom status line information
212
+
213
+ **NOTE** certain skills are third-party utilities, i believe they can be useful.
214
+
215
+ ## Project Skills
216
+
217
+ **Project Skills** are modular, plug-and-play tool packages that extend Claude's capabilities for specific workflows. Each skill includes pre-configured hooks, context skills, and documentation.
218
+
219
+ ### Available Project Skills
220
+
221
+ | Skill | Description | Hook Type |
222
+ |-------|-------------|-----------|
223
+ | `service-skills-set` | Docker service expertise — gives Claude persistent knowledge about your services | SessionStart, PreToolUse, PostToolUse |
224
+ | `tdd-guard` | Enforce Test-Driven Development — blocks implementation until failing tests exist | PreToolUse, UserPromptSubmit |
225
+ | `ts-quality-gate` | TypeScript/ESLint/Prettier quality gate — runs on every edit, auto-fixes issues | PostToolUse |
226
+ | `py-quality-gate` | Python ruff/mypy quality gate — linting, formatting, and type checking | PostToolUse |
227
+ | `main-guard` | Git branch protection — blocks direct edits to main/master branches | PreToolUse |
228
+
229
+ ### Installing Project Skills
230
+
231
+ ```bash
232
+ # List available project skills
233
+ xtrm install project list
234
+
235
+ # Install a specific skill into your current project
236
+ cd my-project
237
+ xtrm install project service-skills-set # Docker service expertise
238
+ xtrm install project tdd-guard # TDD enforcement
239
+ xtrm install project ts-quality-gate # TypeScript quality
240
+ xtrm install project py-quality-gate # Python quality
241
+ xtrm install project main-guard # Git branch protection
242
+ ```
243
+
244
+ **Note:** Project skills install Claude hooks and skills into your project's `.claude/` directory. Some skills require additional manual setup (e.g., installing npm packages or Python dependencies). Always read the documentation at `.claude/docs/<skill>-readme.md` after installation.
245
+
246
+ ---
247
+
248
+ ## Installation
249
+
250
+ ### 🚀 Quick One-Time Run
251
+
252
+ Run the latest version directly from GitHub without installing:
253
+
254
+ ```bash
255
+ npx -y github:Jaggerxtrm/xtrm-tools install
256
+ ```
257
+
258
+ This temporarily clones, builds, and runs the installation to your Claude Code environment.
259
+
260
+ ---
261
+
262
+ ### 🛠️ Global Installation (Recommended for repeated use)
263
+
264
+ Install globally from GitHub:
265
+
266
+ ```bash
267
+ npm install -g github:Jaggerxtrm/xtrm-tools
268
+ ```
269
+
270
+ Now you can run `xtrm` from anywhere:
271
+ ```bash
272
+ xtrm install # Install/update tools
273
+ xtrm status # Check for changes
274
+ xtrm install project tdd-guard # Install project skills
275
+ ```
276
+
277
+ **To update later:**
278
+ ```bash
279
+ npm install -g github:Jaggerxtrm/xtrm-tools@latest
280
+ ```
281
+
282
+ ---
283
+
284
+ ### 🔧 Local Installation (for development)
285
+
286
+ ```bash
287
+ git clone https://github.com/Jaggerxtrm/xtrm-tools.git
288
+ cd xtrm-tools/cli
289
+ npm install # installs dependencies
290
+ npm run build # compiles TypeScript to dist/
291
+ npm link # registers `xtrm` globally
292
+ ```
293
+
294
+ ---
295
+
296
+ ## CLI User Guide
297
+
298
+ ### Synopsis
299
+
300
+ ```
301
+ xtrm <command> [options]
302
+ ```
303
+
304
+ | Command | Description |
305
+ | -------- | --------------------------------- |
306
+ | `sync` | Sync tools to target environments |
307
+ | `status` | Show diff without making changes |
308
+ | `reset` | Clear saved preferences |
309
+
310
+ ---
311
+
312
+ ### `xtrm install`
313
+
314
+ The main command. Detects your agent environments, calculates what's changed, and applies updates.
315
+
316
+ ```bash
317
+ xtrm install # interactive — prompts for targets and confirmation
318
+ xtrm install all # install to all known targets without target prompt
319
+ xtrm install '*' # same as above; quote * to avoid shell expansion
320
+ xtrm install --dry-run # preview what WOULD change, write nothing
321
+ xtrm install all --dry-run -y # non-interactive preview across all targets
322
+ xtrm install -y # skip confirmation prompts (CI-friendly)
323
+ xtrm install --prune # also remove system items no longer in the repo
324
+ xtrm install --backport # reverse direction: copy drifted local edits → repo
325
+ ```
326
+
327
+ **UX Features (v1.6.0+)**:
328
+ - **Listr2 concurrent diff phase**: Parallel environment checks with per-target change counts
329
+ - **cli-table3 plan table**: Formatted table showing Target / + New / ↑ Update / ! Drift / Total
330
+ - **boxen summary card**: Completion summary with green/yellow border based on drift
331
+ - **Themed output**: Semantic colors (success, error, warning, muted, accent) via `theme.ts`
332
+ - **Interactive consent**: Multiselect for MCP servers (space to toggle, all pre-selected)
333
+ - **Auto-detection**: Scans `~/.claude`, `~/.gemini`, `~/.qwen`, `~/.agents/skills` automatically
334
+ - **Inline sync**: `status` command offers to apply sync immediately after showing changes
335
+ - **Single confirmation**: See full plan across all targets, confirm once
336
+ - **Safety guards**: Prune mode aborts on read failures; clean errors (no stack traces)
337
+ - **Startup banner**: Professional branding on CLI launch (skip with `--help`/`--version`)
338
+ - **`--json` flag**: Machine-readable output for CI/CD pipelines
339
+
340
+ **What it syncs per target environment:**
341
+
342
+ | Item | Claude | Gemini | Qwen | Agents (skills-only) |
343
+ | --------------- | -------------------- | -------------------- | ------------------ | -------------------- |
344
+ | `skills/` | ✅ copy/symlink | ✅ copy/symlink | ✅ copy/symlink | ✅ direct copy |
345
+ | `hooks/` | ✅ copy/symlink | ✅ copy/symlink | ✅ copy/symlink | ❌ skipped |
346
+ | `settings.json` | ✅ safe merge | ✅ safe merge | ✅ safe merge | ❌ skipped |
347
+ | MCP servers | `mcp add` CLI | `mcp add` CLI | `mcp add` CLI | ❌ skipped |
348
+ | Slash commands | auto-generated | `.toml` files | `.toml` files | ❌ skipped |
349
+
350
+ **New in v1.7.0**: `~/.agents/skills` is now a first-class sync target for skills-only sync (no hooks/config/MCP).
351
+
352
+ **Diff categories shown before sync:**
353
+
354
+ - `+ missing` — item exists in repo but not in your system (will be added)
355
+ - `↑ outdated` — repo is newer than your system (will be updated)
356
+ - `✗ drifted` — your local copy is newer than the repo (skipped unless `--backport`)
357
+
358
+ **Safe merge behaviour for `settings.json`:**
359
+ Protected keys (your local MCP servers, permissions, auth tokens, model preferences) are **never overwritten**. New keys from the repo are merged in non-destructively.
360
+
361
+ **Sync modes** (saved between runs, prompted on first sync):
362
+ - `copy` — default; plain file copy
363
+ - `symlink` — live symlinks so edits to `skills/` immediately reflect system-wide *(Linux/macOS only; Windows falls back to copy automatically)*
364
+
365
+ ---
366
+
367
+ ### `xtrm status`
368
+
369
+ Read-only diff view with enhanced feedback — no files written:
370
+
371
+ ```bash
372
+ xtrm status # auto-detects all environments
373
+ xtrm status --json # machine-readable output
374
+ ```
375
+
376
+ **Output includes (v1.7.0+)**:
377
+ - Auto-detected environments: `~/.claude`, `~/.gemini`, `~/.qwen`, `~/.agents/skills`
378
+ - cli-table3 formatted table with per-target change breakdown
379
+ - Last synced time (relative: "3 hours ago")
380
+ - Item counts from manifest (skills, hooks, config)
381
+ - Per-target health: ✓ Up-to-date / ⚠ Pending changes
382
+ - **Inline sync prompt**: "Apply sync now?" with multiselect target choice (Esc to skip)
383
+ - No second diff pass needed — executes directly using pre-computed changeSets
384
+
385
+ ---
386
+
387
+ ### `xtrm reset`
388
+
389
+ Clears saved preferences (sync mode, etc.):
390
+
391
+ ```bash
392
+ xtrm reset
393
+ ```
394
+
395
+ ---
396
+
397
+ ### Manual Installation (without CLI)
398
+
399
+ 1. Clone this repository:
400
+ ```bash
401
+ git clone https://github.com/Jaggerxtrm/jaggers-agent-tools.git
402
+ cd jaggers-agent-tools
403
+ ```
404
+
405
+ 2. Copy skills to Claude Code:
406
+ ```bash
407
+ cp -r skills/* ~/.claude/skills/
408
+ ```
409
+
410
+ 3. Copy hooks:
411
+ ```bash
412
+ cp hooks/* ~/.claude/hooks/
413
+ ```
414
+
415
+ ---
416
+
417
+ ## Manual Setup for Gemini/Qwen
418
+
419
+ **ARCHITECTURAL DECISION (v2.0.0):** xtrm-tools no longer provides automated hook translation for Gemini CLI or Qwen CLI. This decision was made because:
420
+
421
+ 1. **Fragile ecosystems:** Hook support in Gemini/Qwen is unofficial and undocumented
422
+ 2. **Technical debt:** Maintaining translations introduces breaking changes with upstream updates
423
+ 3. **Focus:** We prioritize robust, well-tested Claude Code support
424
+
425
+ If you use Gemini CLI or Qwen CLI, you can still use xtrm-tools skills and hooks with manual setup:
426
+
427
+ ### For Gemini CLI Users
428
+
429
+ 1. **Copy skills:**
430
+ ```bash
431
+ cp -r skills/* ~/.gemini/skills/
432
+ ```
433
+
434
+ 2. **Configure hooks manually:** Gemini uses `BeforeAgent`, `BeforeTool`, `SessionStart` events. Map Claude hooks as follows:
435
+ - `UserPromptSubmit` → `BeforeAgent`
436
+ - `PreToolUse` → `BeforeTool` (translate tool names: `Read`→`read_file`, `Write`→`write_file`, etc.)
437
+ - `SessionStart` → `SessionStart`
438
+
439
+ 3. **Reference:** See [Gemini CLI documentation](https://github.com/google-gemini/gemini-cli) for hook format.
440
+
441
+ ### For Qwen CLI Users
442
+
443
+ 1. **Copy skills:**
444
+ ```bash
445
+ cp -r skills/* ~/.qwen/skills/
446
+ ```
447
+
448
+ 2. **Configure hooks manually:** Qwen uses similar event names to Claude. Copy hook scripts from `hooks/` and wire them in `~/.qwen/settings.json`.
449
+
450
+ 3. **Reference:** See [Qwen CLI documentation](https://github.com/QwenLM/qwen-cli) for configuration format.
451
+
452
+ ### Limitations
453
+
454
+ - ❌ No automated sync/updates (must manually copy changes)
455
+ - ❌ No MCP server auto-installation
456
+ - ❌ No project skills support (Claude Code only)
457
+ - ❌ No hook translation (must configure manually)
458
+
459
+ ---
460
+
461
+ ## Configuration
462
+
463
+ ### MCP Servers (v1.7.0 Unified System)
464
+
465
+ MCP servers are configured from canonical sources with automatic format adaptation for each agent.
466
+
467
+ **Core Servers** (installed by default):
468
+ - **serena**: Code analysis (requires `uvx`, auto project detection)
469
+ - **context7**: Documentation lookup (requires API key)
470
+ - **github-grep**: Code search across GitHub
471
+ - **deepwiki**: Technical documentation
472
+
473
+ **Optional Servers** (multiselect during sync):
474
+ - **unitAI**: Multi-agent workflow orchestration (requires `npx`)
475
+ - **omni-search-engine**: Local search engine (requires running service on port 8765)
476
+ - **gitnexus**: Knowledge graph code intelligence (requires `npm install -g gitnexus` + `npx gitnexus analyze` per project)
477
+
478
+ **Configuration Files**:
479
+ - Core: [`config/mcp_servers.json`](config/mcp_servers.json)
480
+ - Optional: [`config/mcp_servers_optional.json`](config/mcp_servers_optional.json)
481
+ - Environment: [`~/.config/xtrm-tools/.env`](~/.config/xtrm-tools/.env) (auto-created)
482
+
483
+ **Environment Variables**:
484
+ - **Location:** `~/.config/xtrm-tools/.env` (created automatically on first sync)
485
+ - **Required:** `CONTEXT7_API_KEY` for context7 server
486
+ - **Validation:** Interactive prompts for missing API keys during sync
487
+ - **Persistence:** Values preserved across syncs; never overwritten
488
+ - Edit `~/.config/xtrm-tools/.env` to add your API keys manually
489
+
490
+ **Unified MCP CLI Sync (v1.7.0)**:
491
+ - Uses official `mcp add`/`mcp remove`/`mcp list` commands for all agents
492
+ - **Idempotent:** Re-running is always safe — skips already-installed servers
493
+ - **Deduplication:** Prevents same server from syncing N times when multiple dirs selected
494
+ - **Interactive consent:** Multiselect prompt (space to toggle, all pre-selected)
495
+ - **Prerequisite auto-install:** Runs `npm install -g gitnexus` automatically when selected
496
+ - **Post-install guidance:** Shows required next steps (e.g., `npx gitnexus analyze`)
497
+ - **Timeout protection:** 10s timeout on CLI calls to prevent hangs
498
+ - **Clean errors:** User-friendly messages (no stack traces)
499
+
500
+ **Supported Agents**:
501
+ - Claude Code (`~/.claude.json` via `mcp add` CLI)
502
+ - Antigravity (`~/.gemini/antigravity/mcp_config.json` via `mcp add` CLI)
503
+
504
+ **Deprecated (v1.7.0)**:
505
+ - JSON file sync for Claude/Gemini/Qwen MCP — superseded by official `mcp` CLI method
506
+ - Repo `.env` files — use centralized `~/.config/xtrm-tools/.env`
507
+
508
+ **Documentation**: See [docs/mcp-servers-config.md](docs/mcp-servers-config.md) for complete setup guide.
509
+
510
+ ### Skill Suggestions
511
+
512
+ Enable/disable proactive skill suggestions:
513
+
514
+ ```json
515
+ // ~/.claude/settings.json
516
+ {
517
+ "skillSuggestions": {
518
+ "enabled": true // Set to false to disable
519
+ }
520
+ }
521
+ ```
522
+
523
+ ### Hook Timeouts
524
+
525
+ Adjust hook execution timeouts in `settings.json`:
526
+
527
+ ```json
528
+ {
529
+ "hooks": {
530
+ "UserPromptSubmit": [{
531
+ "hooks": [{
532
+ "timeout": 5000 // Timeout in milliseconds (5000ms = 5 seconds) for both Claude and Gemini
533
+ }]
534
+ }]
535
+ }
536
+ }
537
+ ```
538
+
539
+ ### Service Skills Set (Trinity) — v1.5.0
540
+
541
+ Project-specific operational knowledge system for Docker service projects. Gives Claude persistent, service-specific expertise without re-explaining architecture every session.
542
+
543
+ **Three Workflow Skills (Trinity)**:
544
+
545
+ | Skill | Role | Invocation |
546
+ |---|---|---|
547
+ | `creating-service-skills` | Builds new skill packages via 3-phase workflow | `/creating-service-skills` |
548
+ | `using-service-skills` | Discovers and activates expert personas | Auto (SessionStart hook) |
549
+ | `updating-service-skills` | Detects drift when code changes | Auto (PostToolUse hook) |
550
+
551
+ **Five Hooks**:
552
+
553
+ | Hook | Type | Trigger | Effect |
554
+ |---|---|---|---|
555
+ | `SessionStart` | Claude Code | Session opens | Injects ~150-token service catalog |
556
+ | `PreToolUse` | Claude Code | Read/Write/Edit/Grep/Glob/Bash | Checks territory; injects skill load reminder |
557
+ | `PostToolUse` | Claude Code | Write/Edit | Detects drift; notifies to sync docs |
558
+ | `pre-commit` | Git | `git commit` | Warns if source changed without SSOT update (non-blocking) |
559
+ | `pre-push` | Git | `git push` | Warns if service skills are stale (non-blocking) |
560
+
561
+ **Generated Skill Package Structure**:
562
+
563
+ ```
564
+ .claude/skills/<service-name>/
565
+ ├── SKILL.md — architecture, failure modes, common operations
566
+ ├── scripts/
567
+ │ ├── health_probe.py — container status + table freshness
568
+ │ ├── log_hunter.py — service-specific log analysis
569
+ │ ├── data_explorer.py — read-only DB inspection
570
+ │ └── <specialist>.py — service-type-specific inspector
571
+ └── references/
572
+ ├── deep_dive.md — Phase 2 research notes
573
+ └── architecture_ssot.md — link to project SSOT
574
+ ```
575
+
576
+ **Installation** (run from inside target project):
577
+
578
+ ```bash
579
+ cd ~/projects/my-project
580
+ python3 /path/to/jaggers-agent-tools/project-skills/service-skills-set/install-service-skills.py
581
+ ```
582
+
583
+ - Idempotent — safe to re-run after updates
584
+ - Installs Trinity skills into `.claude/skills/`
585
+ - Wires `settings.json` hooks (SessionStart, PreToolUse, PostToolUse)
586
+ - Activates git hooks (`pre-commit`, `pre-push`)
587
+
588
+ **Creating a Service Skill** (`/creating-service-skills`):
589
+
590
+ **Phase 1 — Automated Skeleton**:
591
+ ```bash
592
+ python3 scaffolder.py create <service-id> <territory-path> "<description>"
593
+ ```
594
+ - Reads `docker-compose*.yml`, `Dockerfile`, dependency files
595
+ - Produces `SKILL.md` with `[PENDING RESEARCH]` markers
596
+ - Generates script stubs in `scripts/`
597
+ - Auto-detects official docs from image tags and package files
598
+ - Creates entry in `.claude/skills/service-registry.json`
599
+
600
+ **Phase 2 — Agentic Deep Dive**:
601
+ - Uses Serena LSP tools (not raw file reads) for 75-80% token savings
602
+ - Fills every `[PENDING RESEARCH]` marker with actual codebase knowledge
603
+ - Sources troubleshooting tables from real failure modes
604
+ - All scripts support `--json` output
605
+
606
+ **Phase 3 — Hook Registration**:
607
+ - Verifies `PreToolUse` hook in `.claude/settings.json`
608
+ - Confirms service territory globs in registry
609
+ - Informs user: skill now auto-activates on territory file access and service-name commands
610
+
611
+ **Auto-activation**:
612
+ Once registered, skills activate automatically when Claude:
613
+ - Operates on files matching territory globs (e.g., `src/auth/**/*.py`)
614
+ - Runs Bash commands mentioning service/container name
615
+
616
+ **Documentation**: See [project-skills/service-skills-set/service-skills-readme.md](project-skills/service-skills-set/service-skills-readme.md) for complete guide.
617
+
618
+ ## Documentation
619
+
620
+ ### Core Documentation
621
+ - [CHANGELOG.md](CHANGELOG.md) - Version history and breaking changes
622
+ - [ROADMAP.md](ROADMAP.md) - Future enhancements and planned features
623
+ - [AGENTS.md](AGENTS.md) - GitNexus quick reference for this project
624
+ - [CLAUDE.md](CLAUDE.md) - Claude Code development guide
625
+
626
+ ### Skill Documentation
627
+ - [skills/prompt-improving/README.md](skills/prompt-improving/README.md) - Prompt improvement skill
628
+ - [skills/delegating/SKILL.md](skills/delegating/SKILL.md) - Delegation workflow guide
629
+ - [skills/obsidian-cli/SKILL.md](skills/obsidian-cli/SKILL.md) - Obsidian CLI reference
630
+ - [hooks/README.md](hooks/README.md) - Complete hooks reference
631
+ - [project-skills/service-skills-set/service-skills-readme.md](project-skills/service-skills-set/service-skills-readme.md) - Service Skills Set (Trinity) guide
632
+
633
+ ### MCP Configuration
634
+ - [docs/mcp-servers-config.md](docs/mcp-servers-config.md) - MCP servers setup guide
635
+ - [config/mcp_servers.json](config/mcp_servers.json) - Core MCP servers (canonical source)
636
+ - [config/mcp_servers_optional.json](config/mcp_servers_optional.json) - Optional MCP servers
637
+
638
+ ### Implementation Plans
639
+ - [docs/plans/](docs/plans/) - Design documents and implementation plans
640
+ - [docs/plans/complete/](docs/plans/complete/) - Completed implementation plans
641
+
642
+ ## Version History
643
+
644
+ | Version | Date | Highlights |
645
+ | ------- | ---------- | -------------------------------------------------- |
646
+ | 1.7.0 | 2026-02-25 | GitNexus integration, unified 3-phase sync, MCP CLI sync, env management |
647
+ | 1.6.0 | 2026-02-24 | Documenting skill hardening (drift detection, INDEX blocks) |
648
+ | 1.5.0 | 2026-02-23 | Service Skills Set (Trinity), git hooks, auto-activation |
649
+ | 1.4.0 | 2026-02-23 | Delegating skill hardening, skill-suggestion hook enhancements |
650
+ | 1.3.0 | 2026-02-22 | CLI UX improvements (spinners, safety, feedback) |
651
+ | 1.2.0 | 2026-02-21 | CLI rewritten in TypeScript, Commander.js sub-cmds |
652
+ | 1.1.1 | 2026-02-03 | Dynamic path resolution in Sync logic |
653
+ | 1.1.0 | 2026-02-03 | Vault Sync, Orchestrating-agents loops |
654
+ | 5.1.0 | 2026-01-30 | Renamed `p` to `prompt-improving` |
655
+ | 5.0.0 | 2026-01-30 | Major refactoring, 90% token reduction |
656
+ | 4.2.0 | Pre-2026 | Feature-rich baseline (155KB) |
657
+
658
+ See [CHANGELOG.md](CHANGELOG.md) for complete version history.
659
+
660
+ ## Repository Structure
661
+
662
+ ```
663
+ jaggers-agent-tools/
664
+ ├── README.md # This file
665
+ ├── CHANGELOG.md # Version history
666
+ ├── ROADMAP.md # Future plans
667
+ ├── AGENTS.md # GitNexus quick reference
668
+ ├── CLAUDE.md # Claude Code development guide
669
+
670
+ ├── cli/ # Config Manager CLI (TypeScript)
671
+ │ ├── src/
672
+ │ │ ├── index.ts # Entry point (Commander program)
673
+ │ │ ├── commands/ # sync.ts, status.ts, reset.ts
674
+ │ │ ├── adapters/ # base, claude, gemini, qwen, registry
675
+ │ │ ├── core/ # context, diff, sync-executor, manifest, rollback
676
+ │ │ ├── utils/ # hash, atomic-config, config-adapter, env-manager, theme…
677
+ │ │ └── types/ # Zod schemas (config.ts) + shared interfaces (models.ts)
678
+ │ ├── dist/ # Compiled output (generated by `npm run build`)
679
+ │ ├── tsconfig.json
680
+ │ ├── tsup.config.ts
681
+ │ └── package.json
682
+
683
+ ├── skills/ # Core agent skills
684
+ │ ├── prompt-improving/ # Prompt improvement skill
685
+ │ ├── delegating/ # Task delegation skill (CCS + unitAI)
686
+ │ ├── orchestrating-agents/ # Multi-agent collaboration skill
687
+ │ ├── using-serena-lsp/ # Serena LSP workflow
688
+ │ ├── documenting/ # Serena SSOT system (with drift detection)
689
+ │ ├── obsidian-cli/ # Obsidian CLI skill
690
+ │ ├── gitnexus/ # GitNexus knowledge graph skills (4 skills)
691
+ │ │ ├── exploring/ # Architecture understanding
692
+ │ │ ├── debugging/ # Bug tracing
693
+ │ │ ├── impact-analysis/ # Blast radius analysis
694
+ │ │ └── refactoring/ # Surgical refactors
695
+ │ ├── clean-code/ # Clean code principles
696
+ │ ├── docker-expert/ # Docker containerization expert
697
+ │ ├── python-testing/ # Python testing strategies
698
+ │ ├── python-type-safety/ # Python type safety
699
+ │ ├── senior-backend/ # Backend development expert
700
+ │ ├── senior-data-scientist/ # Data science expert
701
+ │ ├── senior-devops/ # DevOps expert
702
+ │ ├── senior-security/ # Security engineering expert
703
+ │ ├── skill-creator/ # Skill creation guide
704
+ │ └── find-skills/ # Skill discovery helper
705
+
706
+ ├── hooks/ # Claude Code hooks
707
+ │ ├── README.md # Hooks documentation
708
+ │ ├── skill-suggestion.py # Skill auto-suggestion
709
+ │ ├── skill-discovery.py # SessionStart skill catalog injection
710
+ │ ├── serena-workflow-reminder.py # Serena reminder
711
+ │ ├── type-safety-enforcement.py # Type safety
712
+ │ ├── gitnexus/
713
+ │ │ └── gitnexus-hook.cjs # PreToolUse knowledge graph enrichment
714
+ │ └── statusline.js # Status line display
715
+
716
+ ├── config/ # Canonical configuration
717
+ │ ├── mcp_servers.json # Core MCP servers
718
+ │ ├── mcp_servers_optional.json # Optional MCP servers (gitnexus, unitAI, omni-search)
719
+ │ └── settings.json # Base settings template
720
+
721
+ ├── project-skills/ # Project-specific service skills
722
+ │ └── service-skills-set/ # Trinity system for Docker service projects
723
+ │ ├── install-service-skills.py # Installer script
724
+ │ ├── service-skills-readme.md # Complete guide
725
+ │ └── .claude/
726
+ │ ├── settings.json # Settings template with hooks
727
+ │ ├── creating-service-skills/
728
+ │ ├── using-service-skills/
729
+ │ ├── updating-service-skills/
730
+ │ ├── scoping-service-skills/
731
+ │ └── git-hooks/
732
+
733
+ ├── docs/ # Documentation
734
+ │ ├── mcp-servers-config.md # MCP setup guide
735
+ │ ├── todo.md # TODO list
736
+ │ └── plans/ # Implementation plans
737
+ │ ├── complete/ # Completed plans
738
+ │ └── *.md # Active design documents
739
+
740
+ └── .github/
741
+ └── workflows/
742
+ └── ci.yml # CI/CD pipeline (lint, test, build)
743
+ ```
744
+
745
+ ## Contributing
746
+
747
+ Contributions are welcome. Please:
748
+
749
+ 1. Follow existing code style
750
+ 2. Update documentation for any changes
751
+ 3. Test skills and hooks before submitting
752
+ 4. Update CHANGELOG.md for all changes
753
+
754
+ ## License
755
+
756
+ MIT License - See LICENSE file for details.
757
+
758
+ ## Credits
759
+
760
+ - Developed by Dawid Jaggers
761
+ - Serena skills and hooks courtesy of Serena MCP project
762
+ - Built for Claude Code by Anthropic