claudeguide-engineer 1.14.8

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 (685) hide show
  1. package/.claude/.env.example +32 -0
  2. package/.claude/.mcp.json.example +23 -0
  3. package/.claude/agents/brainstormer.md +101 -0
  4. package/.claude/agents/code-reviewer.md +152 -0
  5. package/.claude/agents/copywriter.md +110 -0
  6. package/.claude/agents/database-admin.md +90 -0
  7. package/.claude/agents/debugger.md +134 -0
  8. package/.claude/agents/docs-manager.md +118 -0
  9. package/.claude/agents/git-manager.md +199 -0
  10. package/.claude/agents/journal-writer.md +113 -0
  11. package/.claude/agents/mcp-manager.md +93 -0
  12. package/.claude/agents/planner.md +35 -0
  13. package/.claude/agents/project-manager.md +117 -0
  14. package/.claude/agents/researcher.md +34 -0
  15. package/.claude/agents/scout-external.md +131 -0
  16. package/.claude/agents/scout.md +105 -0
  17. package/.claude/agents/tester.md +102 -0
  18. package/.claude/agents/ui-ux-designer.md +219 -0
  19. package/.claude/commands/ask.md +56 -0
  20. package/.claude/commands/bootstrap/auto/fast.md +111 -0
  21. package/.claude/commands/bootstrap/auto.md +115 -0
  22. package/.claude/commands/bootstrap.md +137 -0
  23. package/.claude/commands/brainstorm.md +69 -0
  24. package/.claude/commands/code.md +93 -0
  25. package/.claude/commands/content/cro.md +43 -0
  26. package/.claude/commands/content/enhance.md +14 -0
  27. package/.claude/commands/content/fast.md +13 -0
  28. package/.claude/commands/content/good.md +16 -0
  29. package/.claude/commands/cook/auto/fast.md +26 -0
  30. package/.claude/commands/cook/auto.md +15 -0
  31. package/.claude/commands/cook.md +105 -0
  32. package/.claude/commands/debug.md +13 -0
  33. package/.claude/commands/design/3d.md +74 -0
  34. package/.claude/commands/design/describe.md +21 -0
  35. package/.claude/commands/design/fast.md +22 -0
  36. package/.claude/commands/design/good.md +26 -0
  37. package/.claude/commands/design/screenshot.md +32 -0
  38. package/.claude/commands/design/video.md +32 -0
  39. package/.claude/commands/docs/init.md +15 -0
  40. package/.claude/commands/docs/summarize.md +22 -0
  41. package/.claude/commands/docs/update.md +23 -0
  42. package/.claude/commands/fix/ci.md +20 -0
  43. package/.claude/commands/fix/fast.md +19 -0
  44. package/.claude/commands/fix/hard.md +43 -0
  45. package/.claude/commands/fix/logs.md +20 -0
  46. package/.claude/commands/fix/test.md +20 -0
  47. package/.claude/commands/fix/types.md +9 -0
  48. package/.claude/commands/fix/ui.md +35 -0
  49. package/.claude/commands/fix.md +12 -0
  50. package/.claude/commands/git/cm.md +5 -0
  51. package/.claude/commands/git/cp.md +4 -0
  52. package/.claude/commands/git/pr.md +15 -0
  53. package/.claude/commands/integrate/polar.md +28 -0
  54. package/.claude/commands/integrate/sepay.md +28 -0
  55. package/.claude/commands/journal.md +5 -0
  56. package/.claude/commands/plan/ci.md +18 -0
  57. package/.claude/commands/plan/cro.md +56 -0
  58. package/.claude/commands/plan/fast.md +46 -0
  59. package/.claude/commands/plan/hard.md +57 -0
  60. package/.claude/commands/plan/two.md +30 -0
  61. package/.claude/commands/plan.md +23 -0
  62. package/.claude/commands/review/codebase.md +49 -0
  63. package/.claude/commands/scout/ext.md +35 -0
  64. package/.claude/commands/scout.md +28 -0
  65. package/.claude/commands/skill/add.md +29 -0
  66. package/.claude/commands/skill/create.md +22 -0
  67. package/.claude/commands/skill/fix-logs.md +21 -0
  68. package/.claude/commands/skill/optimize.md +28 -0
  69. package/.claude/commands/test.md +8 -0
  70. package/.claude/commands/use-mcp.md +34 -0
  71. package/.claude/commands/watzup.md +8 -0
  72. package/.claude/hooks/.env.example +15 -0
  73. package/.claude/hooks/README.md +339 -0
  74. package/.claude/hooks/discord-hook-setup.md +440 -0
  75. package/.claude/hooks/discord_notify.sh +221 -0
  76. package/.claude/hooks/modularization-hook.js +108 -0
  77. package/.claude/hooks/scout-block.js +89 -0
  78. package/.claude/hooks/scout-block.ps1 +65 -0
  79. package/.claude/hooks/scout-block.sh +51 -0
  80. package/.claude/hooks/send-discord.sh +75 -0
  81. package/.claude/hooks/telegram-hook-setup.md +843 -0
  82. package/.claude/hooks/telegram_notify.sh +158 -0
  83. package/.claude/metadata.json +15 -0
  84. package/.claude/settings.json +32 -0
  85. package/.claude/skills/.env.example +32 -0
  86. package/.claude/skills/INSTALLATION.md +280 -0
  87. package/.claude/skills/README.md +111 -0
  88. package/.claude/skills/THIRD_PARTY_NOTICES.md +405 -0
  89. package/.claude/skills/aesthetic/SKILL.md +121 -0
  90. package/.claude/skills/aesthetic/assets/design-guideline-template.md +163 -0
  91. package/.claude/skills/aesthetic/assets/design-story-template.md +135 -0
  92. package/.claude/skills/aesthetic/references/design-principles.md +62 -0
  93. package/.claude/skills/aesthetic/references/design-resources.md +75 -0
  94. package/.claude/skills/aesthetic/references/micro-interactions.md +53 -0
  95. package/.claude/skills/aesthetic/references/storytelling-design.md +50 -0
  96. package/.claude/skills/agent_skills_spec.md +55 -0
  97. package/.claude/skills/ai-multimodal/.env.example +97 -0
  98. package/.claude/skills/ai-multimodal/SKILL.md +353 -0
  99. package/.claude/skills/ai-multimodal/references/audio-processing.md +373 -0
  100. package/.claude/skills/ai-multimodal/references/image-generation.md +558 -0
  101. package/.claude/skills/ai-multimodal/references/video-analysis.md +498 -0
  102. package/.claude/skills/ai-multimodal/references/vision-understanding.md +479 -0
  103. package/.claude/skills/ai-multimodal/scripts/.coverage +0 -0
  104. package/.claude/skills/ai-multimodal/scripts/document_converter.py +395 -0
  105. package/.claude/skills/ai-multimodal/scripts/gemini_batch_process.py +480 -0
  106. package/.claude/skills/ai-multimodal/scripts/media_optimizer.py +506 -0
  107. package/.claude/skills/ai-multimodal/scripts/requirements.txt +26 -0
  108. package/.claude/skills/ai-multimodal/scripts/tests/.coverage +0 -0
  109. package/.claude/skills/ai-multimodal/scripts/tests/requirements.txt +20 -0
  110. package/.claude/skills/ai-multimodal/scripts/tests/test_document_converter.py +74 -0
  111. package/.claude/skills/ai-multimodal/scripts/tests/test_failures.log +258 -0
  112. package/.claude/skills/ai-multimodal/scripts/tests/test_gemini_batch_process.py +362 -0
  113. package/.claude/skills/ai-multimodal/scripts/tests/test_media_optimizer.py +373 -0
  114. package/.claude/skills/backend-development/SKILL.md +95 -0
  115. package/.claude/skills/backend-development/references/backend-api-design.md +495 -0
  116. package/.claude/skills/backend-development/references/backend-architecture.md +454 -0
  117. package/.claude/skills/backend-development/references/backend-authentication.md +338 -0
  118. package/.claude/skills/backend-development/references/backend-code-quality.md +659 -0
  119. package/.claude/skills/backend-development/references/backend-debugging.md +904 -0
  120. package/.claude/skills/backend-development/references/backend-devops.md +494 -0
  121. package/.claude/skills/backend-development/references/backend-mindset.md +387 -0
  122. package/.claude/skills/backend-development/references/backend-performance.md +397 -0
  123. package/.claude/skills/backend-development/references/backend-security.md +290 -0
  124. package/.claude/skills/backend-development/references/backend-technologies.md +256 -0
  125. package/.claude/skills/backend-development/references/backend-testing.md +429 -0
  126. package/.claude/skills/better-auth/SKILL.md +204 -0
  127. package/.claude/skills/better-auth/references/advanced-features.md +553 -0
  128. package/.claude/skills/better-auth/references/database-integration.md +577 -0
  129. package/.claude/skills/better-auth/references/email-password-auth.md +416 -0
  130. package/.claude/skills/better-auth/references/oauth-providers.md +430 -0
  131. package/.claude/skills/better-auth/scripts/.coverage +0 -0
  132. package/.claude/skills/better-auth/scripts/better_auth_init.py +521 -0
  133. package/.claude/skills/better-auth/scripts/requirements.txt +15 -0
  134. package/.claude/skills/better-auth/scripts/tests/.coverage +0 -0
  135. package/.claude/skills/better-auth/scripts/tests/test_better_auth_init.py +421 -0
  136. package/.claude/skills/chrome-devtools/SKILL.md +360 -0
  137. package/.claude/skills/chrome-devtools/references/cdp-domains.md +694 -0
  138. package/.claude/skills/chrome-devtools/references/performance-guide.md +940 -0
  139. package/.claude/skills/chrome-devtools/references/puppeteer-reference.md +953 -0
  140. package/.claude/skills/chrome-devtools/scripts/README.md +213 -0
  141. package/.claude/skills/chrome-devtools/scripts/__tests__/selector.test.js +210 -0
  142. package/.claude/skills/chrome-devtools/scripts/click.js +79 -0
  143. package/.claude/skills/chrome-devtools/scripts/console.js +75 -0
  144. package/.claude/skills/chrome-devtools/scripts/evaluate.js +49 -0
  145. package/.claude/skills/chrome-devtools/scripts/fill.js +72 -0
  146. package/.claude/skills/chrome-devtools/scripts/install-deps.sh +181 -0
  147. package/.claude/skills/chrome-devtools/scripts/install.sh +83 -0
  148. package/.claude/skills/chrome-devtools/scripts/lib/browser.js +122 -0
  149. package/.claude/skills/chrome-devtools/scripts/lib/selector.js +178 -0
  150. package/.claude/skills/chrome-devtools/scripts/navigate.js +46 -0
  151. package/.claude/skills/chrome-devtools/scripts/network.js +102 -0
  152. package/.claude/skills/chrome-devtools/scripts/package.json +15 -0
  153. package/.claude/skills/chrome-devtools/scripts/performance.js +145 -0
  154. package/.claude/skills/chrome-devtools/scripts/screenshot.js +180 -0
  155. package/.claude/skills/chrome-devtools/scripts/snapshot.js +131 -0
  156. package/.claude/skills/claude-code/references/advanced-features.md +399 -0
  157. package/.claude/skills/claude-code/references/agent-skills.md +399 -0
  158. package/.claude/skills/claude-code/references/api-reference.md +498 -0
  159. package/.claude/skills/claude-code/references/best-practices.md +447 -0
  160. package/.claude/skills/claude-code/references/cicd-integration.md +428 -0
  161. package/.claude/skills/claude-code/references/configuration.md +480 -0
  162. package/.claude/skills/claude-code/references/enterprise-features.md +472 -0
  163. package/.claude/skills/claude-code/references/getting-started.md +252 -0
  164. package/.claude/skills/claude-code/references/hooks-and-plugins.md +441 -0
  165. package/.claude/skills/claude-code/references/ide-integration.md +316 -0
  166. package/.claude/skills/claude-code/references/mcp-integration.md +386 -0
  167. package/.claude/skills/claude-code/references/slash-commands.md +489 -0
  168. package/.claude/skills/claude-code/references/troubleshooting.md +456 -0
  169. package/.claude/skills/claude-code/skill.md +188 -0
  170. package/.claude/skills/code-review/SKILL.md +143 -0
  171. package/.claude/skills/code-review/references/code-review-reception.md +209 -0
  172. package/.claude/skills/code-review/references/requesting-code-review.md +105 -0
  173. package/.claude/skills/code-review/references/verification-before-completion.md +139 -0
  174. package/.claude/skills/common/README.md +120 -0
  175. package/.claude/skills/common/api_key_helper.py +300 -0
  176. package/.claude/skills/databases/SKILL.md +232 -0
  177. package/.claude/skills/databases/references/mongodb-aggregation.md +447 -0
  178. package/.claude/skills/databases/references/mongodb-atlas.md +465 -0
  179. package/.claude/skills/databases/references/mongodb-crud.md +408 -0
  180. package/.claude/skills/databases/references/mongodb-indexing.md +442 -0
  181. package/.claude/skills/databases/references/postgresql-administration.md +594 -0
  182. package/.claude/skills/databases/references/postgresql-performance.md +527 -0
  183. package/.claude/skills/databases/references/postgresql-psql-cli.md +467 -0
  184. package/.claude/skills/databases/references/postgresql-queries.md +475 -0
  185. package/.claude/skills/databases/scripts/.coverage +0 -0
  186. package/.claude/skills/databases/scripts/db_backup.py +502 -0
  187. package/.claude/skills/databases/scripts/db_migrate.py +414 -0
  188. package/.claude/skills/databases/scripts/db_performance_check.py +444 -0
  189. package/.claude/skills/databases/scripts/requirements.txt +20 -0
  190. package/.claude/skills/databases/scripts/tests/coverage-db.json +1 -0
  191. package/.claude/skills/databases/scripts/tests/requirements.txt +4 -0
  192. package/.claude/skills/databases/scripts/tests/test_db_backup.py +340 -0
  193. package/.claude/skills/databases/scripts/tests/test_db_migrate.py +277 -0
  194. package/.claude/skills/databases/scripts/tests/test_db_performance_check.py +370 -0
  195. package/.claude/skills/debugging/SKILL.md +84 -0
  196. package/.claude/skills/debugging/references/defense-in-depth.md +124 -0
  197. package/.claude/skills/debugging/references/root-cause-tracing.md +122 -0
  198. package/.claude/skills/debugging/references/systematic-debugging.md +102 -0
  199. package/.claude/skills/debugging/references/verification.md +123 -0
  200. package/.claude/skills/debugging/scripts/find-polluter.sh +63 -0
  201. package/.claude/skills/debugging/scripts/find-polluter.test.md +102 -0
  202. package/.claude/skills/devops/.env.example +76 -0
  203. package/.claude/skills/devops/SKILL.md +285 -0
  204. package/.claude/skills/devops/references/browser-rendering.md +305 -0
  205. package/.claude/skills/devops/references/cloudflare-d1-kv.md +123 -0
  206. package/.claude/skills/devops/references/cloudflare-platform.md +271 -0
  207. package/.claude/skills/devops/references/cloudflare-r2-storage.md +280 -0
  208. package/.claude/skills/devops/references/cloudflare-workers-advanced.md +312 -0
  209. package/.claude/skills/devops/references/cloudflare-workers-apis.md +309 -0
  210. package/.claude/skills/devops/references/cloudflare-workers-basics.md +418 -0
  211. package/.claude/skills/devops/references/docker-basics.md +297 -0
  212. package/.claude/skills/devops/references/docker-compose.md +292 -0
  213. package/.claude/skills/devops/references/gcloud-platform.md +297 -0
  214. package/.claude/skills/devops/references/gcloud-services.md +304 -0
  215. package/.claude/skills/devops/scripts/cloudflare_deploy.py +269 -0
  216. package/.claude/skills/devops/scripts/docker_optimize.py +320 -0
  217. package/.claude/skills/devops/scripts/requirements.txt +20 -0
  218. package/.claude/skills/devops/scripts/tests/requirements.txt +3 -0
  219. package/.claude/skills/devops/scripts/tests/test_cloudflare_deploy.py +285 -0
  220. package/.claude/skills/devops/scripts/tests/test_docker_optimize.py +436 -0
  221. package/.claude/skills/docs-seeker/.env.example +15 -0
  222. package/.claude/skills/docs-seeker/SKILL.md +97 -0
  223. package/.claude/skills/docs-seeker/package.json +25 -0
  224. package/.claude/skills/docs-seeker/references/advanced.md +79 -0
  225. package/.claude/skills/docs-seeker/references/context7-patterns.md +68 -0
  226. package/.claude/skills/docs-seeker/references/errors.md +68 -0
  227. package/.claude/skills/docs-seeker/scripts/analyze-llms-txt.js +211 -0
  228. package/.claude/skills/docs-seeker/scripts/detect-topic.js +172 -0
  229. package/.claude/skills/docs-seeker/scripts/fetch-docs.js +213 -0
  230. package/.claude/skills/docs-seeker/scripts/tests/run-tests.js +72 -0
  231. package/.claude/skills/docs-seeker/scripts/tests/test-analyze-llms.js +119 -0
  232. package/.claude/skills/docs-seeker/scripts/tests/test-detect-topic.js +112 -0
  233. package/.claude/skills/docs-seeker/scripts/tests/test-fetch-docs.js +84 -0
  234. package/.claude/skills/docs-seeker/scripts/utils/env-loader.js +94 -0
  235. package/.claude/skills/docs-seeker/workflows/library-search.md +87 -0
  236. package/.claude/skills/docs-seeker/workflows/repo-analysis.md +91 -0
  237. package/.claude/skills/docs-seeker/workflows/topic-search.md +77 -0
  238. package/.claude/skills/document-skills/docx/LICENSE.txt +30 -0
  239. package/.claude/skills/document-skills/docx/SKILL.md +197 -0
  240. package/.claude/skills/document-skills/docx/docx-js.md +350 -0
  241. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  242. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  243. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  244. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  245. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  246. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  247. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  248. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  249. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  250. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  251. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  252. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  253. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  254. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  255. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  256. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  257. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  258. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  259. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  260. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  261. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  262. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  263. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  264. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  265. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  266. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  267. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  268. package/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  269. package/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  270. package/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  271. package/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  272. package/.claude/skills/document-skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
  273. package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  274. package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  275. package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  276. package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  277. package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  278. package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  279. package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  280. package/.claude/skills/document-skills/docx/ooxml/scripts/pack.py +159 -0
  281. package/.claude/skills/document-skills/docx/ooxml/scripts/unpack.py +29 -0
  282. package/.claude/skills/document-skills/docx/ooxml/scripts/validate.py +69 -0
  283. package/.claude/skills/document-skills/docx/ooxml/scripts/validation/__init__.py +15 -0
  284. package/.claude/skills/document-skills/docx/ooxml/scripts/validation/base.py +951 -0
  285. package/.claude/skills/document-skills/docx/ooxml/scripts/validation/docx.py +274 -0
  286. package/.claude/skills/document-skills/docx/ooxml/scripts/validation/pptx.py +315 -0
  287. package/.claude/skills/document-skills/docx/ooxml/scripts/validation/redlining.py +279 -0
  288. package/.claude/skills/document-skills/docx/ooxml.md +610 -0
  289. package/.claude/skills/document-skills/docx/scripts/__init__.py +1 -0
  290. package/.claude/skills/document-skills/docx/scripts/document.py +1276 -0
  291. package/.claude/skills/document-skills/docx/scripts/templates/comments.xml +3 -0
  292. package/.claude/skills/document-skills/docx/scripts/templates/commentsExtended.xml +3 -0
  293. package/.claude/skills/document-skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  294. package/.claude/skills/document-skills/docx/scripts/templates/commentsIds.xml +3 -0
  295. package/.claude/skills/document-skills/docx/scripts/templates/people.xml +3 -0
  296. package/.claude/skills/document-skills/docx/scripts/utilities.py +374 -0
  297. package/.claude/skills/document-skills/pdf/LICENSE.txt +30 -0
  298. package/.claude/skills/document-skills/pdf/SKILL.md +294 -0
  299. package/.claude/skills/document-skills/pdf/forms.md +205 -0
  300. package/.claude/skills/document-skills/pdf/reference.md +612 -0
  301. package/.claude/skills/document-skills/pdf/scripts/check_bounding_boxes.py +70 -0
  302. package/.claude/skills/document-skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
  303. package/.claude/skills/document-skills/pdf/scripts/check_fillable_fields.py +12 -0
  304. package/.claude/skills/document-skills/pdf/scripts/convert_pdf_to_images.py +35 -0
  305. package/.claude/skills/document-skills/pdf/scripts/create_validation_image.py +41 -0
  306. package/.claude/skills/document-skills/pdf/scripts/extract_form_field_info.py +152 -0
  307. package/.claude/skills/document-skills/pdf/scripts/fill_fillable_fields.py +114 -0
  308. package/.claude/skills/document-skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
  309. package/.claude/skills/document-skills/pptx/LICENSE.txt +30 -0
  310. package/.claude/skills/document-skills/pptx/SKILL.md +484 -0
  311. package/.claude/skills/document-skills/pptx/html2pptx.md +625 -0
  312. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  313. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  314. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  315. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  316. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  317. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  318. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  319. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  320. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  321. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  322. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  323. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  324. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  325. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  326. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  327. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  328. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  329. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  330. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  331. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  332. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  333. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  334. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  335. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  336. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  337. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  338. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  339. package/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  340. package/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  341. package/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  342. package/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  343. package/.claude/skills/document-skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
  344. package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  345. package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  346. package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  347. package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  348. package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  349. package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  350. package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  351. package/.claude/skills/document-skills/pptx/ooxml/scripts/pack.py +159 -0
  352. package/.claude/skills/document-skills/pptx/ooxml/scripts/unpack.py +29 -0
  353. package/.claude/skills/document-skills/pptx/ooxml/scripts/validate.py +69 -0
  354. package/.claude/skills/document-skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
  355. package/.claude/skills/document-skills/pptx/ooxml/scripts/validation/base.py +951 -0
  356. package/.claude/skills/document-skills/pptx/ooxml/scripts/validation/docx.py +274 -0
  357. package/.claude/skills/document-skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
  358. package/.claude/skills/document-skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
  359. package/.claude/skills/document-skills/pptx/ooxml.md +427 -0
  360. package/.claude/skills/document-skills/pptx/scripts/html2pptx.js +979 -0
  361. package/.claude/skills/document-skills/pptx/scripts/inventory.py +1020 -0
  362. package/.claude/skills/document-skills/pptx/scripts/rearrange.py +231 -0
  363. package/.claude/skills/document-skills/pptx/scripts/replace.py +385 -0
  364. package/.claude/skills/document-skills/pptx/scripts/thumbnail.py +450 -0
  365. package/.claude/skills/document-skills/xlsx/LICENSE.txt +30 -0
  366. package/.claude/skills/document-skills/xlsx/SKILL.md +289 -0
  367. package/.claude/skills/document-skills/xlsx/recalc.py +178 -0
  368. package/.claude/skills/frontend-design/SKILL.md +42 -0
  369. package/.claude/skills/frontend-design/references/animejs.md +396 -0
  370. package/.claude/skills/frontend-development/SKILL.md +399 -0
  371. package/.claude/skills/frontend-development/resources/common-patterns.md +331 -0
  372. package/.claude/skills/frontend-development/resources/complete-examples.md +872 -0
  373. package/.claude/skills/frontend-development/resources/component-patterns.md +502 -0
  374. package/.claude/skills/frontend-development/resources/data-fetching.md +767 -0
  375. package/.claude/skills/frontend-development/resources/file-organization.md +502 -0
  376. package/.claude/skills/frontend-development/resources/loading-and-error-states.md +501 -0
  377. package/.claude/skills/frontend-development/resources/performance.md +406 -0
  378. package/.claude/skills/frontend-development/resources/routing-guide.md +364 -0
  379. package/.claude/skills/frontend-development/resources/styling-guide.md +428 -0
  380. package/.claude/skills/frontend-development/resources/typescript-standards.md +418 -0
  381. package/.claude/skills/google-adk-python/SKILL.md +237 -0
  382. package/.claude/skills/mcp-builder/LICENSE.txt +202 -0
  383. package/.claude/skills/mcp-builder/SKILL.md +328 -0
  384. package/.claude/skills/mcp-builder/reference/evaluation.md +602 -0
  385. package/.claude/skills/mcp-builder/reference/mcp_best_practices.md +915 -0
  386. package/.claude/skills/mcp-builder/reference/node_mcp_server.md +916 -0
  387. package/.claude/skills/mcp-builder/reference/python_mcp_server.md +752 -0
  388. package/.claude/skills/mcp-builder/scripts/connections.py +151 -0
  389. package/.claude/skills/mcp-builder/scripts/evaluation.py +373 -0
  390. package/.claude/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  391. package/.claude/skills/mcp-builder/scripts/requirements.txt +2 -0
  392. package/.claude/skills/mcp-management/README.md +219 -0
  393. package/.claude/skills/mcp-management/SKILL.md +209 -0
  394. package/.claude/skills/mcp-management/assets/tools.json +3146 -0
  395. package/.claude/skills/mcp-management/references/configuration.md +114 -0
  396. package/.claude/skills/mcp-management/references/gemini-cli-integration.md +215 -0
  397. package/.claude/skills/mcp-management/references/mcp-protocol.md +116 -0
  398. package/.claude/skills/mcp-management/scripts/.env.example +10 -0
  399. package/.claude/skills/mcp-management/scripts/cli.ts +195 -0
  400. package/.claude/skills/mcp-management/scripts/dist/analyze-tools.js +70 -0
  401. package/.claude/skills/mcp-management/scripts/dist/cli.js +127 -0
  402. package/.claude/skills/mcp-management/scripts/dist/mcp-client.js +115 -0
  403. package/.claude/skills/mcp-management/scripts/mcp-client.ts +230 -0
  404. package/.claude/skills/mcp-management/scripts/package.json +20 -0
  405. package/.claude/skills/mcp-management/scripts/tsconfig.json +15 -0
  406. package/.claude/skills/media-processing/SKILL.md +358 -0
  407. package/.claude/skills/media-processing/references/ffmpeg-encoding.md +358 -0
  408. package/.claude/skills/media-processing/references/ffmpeg-filters.md +503 -0
  409. package/.claude/skills/media-processing/references/ffmpeg-streaming.md +403 -0
  410. package/.claude/skills/media-processing/references/format-compatibility.md +375 -0
  411. package/.claude/skills/media-processing/references/imagemagick-batch.md +612 -0
  412. package/.claude/skills/media-processing/references/imagemagick-editing.md +623 -0
  413. package/.claude/skills/media-processing/scripts/batch_resize.py +342 -0
  414. package/.claude/skills/media-processing/scripts/media_convert.py +311 -0
  415. package/.claude/skills/media-processing/scripts/requirements.txt +24 -0
  416. package/.claude/skills/media-processing/scripts/tests/.coverage +0 -0
  417. package/.claude/skills/media-processing/scripts/tests/requirements.txt +2 -0
  418. package/.claude/skills/media-processing/scripts/tests/test_batch_resize.py +372 -0
  419. package/.claude/skills/media-processing/scripts/tests/test_media_convert.py +259 -0
  420. package/.claude/skills/media-processing/scripts/tests/test_video_optimize.py +397 -0
  421. package/.claude/skills/media-processing/scripts/video_optimize.py +414 -0
  422. package/.claude/skills/mobile-development/SKILL.md +212 -0
  423. package/.claude/skills/mobile-development/references/mobile-android.md +604 -0
  424. package/.claude/skills/mobile-development/references/mobile-best-practices.md +545 -0
  425. package/.claude/skills/mobile-development/references/mobile-debugging.md +1089 -0
  426. package/.claude/skills/mobile-development/references/mobile-frameworks.md +465 -0
  427. package/.claude/skills/mobile-development/references/mobile-ios.md +496 -0
  428. package/.claude/skills/mobile-development/references/mobile-mindset.md +544 -0
  429. package/.claude/skills/payment-integration/README.md +185 -0
  430. package/.claude/skills/payment-integration/SKILL.md +118 -0
  431. package/.claude/skills/payment-integration/references/polar/benefits.md +396 -0
  432. package/.claude/skills/payment-integration/references/polar/best-practices.md +482 -0
  433. package/.claude/skills/payment-integration/references/polar/checkouts.md +266 -0
  434. package/.claude/skills/payment-integration/references/polar/overview.md +184 -0
  435. package/.claude/skills/payment-integration/references/polar/products.md +244 -0
  436. package/.claude/skills/payment-integration/references/polar/sdk.md +436 -0
  437. package/.claude/skills/payment-integration/references/polar/subscriptions.md +340 -0
  438. package/.claude/skills/payment-integration/references/polar/webhooks.md +405 -0
  439. package/.claude/skills/payment-integration/references/sepay/api.md +140 -0
  440. package/.claude/skills/payment-integration/references/sepay/best-practices.md +337 -0
  441. package/.claude/skills/payment-integration/references/sepay/overview.md +138 -0
  442. package/.claude/skills/payment-integration/references/sepay/qr-codes.md +228 -0
  443. package/.claude/skills/payment-integration/references/sepay/sdk.md +213 -0
  444. package/.claude/skills/payment-integration/references/sepay/webhooks.md +208 -0
  445. package/.claude/skills/payment-integration/scripts/.env.example +20 -0
  446. package/.claude/skills/payment-integration/scripts/checkout-helper.js +244 -0
  447. package/.claude/skills/payment-integration/scripts/package.json +17 -0
  448. package/.claude/skills/payment-integration/scripts/polar-webhook-verify.js +202 -0
  449. package/.claude/skills/payment-integration/scripts/sepay-webhook-verify.js +193 -0
  450. package/.claude/skills/payment-integration/scripts/test-scripts.js +237 -0
  451. package/.claude/skills/payment-integration.tar.gz +0 -0
  452. package/.claude/skills/planning/SKILL.md +88 -0
  453. package/.claude/skills/planning/references/codebase-understanding.md +62 -0
  454. package/.claude/skills/planning/references/output-standards.md +87 -0
  455. package/.claude/skills/planning/references/plan-organization.md +100 -0
  456. package/.claude/skills/planning/references/research-phase.md +49 -0
  457. package/.claude/skills/planning/references/solution-design.md +63 -0
  458. package/.claude/skills/problem-solving/SKILL.md +96 -0
  459. package/.claude/skills/problem-solving/references/attribution.md +69 -0
  460. package/.claude/skills/problem-solving/references/collision-zone-thinking.md +79 -0
  461. package/.claude/skills/problem-solving/references/inversion-exercise.md +91 -0
  462. package/.claude/skills/problem-solving/references/meta-pattern-recognition.md +87 -0
  463. package/.claude/skills/problem-solving/references/scale-game.md +95 -0
  464. package/.claude/skills/problem-solving/references/simplification-cascades.md +80 -0
  465. package/.claude/skills/problem-solving/references/when-stuck.md +72 -0
  466. package/.claude/skills/repomix/SKILL.md +247 -0
  467. package/.claude/skills/repomix/references/configuration.md +211 -0
  468. package/.claude/skills/repomix/references/usage-patterns.md +232 -0
  469. package/.claude/skills/repomix/scripts/.coverage +0 -0
  470. package/.claude/skills/repomix/scripts/README.md +179 -0
  471. package/.claude/skills/repomix/scripts/repomix_batch.py +455 -0
  472. package/.claude/skills/repomix/scripts/repos.example.json +15 -0
  473. package/.claude/skills/repomix/scripts/requirements.txt +15 -0
  474. package/.claude/skills/repomix/scripts/tests/test_repomix_batch.py +531 -0
  475. package/.claude/skills/research/SKILL.md +168 -0
  476. package/.claude/skills/sequential-thinking/.env.example +8 -0
  477. package/.claude/skills/sequential-thinking/README.md +183 -0
  478. package/.claude/skills/sequential-thinking/SKILL.md +94 -0
  479. package/.claude/skills/sequential-thinking/package.json +31 -0
  480. package/.claude/skills/sequential-thinking/references/advanced-strategies.md +79 -0
  481. package/.claude/skills/sequential-thinking/references/advanced-techniques.md +76 -0
  482. package/.claude/skills/sequential-thinking/references/core-patterns.md +95 -0
  483. package/.claude/skills/sequential-thinking/references/examples-api.md +88 -0
  484. package/.claude/skills/sequential-thinking/references/examples-architecture.md +94 -0
  485. package/.claude/skills/sequential-thinking/references/examples-debug.md +90 -0
  486. package/.claude/skills/sequential-thinking/scripts/format-thought.js +159 -0
  487. package/.claude/skills/sequential-thinking/scripts/process-thought.js +236 -0
  488. package/.claude/skills/sequential-thinking/tests/format-thought.test.js +133 -0
  489. package/.claude/skills/sequential-thinking/tests/process-thought.test.js +215 -0
  490. package/.claude/skills/shopify/README.md +66 -0
  491. package/.claude/skills/shopify/SKILL.md +319 -0
  492. package/.claude/skills/shopify/references/app-development.md +470 -0
  493. package/.claude/skills/shopify/references/extensions.md +493 -0
  494. package/.claude/skills/shopify/references/themes.md +498 -0
  495. package/.claude/skills/shopify/scripts/.coverage +0 -0
  496. package/.claude/skills/shopify/scripts/requirements.txt +19 -0
  497. package/.claude/skills/shopify/scripts/shopify_init.py +423 -0
  498. package/.claude/skills/shopify/scripts/tests/.coverage +0 -0
  499. package/.claude/skills/shopify/scripts/tests/test_shopify_init.py +385 -0
  500. package/.claude/skills/skill-creator/LICENSE.txt +202 -0
  501. package/.claude/skills/skill-creator/SKILL.md +255 -0
  502. package/.claude/skills/skill-creator/scripts/init_skill.py +303 -0
  503. package/.claude/skills/skill-creator/scripts/package_skill.py +110 -0
  504. package/.claude/skills/skill-creator/scripts/quick_validate.py +65 -0
  505. package/.claude/skills/template-skill/SKILL.md +6 -0
  506. package/.claude/skills/threejs/SKILL.md +89 -0
  507. package/.claude/skills/threejs/references/01-getting-started.md +177 -0
  508. package/.claude/skills/threejs/references/02-loaders.md +169 -0
  509. package/.claude/skills/threejs/references/03-textures.md +170 -0
  510. package/.claude/skills/threejs/references/04-cameras.md +195 -0
  511. package/.claude/skills/threejs/references/05-lights.md +183 -0
  512. package/.claude/skills/threejs/references/06-animations.md +214 -0
  513. package/.claude/skills/threejs/references/07-math.md +260 -0
  514. package/.claude/skills/threejs/references/08-interaction.md +267 -0
  515. package/.claude/skills/threejs/references/09-postprocessing.md +240 -0
  516. package/.claude/skills/threejs/references/10-controls.md +259 -0
  517. package/.claude/skills/threejs/references/11-materials-advanced.md +270 -0
  518. package/.claude/skills/threejs/references/12-performance.md +269 -0
  519. package/.claude/skills/threejs/references/13-node-materials.md +298 -0
  520. package/.claude/skills/threejs/references/14-physics-vr.md +304 -0
  521. package/.claude/skills/threejs/references/15-specialized-loaders.md +333 -0
  522. package/.claude/skills/threejs/references/16-webgpu.md +302 -0
  523. package/.claude/skills/ui-styling/LICENSE.txt +202 -0
  524. package/.claude/skills/ui-styling/SKILL.md +321 -0
  525. package/.claude/skills/ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  526. package/.claude/skills/ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  527. package/.claude/skills/ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  528. package/.claude/skills/ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
  529. package/.claude/skills/ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  530. package/.claude/skills/ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
  531. package/.claude/skills/ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
  532. package/.claude/skills/ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  533. package/.claude/skills/ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  534. package/.claude/skills/ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  535. package/.claude/skills/ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  536. package/.claude/skills/ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  537. package/.claude/skills/ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  538. package/.claude/skills/ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  539. package/.claude/skills/ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
  540. package/.claude/skills/ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
  541. package/.claude/skills/ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
  542. package/.claude/skills/ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
  543. package/.claude/skills/ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
  544. package/.claude/skills/ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
  545. package/.claude/skills/ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
  546. package/.claude/skills/ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
  547. package/.claude/skills/ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
  548. package/.claude/skills/ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  549. package/.claude/skills/ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  550. package/.claude/skills/ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  551. package/.claude/skills/ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  552. package/.claude/skills/ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  553. package/.claude/skills/ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  554. package/.claude/skills/ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  555. package/.claude/skills/ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  556. package/.claude/skills/ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  557. package/.claude/skills/ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  558. package/.claude/skills/ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  559. package/.claude/skills/ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  560. package/.claude/skills/ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  561. package/.claude/skills/ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  562. package/.claude/skills/ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
  563. package/.claude/skills/ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
  564. package/.claude/skills/ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  565. package/.claude/skills/ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  566. package/.claude/skills/ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  567. package/.claude/skills/ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
  568. package/.claude/skills/ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
  569. package/.claude/skills/ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
  570. package/.claude/skills/ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  571. package/.claude/skills/ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  572. package/.claude/skills/ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
  573. package/.claude/skills/ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  574. package/.claude/skills/ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
  575. package/.claude/skills/ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
  576. package/.claude/skills/ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
  577. package/.claude/skills/ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
  578. package/.claude/skills/ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
  579. package/.claude/skills/ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
  580. package/.claude/skills/ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  581. package/.claude/skills/ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  582. package/.claude/skills/ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
  583. package/.claude/skills/ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
  584. package/.claude/skills/ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
  585. package/.claude/skills/ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  586. package/.claude/skills/ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
  587. package/.claude/skills/ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
  588. package/.claude/skills/ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  589. package/.claude/skills/ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  590. package/.claude/skills/ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
  591. package/.claude/skills/ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  592. package/.claude/skills/ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
  593. package/.claude/skills/ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  594. package/.claude/skills/ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  595. package/.claude/skills/ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
  596. package/.claude/skills/ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
  597. package/.claude/skills/ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
  598. package/.claude/skills/ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
  599. package/.claude/skills/ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
  600. package/.claude/skills/ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  601. package/.claude/skills/ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
  602. package/.claude/skills/ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
  603. package/.claude/skills/ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
  604. package/.claude/skills/ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
  605. package/.claude/skills/ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  606. package/.claude/skills/ui-styling/references/canvas-design-system.md +320 -0
  607. package/.claude/skills/ui-styling/references/shadcn-accessibility.md +471 -0
  608. package/.claude/skills/ui-styling/references/shadcn-components.md +424 -0
  609. package/.claude/skills/ui-styling/references/shadcn-theming.md +373 -0
  610. package/.claude/skills/ui-styling/references/tailwind-customization.md +483 -0
  611. package/.claude/skills/ui-styling/references/tailwind-responsive.md +382 -0
  612. package/.claude/skills/ui-styling/references/tailwind-utilities.md +455 -0
  613. package/.claude/skills/ui-styling/scripts/.coverage +0 -0
  614. package/.claude/skills/ui-styling/scripts/requirements.txt +17 -0
  615. package/.claude/skills/ui-styling/scripts/shadcn_add.py +292 -0
  616. package/.claude/skills/ui-styling/scripts/tailwind_config_gen.py +456 -0
  617. package/.claude/skills/ui-styling/scripts/tests/coverage-ui.json +1 -0
  618. package/.claude/skills/ui-styling/scripts/tests/requirements.txt +3 -0
  619. package/.claude/skills/ui-styling/scripts/tests/test_shadcn_add.py +266 -0
  620. package/.claude/skills/ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -0
  621. package/.claude/skills/web-frameworks/SKILL.md +324 -0
  622. package/.claude/skills/web-frameworks/references/nextjs-app-router.md +465 -0
  623. package/.claude/skills/web-frameworks/references/nextjs-data-fetching.md +459 -0
  624. package/.claude/skills/web-frameworks/references/nextjs-optimization.md +511 -0
  625. package/.claude/skills/web-frameworks/references/nextjs-server-components.md +495 -0
  626. package/.claude/skills/web-frameworks/references/remix-icon-integration.md +603 -0
  627. package/.claude/skills/web-frameworks/references/turborepo-caching.md +551 -0
  628. package/.claude/skills/web-frameworks/references/turborepo-pipelines.md +517 -0
  629. package/.claude/skills/web-frameworks/references/turborepo-setup.md +542 -0
  630. package/.claude/skills/web-frameworks/scripts/.coverage +0 -0
  631. package/.claude/skills/web-frameworks/scripts/__init__.py +0 -0
  632. package/.claude/skills/web-frameworks/scripts/nextjs_init.py +547 -0
  633. package/.claude/skills/web-frameworks/scripts/requirements.txt +16 -0
  634. package/.claude/skills/web-frameworks/scripts/tests/coverage-web.json +1 -0
  635. package/.claude/skills/web-frameworks/scripts/tests/requirements.txt +3 -0
  636. package/.claude/skills/web-frameworks/scripts/tests/test_nextjs_init.py +319 -0
  637. package/.claude/skills/web-frameworks/scripts/tests/test_turborepo_migrate.py +374 -0
  638. package/.claude/skills/web-frameworks/scripts/turborepo_migrate.py +394 -0
  639. package/.claude/statusline.js +263 -0
  640. package/.claude/statusline.ps1 +312 -0
  641. package/.claude/statusline.sh +141 -0
  642. package/.claude/workflows/development-rules.md +42 -0
  643. package/.claude/workflows/documentation-management.md +28 -0
  644. package/.claude/workflows/orchestration-protocol.md +16 -0
  645. package/.claude/workflows/primary-workflow.md +45 -0
  646. package/.opencode/agent/code-reviewer.md +141 -0
  647. package/.opencode/agent/debugger.md +75 -0
  648. package/.opencode/agent/docs-manager.md +120 -0
  649. package/.opencode/agent/git-manager.md +60 -0
  650. package/.opencode/agent/planner-researcher.md +101 -0
  651. package/.opencode/agent/planner.md +88 -0
  652. package/.opencode/agent/project-manager.md +113 -0
  653. package/.opencode/agent/researcher.md +174 -0
  654. package/.opencode/agent/solution-brainstormer.md +90 -0
  655. package/.opencode/agent/system-architecture.md +193 -0
  656. package/.opencode/agent/tester.md +96 -0
  657. package/.opencode/agent/ui-ux-designer.md +233 -0
  658. package/.opencode/agent/ui-ux-developer.md +98 -0
  659. package/.opencode/command/cook.md +7 -0
  660. package/.opencode/command/debug.md +10 -0
  661. package/.opencode/command/design/3d.md +65 -0
  662. package/.opencode/command/design/fast.md +18 -0
  663. package/.opencode/command/design/good.md +21 -0
  664. package/.opencode/command/design/screenshot.md +22 -0
  665. package/.opencode/command/design/video.md +22 -0
  666. package/.opencode/command/docs/init.md +11 -0
  667. package/.opencode/command/docs/summarize.md +10 -0
  668. package/.opencode/command/docs/update.md +18 -0
  669. package/.opencode/command/fix/ci.md +8 -0
  670. package/.opencode/command/fix/fast.md +11 -0
  671. package/.opencode/command/fix/hard.md +15 -0
  672. package/.opencode/command/fix/logs.md +16 -0
  673. package/.opencode/command/fix/test.md +18 -0
  674. package/.opencode/command/fix/types.md +10 -0
  675. package/.opencode/command/git/cm.md +5 -0
  676. package/.opencode/command/git/cp.md +4 -0
  677. package/.opencode/command/plan/ci.md +12 -0
  678. package/.opencode/command/plan/two.md +13 -0
  679. package/.opencode/command/plan.md +10 -0
  680. package/.opencode/command/test.md +7 -0
  681. package/.opencode/command/watzup.md +8 -0
  682. package/CLAUDE.md +39 -0
  683. package/LICENSE +21 -0
  684. package/README.md +639 -0
  685. package/package.json +61 -0
@@ -0,0 +1,843 @@
1
+ # Telegram Notification Hook Setup
2
+
3
+ ## Overview
4
+
5
+ The Telegram hook (`telegram_notify.sh`) automatically sends notifications when Claude Code sessions stop or subagents complete tasks. It provides detailed summaries including tool usage, files modified, and operation counts.
6
+
7
+ ## Features
8
+
9
+ - Automatic notifications on session completion
10
+ - Subagent completion tracking
11
+ - Tool usage statistics
12
+ - File modification tracking
13
+ - Rich Markdown formatting
14
+ - Real-time session monitoring
15
+
16
+ ## Setup Instructions
17
+
18
+ ### 1. Create Telegram Bot
19
+
20
+ 1. Open Telegram and search for **@BotFather**
21
+ 2. Send `/newbot` command
22
+ 3. Follow the prompts:
23
+
24
+ ```
25
+ BotFather: Alright, a new bot. How are we going to call it?
26
+ You: Claude Code Notifier
27
+
28
+ BotFather: Good. Now let's choose a username for your bot.
29
+ You: claudecode_notifier_bot
30
+ ```
31
+
32
+ 4. BotFather will respond with your bot token:
33
+ ```
34
+ Done! Congratulations on your new bot...
35
+ Use this token to access the HTTP API:
36
+ 123456789:ABCdefGHIjklMNOpqrsTUVwxyz
37
+ ```
38
+ 5. **Copy and save the bot token** (format: `123456789:ABCdefGHIjklMNOpqrsTUVwxyz`)
39
+
40
+ ### 2. Get Chat ID
41
+
42
+ You need a chat ID to specify where notifications should be sent.
43
+
44
+ #### Option A: Direct Message (Personal Notifications)
45
+
46
+ 1. Search for your bot in Telegram (use the username you created)
47
+ 2. Click **"Start"** or send any message to your bot
48
+ 3. Open this URL in your browser (replace `<YOUR_BOT_TOKEN>`):
49
+ ```
50
+ https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates
51
+ ```
52
+ 4. Look for the `"chat"` object in the JSON response:
53
+ ```json
54
+ {
55
+ "ok": true,
56
+ "result": [
57
+ {
58
+ "update_id": 123456789,
59
+ "message": {
60
+ "chat": {
61
+ "id": 987654321,
62
+ "first_name": "Your Name",
63
+ "type": "private"
64
+ }
65
+ }
66
+ }
67
+ ]
68
+ }
69
+ ```
70
+ 5. Copy the chat ID (e.g., `987654321`)
71
+
72
+ #### Option B: Group Chat (Team Notifications)
73
+
74
+ 1. Create a new Telegram group or use existing one
75
+ 2. Add your bot to the group:
76
+ - Click group name → "Add Members"
77
+ - Search for your bot username
78
+ - Add the bot
79
+ 3. Send a message in the group mentioning the bot:
80
+ ```
81
+ @your_bot_username Hello!
82
+ ```
83
+ 4. Open this URL in your browser:
84
+ ```
85
+ https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates
86
+ ```
87
+ 5. Look for the `"chat"` object with `"type": "group"` or `"type": "supergroup"`:
88
+ ```json
89
+ {
90
+ "ok": true,
91
+ "result": [
92
+ {
93
+ "message": {
94
+ "chat": {
95
+ "id": -100123456789,
96
+ "title": "Dev Team",
97
+ "type": "supergroup"
98
+ }
99
+ }
100
+ }
101
+ ]
102
+ }
103
+ ```
104
+ 6. Copy the chat ID (negative number for groups, e.g., `-100123456789`)
105
+
106
+ **Quick Command to Get Chat ID:**
107
+
108
+ ```bash
109
+ curl -s "https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates" | jq '.result[-1].message.chat.id'
110
+ ```
111
+
112
+ ### 3. Configure Environment Variables
113
+
114
+ Environment variables are loaded with this priority (highest to lowest):
115
+
116
+ 1. **process.env** - System/shell environment variables
117
+ 2. **.claude/.env** - Project-level Claude configuration
118
+ 3. **.claude/hooks/.env** - Hook-specific configuration
119
+
120
+ Choose one configuration method:
121
+
122
+ #### Option A: Global Configuration (All Projects)
123
+
124
+ Best for personal use across multiple projects.
125
+
126
+ Add to your shell profile (`~/.bash_profile`, `~/.bashrc`, or `~/.zshrc`):
127
+
128
+ ```bash
129
+ export TELEGRAM_BOT_TOKEN="123456789:ABCdefGHIjklMNOpqrsTUVwxyz"
130
+ export TELEGRAM_CHAT_ID="987654321"
131
+ ```
132
+
133
+ **Reload shell:**
134
+
135
+ ```bash
136
+ source ~/.bash_profile # or ~/.bashrc or ~/.zshrc
137
+ ```
138
+
139
+ **Verify:**
140
+
141
+ ```bash
142
+ echo $TELEGRAM_BOT_TOKEN
143
+ echo $TELEGRAM_CHAT_ID
144
+ ```
145
+
146
+ #### Option B: Project Root `.env` (Recommended)
147
+
148
+ Best for team projects or different notification channels per project.
149
+
150
+ Create `.env` file in project root:
151
+
152
+ ```bash
153
+ TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrsTUVwxyz
154
+ TELEGRAM_CHAT_ID=987654321
155
+ ```
156
+
157
+ **Secure the file:**
158
+
159
+ ```bash
160
+ # Add to .gitignore
161
+ echo ".env" >> .gitignore
162
+ echo ".env.*" >> .gitignore
163
+ ```
164
+
165
+ #### Option C: `.claude/.env` (Project-Level Override)
166
+
167
+ For project-specific Claude configuration:
168
+
169
+ ```bash
170
+ TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrsTUVwxyz
171
+ TELEGRAM_CHAT_ID=987654321
172
+ ```
173
+
174
+ #### Option D: `.claude/hooks/.env` (Hook-Specific)
175
+
176
+ For hook-only configuration:
177
+
178
+ ```bash
179
+ TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrsTUVwxyz
180
+ TELEGRAM_CHAT_ID=987654321
181
+ ```
182
+
183
+ See `.env.example` files in each location for templates.
184
+
185
+ ### 4. Configure Claude Code Hook
186
+
187
+ Hooks are configured in `.claude/settings.local.json`:
188
+
189
+ ```json
190
+ {
191
+ "hooks": {
192
+ "Stop": [
193
+ {
194
+ "hooks": [
195
+ {
196
+ "type": "command",
197
+ "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/telegram_notify.sh"
198
+ }
199
+ ]
200
+ }
201
+ ],
202
+ "SubagentStop": [
203
+ {
204
+ "hooks": [
205
+ {
206
+ "type": "command",
207
+ "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/telegram_notify.sh"
208
+ }
209
+ ]
210
+ }
211
+ ]
212
+ }
213
+ }
214
+ ```
215
+
216
+ **Configuration Options:**
217
+
218
+ - `"Stop"`: Triggers when main Claude Code session ends
219
+ - `"SubagentStop"`: Triggers when specialized subagents complete (planner, tester, etc.)
220
+ - `${CLAUDE_PROJECT_DIR}`: Environment variable for project directory path
221
+
222
+ ### 5. Make Script Executable
223
+
224
+ ```bash
225
+ chmod +x .claude/hooks/telegram_notify.sh
226
+ ```
227
+
228
+ ### 6. Verify Setup
229
+
230
+ Test the hook with a mock event:
231
+
232
+ ```bash
233
+ echo '{
234
+ "hookType": "Stop",
235
+ "projectDir": "'"$(pwd)"'",
236
+ "sessionId": "test-session-123",
237
+ "toolsUsed": [
238
+ {"tool": "Read", "parameters": {"file_path": "test.ts"}},
239
+ {"tool": "Edit", "parameters": {"file_path": "test.ts"}},
240
+ {"tool": "Bash", "parameters": {"command": "npm test"}}
241
+ ]
242
+ }' | ./.claude/hooks/telegram_notify.sh
243
+ ```
244
+
245
+ **Expected output:**
246
+
247
+ ```
248
+ Telegram notification sent for Stop event in project claudeGuide-engineer
249
+ ```
250
+
251
+ Check your Telegram chat for the test notification.
252
+
253
+ ## Hook Triggers
254
+
255
+ ### Stop Event
256
+
257
+ **Triggered when:** Main Claude Code session ends (user stops Claude or task completes)
258
+
259
+ **Includes:**
260
+
261
+ - Total tool operations count
262
+ - Tool usage breakdown (with counts)
263
+ - List of modified files
264
+ - Session timestamp
265
+ - Session ID
266
+ - Project name and location
267
+
268
+ **Example notification:**
269
+
270
+ ```
271
+ 🚀 DevPocket Task Completed
272
+
273
+ 📅 Time: 2025-10-22 14:30:45
274
+ 📁 Project: claudeGuide-engineer
275
+ 🔧 Total Operations: 15
276
+ 🆔 Session: abc12345...
277
+
278
+ Tools Used:
279
+ ```
280
+
281
+ 5 Edit
282
+ 3 Read
283
+ 2 Bash
284
+ 2 Write
285
+ 1 TodoWrite
286
+ 1 Grep
287
+ 1 Glob
288
+
289
+ ```
290
+
291
+ Files Modified:
292
+ • src/auth/service.ts
293
+ • src/utils/validation.ts
294
+ • tests/auth.test.ts
295
+
296
+ 📍 Location: `/Users/user/projects/claudeGuide-engineer`
297
+ ```
298
+
299
+ ### SubagentStop Event
300
+
301
+ **Triggered when:** Specialized subagent completes its task
302
+
303
+ **Subagent Types:**
304
+
305
+ - `planner` - Implementation planning
306
+ - `tester` - Test execution and analysis
307
+ - `debugger` - Log collection and debugging
308
+ - `code-reviewer` - Code quality review
309
+ - `docs-manager` - Documentation updates
310
+ - `git-manager` - Git operations
311
+ - `project-manager` - Progress tracking
312
+
313
+ **Example notification:**
314
+
315
+ ```
316
+ 🤖 DevPocket Subagent Completed
317
+
318
+ 📅 Time: 2025-10-22 14:35:20
319
+ 📁 Project: claudeGuide-engineer
320
+ 🔧 Agent Type: planner
321
+ 🆔 Session: abc12345...
322
+
323
+ Specialized agent completed its task.
324
+
325
+ 📍 Location: `/Users/user/projects/claudeGuide-engineer`
326
+ ```
327
+
328
+ ## Notification Examples
329
+
330
+ ### Basic Implementation Task
331
+
332
+ ```
333
+ 🚀 DevPocket Task Completed
334
+
335
+ 📅 Time: 2025-10-22 10:15:30
336
+ 📁 Project: api-server
337
+ 🔧 Total Operations: 8
338
+ 🆔 Session: a1b2c3d4...
339
+
340
+ Tools Used:
341
+ ```
342
+
343
+ 3 Edit
344
+ 2 Read
345
+ 2 Bash
346
+ 1 Write
347
+
348
+ ```
349
+
350
+ Files Modified:
351
+ • src/routes/auth.ts
352
+ • src/middleware/jwt.ts
353
+
354
+ 📍 Location: `/Users/user/projects/api-server`
355
+ ```
356
+
357
+ ### Complex Feature Development
358
+
359
+ ```
360
+ 🚀 DevPocket Task Completed
361
+
362
+ 📅 Time: 2025-10-22 15:45:22
363
+ 📁 Project: frontend-app
364
+ 🔧 Total Operations: 24
365
+ 🆔 Session: e5f6g7h8...
366
+
367
+ Tools Used:
368
+ ```
369
+
370
+ 12 Edit
371
+ 6 Read
372
+ 3 Write
373
+ 2 Bash
374
+ 1 TodoWrite
375
+
376
+ ```
377
+
378
+ Files Modified:
379
+ • components/Auth/LoginForm.tsx
380
+ • components/Auth/SignupForm.tsx
381
+ • hooks/useAuth.ts
382
+ • pages/login.tsx
383
+ • pages/signup.tsx
384
+ • styles/auth.module.css
385
+ • tests/components/LoginForm.test.tsx
386
+
387
+ 📍 Location: `/Users/user/projects/frontend-app`
388
+ ```
389
+
390
+ ### Subagent Completion
391
+
392
+ ```
393
+ 🤖 DevPocket Subagent Completed
394
+
395
+ 📅 Time: 2025-10-22 11:20:15
396
+ 📁 Project: microservice
397
+ 🔧 Agent Type: tester
398
+ 🆔 Session: i9j0k1l2...
399
+
400
+ Specialized agent completed its task.
401
+
402
+ 📍 Location: `/Users/user/projects/microservice`
403
+ ```
404
+
405
+ ## Troubleshooting
406
+
407
+ ### "TELEGRAM_BOT_TOKEN environment variable not set"
408
+
409
+ **Cause:** Environment variable not configured or not loaded
410
+
411
+ **Solutions:**
412
+
413
+ 1. **Verify environment variables:**
414
+
415
+ ```bash
416
+ echo $TELEGRAM_BOT_TOKEN
417
+ echo $TELEGRAM_CHAT_ID
418
+ ```
419
+
420
+ 2. **If using global config, reload shell:**
421
+
422
+ ```bash
423
+ source ~/.bash_profile # or ~/.bashrc or ~/.zshrc
424
+ ```
425
+
426
+ 3. **If using project `.env`, verify file exists:**
427
+
428
+ ```bash
429
+ ls -la .env
430
+ cat .env | grep TELEGRAM_
431
+ ```
432
+
433
+ 4. **Check for typos in variable names:**
434
+ - Must be `TELEGRAM_BOT_TOKEN` (not `TELEGRAM_TOKEN` or `BOT_TOKEN`)
435
+ - Must be `TELEGRAM_CHAT_ID` (not `TELEGRAM_ID` or `CHAT_ID`)
436
+
437
+ ### "TELEGRAM_CHAT_ID environment variable not set"
438
+
439
+ **Cause:** Chat ID not configured
440
+
441
+ **Solutions:**
442
+
443
+ 1. Follow "Get Chat ID" steps in setup section
444
+ 2. Verify chat ID is a number without quotes:
445
+
446
+ ```bash
447
+ # Correct
448
+ export TELEGRAM_CHAT_ID="123456789"
449
+
450
+ # Incorrect
451
+ export TELEGRAM_CHAT_ID='"123456789"'
452
+ ```
453
+
454
+ ### No Messages Received in Telegram
455
+
456
+ **Cause:** Bot not started, chat ID incorrect, or bot blocked
457
+
458
+ **Solutions:**
459
+
460
+ 1. **Ensure bot conversation started:**
461
+ - For DM: Send any message to bot first
462
+ - For group: Add bot and send message mentioning it
463
+
464
+ 2. **Verify bot token is correct:**
465
+
466
+ ```bash
467
+ curl -s "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/getMe"
468
+ ```
469
+
470
+ Should return bot info. If error, token is invalid.
471
+
472
+ 3. **Verify chat ID is correct:**
473
+
474
+ ```bash
475
+ curl -s "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage" \
476
+ -d "chat_id=$TELEGRAM_CHAT_ID" \
477
+ -d "text=Test message"
478
+ ```
479
+
480
+ 4. **Check if bot is blocked:**
481
+ - In Telegram, find bot conversation
482
+ - Look for "Restart" button (indicates bot was blocked)
483
+ - Click "Restart" to unblock
484
+
485
+ 5. **For groups, verify bot is member:**
486
+ - Open group → Members
487
+ - Search for your bot username
488
+ - If not found, re-add the bot
489
+
490
+ ### "jq: command not found"
491
+
492
+ **Cause:** `jq` JSON processor not installed
493
+
494
+ **Solutions:**
495
+
496
+ **macOS:**
497
+
498
+ ```bash
499
+ brew install jq
500
+ ```
501
+
502
+ **Ubuntu/Debian:**
503
+
504
+ ```bash
505
+ sudo apt-get update
506
+ sudo apt-get install jq
507
+ ```
508
+
509
+ **CentOS/RHEL:**
510
+
511
+ ```bash
512
+ sudo yum install jq
513
+ ```
514
+
515
+ **Verify installation:**
516
+
517
+ ```bash
518
+ jq --version
519
+ ```
520
+
521
+ ### Hook Not Triggering
522
+
523
+ **Cause:** Claude Code hook configuration incorrect or hook script not executable
524
+
525
+ **Solutions:**
526
+
527
+ 1. **Verify `.claude/config.json` exists and is valid JSON:**
528
+
529
+ ```bash
530
+ cat .claude/config.json | jq .
531
+ ```
532
+
533
+ 2. **Check hook configuration:**
534
+
535
+ ```bash
536
+ cat .claude/config.json | jq '.hooks'
537
+ ```
538
+
539
+ 3. **Verify script is executable:**
540
+
541
+ ```bash
542
+ ls -l .claude/hooks/telegram_notify.sh
543
+ # Should show: -rwxr-xr-x
544
+ ```
545
+
546
+ 4. **Make script executable if needed:**
547
+
548
+ ```bash
549
+ chmod +x .claude/hooks/telegram_notify.sh
550
+ ```
551
+
552
+ 5. **Test hook manually (see "Verify Setup" section)**
553
+
554
+ ### Messages Showing Escaped Markdown
555
+
556
+ **Cause:** Telegram parse mode or escaping issues
557
+
558
+ **Example Problem:**
559
+
560
+ ```
561
+ \*\*Project:\*\* my-project
562
+ ```
563
+
564
+ **Solutions:**
565
+
566
+ 1. **Verify Telegram bot supports Markdown:**
567
+ - All bots support basic Markdown
568
+ - Script uses `"parse_mode": "Markdown"`
569
+
570
+ 2. **Check message escaping in script:**
571
+ - Edit `telegram_notify.sh`
572
+ - Look for line: `local escaped_message=$(echo "$message" | jq -Rs .)`
573
+ - This should properly escape for JSON
574
+
575
+ 3. **Test with simple message:**
576
+ ```bash
577
+ curl -s "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage" \
578
+ -H "Content-Type: application/json" \
579
+ -d "{\"chat_id\": \"$TELEGRAM_CHAT_ID\", \"text\": \"*bold* _italic_\", \"parse_mode\": \"Markdown\"}"
580
+ ```
581
+
582
+ ### Script Permission Denied
583
+
584
+ **Cause:** Script not executable or no execute permission
585
+
586
+ **Solution:**
587
+
588
+ ```bash
589
+ chmod +x .claude/hooks/telegram_notify.sh
590
+ ```
591
+
592
+ **Verify:**
593
+
594
+ ```bash
595
+ ls -l .claude/hooks/telegram_notify.sh
596
+ # Output should show: -rwxr-xr-x
597
+ ```
598
+
599
+ ## Advanced Configuration
600
+
601
+ ### Multiple Notification Channels
602
+
603
+ Send notifications to different chats based on event type:
604
+
605
+ **.env file:**
606
+
607
+ ```bash
608
+ TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrsTUVwxyz
609
+ TELEGRAM_CHAT_ID=123456789 # Default
610
+ TELEGRAM_CHAT_ID_SUCCESS=123456789 # Success notifications
611
+ TELEGRAM_CHAT_ID_ERROR=987654321 # Error notifications
612
+ ```
613
+
614
+ **Modified script logic:**
615
+
616
+ ```bash
617
+ # In telegram_notify.sh, add conditional chat ID selection
618
+ if [[ "$HOOK_TYPE" == "Stop" ]] && [[ $TOTAL_TOOLS -gt 20 ]]; then
619
+ # Large operations go to success channel
620
+ TELEGRAM_CHAT_ID="${TELEGRAM_CHAT_ID_SUCCESS:-$TELEGRAM_CHAT_ID}"
621
+ fi
622
+ ```
623
+
624
+ ### Filtering Notifications
625
+
626
+ Only send notifications for significant events:
627
+
628
+ **Edit `telegram_notify.sh`:**
629
+
630
+ ```bash
631
+ # After line 65 (TOTAL_TOOLS calculation), add:
632
+
633
+ # Skip notifications for very small operations
634
+ if [[ $TOTAL_TOOLS -lt 3 ]]; then
635
+ echo "Skipping notification: operation too small ($TOTAL_TOOLS tools)" >&2
636
+ exit 0
637
+ fi
638
+ ```
639
+
640
+ **Filter by tools used:**
641
+
642
+ ```bash
643
+ # Skip if only Read operations
644
+ if echo "$TOOLS_USED" | grep -q "Read" && [[ $TOTAL_TOOLS -eq $(echo "$TOOLS_USED" | grep "Read" | awk '{print $1}') ]]; then
645
+ echo "Skipping notification: read-only operation" >&2
646
+ exit 0
647
+ fi
648
+ ```
649
+
650
+ **Filter by time of day:**
651
+
652
+ ```bash
653
+ # Don't send notifications during off-hours
654
+ HOUR=$(date +%H)
655
+ if [[ $HOUR -lt 8 ]] || [[ $HOUR -gt 22 ]]; then
656
+ echo "Skipping notification: off-hours" >&2
657
+ exit 0
658
+ fi
659
+ ```
660
+
661
+ ### Custom Message Formatting
662
+
663
+ Modify notification format in `telegram_notify.sh`:
664
+
665
+ **Add Git branch info:**
666
+
667
+ ```bash
668
+ # After line 73, add:
669
+ BRANCH=$(git branch --show-current 2>/dev/null || echo "unknown")
670
+ MESSAGE="${MESSAGE}
671
+ 🌿 *Branch:* ${BRANCH}"
672
+ ```
673
+
674
+ **Add commit hash:**
675
+
676
+ ```bash
677
+ COMMIT_HASH=$(git rev-parse --short HEAD 2>/dev/null || echo "unknown")
678
+ MESSAGE="${MESSAGE}
679
+ 📝 *Commit:* \`${COMMIT_HASH}\`"
680
+ ```
681
+
682
+ **Add environment info:**
683
+
684
+ ```bash
685
+ ENV=${NODE_ENV:-development}
686
+ MESSAGE="${MESSAGE}
687
+ 🔧 *Environment:* ${ENV}"
688
+ ```
689
+
690
+ ### Different Bots for Different Projects
691
+
692
+ Use different bots per project for better organization:
693
+
694
+ **Project A `.env`:**
695
+
696
+ ```bash
697
+ TELEGRAM_BOT_TOKEN=111111111:AAA_ProjectA_Bot_Token
698
+ TELEGRAM_CHAT_ID=123456789
699
+ ```
700
+
701
+ **Project B `.env`:**
702
+
703
+ ```bash
704
+ TELEGRAM_BOT_TOKEN=222222222:BBB_ProjectB_Bot_Token
705
+ TELEGRAM_CHAT_ID=987654321
706
+ ```
707
+
708
+ ### Rate Limiting
709
+
710
+ Prevent notification spam:
711
+
712
+ **Create rate limit file:**
713
+
714
+ ```bash
715
+ # Add to telegram_notify.sh, after line 55:
716
+
717
+ RATE_LIMIT_FILE="/tmp/telegram_notify_last_sent"
718
+ RATE_LIMIT_SECONDS=60
719
+
720
+ if [[ -f "$RATE_LIMIT_FILE" ]]; then
721
+ LAST_SENT=$(cat "$RATE_LIMIT_FILE")
722
+ NOW=$(date +%s)
723
+ DIFF=$((NOW - LAST_SENT))
724
+
725
+ if [[ $DIFF -lt $RATE_LIMIT_SECONDS ]]; then
726
+ echo "Rate limit: last notification sent ${DIFF}s ago" >&2
727
+ exit 0
728
+ fi
729
+ fi
730
+
731
+ # Update timestamp after successful send
732
+ date +%s > "$RATE_LIMIT_FILE"
733
+ ```
734
+
735
+ ### Testing with Mock Data
736
+
737
+ Test different hook scenarios:
738
+
739
+ **Stop event with multiple tools:**
740
+
741
+ ```bash
742
+ echo '{
743
+ "hookType": "Stop",
744
+ "projectDir": "'"$(pwd)"'",
745
+ "sessionId": "test-123",
746
+ "toolsUsed": [
747
+ {"tool": "Read", "parameters": {"file_path": "file1.ts"}},
748
+ {"tool": "Read", "parameters": {"file_path": "file2.ts"}},
749
+ {"tool": "Edit", "parameters": {"file_path": "file1.ts"}},
750
+ {"tool": "Edit", "parameters": {"file_path": "file2.ts"}},
751
+ {"tool": "Edit", "parameters": {"file_path": "file3.ts"}},
752
+ {"tool": "Write", "parameters": {"file_path": "file4.ts"}},
753
+ {"tool": "Bash", "parameters": {"command": "npm test"}},
754
+ {"tool": "TodoWrite", "parameters": {}}
755
+ ]
756
+ }' | ./.claude/hooks/telegram_notify.sh
757
+ ```
758
+
759
+ **SubagentStop event:**
760
+
761
+ ```bash
762
+ echo '{
763
+ "hookType": "SubagentStop",
764
+ "projectDir": "'"$(pwd)"'",
765
+ "sessionId": "test-456",
766
+ "subagentType": "planner"
767
+ }' | ./.claude/hooks/telegram_notify.sh
768
+ ```
769
+
770
+ ## Security Best Practices
771
+
772
+ 1. **Never commit bot tokens:**
773
+
774
+ ```bash
775
+ # .gitignore
776
+ .env
777
+ .env.*
778
+ .env.local
779
+ .env.production
780
+ ```
781
+
782
+ 2. **Use environment variables:** Never hardcode tokens in scripts
783
+
784
+ 3. **Rotate bot tokens regularly:**
785
+ - Go to @BotFather in Telegram
786
+ - Send `/mybots`
787
+ - Select your bot → API Token → Revoke current token
788
+ - Generate new token
789
+ - Update configuration
790
+
791
+ 4. **Limit bot permissions:**
792
+ - Bots only need send message permission
793
+ - Don't make bot admin in groups unless necessary
794
+
795
+ 5. **Use separate bots per environment:**
796
+
797
+ ```bash
798
+ # Development bot
799
+ TELEGRAM_BOT_TOKEN_DEV=111111111:DEV_Token
800
+
801
+ # Production bot
802
+ TELEGRAM_BOT_TOKEN_PROD=222222222:PROD_Token
803
+ ```
804
+
805
+ 6. **Monitor bot activity:**
806
+ - Check @BotFather for bot statistics
807
+ - Review message history regularly
808
+ - Look for unexpected activity
809
+
810
+ 7. **Secure chat IDs:**
811
+ - Don't share chat IDs publicly
812
+ - Use private groups for sensitive notifications
813
+ - Remove bot from groups when no longer needed
814
+
815
+ ## Reference
816
+
817
+ **Script Location:** `.claude/hooks/telegram_notify.sh`
818
+
819
+ **Configuration:** `.claude/config.json`
820
+
821
+ **Environment Variables:**
822
+
823
+ - `TELEGRAM_BOT_TOKEN` (required)
824
+ - `TELEGRAM_CHAT_ID` (required)
825
+
826
+ **Supported Events:**
827
+
828
+ - `Stop` - Main session completion
829
+ - `SubagentStop` - Subagent completion
830
+
831
+ **Dependencies:**
832
+
833
+ - `bash`
834
+ - `curl`
835
+ - `jq` (required)
836
+
837
+ **Telegram Bot API:** https://core.telegram.org/bots/api
838
+
839
+ **Claude Code Hooks:** https://docs.claude.com/claude-code/hooks
840
+
841
+ ---
842
+
843
+ **Last Updated:** 2025-10-22