codeforge-dev 1.12.0 → 1.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/.devcontainer/CHANGELOG.md +175 -2
  2. package/.devcontainer/CLAUDE.md +61 -268
  3. package/.devcontainer/README.md +17 -9
  4. package/.devcontainer/config/defaults/ccstatusline-settings.json +147 -0
  5. package/.devcontainer/config/defaults/main-system-prompt.md +6 -1
  6. package/.devcontainer/config/defaults/rules/spec-workflow.md +1 -55
  7. package/.devcontainer/config/defaults/rules/workspace-scope.md +13 -4
  8. package/.devcontainer/config/defaults/settings.json +5 -3
  9. package/.devcontainer/config/file-manifest.json +14 -0
  10. package/.devcontainer/devcontainer.json +32 -7
  11. package/.devcontainer/docs/optional-features.md +0 -65
  12. package/.devcontainer/docs/plugins.md +38 -23
  13. package/.devcontainer/features/ast-grep/devcontainer-feature.json +0 -1
  14. package/.devcontainer/features/biome/install.sh +13 -0
  15. package/.devcontainer/features/ccburn/devcontainer-feature.json +0 -1
  16. package/.devcontainer/features/ccms/devcontainer-feature.json +0 -1
  17. package/.devcontainer/features/ccms/install.sh +1 -1
  18. package/.devcontainer/features/ccstatusline/devcontainer-feature.json +0 -1
  19. package/.devcontainer/features/ccstatusline/install.sh +17 -115
  20. package/.devcontainer/features/ccusage/devcontainer-feature.json +0 -1
  21. package/.devcontainer/features/chromaterm/README.md +42 -0
  22. package/.devcontainer/features/chromaterm/chromaterm.yml +35 -0
  23. package/.devcontainer/features/chromaterm/devcontainer-feature.json +22 -0
  24. package/.devcontainer/features/chromaterm/install.sh +113 -0
  25. package/.devcontainer/features/claude-monitor/devcontainer-feature.json +0 -1
  26. package/.devcontainer/features/claude-session-dashboard/README.md +40 -0
  27. package/.devcontainer/features/claude-session-dashboard/devcontainer-feature.json +34 -0
  28. package/.devcontainer/features/claude-session-dashboard/install.sh +172 -0
  29. package/.devcontainer/features/kitty-terminfo/README.md +32 -0
  30. package/.devcontainer/features/kitty-terminfo/devcontainer-feature.json +13 -0
  31. package/.devcontainer/features/kitty-terminfo/install.sh +72 -0
  32. package/.devcontainer/features/lsp-servers/devcontainer-feature.json +0 -1
  33. package/.devcontainer/features/mcp-qdrant/devcontainer-feature.json +0 -1
  34. package/.devcontainer/features/shellcheck/install.sh +6 -2
  35. package/.devcontainer/features/tree-sitter/devcontainer-feature.json +0 -1
  36. package/.devcontainer/plugins/devs-marketplace/.claude-plugin/marketplace.json +48 -59
  37. package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/.claude-plugin/plugin.json +7 -0
  38. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/AGENT-REDIRECTION.md +7 -12
  39. package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/README.md +197 -0
  40. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/REVIEW-RUBRIC.md +1 -1
  41. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/architect.md +3 -1
  42. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/bash-exec.md +3 -0
  43. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/claude-guide.md +5 -2
  44. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/debug-logs.md +7 -2
  45. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/dependency-analyst.md +6 -2
  46. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/doc-writer.md +4 -1
  47. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/explorer.md +4 -2
  48. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/generalist.md +10 -2
  49. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/git-archaeologist.md +5 -2
  50. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/migrator.md +4 -1
  51. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/perf-profiler.md +4 -1
  52. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/refactorer.md +5 -1
  53. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/researcher.md +6 -2
  54. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/security-auditor.md +5 -2
  55. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/spec-writer.md +3 -1
  56. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/statusline-config.md +4 -1
  57. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/test-writer.md +4 -1
  58. package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/hooks/hooks.json +51 -0
  59. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/scripts/guard-readonly-bash.py +2 -2
  60. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/scripts/inject-cwd.py +7 -4
  61. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/scripts/redirect-builtin-agents.py +17 -6
  62. package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/scripts/task-completed-check.py +166 -0
  63. package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/scripts/teammate-idle-check.py +81 -0
  64. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/scripts/verify-no-regression.py +14 -10
  65. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/scripts/verify-tests-pass.py +2 -14
  66. package/.devcontainer/plugins/devs-marketplace/plugins/auto-code-quality/README.md +17 -31
  67. package/.devcontainer/plugins/devs-marketplace/plugins/auto-code-quality/hooks/hooks.json +5 -1
  68. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → auto-code-quality}/scripts/advisory-test-runner.py +9 -8
  69. package/.devcontainer/plugins/devs-marketplace/plugins/codeforge-lsp/README.md +28 -0
  70. package/.devcontainer/plugins/devs-marketplace/plugins/dangerous-command-blocker/README.md +28 -0
  71. package/.devcontainer/plugins/devs-marketplace/plugins/dangerous-command-blocker/scripts/block-dangerous.py +2 -2
  72. package/.devcontainer/plugins/devs-marketplace/plugins/notify-hook/README.md +28 -0
  73. package/.devcontainer/plugins/devs-marketplace/plugins/notify-hook/hooks/hooks.json +0 -1
  74. package/.devcontainer/plugins/devs-marketplace/plugins/protected-files-guard/README.md +28 -0
  75. package/.devcontainer/plugins/devs-marketplace/plugins/protected-files-guard/scripts/guard-protected-bash.py +1 -1
  76. package/.devcontainer/plugins/devs-marketplace/plugins/protected-files-guard/scripts/guard-protected.py +2 -2
  77. package/.devcontainer/plugins/devs-marketplace/plugins/session-context/.claude-plugin/plugin.json +7 -0
  78. package/.devcontainer/plugins/devs-marketplace/plugins/session-context/README.md +140 -0
  79. package/.devcontainer/plugins/devs-marketplace/plugins/session-context/hooks/hooks.json +33 -0
  80. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → session-context}/scripts/commit-reminder.py +3 -2
  81. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → session-context}/scripts/git-state-injector.py +18 -2
  82. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → session-context}/scripts/todo-harvester.py +9 -1
  83. package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/.claude-plugin/plugin.json +7 -0
  84. package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/README.md +158 -0
  85. package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/hooks/hooks.json +16 -0
  86. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/scripts/skill-suggester.py +189 -100
  87. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/api-design/SKILL.md +9 -6
  88. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/ast-grep-patterns/SKILL.md +7 -6
  89. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/claude-agent-sdk/SKILL.md +8 -8
  90. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/claude-code-headless/SKILL.md +8 -9
  91. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/debugging/SKILL.md +11 -7
  92. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/dependency-management/SKILL.md +10 -6
  93. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/docker/SKILL.md +8 -8
  94. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/docker-py/SKILL.md +9 -7
  95. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/documentation-patterns/SKILL.md +7 -6
  96. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/fastapi/SKILL.md +9 -8
  97. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/git-forensics/SKILL.md +11 -9
  98. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/migration-patterns/SKILL.md +7 -6
  99. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/performance-profiling/SKILL.md +10 -8
  100. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/pydantic-ai/SKILL.md +8 -7
  101. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/refactoring-patterns/SKILL.md +9 -8
  102. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/security-checklist/SKILL.md +9 -8
  103. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/skill-building/SKILL.md +7 -7
  104. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/sqlite/SKILL.md +9 -7
  105. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/SKILL.md +7 -8
  106. package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/team/SKILL.md +271 -0
  107. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/testing/SKILL.md +10 -7
  108. package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/.claude-plugin/plugin.json +7 -0
  109. package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/README.md +192 -0
  110. package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/hooks/hooks.json +16 -0
  111. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/scripts/spec-reminder.py +3 -2
  112. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-build/SKILL.md +9 -6
  113. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-check/SKILL.md +10 -5
  114. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-init/SKILL.md +8 -4
  115. package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/skills/spec-init/references/roadmap-template.md +33 -0
  116. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-new/SKILL.md +8 -4
  117. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-refine/SKILL.md +10 -7
  118. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-review/SKILL.md +10 -6
  119. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-update/SKILL.md +10 -5
  120. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/specification-writing/SKILL.md +9 -9
  121. package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/.claude-plugin/plugin.json +1 -2
  122. package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/README.md +28 -0
  123. package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/hooks/hooks.json +16 -0
  124. package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → ticket-workflow}/scripts/ticket-linker.py +9 -1
  125. package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/README.md +104 -32
  126. package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/hooks/hooks.json +49 -3
  127. package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/scripts/guard-workspace-scope.py +269 -58
  128. package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/scripts/inject-workspace-cwd.py +44 -0
  129. package/.devcontainer/scripts/setup-aliases.sh +13 -5
  130. package/.devcontainer/scripts/setup-config.sh +1 -0
  131. package/.devcontainer/scripts/setup-projects.sh +1 -1
  132. package/README.md +5 -5
  133. package/package.json +6 -2
  134. package/setup.js +3 -2
  135. package/.devcontainer/.env +0 -33
  136. package/.devcontainer/features/README.md +0 -126
  137. package/.devcontainer/plugins/devs-marketplace/plugins/auto-formatter/.claude-plugin/plugin.json +0 -7
  138. package/.devcontainer/plugins/devs-marketplace/plugins/auto-formatter/README.md +0 -81
  139. package/.devcontainer/plugins/devs-marketplace/plugins/auto-formatter/hooks/hooks.json +0 -17
  140. package/.devcontainer/plugins/devs-marketplace/plugins/auto-formatter/scripts/__pycache__/format-on-stop.cpython-314.pyc +0 -0
  141. package/.devcontainer/plugins/devs-marketplace/plugins/auto-formatter/scripts/format-on-stop.py +0 -297
  142. package/.devcontainer/plugins/devs-marketplace/plugins/auto-linter/.claude-plugin/plugin.json +0 -7
  143. package/.devcontainer/plugins/devs-marketplace/plugins/auto-linter/README.md +0 -92
  144. package/.devcontainer/plugins/devs-marketplace/plugins/auto-linter/hooks/hooks.json +0 -17
  145. package/.devcontainer/plugins/devs-marketplace/plugins/auto-linter/scripts/__pycache__/lint-file.cpython-314.pyc +0 -0
  146. package/.devcontainer/plugins/devs-marketplace/plugins/auto-linter/scripts/lint-file.py +0 -536
  147. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/.claude-plugin/plugin.json +0 -8
  148. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/README.md +0 -250
  149. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/hooks/hooks.json +0 -112
  150. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/advisory-test-runner.cpython-314.pyc +0 -0
  151. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/collect-edited-files.cpython-314.pyc +0 -0
  152. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/commit-reminder.cpython-314.pyc +0 -0
  153. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/git-state-injector.cpython-314.pyc +0 -0
  154. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/guard-readonly-bash.cpython-314.pyc +0 -0
  155. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/redirect-builtin-agents.cpython-314.pyc +0 -0
  156. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/skill-suggester.cpython-314.pyc +0 -0
  157. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/syntax-validator.cpython-314.pyc +0 -0
  158. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/ticket-linker.cpython-314.pyc +0 -0
  159. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/todo-harvester.cpython-314.pyc +0 -0
  160. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/verify-no-regression.cpython-314.pyc +0 -0
  161. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/verify-tests-pass.cpython-314.pyc +0 -0
  162. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/collect-edited-files.py +0 -46
  163. package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/syntax-validator.py +0 -146
  164. package/.devcontainer/plugins/devs-marketplace/plugins/dangerous-command-blocker/scripts/__pycache__/block-dangerous.cpython-314.pyc +0 -0
  165. package/.devcontainer/plugins/devs-marketplace/plugins/protected-files-guard/scripts/__pycache__/guard-protected.cpython-314.pyc +0 -0
  166. package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/.claude-plugin/system-prompt.md +0 -184
  167. package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/scripts/__pycache__/guard-workspace-scope.cpython-314.pyc +0 -0
  168. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive/.claude-plugin/commands/debug.md → agent-system/skills/debug/SKILL.md} +0 -0
  169. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/api-design/references/error-handling.md +0 -0
  170. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/api-design/references/rest-conventions.md +0 -0
  171. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/ast-grep-patterns/references/language-patterns.md +0 -0
  172. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/claude-agent-sdk/references/sdk-typescript-reference.md +0 -0
  173. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/claude-code-headless/references/cli-flags-and-output.md +0 -0
  174. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/claude-code-headless/references/sdk-and-mcp.md +0 -0
  175. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/debugging/references/error-patterns.md +0 -0
  176. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/debugging/references/log-locations.md +0 -0
  177. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/dependency-management/references/ecosystem-commands.md +0 -0
  178. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/dependency-management/references/license-compliance.md +0 -0
  179. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/docker/references/compose-services.md +0 -0
  180. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/docker/references/dockerfile-patterns.md +0 -0
  181. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/docker-py/references/container-lifecycle.md +0 -0
  182. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/docker-py/references/resources-and-security.md +0 -0
  183. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/documentation-patterns/references/api-doc-templates.md +0 -0
  184. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/documentation-patterns/references/docstring-formats.md +0 -0
  185. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/fastapi/references/middleware-and-lifespan.md +0 -0
  186. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/fastapi/references/pydantic-models.md +0 -0
  187. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/fastapi/references/routing-and-dependencies.md +0 -0
  188. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/fastapi/references/sse-and-streaming.md +0 -0
  189. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/git-forensics/references/advanced-commands.md +0 -0
  190. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/git-forensics/references/investigation-playbooks.md +0 -0
  191. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/migration-patterns/references/javascript-migrations.md +0 -0
  192. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/migration-patterns/references/python-migrations.md +0 -0
  193. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/performance-profiling/references/interpreting-results.md +0 -0
  194. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/performance-profiling/references/tool-commands.md +0 -0
  195. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/pydantic-ai/references/agents-and-tools.md +0 -0
  196. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/pydantic-ai/references/models-and-streaming.md +0 -0
  197. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/refactoring-patterns/references/safe-transformations.md +0 -0
  198. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/refactoring-patterns/references/smell-catalog.md +0 -0
  199. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/security-checklist/references/owasp-patterns.md +0 -0
  200. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/security-checklist/references/secrets-patterns.md +0 -0
  201. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/skill-building/references/cross-vendor-principles.md +0 -0
  202. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/skill-building/references/patterns-and-antipatterns.md +0 -0
  203. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/skill-building/references/skill-authoring-patterns.md +0 -0
  204. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/sqlite/references/advanced-queries.md +0 -0
  205. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/sqlite/references/javascript-patterns.md +0 -0
  206. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/sqlite/references/python-patterns.md +0 -0
  207. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/sqlite/references/schema-and-pragmas.md +0 -0
  208. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/ai-sdk-svelte.md +0 -0
  209. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/component-patterns.md +0 -0
  210. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/layercake.md +0 -0
  211. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/migration-guide.md +0 -0
  212. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/runes-and-reactivity.md +0 -0
  213. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/spa-and-routing.md +0 -0
  214. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/svelte-dnd-action.md +0 -0
  215. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/testing/references/fastapi-testing.md +0 -0
  216. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/testing/references/svelte-testing.md +0 -0
  217. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-build/references/review-checklist.md +0 -0
  218. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-init/references/backlog-template.md +0 -0
  219. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-init/references/milestones-template.md +0 -0
  220. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-new/references/template.md +0 -0
  221. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/specification-writing/references/criteria-patterns.md +0 -0
  222. /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/specification-writing/references/ears-templates.md +0 -0
  223. /package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/{.claude-plugin/commands/ticket/357/200/272create-pr.md" → skills/ticketcreate-pr/SKILL.md} +0 -0
  224. /package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/{.claude-plugin/commands/ticket/357/200/272new.md" → skills/ticketnew/SKILL.md} +0 -0
  225. /package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/{.claude-plugin/commands/ticket/357/200/272review-commit.md" → skills/ticketreview-commit/SKILL.md} +0 -0
  226. /package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/{.claude-plugin/commands/ticket/357/200/272work.md" → skills/ticketwork/SKILL.md} +0 -0
@@ -0,0 +1,158 @@
1
+ # skill-engine
2
+
3
+ Claude Code plugin that provides 21 coding knowledge packs (skills) with automatic suggestion based on user prompts. Each skill contains domain-specific instructions and reference material that Claude loads on demand via the `/skill` command.
4
+
5
+ ## What It Does
6
+
7
+ Two capabilities:
8
+
9
+ 1. **Skill library** — 21 skills covering frameworks, tools, and development patterns. Each skill is a structured knowledge pack with a `SKILL.md` entrypoint and `references/` subdirectory containing detailed reference docs.
10
+
11
+ 2. **Auto-suggestion** — A `UserPromptSubmit` hook watches user prompts for keyword matches and suggests relevant skills as context, so Claude can proactively load the right knowledge.
12
+
13
+ ### Skill Catalog
14
+
15
+ | Skill | Domain |
16
+ |-------|--------|
17
+ | api-design | REST conventions, error handling, API patterns |
18
+ | ast-grep-patterns | Semantic code search patterns by language |
19
+ | claude-agent-sdk | Building custom agents with the Agent SDK (TypeScript) |
20
+ | claude-code-headless | CLI flags, output parsing, SDK and MCP integration |
21
+ | debugging | Error patterns, log locations, diagnosis procedures |
22
+ | dependency-management | Package managers, ecosystem commands, license compliance |
23
+ | docker | Dockerfile patterns, docker-compose services |
24
+ | docker-py | Docker SDK for Python, container lifecycle |
25
+ | documentation-patterns | API doc templates, docstring formats |
26
+ | fastapi | Routing, Pydantic v2, SSE streaming, middleware, dependencies |
27
+ | git-forensics | Advanced git commands, blame history, investigation playbooks |
28
+ | migration-patterns | Framework/version migrations for JavaScript and Python |
29
+ | performance-profiling | Profiling tools, interpreting results, optimization |
30
+ | pydantic-ai | Building AI agents with Pydantic, tools, models, streaming |
31
+ | refactoring-patterns | Safe transformations, code smell catalog |
32
+ | security-checklist | OWASP patterns, secrets management, vulnerability detection |
33
+ | skill-building | How to author skills, patterns and anti-patterns |
34
+ | sqlite | Schema, pragmas, advanced queries, FTS5, JS/Python patterns |
35
+ | svelte5 | Runes, reactivity, components, SPA routing, LayerCake |
36
+ | team | Agent team orchestration, parallel workstreams, task coordination |
37
+ | testing | Testing frameworks, FastAPI testing, Svelte testing |
38
+
39
+ ### Auto-Suggestion
40
+
41
+ The `skill-suggester.py` hook matches user prompts against keyword maps defined in each skill. When a match is found, it injects a suggestion via `additionalContext` so Claude knows a relevant skill is available.
42
+
43
+ Keywords are defined per skill as:
44
+ - **Phrases** — Multi-word patterns (e.g., "docker compose", "REST API")
45
+ - **Terms** — Single keywords (e.g., "FastAPI", "pytest")
46
+
47
+ ## How It Works
48
+
49
+ ### Hook Lifecycle
50
+
51
+ ```
52
+ User submits a prompt
53
+ |
54
+ +-> UserPromptSubmit fires
55
+ |
56
+ +-> skill-suggester.py
57
+ |
58
+ +-> Scan prompt against all skill keyword maps
59
+ +-> Match found? -> Inject skill suggestion as additionalContext
60
+ +-> No match? -> Silent (no output)
61
+ ```
62
+
63
+ ### Skill Structure
64
+
65
+ Each skill follows a standard layout:
66
+
67
+ ```
68
+ skills/
69
+ +-- skill-name/
70
+ +-- SKILL.md # Entrypoint: instructions, patterns, key concepts
71
+ +-- references/ # Detailed reference material
72
+ +-- topic-a.md
73
+ +-- topic-b.md
74
+ ```
75
+
76
+ Skills are loaded via Claude Code's `/skill` slash command (e.g., `/skill fastapi`). The `SKILL.md` file is the primary document Claude reads; references are loaded as needed for deeper detail.
77
+
78
+ ### Exit Code Behavior
79
+
80
+ | Exit Code | Meaning |
81
+ |-----------|---------|
82
+ | 0 | Suggestion injected (or no match — silent) |
83
+
84
+ The hook never blocks operations.
85
+
86
+ ### Timeouts
87
+
88
+ | Hook | Timeout |
89
+ |------|---------|
90
+ | Skill suggestion (UserPromptSubmit) | 3s |
91
+
92
+ ## Installation
93
+
94
+ ### CodeForge DevContainer
95
+
96
+ Pre-installed and activated automatically — no setup needed.
97
+
98
+ ### From GitHub
99
+
100
+ Use this plugin in any Claude Code setup:
101
+
102
+ 1. Clone the [CodeForge](https://github.com/AnExiledDev/CodeForge) repository:
103
+
104
+ ```bash
105
+ git clone https://github.com/AnExiledDev/CodeForge.git
106
+ ```
107
+
108
+ 2. Enable the plugin in your `.claude/settings.json`:
109
+
110
+ ```json
111
+ {
112
+ "enabledPlugins": {
113
+ "skill-engine@<clone-path>/.devcontainer/plugins/devs-marketplace": true
114
+ }
115
+ }
116
+ ```
117
+
118
+ Replace `<clone-path>` with the absolute path to your CodeForge clone.
119
+
120
+ ## Plugin Structure
121
+
122
+ ```
123
+ skill-engine/
124
+ +-- .claude-plugin/
125
+ | +-- plugin.json # Plugin metadata
126
+ +-- hooks/
127
+ | +-- hooks.json # UserPromptSubmit hook registration
128
+ +-- scripts/
129
+ | +-- skill-suggester.py # Keyword-based skill auto-suggestion
130
+ +-- skills/
131
+ | +-- api-design/ # 21 skill directories
132
+ | +-- ast-grep-patterns/
133
+ | +-- claude-agent-sdk/
134
+ | +-- claude-code-headless/
135
+ | +-- debugging/
136
+ | +-- dependency-management/
137
+ | +-- docker/
138
+ | +-- docker-py/
139
+ | +-- documentation-patterns/
140
+ | +-- fastapi/
141
+ | +-- git-forensics/
142
+ | +-- migration-patterns/
143
+ | +-- performance-profiling/
144
+ | +-- pydantic-ai/
145
+ | +-- refactoring-patterns/
146
+ | +-- security-checklist/
147
+ | +-- skill-building/
148
+ | +-- sqlite/
149
+ | +-- svelte5/
150
+ | +-- team/
151
+ | +-- testing/
152
+ +-- README.md # This file
153
+ ```
154
+
155
+ ## Requirements
156
+
157
+ - Python 3.11+
158
+ - Claude Code with plugin hook support (skills)
@@ -0,0 +1,16 @@
1
+ {
2
+ "description": "Skill auto-suggestion on user prompts",
3
+ "hooks": {
4
+ "UserPromptSubmit": [
5
+ {
6
+ "hooks": [
7
+ {
8
+ "type": "command",
9
+ "command": "python3 ${CLAUDE_PLUGIN_ROOT}/scripts/skill-suggester.py",
10
+ "timeout": 3
11
+ }
12
+ ]
13
+ }
14
+ ]
15
+ }
16
+ }
@@ -2,7 +2,7 @@
2
2
  """Skill suggester hook for UserPromptSubmit and SubagentStart events.
3
3
 
4
4
  Detects which hook event called it via input JSON shape:
5
- - UserPromptSubmit: {"prompt": "..."} -> {"systemMessage": "..."}
5
+ - UserPromptSubmit: {"prompt": "..."} -> {"additionalContext": "..."}
6
6
  - SubagentStart: {"subagent_type": "Plan", "prompt": "..."} -> {"additionalContext": "..."}
7
7
 
8
8
  Matches user prompts against skill keyword maps (phrases + terms) and suggests
@@ -16,30 +16,33 @@ import sys
16
16
  SKILLS = {
17
17
  "fastapi": {
18
18
  "phrases": [
19
- "rest api",
19
+ "build a fastapi app",
20
+ "rest api with fastapi",
20
21
  "fastapi",
21
22
  "fast api",
23
+ "add sse streaming",
24
+ "dependency injection in fastapi",
25
+ "define pydantic models",
26
+ "stream llm responses",
27
+ "add middleware to fastapi",
22
28
  "pydantic model",
23
- "sse streaming",
24
- "server-sent event",
25
- "dependency injection",
26
- "asgi middleware",
27
- "api endpoint",
28
- "api route",
29
29
  ],
30
- "terms": ["fastapi", "pydantic", "uvicorn", "starlette"],
30
+ "terms": ["fastapi", "pydantic", "uvicorn", "starlette", "sse-starlette"],
31
31
  },
32
32
  "sqlite": {
33
33
  "phrases": [
34
34
  "sqlite",
35
+ "set up a sqlite database",
35
36
  "wal mode",
36
37
  "fts5",
37
38
  "full-text search",
38
39
  "better-sqlite3",
39
40
  "cloudflare d1",
40
- "json1 extension",
41
+ "store json in sqlite",
42
+ "write ctes",
43
+ "window functions",
41
44
  ],
42
- "terms": ["aiosqlite"],
45
+ "terms": ["aiosqlite", "better-sqlite3"],
43
46
  },
44
47
  "claude-code-headless": {
45
48
  "phrases": [
@@ -49,31 +52,39 @@ SKILLS = {
49
52
  "claude code headless",
50
53
  "run claude in ci",
51
54
  "claude in pipeline",
55
+ "parse stream-json output",
56
+ "track costs programmatically",
57
+ "permissions for scripts",
52
58
  ],
53
- "terms": [],
59
+ "terms": ["--output-format stream-json", "--permission-mode"],
54
60
  },
55
61
  "claude-agent-sdk": {
56
62
  "phrases": [
57
63
  "agent sdk",
58
64
  "claude agent sdk",
59
- "build an agent",
60
- "create an agent",
65
+ "build an agent with the claude agent sdk",
61
66
  "canusetool",
62
67
  "sdk permissions",
68
+ "create mcp tools",
69
+ "define subagents",
70
+ "configure sdk hooks",
71
+ "stream sdk messages",
63
72
  ],
64
- "terms": ["claude-agent-sdk", "claude_agent_sdk"],
73
+ "terms": ["claude-agent-sdk", "claude_agent_sdk", "createSdkMcpServer"],
65
74
  },
66
75
  "pydantic-ai": {
67
76
  "phrases": [
68
77
  "pydantic ai",
69
78
  "pydantic-ai",
70
79
  "pydanticai",
71
- "ai agent",
72
- "runcontext",
73
- "vercel ai adapter",
74
- "model fallback",
80
+ "build a pydanticai agent",
81
+ "add tools to an agent",
82
+ "stream responses with pydanticai",
83
+ "test a pydanticai agent",
84
+ "connect pydanticai to svelte",
85
+ "configure model fallbacks",
75
86
  ],
76
- "terms": ["pydanticai"],
87
+ "terms": ["pydanticai", "RunContext", "VercelAIAdapter", "FallbackModel"],
77
88
  },
78
89
  "testing": {
79
90
  "phrases": [
@@ -87,12 +98,11 @@ SKILLS = {
87
98
  "mock dependencies",
88
99
  "test endpoint",
89
100
  "test component",
101
+ "test sse streaming",
90
102
  "unit test",
91
103
  "integration test",
92
- "run tests",
93
- "run the tests",
94
104
  ],
95
- "terms": ["pytest", "vitest"],
105
+ "terms": ["pytest", "vitest", "pytest-anyio", "httpx AsyncClient"],
96
106
  },
97
107
  "docker-py": {
98
108
  "phrases": [
@@ -102,8 +112,12 @@ SKILLS = {
102
112
  "docker engine api",
103
113
  "docker from python",
104
114
  "docker api",
115
+ "manage docker containers from python",
116
+ "create containers programmatically",
117
+ "stream container logs",
118
+ "monitor container health from python",
105
119
  ],
106
- "terms": ["aiodocker"],
120
+ "terms": ["aiodocker", "DockerClient"],
107
121
  },
108
122
  "svelte5": {
109
123
  "phrases": [
@@ -113,12 +127,11 @@ SKILLS = {
113
127
  "svelte rune",
114
128
  "svelte 5",
115
129
  "svelte5",
116
- "layercake",
117
- "layer cake",
118
- "svelte-dnd-action",
119
- "svelte dnd",
130
+ "migrate from svelte 4",
131
+ "manage state with $state",
132
+ "drag and drop to svelte",
120
133
  ],
121
- "terms": ["sveltekit", "svelte"],
134
+ "terms": ["sveltekit", "svelte", "svelte-dnd-action", "@ai-sdk/svelte"],
122
135
  },
123
136
  "docker": {
124
137
  "phrases": [
@@ -129,11 +142,10 @@ SKILLS = {
129
142
  "multi-stage build",
130
143
  "health check",
131
144
  "healthcheck",
132
- "docker network",
133
- "docker volume",
134
- "docker image",
145
+ "docker compose watch",
146
+ "optimize docker image",
135
147
  ],
136
- "terms": ["dockerfile", "compose"],
148
+ "terms": ["dockerfile", "compose.yaml", "BuildKit"],
137
149
  },
138
150
  "skill-building": {
139
151
  "phrases": [
@@ -144,6 +156,8 @@ SKILLS = {
144
156
  "skill instructions",
145
157
  "skill authoring",
146
158
  "design a skill",
159
+ "improve a skill description",
160
+ "optimize skill content",
147
161
  ],
148
162
  "terms": [],
149
163
  },
@@ -151,49 +165,46 @@ SKILLS = {
151
165
  "phrases": [
152
166
  "debug logs",
153
167
  "check logs",
168
+ "check container logs",
154
169
  "find error",
155
170
  "investigate failure",
156
- "container logs",
157
171
  "what went wrong",
158
172
  "why did this crash",
159
173
  "diagnose the issue",
160
174
  "look at the logs",
161
175
  "read the logs",
176
+ "read docker logs",
162
177
  "analyze error",
163
178
  ],
164
- "terms": ["diagnose", "troubleshoot"],
179
+ "terms": ["diagnose", "troubleshoot", "OOMKilled", "ECONNREFUSED"],
165
180
  },
166
181
  "refactoring-patterns": {
167
182
  "phrases": [
168
183
  "refactor this",
169
184
  "clean up code",
170
- "improve code structure",
171
- "reduce complexity",
172
- ],
173
- "terms": [
174
- "refactor",
175
- "refactoring",
176
- "code smell",
177
- "extract function",
178
- "dead code",
185
+ "clean up this function",
186
+ "extract a method",
187
+ "fix code smells",
188
+ "reduce code duplication",
189
+ "simplify this class",
190
+ "break up this large function",
191
+ "remove dead code",
179
192
  ],
193
+ "terms": ["refactor", "refactoring", "code smell", "feature envy", "god class"],
180
194
  },
181
195
  "security-checklist": {
182
196
  "phrases": [
183
197
  "security review",
198
+ "security issues",
199
+ "security vulnerabilities",
184
200
  "check for vulnerabilities",
201
+ "scan for secrets",
185
202
  "audit security",
186
- "find security issues",
187
- ],
188
- "terms": [
189
- "security",
190
- "vulnerability",
191
- "owasp",
192
- "injection",
193
- "xss",
194
- "secrets",
195
- "cve",
203
+ "review for injection",
204
+ "owasp compliance",
205
+ "hardcoded credentials",
196
206
  ],
207
+ "terms": ["owasp", "injection", "xss", "cve", "trivy", "gitleaks"],
197
208
  },
198
209
  "git-forensics": {
199
210
  "phrases": [
@@ -201,62 +212,67 @@ SKILLS = {
201
212
  "who changed this",
202
213
  "when did this break",
203
214
  "git blame",
215
+ "bisect a regression",
216
+ "recover a lost commit",
217
+ "search git history",
218
+ "find when code was removed",
219
+ "trace the history",
220
+ "use git reflog",
204
221
  ],
205
- "terms": ["bisect", "blame", "archaeology", "git log", "pickaxe", "reflog"],
222
+ "terms": ["bisect", "blame", "pickaxe", "reflog", "git log -S"],
206
223
  },
207
224
  "specification-writing": {
208
225
  "phrases": [
209
226
  "write a spec",
227
+ "write requirements",
210
228
  "define requirements",
211
229
  "acceptance criteria",
212
230
  "user stories",
231
+ "use ears format",
232
+ "given/when/then",
233
+ "write given/when/then scenarios",
234
+ "structure requirements",
213
235
  ],
214
- "terms": [
215
- "specification",
216
- "requirements",
217
- "ears",
218
- "gherkin",
219
- "given when then",
220
- ],
236
+ "terms": ["specification", "ears", "gherkin", "given when then"],
221
237
  },
222
238
  "performance-profiling": {
223
239
  "phrases": [
240
+ "profile this code",
224
241
  "profile performance",
225
242
  "find bottleneck",
243
+ "find the bottleneck",
226
244
  "benchmark this",
245
+ "create a flamegraph",
246
+ "find memory leaks",
227
247
  "why is this slow",
248
+ "measure execution time",
249
+ "reduce latency",
228
250
  ],
229
- "terms": [
230
- "profiling",
231
- "benchmark",
232
- "flamegraph",
233
- "bottleneck",
234
- "latency",
235
- "throughput",
236
- ],
251
+ "terms": ["cProfile", "py-spy", "scalene", "flamegraph", "hyperfine"],
237
252
  },
238
253
  "api-design": {
239
254
  "phrases": [
240
255
  "api design",
241
256
  "rest api design",
242
257
  "design an api",
243
- "design a rest",
244
- "api convention",
245
- "endpoint design",
258
+ "design rest endpoints",
246
259
  "api versioning",
247
- "pagination pattern",
248
- "error response format",
260
+ "pagination strategy",
261
+ "design error responses",
262
+ "rate limiting",
263
+ "openapi documentation",
249
264
  ],
250
- "terms": ["openapi", "swagger", "rfc7807"],
265
+ "terms": ["openapi", "swagger", "rfc7807", "rfc 7807"],
251
266
  },
252
267
  "ast-grep-patterns": {
253
268
  "phrases": [
254
269
  "ast-grep",
255
270
  "ast grep",
256
271
  "structural search",
257
- "structural code search",
258
272
  "syntax-aware search",
259
- "tree-sitter",
273
+ "find code patterns",
274
+ "search with ast-grep",
275
+ "use tree-sitter",
260
276
  ],
261
277
  "terms": ["sg run", "ast-grep", "tree-sitter"],
262
278
  },
@@ -269,6 +285,7 @@ SKILLS = {
269
285
  "license check",
270
286
  "unused dependencies",
271
287
  "vulnerability scan",
288
+ "find unused dependencies",
272
289
  ],
273
290
  "terms": ["pip-audit", "npm audit", "cargo audit", "govulncheck"],
274
291
  },
@@ -279,10 +296,10 @@ SKILLS = {
279
296
  "add docstrings",
280
297
  "add jsdoc",
281
298
  "document the api",
282
- "documentation template",
299
+ "create architecture docs",
283
300
  "update the docs",
284
301
  ],
285
- "terms": ["docstring", "jsdoc", "tsdoc", "godoc", "rustdoc"],
302
+ "terms": ["docstring", "jsdoc", "tsdoc", "rustdoc", "Sphinx"],
286
303
  },
287
304
  "migration-patterns": {
288
305
  "phrases": [
@@ -293,8 +310,10 @@ SKILLS = {
293
310
  "bump python",
294
311
  "upgrade pydantic",
295
312
  "migrate express",
313
+ "modernize the codebase",
314
+ "commonjs to esm",
296
315
  ],
297
- "terms": ["migrate", "migration", "upgrade"],
316
+ "terms": ["migrate", "migration"],
298
317
  },
299
318
  "spec-build": {
300
319
  "phrases": [
@@ -302,10 +321,9 @@ SKILLS = {
302
321
  "build from spec",
303
322
  "start building",
304
323
  "spec-build",
305
- "implement this feature from the spec",
324
+ "implement this feature",
306
325
  "build what the spec describes",
307
- "implement from the spec",
308
- "build the feature",
326
+ "run spec-build",
309
327
  ],
310
328
  "terms": ["spec-build"],
311
329
  },
@@ -317,9 +335,86 @@ SKILLS = {
317
335
  "spec-review",
318
336
  "does code match spec",
319
337
  "audit implementation",
338
+ "run spec-review",
339
+ "regression check",
320
340
  ],
321
341
  "terms": ["spec-review"],
322
342
  },
343
+ "spec-check": {
344
+ "phrases": [
345
+ "check spec health",
346
+ "audit specs",
347
+ "which specs are stale",
348
+ "find missing specs",
349
+ "review spec quality",
350
+ "run spec-check",
351
+ "are my specs up to date",
352
+ ],
353
+ "terms": ["spec-check"],
354
+ },
355
+ "spec-init": {
356
+ "phrases": [
357
+ "initialize specs",
358
+ "specs directory",
359
+ "set up specs",
360
+ "bootstrap specs",
361
+ "start using specs",
362
+ "create spec directory",
363
+ "init specs",
364
+ "set up .specs",
365
+ ],
366
+ "terms": ["spec-init"],
367
+ },
368
+ "spec-new": {
369
+ "phrases": [
370
+ "create a spec",
371
+ "new spec",
372
+ "new feature spec",
373
+ "write a spec for",
374
+ "spec this feature",
375
+ "start a new spec",
376
+ "plan a feature",
377
+ "add a spec",
378
+ ],
379
+ "terms": ["spec-new"],
380
+ },
381
+ "spec-refine": {
382
+ "phrases": [
383
+ "refine the spec",
384
+ "review spec assumptions",
385
+ "validate spec decisions",
386
+ "approve the spec",
387
+ "walk me through the spec",
388
+ "check spec for assumptions",
389
+ "iterate on the spec",
390
+ ],
391
+ "terms": ["spec-refine"],
392
+ },
393
+ "spec-update": {
394
+ "phrases": [
395
+ "update the spec",
396
+ "mark spec as implemented",
397
+ "as-built update",
398
+ "finish the spec",
399
+ "close the spec",
400
+ "update spec status",
401
+ "sync spec with code",
402
+ ],
403
+ "terms": ["spec-update"],
404
+ },
405
+ "team": {
406
+ "phrases": [
407
+ "spawn a team",
408
+ "create a team",
409
+ "team of agents",
410
+ "use a swarm",
411
+ "work in parallel",
412
+ "coordinate multiple agents",
413
+ "split this across agents",
414
+ "team up",
415
+ ],
416
+ "terms": ["TeamCreate", "SendMessage"],
417
+ },
323
418
  }
324
419
 
325
420
  # Pre-compile term patterns for whole-word matching
@@ -370,25 +465,19 @@ def main() -> None:
370
465
  return
371
466
 
372
467
  skill_list = ", ".join(f'"{s}"' for s in skills)
373
- is_subagent = "subagent_type" in data
374
468
 
375
- if is_subagent:
376
- output = {
469
+ output = {
470
+ "hookSpecificOutput": {
471
+ "hookEventName": "UserPromptSubmit",
377
472
  "additionalContext": (
378
- f"Available skills matching this planning task: {skill_list}. "
379
- "These skills contain project-specific patterns, conventions, "
380
- "and reference material. Consider their guidance when designing "
381
- "the implementation approach."
382
- )
383
- }
384
- else:
385
- output = {
386
- "systemMessage": (
387
- f"<system-reminder>The user's prompt matches available skill(s): "
388
- f"{skill_list}. Load the relevant skill(s) using the Skill tool "
389
- f"before responding.</system-reminder>"
390
- )
473
+ f"MANDATORY Skill activation required. The user's prompt matches: {skill_list}. "
474
+ f"Before responding, evaluate each matched skill: is it relevant to this specific request? "
475
+ f"For each relevant skill, activate it using the Skill tool NOW. "
476
+ f"Skip any that are not relevant to the user's actual intent. "
477
+ f"Do not proceed with implementation until relevant skills are loaded."
478
+ ),
391
479
  }
480
+ }
392
481
 
393
482
  json.dump(output, sys.stdout)
394
483