opencode-skills-collection 4.0.52 → 4.0.54

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 (1176) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +6 -2
  2. package/bundled-skills/00-andruia-consultant/SKILL.md +6 -0
  3. package/bundled-skills/007/SKILL.md +2 -610
  4. package/bundled-skills/007/references/detailed-guide.md +647 -0
  5. package/bundled-skills/10-andruia-skill-smith/SKILL.md +6 -0
  6. package/bundled-skills/20-andruia-niche-intelligence/SKILL.md +6 -0
  7. package/bundled-skills/2slides-ppt-generator/SKILL.md +2 -741
  8. package/bundled-skills/2slides-ppt-generator/references/detailed-guide.md +761 -0
  9. package/bundled-skills/ab-test-setup/SKILL.md +59 -27
  10. package/bundled-skills/ab-testing/SKILL.md +1 -1
  11. package/bundled-skills/acceptance-orchestrator/SKILL.md +6 -0
  12. package/bundled-skills/accint-commitments/SKILL.md +6 -0
  13. package/bundled-skills/accint-frames/SKILL.md +6 -0
  14. package/bundled-skills/accint-solve/SKILL.md +6 -0
  15. package/bundled-skills/advogado-criminal/SKILL.md +2 -912
  16. package/bundled-skills/advogado-criminal/references/detailed-guide.md +946 -0
  17. package/bundled-skills/advogado-especialista/SKILL.md +2 -1071
  18. package/bundled-skills/advogado-especialista/references/detailed-guide.md +1114 -0
  19. package/bundled-skills/agent-evaluation/SKILL.md +53 -1102
  20. package/bundled-skills/agent-evaluation/references/architecture-sketches.md +1112 -0
  21. package/bundled-skills/agent-memory/SKILL.md +6 -0
  22. package/bundled-skills/agent-memory-systems/SKILL.md +8 -1042
  23. package/bundled-skills/agent-memory-systems/references/detailed-guide.md +1088 -0
  24. package/bundled-skills/agent-squad/SKILL.md +1 -0
  25. package/bundled-skills/agent-tool-builder/SKILL.md +2 -624
  26. package/bundled-skills/agent-tool-builder/references/detailed-guide.md +650 -0
  27. package/bundled-skills/agentic-actions-auditor/SKILL.md +6 -0
  28. package/bundled-skills/agentmail/SKILL.md +1 -0
  29. package/bundled-skills/agentphone/SKILL.md +5 -1323
  30. package/bundled-skills/agentphone/references/detailed-guide.md +1333 -0
  31. package/bundled-skills/agents-v2-py/SKILL.md +23 -5
  32. package/bundled-skills/ai-agents-architect/SKILL.md +25 -25
  33. package/bundled-skills/ai-analyzer/SKILL.md +1 -0
  34. package/bundled-skills/ai-md/SKILL.md +25 -0
  35. package/bundled-skills/ai-md/references/detailed-guide.md +512 -0
  36. package/bundled-skills/ai-product/SKILL.md +2 -726
  37. package/bundled-skills/ai-product/references/detailed-guide.md +746 -0
  38. package/bundled-skills/ai-wrapper-product/SKILL.md +2 -641
  39. package/bundled-skills/ai-wrapper-product/references/detailed-guide.md +659 -0
  40. package/bundled-skills/airtable-automation/SKILL.md +6 -0
  41. package/bundled-skills/algolia-search/SKILL.md +2 -893
  42. package/bundled-skills/algolia-search/references/detailed-guide.md +901 -0
  43. package/bundled-skills/alpha-vantage/SKILL.md +1 -0
  44. package/bundled-skills/alternatives-pages/SKILL.md +7 -1
  45. package/bundled-skills/amazon-alexa/SKILL.md +2 -627
  46. package/bundled-skills/amazon-alexa/references/detailed-guide.md +644 -0
  47. package/bundled-skills/analytics/SKILL.md +1 -1
  48. package/bundled-skills/analytics-product/SKILL.md +57 -44
  49. package/bundled-skills/analytics-tracking/SKILL.md +21 -12
  50. package/bundled-skills/analyze-project/SKILL.md +1 -0
  51. package/bundled-skills/android-dev/SKILL.md +2 -490
  52. package/bundled-skills/android-dev/references/detailed-guide.md +506 -0
  53. package/bundled-skills/angular/SKILL.md +4 -783
  54. package/bundled-skills/angular/references/detailed-guide.md +801 -0
  55. package/bundled-skills/angular-best-practices/SKILL.md +4 -535
  56. package/bundled-skills/angular-best-practices/references/detailed-guide.md +549 -0
  57. package/bundled-skills/angular-state-management/SKILL.md +4 -608
  58. package/bundled-skills/angular-state-management/references/detailed-guide.md +618 -0
  59. package/bundled-skills/angular-ui-patterns/SKILL.md +2 -498
  60. package/bundled-skills/angular-ui-patterns/references/detailed-guide.md +513 -0
  61. package/bundled-skills/animejs-animation/SKILL.md +6 -0
  62. package/bundled-skills/anti-deception/SKILL.md +7 -1
  63. package/bundled-skills/antigravity-design-expert/SKILL.md +6 -0
  64. package/bundled-skills/antigravity-maintainer-batch-release/SKILL.md +7 -0
  65. package/bundled-skills/antigravity-workflows/SKILL.md +20 -3
  66. package/bundled-skills/antigravity-workflows/references/workflow-cards.md +78 -0
  67. package/bundled-skills/api-analyzer/SKILL.md +1 -1
  68. package/bundled-skills/api-designer/SKILL.md +1 -1
  69. package/bundled-skills/api-integration/SKILL.md +1 -1
  70. package/bundled-skills/api-onboarding/SKILL.md +1 -1
  71. package/bundled-skills/api-patterns/SKILL.md +19 -8
  72. package/bundled-skills/api-patterns/api-style.md +2 -2
  73. package/bundled-skills/api-patterns/auth.md +3 -2
  74. package/bundled-skills/api-patterns/graphql.md +1 -1
  75. package/bundled-skills/api-patterns/scripts/api_validator.py +9 -7
  76. package/bundled-skills/api-patterns/trpc.md +2 -2
  77. package/bundled-skills/api-patterns/versioning.md +1 -1
  78. package/bundled-skills/api-sdk-generator/SKILL.md +1 -1
  79. package/bundled-skills/api-security-best-practices/SKILL.md +179 -879
  80. package/bundled-skills/apify-actor-development/SKILL.md +1 -0
  81. package/bundled-skills/apify-actorization/SKILL.md +1 -0
  82. package/bundled-skills/apify-audience-analysis/SKILL.md +1 -0
  83. package/bundled-skills/apify-brand-reputation-monitoring/SKILL.md +1 -0
  84. package/bundled-skills/apify-competitor-intelligence/SKILL.md +1 -0
  85. package/bundled-skills/apify-content-analytics/SKILL.md +1 -0
  86. package/bundled-skills/apify-ecommerce/SKILL.md +1 -0
  87. package/bundled-skills/apify-influencer-discovery/SKILL.md +1 -0
  88. package/bundled-skills/apify-lead-generation/SKILL.md +1 -0
  89. package/bundled-skills/apify-market-research/SKILL.md +1 -0
  90. package/bundled-skills/apify-trend-analysis/SKILL.md +1 -0
  91. package/bundled-skills/apify-ultimate-scraper/SKILL.md +1 -0
  92. package/bundled-skills/appium-skill/SKILL.md +1 -1
  93. package/bundled-skills/apple-notes-search/SKILL.md +6 -0
  94. package/bundled-skills/application-performance-performance-optimization/SKILL.md +6 -0
  95. package/bundled-skills/applicationinsights-web-ts/SKILL.md +1 -1
  96. package/bundled-skills/ask-matt/SKILL.md +5 -0
  97. package/bundled-skills/ask-questions-if-underspecified/SKILL.md +1 -0
  98. package/bundled-skills/astropy/SKILL.md +1 -0
  99. package/bundled-skills/atlas-contract/SKILL.md +117 -0
  100. package/bundled-skills/atlas-contract/references/detailed-guide.md +572 -0
  101. package/bundled-skills/audio-transcriber/SKILL.md +2 -425
  102. package/bundled-skills/audio-transcriber/references/detailed-guide.md +430 -0
  103. package/bundled-skills/audit-context-building/SKILL.md +1 -0
  104. package/bundled-skills/auri-core/SKILL.md +5 -562
  105. package/bundled-skills/auri-core/references/detailed-guide.md +623 -0
  106. package/bundled-skills/auth-implementation-patterns/SKILL.md +14 -4
  107. package/bundled-skills/auth-implementation-patterns/resources/implementation-playbook.md +72 -180
  108. package/bundled-skills/automated-triage/SKILL.md +6 -0
  109. package/bundled-skills/autonomous-agent-patterns/SKILL.md +4 -741
  110. package/bundled-skills/autonomous-agent-patterns/references/detailed-guide.md +751 -0
  111. package/bundled-skills/autonomous-agents/SKILL.md +8 -1010
  112. package/bundled-skills/autonomous-agents/references/detailed-guide.md +1065 -0
  113. package/bundled-skills/awareness-stage-mapper/SKILL.md +6 -0
  114. package/bundled-skills/aws-agentic-ai/SKILL.md +7 -1
  115. package/bundled-skills/aws-cdk-development/SKILL.md +1 -1
  116. package/bundled-skills/aws-cost-operations/SKILL.md +1 -1
  117. package/bundled-skills/aws-mcp-setup/SKILL.md +1 -1
  118. package/bundled-skills/aws-serverless/SKILL.md +2 -1305
  119. package/bundled-skills/aws-serverless/references/detailed-guide.md +1340 -0
  120. package/bundled-skills/aws-serverless-eda/SKILL.md +1 -1
  121. package/bundled-skills/aws-skills/SKILL.md +6 -0
  122. package/bundled-skills/aws-sst-development/SKILL.md +7 -1
  123. package/bundled-skills/awt-e2e-testing/SKILL.md +7 -0
  124. package/bundled-skills/azure-functions/SKILL.md +2 -1321
  125. package/bundled-skills/azure-functions/references/detailed-guide.md +1356 -0
  126. package/bundled-skills/azure-maps-search-dotnet/SKILL.md +2 -482
  127. package/bundled-skills/azure-maps-search-dotnet/references/detailed-guide.md +496 -0
  128. package/bundled-skills/azure-search-documents-py/SKILL.md +2 -515
  129. package/bundled-skills/azure-search-documents-py/references/detailed-guide.md +548 -0
  130. package/bundled-skills/azure-storage-file-share-ts/SKILL.md +2 -481
  131. package/bundled-skills/azure-storage-file-share-ts/references/detailed-guide.md +500 -0
  132. package/bundled-skills/azure-storage-queue-ts/SKILL.md +2 -512
  133. package/bundled-skills/azure-storage-queue-ts/references/detailed-guide.md +530 -0
  134. package/bundled-skills/backend-development-feature-development/SKILL.md +6 -0
  135. package/bundled-skills/basecamp-automation/SKILL.md +6 -0
  136. package/bundled-skills/baseline-ui/SKILL.md +6 -0
  137. package/bundled-skills/bash-pro/SKILL.md +6 -0
  138. package/bundled-skills/bdi-mental-states/SKILL.md +1 -0
  139. package/bundled-skills/beautiful-prose/SKILL.md +1 -0
  140. package/bundled-skills/bill-gates/SKILL.md +2 -778
  141. package/bundled-skills/bill-gates/references/detailed-guide.md +784 -0
  142. package/bundled-skills/biopython/SKILL.md +1 -0
  143. package/bundled-skills/bitbucket-automation/SKILL.md +6 -0
  144. package/bundled-skills/blog-writing-guide/SKILL.md +6 -0
  145. package/bundled-skills/box-automation/SKILL.md +6 -0
  146. package/bundled-skills/brain-to-docs/SKILL.md +6 -0
  147. package/bundled-skills/brainstorming/SKILL.md +6 -0
  148. package/bundled-skills/brand-guidelines/SKILL.md +1 -0
  149. package/bundled-skills/brand-guidelines-anthropic/SKILL.md +23 -8
  150. package/bundled-skills/brand-guidelines-community/SKILL.md +23 -8
  151. package/bundled-skills/brand-perception-psychologist/SKILL.md +6 -0
  152. package/bundled-skills/brooks-audit/SKILL.md +1 -1
  153. package/bundled-skills/brooks-debt/SKILL.md +1 -1
  154. package/bundled-skills/brooks-harness/SKILL.md +1 -1
  155. package/bundled-skills/brooks-review/SKILL.md +7 -1
  156. package/bundled-skills/brooks-sweep/SKILL.md +1 -1
  157. package/bundled-skills/brooks-test/SKILL.md +1 -1
  158. package/bundled-skills/browser-automation/SKILL.md +18 -1044
  159. package/bundled-skills/browser-automation/references/detailed-guide.md +852 -0
  160. package/bundled-skills/bug-hunt-swarm/SKILL.md +7 -1
  161. package/bundled-skills/build/SKILL.md +5 -627
  162. package/bundled-skills/build/references/detailed-guide.md +637 -0
  163. package/bundled-skills/bun-development/SKILL.md +4 -678
  164. package/bundled-skills/bun-development/references/detailed-guide.md +691 -0
  165. package/bundled-skills/burpsuite-project-parser/SKILL.md +1 -0
  166. package/bundled-skills/c-pro/SKILL.md +6 -0
  167. package/bundled-skills/calendly-automation/SKILL.md +6 -0
  168. package/bundled-skills/cc-skill-backend-patterns/SKILL.md +2 -572
  169. package/bundled-skills/cc-skill-backend-patterns/references/detailed-guide.md +584 -0
  170. package/bundled-skills/cc-skill-coding-standards/SKILL.md +2 -510
  171. package/bundled-skills/cc-skill-coding-standards/references/detailed-guide.md +523 -0
  172. package/bundled-skills/cc-skill-continuous-learning/SKILL.md +49 -7
  173. package/bundled-skills/cc-skill-continuous-learning/config.json +1 -16
  174. package/bundled-skills/cc-skill-continuous-learning/evaluate-session.sh +56 -59
  175. package/bundled-skills/cc-skill-frontend-patterns/SKILL.md +2 -621
  176. package/bundled-skills/cc-skill-frontend-patterns/references/detailed-guide.md +633 -0
  177. package/bundled-skills/cc-skill-security-review/SKILL.md +4 -36
  178. package/bundled-skills/cc-skill-security-review/references/detailed-guide.md +40 -0
  179. package/bundled-skills/cc-skill-strategic-compact/SKILL.md +53 -7
  180. package/bundled-skills/cc-skill-strategic-compact/suggest-compact.sh +20 -51
  181. package/bundled-skills/changelog-updates/SKILL.md +6 -528
  182. package/bundled-skills/changelog-updates/references/detailed-guide.md +540 -0
  183. package/bundled-skills/chat-widget/SKILL.md +5 -879
  184. package/bundled-skills/chat-widget/references/detailed-guide.md +890 -0
  185. package/bundled-skills/cirq/SKILL.md +1 -0
  186. package/bundled-skills/citation-management/SKILL.md +3 -960
  187. package/bundled-skills/citation-management/references/detailed-guide.md +975 -0
  188. package/bundled-skills/ckw-design/SKILL.md +6 -0
  189. package/bundled-skills/claimable-postgres/SKILL.md +1 -1
  190. package/bundled-skills/clarity-gate/SKILL.md +3 -635
  191. package/bundled-skills/clarity-gate/references/detailed-guide.md +653 -0
  192. package/bundled-skills/claude-ally-health/SKILL.md +6 -0
  193. package/bundled-skills/claude-code-expert/SKILL.md +2 -527
  194. package/bundled-skills/claude-code-expert/references/detailed-guide.md +548 -0
  195. package/bundled-skills/claude-d3js-skill/SKILL.md +2 -798
  196. package/bundled-skills/claude-d3js-skill/references/detailed-guide.md +811 -0
  197. package/bundled-skills/claude-in-chrome-troubleshooting/SKILL.md +1 -0
  198. package/bundled-skills/claude-scientific-skills/SKILL.md +6 -0
  199. package/bundled-skills/claude-settings-audit/SKILL.md +1 -0
  200. package/bundled-skills/claude-speed-reader/SKILL.md +6 -0
  201. package/bundled-skills/claude-win11-speckit-update-skill/SKILL.md +6 -0
  202. package/bundled-skills/clean-code/SKILL.md +6 -0
  203. package/bundled-skills/clerk-auth/SKILL.md +2 -812
  204. package/bundled-skills/clerk-auth/references/detailed-guide.md +820 -0
  205. package/bundled-skills/clickup-automation/SKILL.md +6 -0
  206. package/bundled-skills/closed-loop-delivery/SKILL.md +6 -0
  207. package/bundled-skills/co-marketing/SKILL.md +1 -1
  208. package/bundled-skills/code-documentation-doc-generate/SKILL.md +16 -1
  209. package/bundled-skills/code-documentation-doc-generate/resources/implementation-playbook.md +33 -55
  210. package/bundled-skills/code-refactoring-context-restore/SKILL.md +40 -177
  211. package/bundled-skills/code-refactoring-tech-debt/SKILL.md +20 -9
  212. package/bundled-skills/code-simplifier/SKILL.md +1 -0
  213. package/bundled-skills/codebase-cleanup-tech-debt/SKILL.md +20 -9
  214. package/bundled-skills/cold-email/SKILL.md +6 -0
  215. package/bundled-skills/commit/SKILL.md +1 -0
  216. package/bundled-skills/community-building/SKILL.md +1 -1
  217. package/bundled-skills/competitor-alternatives/SKILL.md +2 -740
  218. package/bundled-skills/competitor-alternatives/references/detailed-guide.md +756 -0
  219. package/bundled-skills/competitor-profiling/SKILL.md +1 -1
  220. package/bundled-skills/competitor-tracking/SKILL.md +1 -1
  221. package/bundled-skills/comprehensive-review-full-review/SKILL.md +6 -0
  222. package/bundled-skills/comprehensive-review-pr-enhance/SKILL.md +1 -0
  223. package/bundled-skills/computer-use-agents/SKILL.md +2 -2131
  224. package/bundled-skills/computer-use-agents/references/detailed-guide.md +2158 -0
  225. package/bundled-skills/computer-vision-expert/SKILL.md +6 -0
  226. package/bundled-skills/conductor-setup/SKILL.md +1 -0
  227. package/bundled-skills/confluence-automation/SKILL.md +6 -0
  228. package/bundled-skills/constant-time-analysis/SKILL.md +1 -0
  229. package/bundled-skills/container-security-hardening/SKILL.md +4 -915
  230. package/bundled-skills/container-security-hardening/references/detailed-guide.md +927 -0
  231. package/bundled-skills/content-creator/SKILL.md +53 -23
  232. package/bundled-skills/content-creator/assets/content_calendar_template.md +5 -2
  233. package/bundled-skills/content-creator/references/brand_guidelines.md +7 -3
  234. package/bundled-skills/content-creator/references/content_frameworks.md +12 -7
  235. package/bundled-skills/content-creator/references/social_media_optimization.md +61 -317
  236. package/bundled-skills/content-creator/scripts/brand_voice_analyzer.py +14 -9
  237. package/bundled-skills/content-creator/scripts/seo_optimizer.py +31 -94
  238. package/bundled-skills/context-compression/SKILL.md +1 -0
  239. package/bundled-skills/context-degradation/SKILL.md +1 -0
  240. package/bundled-skills/context-fundamentals/SKILL.md +1 -0
  241. package/bundled-skills/context-management-context-restore/SKILL.md +40 -177
  242. package/bundled-skills/context-optimization/SKILL.md +1 -0
  243. package/bundled-skills/convex/SKILL.md +4 -766
  244. package/bundled-skills/convex/references/detailed-guide.md +772 -0
  245. package/bundled-skills/copilot-sdk/SKILL.md +4 -496
  246. package/bundled-skills/copilot-sdk/references/detailed-guide.md +516 -0
  247. package/bundled-skills/copy-editing/SKILL.md +6 -0
  248. package/bundled-skills/copywriting/SKILL.md +6 -0
  249. package/bundled-skills/copywriting-psychologist/SKILL.md +6 -0
  250. package/bundled-skills/create-branch/SKILL.md +1 -0
  251. package/bundled-skills/create-pr/SKILL.md +7 -0
  252. package/bundled-skills/cred-omega/SKILL.md +2 -847
  253. package/bundled-skills/cred-omega/references/detailed-guide.md +872 -0
  254. package/bundled-skills/cro/SKILL.md +1 -1
  255. package/bundled-skills/csharp-pro/SKILL.md +6 -0
  256. package/bundled-skills/cucumber-skill/SKILL.md +1 -1
  257. package/bundled-skills/customer-psychographic-profiler/SKILL.md +6 -0
  258. package/bundled-skills/customer-research/SKILL.md +1 -1
  259. package/bundled-skills/cv-generator/SKILL.md +4 -828
  260. package/bundled-skills/cv-generator/references/detailed-guide.md +845 -0
  261. package/bundled-skills/cypress-skill/SKILL.md +1 -1
  262. package/bundled-skills/daily-gift/SKILL.md +6 -0
  263. package/bundled-skills/debug-buttercup/SKILL.md +1 -0
  264. package/bundled-skills/debugger/SKILL.md +6 -0
  265. package/bundled-skills/debugging-code/SKILL.md +1 -1
  266. package/bundled-skills/deepapi/SKILL.md +4 -619
  267. package/bundled-skills/deepapi/references/detailed-guide.md +627 -0
  268. package/bundled-skills/delegating-to-agents/SKILL.md +6 -0
  269. package/bundled-skills/deployment-validation-config-validate/SKILL.md +4 -478
  270. package/bundled-skills/deployment-validation-config-validate/references/detailed-guide.md +484 -0
  271. package/bundled-skills/design-it/SKILL.md +6 -0
  272. package/bundled-skills/design-orchestration/SKILL.md +6 -0
  273. package/bundled-skills/design-spells/SKILL.md +6 -0
  274. package/bundled-skills/design-system/SKILL.md +7 -1
  275. package/bundled-skills/design-taste-frontend/SKILL.md +6 -0
  276. package/bundled-skills/design-thinking/SKILL.md +6 -0
  277. package/bundled-skills/design-ux/SKILL.md +7 -1
  278. package/bundled-skills/deterministic-design/SKILL.md +6 -0
  279. package/bundled-skills/developer-advocacy/SKILL.md +1 -1
  280. package/bundled-skills/developer-audience-context/SKILL.md +1 -1
  281. package/bundled-skills/developer-churn/SKILL.md +5 -625
  282. package/bundled-skills/developer-churn/references/detailed-guide.md +639 -0
  283. package/bundled-skills/developer-listening/SKILL.md +7 -1
  284. package/bundled-skills/developer-onboarding/SKILL.md +6 -474
  285. package/bundled-skills/developer-onboarding/references/detailed-guide.md +486 -0
  286. package/bundled-skills/developer-sandbox/SKILL.md +6 -414
  287. package/bundled-skills/developer-sandbox/references/detailed-guide.md +425 -0
  288. package/bundled-skills/developer-seo/SKILL.md +1 -1
  289. package/bundled-skills/developer-signup-flow/SKILL.md +1 -1
  290. package/bundled-skills/devrel-content/SKILL.md +1 -1
  291. package/bundled-skills/diagnosing-bugs/SKILL.md +5 -0
  292. package/bundled-skills/diary/SKILL.md +1 -0
  293. package/bundled-skills/differential-review/SKILL.md +1 -0
  294. package/bundled-skills/discord-automation/SKILL.md +6 -0
  295. package/bundled-skills/discord-bot-architect/SKILL.md +2 -1434
  296. package/bundled-skills/discord-bot-architect/references/detailed-guide.md +1465 -0
  297. package/bundled-skills/django-access-review/SKILL.md +1 -0
  298. package/bundled-skills/django-perf-review/SKILL.md +1 -0
  299. package/bundled-skills/doc-coauthoring/SKILL.md +6 -0
  300. package/bundled-skills/docs-architect/SKILL.md +6 -0
  301. package/bundled-skills/docs-as-marketing/SKILL.md +1 -1
  302. package/bundled-skills/documentation-generation-doc-generate/SKILL.md +16 -1
  303. package/bundled-skills/documentation-generation-doc-generate/resources/implementation-playbook.md +33 -55
  304. package/bundled-skills/doubt-driven-development/SKILL.md +1 -1
  305. package/bundled-skills/dropbox-automation/SKILL.md +6 -0
  306. package/bundled-skills/dwarf-expert/SKILL.md +1 -0
  307. package/bundled-skills/dx-optimizer/SKILL.md +6 -0
  308. package/bundled-skills/e2e-testing-patterns/SKILL.md +14 -4
  309. package/bundled-skills/e2e-testing-patterns/resources/implementation-playbook.md +22 -41
  310. package/bundled-skills/eas-update-insights/SKILL.md +1 -1
  311. package/bundled-skills/ecl-harness-engineer/SKILL.md +4 -681
  312. package/bundled-skills/ecl-harness-engineer/references/detailed-guide.md +691 -0
  313. package/bundled-skills/efficient-web-research/SKILL.md +1 -0
  314. package/bundled-skills/electron-development/SKILL.md +4 -820
  315. package/bundled-skills/electron-development/references/detailed-guide.md +828 -0
  316. package/bundled-skills/elixir-pro/SKILL.md +6 -0
  317. package/bundled-skills/elon-musk/SKILL.md +5 -1278
  318. package/bundled-skills/elon-musk/references/detailed-guide.md +1293 -0
  319. package/bundled-skills/email-sequence/SKILL.md +2 -915
  320. package/bundled-skills/email-sequence/references/detailed-guide.md +932 -0
  321. package/bundled-skills/email-systems/SKILL.md +2 -654
  322. package/bundled-skills/email-systems/references/detailed-guide.md +669 -0
  323. package/bundled-skills/emergency-card/SKILL.md +1 -0
  324. package/bundled-skills/emil-design-eng/SKILL.md +4 -673
  325. package/bundled-skills/emil-design-eng/references/detailed-guide.md +690 -0
  326. package/bundled-skills/emotional-arc-designer/SKILL.md +6 -0
  327. package/bundled-skills/enhance-prompt/SKILL.md +1 -0
  328. package/bundled-skills/entropy-box/SKILL.md +400 -0
  329. package/bundled-skills/entropy-box/references/api.md +196 -0
  330. package/bundled-skills/entropy-box/references/knowledge-compiler.md +61 -0
  331. package/bundled-skills/entropy-box/references/panorama.md +72 -0
  332. package/bundled-skills/error-debugging-error-analysis/SKILL.md +15 -0
  333. package/bundled-skills/error-debugging-error-analysis/resources/implementation-playbook.md +122 -1125
  334. package/bundled-skills/error-debugging-multi-agent-review/SKILL.md +42 -214
  335. package/bundled-skills/error-detective/SKILL.md +6 -0
  336. package/bundled-skills/error-diagnostics-error-analysis/SKILL.md +15 -0
  337. package/bundled-skills/error-diagnostics-error-analysis/resources/implementation-playbook.md +122 -1125
  338. package/bundled-skills/event-sourcing-architect/SKILL.md +6 -0
  339. package/bundled-skills/event-staffing-compliance/SKILL.md +6 -0
  340. package/bundled-skills/event-staffing-ordering/SKILL.md +6 -0
  341. package/bundled-skills/evolution/SKILL.md +1 -0
  342. package/bundled-skills/executing-plans/SKILL.md +6 -0
  343. package/bundled-skills/explain-like-socrates/SKILL.md +6 -0
  344. package/bundled-skills/expo-deployment/SKILL.md +1 -1
  345. package/bundled-skills/expo-examples/SKILL.md +1 -1
  346. package/bundled-skills/expo-module/SKILL.md +1 -1
  347. package/bundled-skills/expo-observe/SKILL.md +1 -1
  348. package/bundled-skills/expo-ui/SKILL.md +1 -1
  349. package/bundled-skills/expo-ui-jetpack-compose/SKILL.md +1 -0
  350. package/bundled-skills/expo-ui-swift-ui/SKILL.md +1 -0
  351. package/bundled-skills/fable-safe-prompt/SKILL.md +6 -0
  352. package/bundled-skills/fal-audio/SKILL.md +6 -0
  353. package/bundled-skills/fal-generate/SKILL.md +6 -0
  354. package/bundled-skills/fal-image-edit/SKILL.md +6 -0
  355. package/bundled-skills/fal-platform/SKILL.md +6 -0
  356. package/bundled-skills/fal-upscale/SKILL.md +6 -0
  357. package/bundled-skills/fal-workflow/SKILL.md +6 -0
  358. package/bundled-skills/family-health-analyzer/SKILL.md +1 -0
  359. package/bundled-skills/favicon/SKILL.md +1 -0
  360. package/bundled-skills/fda-food-safety-auditor/SKILL.md +1 -0
  361. package/bundled-skills/fda-medtech-compliance-auditor/SKILL.md +1 -0
  362. package/bundled-skills/ffuf-claude-skill/SKILL.md +6 -0
  363. package/bundled-skills/ffuf-web-fuzzing/SKILL.md +5 -492
  364. package/bundled-skills/ffuf-web-fuzzing/references/detailed-guide.md +510 -0
  365. package/bundled-skills/file-organizer/SKILL.md +6 -0
  366. package/bundled-skills/file-uploads/SKILL.md +6 -0
  367. package/bundled-skills/filesystem-context/SKILL.md +1 -0
  368. package/bundled-skills/find-bugs/SKILL.md +7 -0
  369. package/bundled-skills/firebase/SKILL.md +8 -651
  370. package/bundled-skills/firebase/references/detailed-guide.md +662 -0
  371. package/bundled-skills/fitness-analyzer/SKILL.md +1 -0
  372. package/bundled-skills/fix-review/SKILL.md +6 -0
  373. package/bundled-skills/fixing-metadata/SKILL.md +7 -1
  374. package/bundled-skills/food-database-query/SKILL.md +5 -772
  375. package/bundled-skills/food-database-query/references/detailed-guide.md +785 -0
  376. package/bundled-skills/form-cro/SKILL.md +6 -0
  377. package/bundled-skills/fp-async/SKILL.md +5 -716
  378. package/bundled-skills/fp-async/references/detailed-guide.md +726 -0
  379. package/bundled-skills/fp-backend/SKILL.md +5 -1313
  380. package/bundled-skills/fp-backend/references/detailed-guide.md +1323 -0
  381. package/bundled-skills/fp-data-transforms/SKILL.md +5 -1181
  382. package/bundled-skills/fp-data-transforms/references/detailed-guide.md +1190 -0
  383. package/bundled-skills/fp-either-ref/SKILL.md +1 -0
  384. package/bundled-skills/fp-errors/SKILL.md +5 -835
  385. package/bundled-skills/fp-errors/references/detailed-guide.md +846 -0
  386. package/bundled-skills/fp-option-ref/SKILL.md +1 -0
  387. package/bundled-skills/fp-pipe-ref/SKILL.md +1 -0
  388. package/bundled-skills/fp-pragmatic/SKILL.md +5 -500
  389. package/bundled-skills/fp-pragmatic/references/detailed-guide.md +510 -0
  390. package/bundled-skills/fp-react/SKILL.md +3 -761
  391. package/bundled-skills/fp-react/references/detailed-guide.md +775 -0
  392. package/bundled-skills/fp-refactor/SKILL.md +5 -1761
  393. package/bundled-skills/fp-refactor/references/detailed-guide.md +1775 -0
  394. package/bundled-skills/fp-taskeither-ref/SKILL.md +1 -0
  395. package/bundled-skills/fp-ts-errors/SKILL.md +4 -835
  396. package/bundled-skills/fp-ts-errors/references/detailed-guide.md +846 -0
  397. package/bundled-skills/fp-ts-pragmatic/SKILL.md +4 -500
  398. package/bundled-skills/fp-ts-pragmatic/references/detailed-guide.md +510 -0
  399. package/bundled-skills/fp-ts-react/SKILL.md +4 -763
  400. package/bundled-skills/fp-ts-react/references/detailed-guide.md +775 -0
  401. package/bundled-skills/fp-types-ref/SKILL.md +1 -0
  402. package/bundled-skills/framework-migration-legacy-modernize/SKILL.md +6 -0
  403. package/bundled-skills/free-tool-strategy/SKILL.md +2 -532
  404. package/bundled-skills/free-tool-strategy/references/detailed-guide.md +550 -0
  405. package/bundled-skills/freshdesk-automation/SKILL.md +6 -0
  406. package/bundled-skills/frontend-architecture/SKILL.md +1 -1
  407. package/bundled-skills/frontend-data-contracts/SKILL.md +1 -1
  408. package/bundled-skills/frontend-design/SKILL.md +33 -34
  409. package/bundled-skills/frontend-observability/SKILL.md +1 -1
  410. package/bundled-skills/frontend-optimistic-mutations/SKILL.md +1 -1
  411. package/bundled-skills/frontend-seo/SKILL.md +6 -675
  412. package/bundled-skills/frontend-seo/references/detailed-guide.md +688 -0
  413. package/bundled-skills/frontend-slides-frontend-slides/SKILL.md +7 -1
  414. package/bundled-skills/frontend-ui-dark-ts/SKILL.md +2 -561
  415. package/bundled-skills/frontend-ui-dark-ts/references/detailed-guide.md +573 -0
  416. package/bundled-skills/full-stack-orchestration-full-stack-feature/SKILL.md +6 -0
  417. package/bundled-skills/game-development/2d-games/SKILL.md +6 -0
  418. package/bundled-skills/game-development/mobile-games/SKILL.md +6 -0
  419. package/bundled-skills/game-development/vr-ar/SKILL.md +6 -0
  420. package/bundled-skills/gcp-cloud-run/SKILL.md +2 -1303
  421. package/bundled-skills/gcp-cloud-run/references/detailed-guide.md +1350 -0
  422. package/bundled-skills/gemini-api-dev/SKILL.md +1 -1
  423. package/bundled-skills/gemini-live-api-dev/SKILL.md +1 -1
  424. package/bundled-skills/gemini-omni-flash-api/SKILL.md +1 -1
  425. package/bundled-skills/geo-fundamentals/SKILL.md +6 -0
  426. package/bundled-skills/geoffrey-hinton/SKILL.md +5 -1235
  427. package/bundled-skills/geoffrey-hinton/references/detailed-guide.md +1324 -0
  428. package/bundled-skills/gh-review-requests/SKILL.md +1 -0
  429. package/bundled-skills/github-actions-advanced/SKILL.md +4 -971
  430. package/bundled-skills/github-actions-advanced/references/detailed-guide.md +991 -0
  431. package/bundled-skills/github-automation/SKILL.md +6 -0
  432. package/bundled-skills/github-workflow-automation/SKILL.md +4 -826
  433. package/bundled-skills/github-workflow-automation/references/detailed-guide.md +832 -0
  434. package/bundled-skills/gitlab-automation/SKILL.md +6 -0
  435. package/bundled-skills/gmail-automation/SKILL.md +1 -0
  436. package/bundled-skills/go-rod-master/SKILL.md +2 -496
  437. package/bundled-skills/go-rod-master/references/detailed-guide.md +508 -0
  438. package/bundled-skills/goal-analyzer/SKILL.md +5 -596
  439. package/bundled-skills/goal-analyzer/references/detailed-guide.md +602 -0
  440. package/bundled-skills/google-calendar-automation/SKILL.md +1 -0
  441. package/bundled-skills/google-docs-automation/SKILL.md +1 -0
  442. package/bundled-skills/google-drive-automation/SKILL.md +1 -0
  443. package/bundled-skills/google-sheets-automation/SKILL.md +1 -0
  444. package/bundled-skills/google-slides-automation/SKILL.md +1 -0
  445. package/bundled-skills/googlesheets-automation/SKILL.md +6 -0
  446. package/bundled-skills/gpt-taste/SKILL.md +6 -0
  447. package/bundled-skills/graphql/SKILL.md +8 -1031
  448. package/bundled-skills/graphql/references/detailed-guide.md +1044 -0
  449. package/bundled-skills/grill-me/SKILL.md +5 -0
  450. package/bundled-skills/grill-with-docs/SKILL.md +5 -0
  451. package/bundled-skills/grilling/SKILL.md +5 -0
  452. package/bundled-skills/growth-engine/SKILL.md +6 -0
  453. package/bundled-skills/handoff/SKILL.md +5 -0
  454. package/bundled-skills/haskell-pro/SKILL.md +6 -0
  455. package/bundled-skills/headline-psychologist/SKILL.md +6 -0
  456. package/bundled-skills/health-trend-analyzer/SKILL.md +1 -0
  457. package/bundled-skills/hig-components-content/SKILL.md +6 -0
  458. package/bundled-skills/hig-components-controls/SKILL.md +6 -0
  459. package/bundled-skills/hig-components-dialogs/SKILL.md +6 -0
  460. package/bundled-skills/hig-components-layout/SKILL.md +6 -0
  461. package/bundled-skills/hig-components-menus/SKILL.md +6 -0
  462. package/bundled-skills/hig-components-search/SKILL.md +6 -0
  463. package/bundled-skills/hig-components-status/SKILL.md +6 -0
  464. package/bundled-skills/hig-components-system/SKILL.md +6 -0
  465. package/bundled-skills/hig-foundations/SKILL.md +6 -0
  466. package/bundled-skills/hig-inputs/SKILL.md +6 -0
  467. package/bundled-skills/hig-patterns/SKILL.md +6 -0
  468. package/bundled-skills/hig-platforms/SKILL.md +6 -0
  469. package/bundled-skills/hig-technologies/SKILL.md +6 -0
  470. package/bundled-skills/high-end-visual-design/SKILL.md +6 -0
  471. package/bundled-skills/hosted-agents/SKILL.md +7 -0
  472. package/bundled-skills/hosted-agents-v2-py/SKILL.md +23 -5
  473. package/bundled-skills/html-injection-testing/SKILL.md +2 -453
  474. package/bundled-skills/html-injection-testing/references/detailed-guide.md +462 -0
  475. package/bundled-skills/hubspot-automation/SKILL.md +6 -0
  476. package/bundled-skills/hubspot-integration/SKILL.md +8 -807
  477. package/bundled-skills/hubspot-integration/references/detailed-guide.md +815 -0
  478. package/bundled-skills/hugging-face-cli/SKILL.md +7 -1
  479. package/bundled-skills/hugging-face-community-evals/SKILL.md +1 -1
  480. package/bundled-skills/hugging-face-datasets/SKILL.md +5 -430
  481. package/bundled-skills/hugging-face-datasets/references/detailed-guide.md +442 -0
  482. package/bundled-skills/hugging-face-evaluation/SKILL.md +5 -640
  483. package/bundled-skills/hugging-face-evaluation/references/detailed-guide.md +652 -0
  484. package/bundled-skills/hugging-face-jobs/SKILL.md +3 -801
  485. package/bundled-skills/hugging-face-jobs/references/detailed-guide.md +821 -0
  486. package/bundled-skills/hugging-face-model-trainer/SKILL.md +3 -681
  487. package/bundled-skills/hugging-face-model-trainer/references/detailed-guide.md +702 -0
  488. package/bundled-skills/hugging-face-paper-publisher/SKILL.md +5 -617
  489. package/bundled-skills/hugging-face-paper-publisher/references/detailed-guide.md +624 -0
  490. package/bundled-skills/hugging-face-papers/SKILL.md +1 -1
  491. package/bundled-skills/hugging-face-tool-builder/SKILL.md +1 -0
  492. package/bundled-skills/hugging-face-trackio/SKILL.md +1 -1
  493. package/bundled-skills/hugging-face-vision-trainer/SKILL.md +5 -534
  494. package/bundled-skills/hugging-face-vision-trainer/references/detailed-guide.md +549 -0
  495. package/bundled-skills/huggingface-best/SKILL.md +1 -1
  496. package/bundled-skills/huggingface-lora-space-builder/SKILL.md +1 -1
  497. package/bundled-skills/huggingface-spaces/SKILL.md +1 -1
  498. package/bundled-skills/huggingface-tool-builder/SKILL.md +1 -1
  499. package/bundled-skills/huggingface-zerogpu/SKILL.md +1 -1
  500. package/bundled-skills/hugo-to-markdown/SKILL.md +1 -1
  501. package/bundled-skills/hyperexecute-skill/SKILL.md +7 -1
  502. package/bundled-skills/iconsax-library/SKILL.md +6 -0
  503. package/bundled-skills/idea-refine/SKILL.md +1 -1
  504. package/bundled-skills/identity-mirror/SKILL.md +6 -0
  505. package/bundled-skills/ilya-sutskever/SKILL.md +2 -1126
  506. package/bundled-skills/ilya-sutskever/references/detailed-guide.md +1167 -0
  507. package/bundled-skills/image-generator/SKILL.md +4 -320
  508. package/bundled-skills/image-generator/references/detailed-guide.md +332 -0
  509. package/bundled-skills/implement/SKILL.md +6 -0
  510. package/bundled-skills/incident-responder/SKILL.md +6 -0
  511. package/bundled-skills/incident-response-incident-response/SKILL.md +6 -0
  512. package/bundled-skills/industrial-brutalist-ui/SKILL.md +6 -0
  513. package/bundled-skills/interactive-portfolio/SKILL.md +2 -482
  514. package/bundled-skills/interactive-portfolio/references/detailed-guide.md +500 -0
  515. package/bundled-skills/internal-comms/SKILL.md +20 -1
  516. package/bundled-skills/internal-comms/examples/3p-updates.md +5 -4
  517. package/bundled-skills/internal-comms/examples/company-newsletter.md +3 -2
  518. package/bundled-skills/internal-comms/examples/faq-answers.md +1 -0
  519. package/bundled-skills/internal-comms/examples/general-comms.md +1 -0
  520. package/bundled-skills/internal-comms-anthropic/SKILL.md +21 -2
  521. package/bundled-skills/internal-comms-anthropic/examples/3p-updates.md +5 -4
  522. package/bundled-skills/internal-comms-anthropic/examples/company-newsletter.md +3 -2
  523. package/bundled-skills/internal-comms-anthropic/examples/faq-answers.md +1 -0
  524. package/bundled-skills/internal-comms-anthropic/examples/general-comms.md +1 -0
  525. package/bundled-skills/internal-comms-community/SKILL.md +21 -2
  526. package/bundled-skills/internal-comms-community/examples/3p-updates.md +48 -0
  527. package/bundled-skills/internal-comms-community/examples/company-newsletter.md +66 -0
  528. package/bundled-skills/internal-comms-community/examples/faq-answers.md +31 -0
  529. package/bundled-skills/internal-comms-community/examples/general-comms.md +17 -0
  530. package/bundled-skills/ios-debugger-agent/SKILL.md +6 -0
  531. package/bundled-skills/issues/SKILL.md +1 -0
  532. package/bundled-skills/iterate-pr/SKILL.md +1 -0
  533. package/bundled-skills/javascript-mastery/SKILL.md +4 -625
  534. package/bundled-skills/javascript-mastery/references/detailed-guide.md +636 -0
  535. package/bundled-skills/javascript-pro/SKILL.md +6 -0
  536. package/bundled-skills/jest-skill/SKILL.md +1 -1
  537. package/bundled-skills/jira-automation/SKILL.md +6 -0
  538. package/bundled-skills/jobs-to-be-done-analyst/SKILL.md +6 -0
  539. package/bundled-skills/junit-5-skill/SKILL.md +1 -1
  540. package/bundled-skills/k6-load-testing/SKILL.md +2 -544
  541. package/bundled-skills/k6-load-testing/references/detailed-guide.md +563 -0
  542. package/bundled-skills/kaizen/SKILL.md +2 -711
  543. package/bundled-skills/kaizen/references/detailed-guide.md +720 -0
  544. package/bundled-skills/langfuse/SKILL.md +41 -468
  545. package/bundled-skills/langgraph/SKILL.md +2 -445
  546. package/bundled-skills/langgraph/references/detailed-guide.md +455 -0
  547. package/bundled-skills/laravel-development-workflow/SKILL.md +106 -0
  548. package/bundled-skills/laravel-expert/SKILL.md +6 -0
  549. package/bundled-skills/launch-strategy/SKILL.md +6 -0
  550. package/bundled-skills/lead-magnets/SKILL.md +6 -0
  551. package/bundled-skills/learn/SKILL.md +5 -0
  552. package/bundled-skills/legacy-modernizer/SKILL.md +6 -0
  553. package/bundled-skills/legal-advisor/SKILL.md +6 -0
  554. package/bundled-skills/leiloeiro-avaliacao/SKILL.md +2 -469
  555. package/bundled-skills/leiloeiro-avaliacao/references/detailed-guide.md +503 -0
  556. package/bundled-skills/leiloeiro-edital/SKILL.md +2 -468
  557. package/bundled-skills/leiloeiro-edital/references/detailed-guide.md +491 -0
  558. package/bundled-skills/leiloeiro-mercado/SKILL.md +2 -458
  559. package/bundled-skills/leiloeiro-mercado/references/detailed-guide.md +488 -0
  560. package/bundled-skills/leiloeiro-risco/SKILL.md +2 -457
  561. package/bundled-skills/leiloeiro-risco/references/detailed-guide.md +482 -0
  562. package/bundled-skills/lesson-generator/SKILL.md +5 -0
  563. package/bundled-skills/lightning-architecture-review/SKILL.md +6 -0
  564. package/bundled-skills/lightning-channel-factories/SKILL.md +6 -0
  565. package/bundled-skills/lightning-factory-explainer/SKILL.md +6 -0
  566. package/bundled-skills/linear-claude-skill/SKILL.md +4 -502
  567. package/bundled-skills/linear-claude-skill/references/detailed-guide.md +517 -0
  568. package/bundled-skills/linkedin-cli/SKILL.md +4 -513
  569. package/bundled-skills/linkedin-cli/references/detailed-guide.md +520 -0
  570. package/bundled-skills/lint-and-validate/SKILL.md +6 -0
  571. package/bundled-skills/linux-privilege-escalation/SKILL.md +2 -426
  572. package/bundled-skills/linux-privilege-escalation/references/detailed-guide.md +436 -0
  573. package/bundled-skills/linux-shell-scripting/SKILL.md +2 -473
  574. package/bundled-skills/linux-shell-scripting/references/detailed-guide.md +481 -0
  575. package/bundled-skills/llm-app-patterns/SKILL.md +16 -741
  576. package/bundled-skills/llm-app-patterns/references/detailed-guide.md +760 -0
  577. package/bundled-skills/llm-council/SKILL.md +4 -550
  578. package/bundled-skills/llm-council/references/detailed-guide.md +556 -0
  579. package/bundled-skills/llm-ops/SKILL.md +6 -0
  580. package/bundled-skills/local-legal-seo-audit/SKILL.md +6 -0
  581. package/bundled-skills/logic-diff/SKILL.md +1 -1
  582. package/bundled-skills/logic-explain/SKILL.md +7 -1
  583. package/bundled-skills/logic-fix-all/SKILL.md +1 -1
  584. package/bundled-skills/logic-locate/SKILL.md +1 -1
  585. package/bundled-skills/logic-review/SKILL.md +1 -1
  586. package/bundled-skills/loki-mode/SKILL.md +4 -696
  587. package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +13 -12
  588. package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package.json +1 -1
  589. package/bundled-skills/loki-mode/references/detailed-guide.md +717 -0
  590. package/bundled-skills/longbridge-content/SKILL.md +1 -1
  591. package/bundled-skills/longbridge-fundamentals/SKILL.md +1 -1
  592. package/bundled-skills/longbridge-market-data/SKILL.md +1 -1
  593. package/bundled-skills/lookdev-auto/SKILL.md +6 -0
  594. package/bundled-skills/loopy/SKILL.md +1 -1
  595. package/bundled-skills/loss-aversion-designer/SKILL.md +6 -0
  596. package/bundled-skills/machine-learning-ops-ml-pipeline/SKILL.md +6 -0
  597. package/bundled-skills/magic-animator/SKILL.md +6 -0
  598. package/bundled-skills/magic-ui-generator/SKILL.md +6 -0
  599. package/bundled-skills/mailtrap-setting-up-sending-domain/SKILL.md +6 -0
  600. package/bundled-skills/makepad-animation/SKILL.md +1 -0
  601. package/bundled-skills/makepad-basics/SKILL.md +1 -0
  602. package/bundled-skills/makepad-deployment/SKILL.md +1 -0
  603. package/bundled-skills/makepad-dsl/SKILL.md +1 -0
  604. package/bundled-skills/makepad-event-action/SKILL.md +1 -0
  605. package/bundled-skills/makepad-font/SKILL.md +1 -0
  606. package/bundled-skills/makepad-layout/SKILL.md +1 -0
  607. package/bundled-skills/makepad-platform/SKILL.md +1 -0
  608. package/bundled-skills/makepad-reference/SKILL.md +1 -0
  609. package/bundled-skills/makepad-shaders/SKILL.md +1 -0
  610. package/bundled-skills/makepad-skills/SKILL.md +6 -0
  611. package/bundled-skills/makepad-splash/SKILL.md +1 -0
  612. package/bundled-skills/makepad-widgets/SKILL.md +1 -0
  613. package/bundled-skills/manage-skills/SKILL.md +1 -0
  614. package/bundled-skills/marketing-plan/SKILL.md +1 -1
  615. package/bundled-skills/matematico-tao/SKILL.md +2 -632
  616. package/bundled-skills/matematico-tao/references/detailed-guide.md +651 -0
  617. package/bundled-skills/matplotlib/SKILL.md +1 -0
  618. package/bundled-skills/maxia/SKILL.md +1 -0
  619. package/bundled-skills/mcp-builder/SKILL.md +46 -14
  620. package/bundled-skills/mcp-builder/reference/evaluation.md +69 -226
  621. package/bundled-skills/mcp-builder/reference/mcp_best_practices.md +8 -5
  622. package/bundled-skills/mcp-builder/reference/node_mcp_server.md +46 -144
  623. package/bundled-skills/mcp-builder/reference/python_mcp_server.md +42 -80
  624. package/bundled-skills/mcp-builder/scripts/connections.py +18 -11
  625. package/bundled-skills/mcp-builder/scripts/evaluation.py +88 -95
  626. package/bundled-skills/mcp-builder/scripts/example_evaluation.xml +1 -1
  627. package/bundled-skills/mcp-builder/scripts/requirements.txt +4 -2
  628. package/bundled-skills/mental-health-analyzer/SKILL.md +5 -974
  629. package/bundled-skills/mental-health-analyzer/references/detailed-guide.md +1014 -0
  630. package/bundled-skills/micro-saas-launcher/SKILL.md +2 -473
  631. package/bundled-skills/micro-saas-launcher/references/detailed-guide.md +491 -0
  632. package/bundled-skills/minecraft-bukkit-pro/SKILL.md +6 -0
  633. package/bundled-skills/minimalist-ui/SKILL.md +6 -0
  634. package/bundled-skills/moatmri/SKILL.md +6 -0
  635. package/bundled-skills/molykit/SKILL.md +1 -0
  636. package/bundled-skills/monday-automation/SKILL.md +6 -0
  637. package/bundled-skills/monopoly/SKILL.md +1 -0
  638. package/bundled-skills/monopoly/patterns/SKILL.md +1 -0
  639. package/bundled-skills/monopoly/scale-benchmarks/SKILL.md +1 -0
  640. package/bundled-skills/monopoly/security-checklist/SKILL.md +6 -0
  641. package/bundled-skills/monopoly/tech-matrix/SKILL.md +1 -0
  642. package/bundled-skills/monorepo-architect/SKILL.md +6 -0
  643. package/bundled-skills/monte-carlo-analyze-root-cause/SKILL.md +1 -1
  644. package/bundled-skills/monte-carlo-performance-diagnosis/SKILL.md +7 -1
  645. package/bundled-skills/monte-carlo-validation-notebook/SKILL.md +4 -601
  646. package/bundled-skills/monte-carlo-validation-notebook/references/detailed-guide.md +613 -0
  647. package/bundled-skills/moodle-external-api-development/SKILL.md +4 -517
  648. package/bundled-skills/moodle-external-api-development/references/detailed-guide.md +529 -0
  649. package/bundled-skills/multi-agent-architect/SKILL.md +1 -0
  650. package/bundled-skills/multi-agent-brainstorming/SKILL.md +6 -0
  651. package/bundled-skills/multi-agent-patterns/SKILL.md +1 -0
  652. package/bundled-skills/multi-platform-apps-multi-platform/SKILL.md +6 -0
  653. package/bundled-skills/n8n-code-javascript/SKILL.md +3 -667
  654. package/bundled-skills/n8n-code-javascript/references/detailed-guide.md +683 -0
  655. package/bundled-skills/n8n-code-python/SKILL.md +3 -664
  656. package/bundled-skills/n8n-code-python/references/detailed-guide.md +682 -0
  657. package/bundled-skills/n8n-expression-syntax/SKILL.md +5 -401
  658. package/bundled-skills/n8n-expression-syntax/references/detailed-guide.md +416 -0
  659. package/bundled-skills/n8n-mcp-tools-expert/SKILL.md +5 -485
  660. package/bundled-skills/n8n-mcp-tools-expert/references/detailed-guide.md +499 -0
  661. package/bundled-skills/n8n-node-configuration/SKILL.md +5 -775
  662. package/bundled-skills/n8n-node-configuration/references/detailed-guide.md +789 -0
  663. package/bundled-skills/n8n-validation-expert/SKILL.md +5 -679
  664. package/bundled-skills/n8n-validation-expert/references/detailed-guide.md +694 -0
  665. package/bundled-skills/n8n-workflow-patterns/SKILL.md +1 -0
  666. package/bundled-skills/nanobanana-ppt-skills/SKILL.md +6 -0
  667. package/bundled-skills/native-data-fetching/SKILL.md +2 -456
  668. package/bundled-skills/native-data-fetching/references/detailed-guide.md +465 -0
  669. package/bundled-skills/neon-ai-gateway/SKILL.md +1 -1
  670. package/bundled-skills/neon-functions/SKILL.md +1 -1
  671. package/bundled-skills/neon-object-storage/SKILL.md +1 -1
  672. package/bundled-skills/neon-postgres/SKILL.md +1 -1
  673. package/bundled-skills/neon-postgres-branches/SKILL.md +1 -1
  674. package/bundled-skills/neon-postgres-egress-optimizer/SKILL.md +1 -1
  675. package/bundled-skills/nerdzao-elite/SKILL.md +6 -0
  676. package/bundled-skills/nerdzao-elite-gemini-high/SKILL.md +6 -0
  677. package/bundled-skills/nestjs-expert/SKILL.md +2 -524
  678. package/bundled-skills/nestjs-expert/references/detailed-guide.md +539 -0
  679. package/bundled-skills/networkx/SKILL.md +1 -0
  680. package/bundled-skills/new-rails-project/SKILL.md +7 -0
  681. package/bundled-skills/newman-cicd-integration/SKILL.md +1 -1
  682. package/bundled-skills/nika/SKILL.md +1 -0
  683. package/bundled-skills/nosql-expert/SKILL.md +6 -0
  684. package/bundled-skills/not-a-vibe-coder/SKILL.md +7 -0
  685. package/bundled-skills/notion-template-business/SKILL.md +2 -505
  686. package/bundled-skills/notion-template-business/references/detailed-guide.md +523 -0
  687. package/bundled-skills/nutrition-analyzer/SKILL.md +5 -766
  688. package/bundled-skills/nutrition-analyzer/references/detailed-guide.md +775 -0
  689. package/bundled-skills/objection-preemptor/SKILL.md +6 -0
  690. package/bundled-skills/observability-and-instrumentation/SKILL.md +1 -1
  691. package/bundled-skills/observability-engineer/SKILL.md +16 -8
  692. package/bundled-skills/obsidian-bases/SKILL.md +4 -366
  693. package/bundled-skills/obsidian-bases/references/detailed-guide.md +380 -0
  694. package/bundled-skills/occupational-health-analyzer/SKILL.md +1 -0
  695. package/bundled-skills/odoo-accounting-setup/SKILL.md +1 -0
  696. package/bundled-skills/odoo-automated-tests/SKILL.md +1 -0
  697. package/bundled-skills/odoo-backup-strategy/SKILL.md +1 -0
  698. package/bundled-skills/odoo-docker-deployment/SKILL.md +1 -0
  699. package/bundled-skills/odoo-ecommerce-configurator/SKILL.md +1 -0
  700. package/bundled-skills/odoo-edi-connector/SKILL.md +1 -0
  701. package/bundled-skills/odoo-hr-payroll-setup/SKILL.md +1 -0
  702. package/bundled-skills/odoo-inventory-optimizer/SKILL.md +1 -0
  703. package/bundled-skills/odoo-l10n-compliance/SKILL.md +1 -0
  704. package/bundled-skills/odoo-manufacturing-advisor/SKILL.md +1 -0
  705. package/bundled-skills/odoo-migration-helper/SKILL.md +1 -0
  706. package/bundled-skills/odoo-module-developer/SKILL.md +1 -0
  707. package/bundled-skills/odoo-orm-expert/SKILL.md +1 -0
  708. package/bundled-skills/odoo-performance-tuner/SKILL.md +1 -0
  709. package/bundled-skills/odoo-project-timesheet/SKILL.md +1 -0
  710. package/bundled-skills/odoo-purchase-workflow/SKILL.md +1 -0
  711. package/bundled-skills/odoo-qweb-templates/SKILL.md +1 -0
  712. package/bundled-skills/odoo-rpc-api/SKILL.md +1 -0
  713. package/bundled-skills/odoo-sales-crm-expert/SKILL.md +1 -0
  714. package/bundled-skills/odoo-security-rules/SKILL.md +1 -0
  715. package/bundled-skills/odoo-shopify-integration/SKILL.md +1 -0
  716. package/bundled-skills/odoo-upgrade-advisor/SKILL.md +1 -0
  717. package/bundled-skills/odoo-woocommerce-bridge/SKILL.md +1 -0
  718. package/bundled-skills/odoo-xml-views-builder/SKILL.md +1 -0
  719. package/bundled-skills/odw/SKILL.md +6 -0
  720. package/bundled-skills/offers/SKILL.md +1 -1
  721. package/bundled-skills/onboarding/SKILL.md +1 -1
  722. package/bundled-skills/onboarding-psychologist/SKILL.md +6 -0
  723. package/bundled-skills/one-drive-automation/SKILL.md +6 -0
  724. package/bundled-skills/openapi-spec-generator/SKILL.md +1 -1
  725. package/bundled-skills/oral-health-analyzer/SKILL.md +8 -515
  726. package/bundled-skills/oral-health-analyzer/references/detailed-guide.md +529 -0
  727. package/bundled-skills/orca-replay/SKILL.md +284 -0
  728. package/bundled-skills/outlook-automation/SKILL.md +6 -0
  729. package/bundled-skills/pagespeed-enhancer/SKILL.md +4 -520
  730. package/bundled-skills/pagespeed-enhancer/references/detailed-guide.md +533 -0
  731. package/bundled-skills/paid-ads/SKILL.md +2 -541
  732. package/bundled-skills/paid-ads/references/detailed-guide.md +558 -0
  733. package/bundled-skills/parallel-search-mcp/SKILL.md +134 -0
  734. package/bundled-skills/payment-integration/SKILL.md +6 -0
  735. package/bundled-skills/paywall-upgrade-cro/SKILL.md +2 -560
  736. package/bundled-skills/paywall-upgrade-cro/references/detailed-guide.md +579 -0
  737. package/bundled-skills/performance-testing-review-multi-agent-review/SKILL.md +42 -214
  738. package/bundled-skills/personal-tool-builder/SKILL.md +2 -688
  739. package/bundled-skills/personal-tool-builder/references/detailed-guide.md +705 -0
  740. package/bundled-skills/phase-gated-debugging/SKILL.md +6 -0
  741. package/bundled-skills/photopea-embedded-editor/SKILL.md +3 -1218
  742. package/bundled-skills/photopea-embedded-editor/references/detailed-guide.md +1252 -0
  743. package/bundled-skills/php-pro/SKILL.md +6 -0
  744. package/bundled-skills/pi-custom-model/SKILL.md +6 -0
  745. package/bundled-skills/pipedrive-automation/SKILL.md +6 -0
  746. package/bundled-skills/pitch-psychologist/SKILL.md +6 -0
  747. package/bundled-skills/plaid-fintech/SKILL.md +8 -829
  748. package/bundled-skills/plaid-fintech/references/detailed-guide.md +837 -0
  749. package/bundled-skills/plotly/SKILL.md +1 -0
  750. package/bundled-skills/polars/SKILL.md +1 -0
  751. package/bundled-skills/popup-cro/SKILL.md +6 -0
  752. package/bundled-skills/posix-shell-pro/SKILL.md +6 -0
  753. package/bundled-skills/postgresql-cli/SKILL.md +1 -1
  754. package/bundled-skills/postman-collection-generator/SKILL.md +1 -1
  755. package/bundled-skills/postman-newman-automation/SKILL.md +1 -1
  756. package/bundled-skills/postman-openapi-converter/SKILL.md +1 -1
  757. package/bundled-skills/power-user-cultivation/SKILL.md +6 -572
  758. package/bundled-skills/power-user-cultivation/references/detailed-guide.md +585 -0
  759. package/bundled-skills/pr-writer/SKILL.md +1 -0
  760. package/bundled-skills/price-psychology-strategist/SKILL.md +6 -0
  761. package/bundled-skills/pricing/SKILL.md +1 -1
  762. package/bundled-skills/privacy-mask/SKILL.md +1 -1
  763. package/bundled-skills/product-decision-agent/SKILL.md +6 -0
  764. package/bundled-skills/product-inventor/SKILL.md +2 -627
  765. package/bundled-skills/product-inventor/references/detailed-guide.md +646 -0
  766. package/bundled-skills/product-manager/SKILL.md +6 -0
  767. package/bundled-skills/product-marketing/SKILL.md +1 -1
  768. package/bundled-skills/production-code-audit/SKILL.md +2 -264
  769. package/bundled-skills/production-code-audit/references/detailed-guide.md +277 -0
  770. package/bundled-skills/professional-proofreader/SKILL.md +6 -0
  771. package/bundled-skills/programmatic-seo/SKILL.md +6 -0
  772. package/bundled-skills/project-development/SKILL.md +1 -0
  773. package/bundled-skills/project-skill-audit/SKILL.md +6 -0
  774. package/bundled-skills/public-relations/SKILL.md +1 -1
  775. package/bundled-skills/pubmed-database/SKILL.md +1 -0
  776. package/bundled-skills/push-skill-to-github/SKILL.md +6 -0
  777. package/bundled-skills/pypict-skill/SKILL.md +6 -0
  778. package/bundled-skills/pytest-skill/SKILL.md +1 -1
  779. package/bundled-skills/qiskit/SKILL.md +1 -0
  780. package/bundled-skills/quant-analyst/SKILL.md +6 -0
  781. package/bundled-skills/radix-ui-design-system/SKILL.md +2 -693
  782. package/bundled-skills/radix-ui-design-system/references/detailed-guide.md +711 -0
  783. package/bundled-skills/rag-engineer/SKILL.md +6 -0
  784. package/bundled-skills/rclone-cli/SKILL.md +1 -1
  785. package/bundled-skills/react-flow-architect/SKILL.md +2 -507
  786. package/bundled-skills/react-flow-architect/references/detailed-guide.md +517 -0
  787. package/bundled-skills/react-patterns/SKILL.md +6 -0
  788. package/bundled-skills/read-all-adrs/SKILL.md +6 -0
  789. package/bundled-skills/readme/SKILL.md +4 -822
  790. package/bundled-skills/readme/references/detailed-guide.md +829 -0
  791. package/bundled-skills/redesign-existing-projects/SKILL.md +6 -0
  792. package/bundled-skills/redis-cli/SKILL.md +1 -1
  793. package/bundled-skills/referral-program/SKILL.md +2 -508
  794. package/bundled-skills/referral-program/references/detailed-guide.md +524 -0
  795. package/bundled-skills/rehabilitation-analyzer/SKILL.md +5 -629
  796. package/bundled-skills/rehabilitation-analyzer/references/detailed-guide.md +641 -0
  797. package/bundled-skills/remotion/SKILL.md +1 -0
  798. package/bundled-skills/research-prompt/SKILL.md +6 -0
  799. package/bundled-skills/resolving-merge-conflicts/SKILL.md +6 -0
  800. package/bundled-skills/review-and-simplify-changes/SKILL.md +7 -1
  801. package/bundled-skills/review-swarm/SKILL.md +7 -1
  802. package/bundled-skills/risk-manager/SKILL.md +6 -0
  803. package/bundled-skills/robius-app-architecture/SKILL.md +1 -0
  804. package/bundled-skills/robius-event-action/SKILL.md +1 -0
  805. package/bundled-skills/robius-matrix-integration/SKILL.md +1 -0
  806. package/bundled-skills/robius-state-management/SKILL.md +1 -0
  807. package/bundled-skills/robius-widget-patterns/SKILL.md +1 -0
  808. package/bundled-skills/robot-framework-skill/SKILL.md +1 -1
  809. package/bundled-skills/ruby-pro/SKILL.md +6 -0
  810. package/bundled-skills/saga-orchestration/SKILL.md +4 -482
  811. package/bundled-skills/saga-orchestration/references/detailed-guide.md +491 -0
  812. package/bundled-skills/sales-automator/SKILL.md +6 -0
  813. package/bundled-skills/salesforce-development/SKILL.md +2 -985
  814. package/bundled-skills/salesforce-development/references/detailed-guide.md +994 -0
  815. package/bundled-skills/sam-altman/SKILL.md +5 -1040
  816. package/bundled-skills/sam-altman/references/detailed-guide.md +1102 -0
  817. package/bundled-skills/scala-pro/SKILL.md +6 -0
  818. package/bundled-skills/scanning-tools/SKILL.md +2 -546
  819. package/bundled-skills/scanning-tools/references/detailed-guide.md +555 -0
  820. package/bundled-skills/scanpy/SKILL.md +1 -0
  821. package/bundled-skills/scarcity-urgency-psychologist/SKILL.md +6 -0
  822. package/bundled-skills/scientific-writing/SKILL.md +3 -691
  823. package/bundled-skills/scientific-writing/references/detailed-guide.md +702 -0
  824. package/bundled-skills/scikit-learn/SKILL.md +3 -462
  825. package/bundled-skills/scikit-learn/references/detailed-guide.md +475 -0
  826. package/bundled-skills/scroll-experience/SKILL.md +2 -560
  827. package/bundled-skills/scroll-experience/references/detailed-guide.md +578 -0
  828. package/bundled-skills/sdk-dx/SKILL.md +6 -517
  829. package/bundled-skills/sdk-dx/references/detailed-guide.md +530 -0
  830. package/bundled-skills/seaborn/SKILL.md +5 -661
  831. package/bundled-skills/seaborn/references/detailed-guide.md +677 -0
  832. package/bundled-skills/search-specialist/SKILL.md +6 -0
  833. package/bundled-skills/security/aws-compliance-checker/SKILL.md +4 -492
  834. package/bundled-skills/security/aws-compliance-checker/references/detailed-guide.md +502 -0
  835. package/bundled-skills/security-bluebook-builder/SKILL.md +7 -0
  836. package/bundled-skills/security-scanning-security-hardening/SKILL.md +6 -0
  837. package/bundled-skills/security-scanning-security-sast/SKILL.md +2 -463
  838. package/bundled-skills/security-scanning-security-sast/references/detailed-guide.md +476 -0
  839. package/bundled-skills/segment-cdp/SKILL.md +8 -822
  840. package/bundled-skills/segment-cdp/references/detailed-guide.md +830 -0
  841. package/bundled-skills/selenium-skill/SKILL.md +1 -1
  842. package/bundled-skills/semgrep-rule-creator/SKILL.md +1 -0
  843. package/bundled-skills/semgrep-rule-variant-creator/SKILL.md +1 -0
  844. package/bundled-skills/sendgrid-automation/SKILL.md +6 -0
  845. package/bundled-skills/seo-audit/SKILL.md +33 -44
  846. package/bundled-skills/seo-content/SKILL.md +6 -0
  847. package/bundled-skills/seo-content-auditor/SKILL.md +6 -0
  848. package/bundled-skills/seo-content-writer/SKILL.md +6 -0
  849. package/bundled-skills/seo-forensic-incident-response/SKILL.md +6 -0
  850. package/bundled-skills/seo-fundamentals/SKILL.md +6 -0
  851. package/bundled-skills/seo-programmatic/SKILL.md +6 -0
  852. package/bundled-skills/sequence-psychologist/SKILL.md +6 -0
  853. package/bundled-skills/server-management/SKILL.md +6 -0
  854. package/bundled-skills/service-mesh-expert/SKILL.md +6 -0
  855. package/bundled-skills/setup-help/SKILL.md +6 -0
  856. package/bundled-skills/sexual-health-analyzer/SKILL.md +8 -1109
  857. package/bundled-skills/sexual-health-analyzer/references/detailed-guide.md +1123 -0
  858. package/bundled-skills/sharp-coder/SKILL.md +1 -0
  859. package/bundled-skills/sharp-edges/SKILL.md +1 -0
  860. package/bundled-skills/shodan-reconnaissance/SKILL.md +2 -356
  861. package/bundled-skills/shodan-reconnaissance/references/detailed-guide.md +366 -0
  862. package/bundled-skills/shopify-apps/SKILL.md +2 -1477
  863. package/bundled-skills/shopify-apps/references/detailed-guide.md +1512 -0
  864. package/bundled-skills/short/SKILL.md +6 -0
  865. package/bundled-skills/signup-flow-cro/SKILL.md +6 -0
  866. package/bundled-skills/simplify-code/SKILL.md +6 -0
  867. package/bundled-skills/skill-creator/SKILL.md +2 -568
  868. package/bundled-skills/skill-creator/references/detailed-guide.md +581 -0
  869. package/bundled-skills/skill-creator-ms/SKILL.md +2 -601
  870. package/bundled-skills/skill-creator-ms/references/detailed-guide.md +614 -0
  871. package/bundled-skills/skill-improver/SKILL.md +1 -0
  872. package/bundled-skills/skill-router/SKILL.md +1 -0
  873. package/bundled-skills/skill-scanner/SKILL.md +1 -0
  874. package/bundled-skills/skill-security-audit/SKILL.md +87 -0
  875. package/bundled-skills/skill-seekers/SKILL.md +6 -0
  876. package/bundled-skills/skill-writer/SKILL.md +1 -0
  877. package/bundled-skills/skin-health-analyzer/SKILL.md +8 -696
  878. package/bundled-skills/skin-health-analyzer/references/detailed-guide.md +710 -0
  879. package/bundled-skills/slack-automation/SKILL.md +6 -0
  880. package/bundled-skills/slack-bot-builder/SKILL.md +2 -1372
  881. package/bundled-skills/slack-bot-builder/references/detailed-guide.md +1395 -0
  882. package/bundled-skills/sleep-analyzer/SKILL.md +5 -764
  883. package/bundled-skills/sleep-analyzer/references/detailed-guide.md +773 -0
  884. package/bundled-skills/smartui-skill/SKILL.md +1 -1
  885. package/bundled-skills/smtp-penetration-testing/SKILL.md +2 -346
  886. package/bundled-skills/smtp-penetration-testing/references/detailed-guide.md +355 -0
  887. package/bundled-skills/social-content/SKILL.md +2 -797
  888. package/bundled-skills/social-content/references/detailed-guide.md +816 -0
  889. package/bundled-skills/social-proof-architect/SKILL.md +6 -0
  890. package/bundled-skills/software-architecture/SKILL.md +6 -0
  891. package/bundled-skills/spec-to-code-compliance/SKILL.md +7 -0
  892. package/bundled-skills/speckit-updater/SKILL.md +1 -0
  893. package/bundled-skills/speed/SKILL.md +7 -0
  894. package/bundled-skills/sred-project-organizer/SKILL.md +1 -0
  895. package/bundled-skills/sred-work-summary/SKILL.md +1 -0
  896. package/bundled-skills/statsmodels/SKILL.md +3 -586
  897. package/bundled-skills/statsmodels/references/detailed-guide.md +600 -0
  898. package/bundled-skills/steve-jobs/SKILL.md +2 -564
  899. package/bundled-skills/steve-jobs/references/detailed-guide.md +574 -0
  900. package/bundled-skills/stitch-loop/SKILL.md +1 -0
  901. package/bundled-skills/stripe-automation/SKILL.md +6 -0
  902. package/bundled-skills/stripe-integration/SKILL.md +60 -79
  903. package/bundled-skills/styleseed-design-review/SKILL.md +1 -1
  904. package/bundled-skills/subagent-orchestrator/SKILL.md +1 -0
  905. package/bundled-skills/subject-line-psychologist/SKILL.md +6 -0
  906. package/bundled-skills/supabase/SKILL.md +1 -1
  907. package/bundled-skills/supabase-automation/SKILL.md +6 -0
  908. package/bundled-skills/superpowers-lab/SKILL.md +6 -0
  909. package/bundled-skills/supply-chain-risk-auditor/SKILL.md +7 -0
  910. package/bundled-skills/swiftui-expert-skill/SKILL.md +1 -1
  911. package/bundled-skills/sympy/SKILL.md +3 -426
  912. package/bundled-skills/sympy/references/detailed-guide.md +439 -0
  913. package/bundled-skills/systematic-debugging/CREATION-LOG.md +3 -0
  914. package/bundled-skills/systematic-debugging/SKILL.md +30 -34
  915. package/bundled-skills/systematic-debugging/condition-based-waiting.md +9 -6
  916. package/bundled-skills/systematic-debugging/defense-in-depth.md +13 -7
  917. package/bundled-skills/systematic-debugging/find-polluter.sh +77 -57
  918. package/bundled-skills/systematic-debugging/root-cause-tracing.md +7 -5
  919. package/bundled-skills/systematic-debugging/test-academic.md +3 -0
  920. package/bundled-skills/systematic-debugging/test-pressure-1.md +3 -0
  921. package/bundled-skills/systematic-debugging/test-pressure-2.md +3 -0
  922. package/bundled-skills/systematic-debugging/test-pressure-3.md +3 -0
  923. package/bundled-skills/tcm-constitution-analyzer/SKILL.md +5 -655
  924. package/bundled-skills/tcm-constitution-analyzer/references/detailed-guide.md +660 -0
  925. package/bundled-skills/tdd-workflows-tdd-cycle/SKILL.md +6 -0
  926. package/bundled-skills/technical-tutorials/SKILL.md +5 -483
  927. package/bundled-skills/technical-tutorials/references/detailed-guide.md +496 -0
  928. package/bundled-skills/telegram/SKILL.md +2 -541
  929. package/bundled-skills/telegram/references/detailed-guide.md +569 -0
  930. package/bundled-skills/telegram-mini-app/SKILL.md +2 -643
  931. package/bundled-skills/telegram-mini-app/references/detailed-guide.md +661 -0
  932. package/bundled-skills/temporal-python-pro/SKILL.md +6 -0
  933. package/bundled-skills/terraform-skill/SKILL.md +4 -417
  934. package/bundled-skills/terraform-skill/references/detailed-guide.md +430 -0
  935. package/bundled-skills/test-driven-development/SKILL.md +21 -124
  936. package/bundled-skills/test-driven-development/testing-anti-patterns.md +6 -6
  937. package/bundled-skills/test-framework-migration-skill/SKILL.md +7 -1
  938. package/bundled-skills/threat-modeling-expert/SKILL.md +6 -0
  939. package/bundled-skills/threejs-animation/SKILL.md +5 -551
  940. package/bundled-skills/threejs-animation/references/detailed-guide.md +566 -0
  941. package/bundled-skills/threejs-fundamentals/SKILL.md +5 -525
  942. package/bundled-skills/threejs-fundamentals/references/detailed-guide.md +535 -0
  943. package/bundled-skills/threejs-geometry/SKILL.md +5 -572
  944. package/bundled-skills/threejs-geometry/references/detailed-guide.md +587 -0
  945. package/bundled-skills/threejs-interaction/SKILL.md +5 -666
  946. package/bundled-skills/threejs-interaction/references/detailed-guide.md +679 -0
  947. package/bundled-skills/threejs-lighting/SKILL.md +1 -0
  948. package/bundled-skills/threejs-loaders/SKILL.md +5 -637
  949. package/bundled-skills/threejs-loaders/references/detailed-guide.md +651 -0
  950. package/bundled-skills/threejs-materials/SKILL.md +3 -535
  951. package/bundled-skills/threejs-materials/references/detailed-guide.md +560 -0
  952. package/bundled-skills/threejs-postprocessing/SKILL.md +5 -617
  953. package/bundled-skills/threejs-postprocessing/references/detailed-guide.md +630 -0
  954. package/bundled-skills/threejs-shaders/SKILL.md +5 -679
  955. package/bundled-skills/threejs-shaders/references/detailed-guide.md +695 -0
  956. package/bundled-skills/threejs-skills/SKILL.md +4 -683
  957. package/bundled-skills/threejs-skills/references/detailed-guide.md +693 -0
  958. package/bundled-skills/threejs-textures/SKILL.md +5 -630
  959. package/bundled-skills/threejs-textures/references/detailed-guide.md +649 -0
  960. package/bundled-skills/to-issues/SKILL.md +5 -0
  961. package/bundled-skills/to-prd/SKILL.md +5 -0
  962. package/bundled-skills/todoist-automation/SKILL.md +6 -0
  963. package/bundled-skills/tools-page-seo-optimizer/SKILL.md +2 -580
  964. package/bundled-skills/tools-page-seo-optimizer/references/detailed-guide.md +602 -0
  965. package/bundled-skills/top-web-vulnerabilities/SKILL.md +2 -513
  966. package/bundled-skills/top-web-vulnerabilities/references/detailed-guide.md +523 -0
  967. package/bundled-skills/train-sentence-transformers/SKILL.md +1 -1
  968. package/bundled-skills/transformers-js/SKILL.md +5 -669
  969. package/bundled-skills/transformers-js/references/detailed-guide.md +683 -0
  970. package/bundled-skills/travel-health-analyzer/SKILL.md +1 -0
  971. package/bundled-skills/trello-automation/SKILL.md +6 -0
  972. package/bundled-skills/trigger-dev/SKILL.md +2 -937
  973. package/bundled-skills/trigger-dev/references/detailed-guide.md +950 -0
  974. package/bundled-skills/trust-calibrator/SKILL.md +6 -0
  975. package/bundled-skills/tutorial-engineer/SKILL.md +6 -0
  976. package/bundled-skills/twilio-communications/SKILL.md +2 -1549
  977. package/bundled-skills/twilio-communications/references/detailed-guide.md +1574 -0
  978. package/bundled-skills/typescript-pro/SKILL.md +6 -0
  979. package/bundled-skills/ui-a11y/SKILL.md +6 -0
  980. package/bundled-skills/ui-component/SKILL.md +6 -0
  981. package/bundled-skills/ui-motion/SKILL.md +7 -1
  982. package/bundled-skills/ui-pattern/SKILL.md +6 -0
  983. package/bundled-skills/ui-review/SKILL.md +6 -0
  984. package/bundled-skills/ui-skills/SKILL.md +6 -0
  985. package/bundled-skills/ui-tokens/SKILL.md +6 -0
  986. package/bundled-skills/uniprot-database/SKILL.md +1 -0
  987. package/bundled-skills/unslop-commit/SKILL.md +1 -1
  988. package/bundled-skills/unslop-file/SKILL.md +1 -1
  989. package/bundled-skills/unslop-review/SKILL.md +1 -1
  990. package/bundled-skills/unsplash-integration/SKILL.md +6 -0
  991. package/bundled-skills/update-swiftui-apis/SKILL.md +1 -1
  992. package/bundled-skills/upstash-qstash/SKILL.md +2 -919
  993. package/bundled-skills/upstash-qstash/references/detailed-guide.md +932 -0
  994. package/bundled-skills/usage-based-pricing/SKILL.md +5 -395
  995. package/bundled-skills/usage-based-pricing/references/detailed-guide.md +407 -0
  996. package/bundled-skills/ux-audit/SKILL.md +6 -0
  997. package/bundled-skills/ux-flow/SKILL.md +6 -0
  998. package/bundled-skills/ux-persuasion-engineer/SKILL.md +6 -0
  999. package/bundled-skills/variant-analysis/SKILL.md +1 -0
  1000. package/bundled-skills/varlock/SKILL.md +1 -0
  1001. package/bundled-skills/varlock-claude-skill/SKILL.md +6 -0
  1002. package/bundled-skills/vector-database-engineer/SKILL.md +6 -0
  1003. package/bundled-skills/vercel-deployment/SKILL.md +2 -650
  1004. package/bundled-skills/vercel-deployment/references/detailed-guide.md +660 -0
  1005. package/bundled-skills/vexor/SKILL.md +6 -0
  1006. package/bundled-skills/vexor-cli/SKILL.md +1 -0
  1007. package/bundled-skills/visual-emotion-engineer/SKILL.md +6 -0
  1008. package/bundled-skills/vizcom/SKILL.md +6 -0
  1009. package/bundled-skills/voice-agents/SKILL.md +2 -867
  1010. package/bundled-skills/voice-agents/references/detailed-guide.md +890 -0
  1011. package/bundled-skills/voice-ai-development/SKILL.md +2 -583
  1012. package/bundled-skills/voice-ai-development/references/detailed-guide.md +594 -0
  1013. package/bundled-skills/voice-ai-engine-development/SKILL.md +2 -702
  1014. package/bundled-skills/voice-ai-engine-development/references/detailed-guide.md +720 -0
  1015. package/bundled-skills/warren-buffett/SKILL.md +2 -577
  1016. package/bundled-skills/warren-buffett/references/detailed-guide.md +583 -0
  1017. package/bundled-skills/web-performance-optimization/SKILL.md +2 -214
  1018. package/bundled-skills/web-performance-optimization/references/detailed-guide.md +226 -0
  1019. package/bundled-skills/web-scraper/SKILL.md +2 -728
  1020. package/bundled-skills/web-scraper/references/detailed-guide.md +792 -0
  1021. package/bundled-skills/webflow-automation/SKILL.md +6 -0
  1022. package/bundled-skills/weightloss-analyzer/SKILL.md +1 -0
  1023. package/bundled-skills/wellally-tech/SKILL.md +5 -367
  1024. package/bundled-skills/wellally-tech/references/detailed-guide.md +379 -0
  1025. package/bundled-skills/wiki-architect/SKILL.md +6 -0
  1026. package/bundled-skills/wiki-changelog/SKILL.md +6 -0
  1027. package/bundled-skills/wiki-onboarding/SKILL.md +6 -0
  1028. package/bundled-skills/wiki-qa/SKILL.md +6 -0
  1029. package/bundled-skills/wiki-researcher/SKILL.md +6 -0
  1030. package/bundled-skills/windows-privilege-escalation/SKILL.md +131 -0
  1031. package/bundled-skills/windows-privilege-escalation/references/detailed-guide.md +397 -0
  1032. package/bundled-skills/wireshark-analysis/SKILL.md +2 -419
  1033. package/bundled-skills/wireshark-analysis/references/detailed-guide.md +429 -0
  1034. package/bundled-skills/wjttc-builder/SKILL.md +1 -1
  1035. package/bundled-skills/wjttc-tester/SKILL.md +1 -1
  1036. package/bundled-skills/wordpress/SKILL.md +2 -572
  1037. package/bundled-skills/wordpress/references/detailed-guide.md +582 -0
  1038. package/bundled-skills/wordpress-penetration-testing/SKILL.md +68 -0
  1039. package/bundled-skills/wordpress-penetration-testing/references/detailed-guide.md +555 -0
  1040. package/bundled-skills/wordpress-plugin-development/SKILL.md +2 -474
  1041. package/bundled-skills/wordpress-plugin-development/references/detailed-guide.md +485 -0
  1042. package/bundled-skills/wordpress-theme-development/SKILL.md +2 -479
  1043. package/bundled-skills/wordpress-theme-development/references/detailed-guide.md +490 -0
  1044. package/bundled-skills/wordpress-woocommerce-development/SKILL.md +2 -605
  1045. package/bundled-skills/wordpress-woocommerce-development/references/detailed-guide.md +615 -0
  1046. package/bundled-skills/workflow-automation/SKILL.md +2 -875
  1047. package/bundled-skills/workflow-automation/references/detailed-guide.md +902 -0
  1048. package/bundled-skills/writing-great-skills/SKILL.md +5 -0
  1049. package/bundled-skills/x-article-publisher-skill/SKILL.md +6 -0
  1050. package/bundled-skills/x402-express-wrapper/SKILL.md +1 -0
  1051. package/bundled-skills/xss-html-injection/SKILL.md +2 -389
  1052. package/bundled-skills/xss-html-injection/references/detailed-guide.md +399 -0
  1053. package/bundled-skills/yann-lecun/SKILL.md +2 -1431
  1054. package/bundled-skills/yann-lecun/references/detailed-guide.md +1484 -0
  1055. package/bundled-skills/yann-lecun-filosofia/SKILL.md +6 -0
  1056. package/bundled-skills/yann-lecun-tecnico/SKILL.md +2 -485
  1057. package/bundled-skills/yann-lecun-tecnico/references/detailed-guide.md +502 -0
  1058. package/bundled-skills/youtube-seo-optimizer/SKILL.md +4 -884
  1059. package/bundled-skills/youtube-seo-optimizer/references/detailed-guide.md +907 -0
  1060. package/bundled-skills/zapier-make-patterns/SKILL.md +2 -728
  1061. package/bundled-skills/zapier-make-patterns/references/detailed-guide.md +752 -0
  1062. package/bundled-skills/zipai-optimizer/SKILL.md +7 -0
  1063. package/bundled-skills/zoom-automation/SKILL.md +6 -0
  1064. package/package.json +1 -1
  1065. package/skills_index.json +608 -383
  1066. package/bundled-skills/docs/AUDIT.md +0 -3
  1067. package/bundled-skills/docs/BUNDLES.md +0 -3
  1068. package/bundled-skills/docs/CATEGORIZATION_IMPLEMENTATION.md +0 -3
  1069. package/bundled-skills/docs/CI_DRIFT_FIX.md +0 -3
  1070. package/bundled-skills/docs/COMMUNITY_GUIDELINES.md +0 -3
  1071. package/bundled-skills/docs/DATE_TRACKING_IMPLEMENTATION.md +0 -3
  1072. package/bundled-skills/docs/EXAMPLES.md +0 -3
  1073. package/bundled-skills/docs/FAQ.md +0 -3
  1074. package/bundled-skills/docs/GETTING_STARTED.md +0 -3
  1075. package/bundled-skills/docs/KIRO_INTEGRATION.md +0 -3
  1076. package/bundled-skills/docs/QUALITY_BAR.md +0 -3
  1077. package/bundled-skills/docs/README.md +0 -51
  1078. package/bundled-skills/docs/SECURITY_GUARDRAILS.md +0 -3
  1079. package/bundled-skills/docs/SEC_SKILLS.md +0 -3
  1080. package/bundled-skills/docs/SKILLS_DATE_TRACKING.md +0 -3
  1081. package/bundled-skills/docs/SKILL_ANATOMY.md +0 -3
  1082. package/bundled-skills/docs/SKILL_TEMPLATE.md +0 -3
  1083. package/bundled-skills/docs/SMART_AUTO_CATEGORIZATION.md +0 -3
  1084. package/bundled-skills/docs/SOURCES.md +0 -3
  1085. package/bundled-skills/docs/USAGE.md +0 -3
  1086. package/bundled-skills/docs/VISUAL_GUIDE.md +0 -3
  1087. package/bundled-skills/docs/WORKFLOWS.md +0 -3
  1088. package/bundled-skills/docs/contributors/community-guidelines.md +0 -4
  1089. package/bundled-skills/docs/contributors/examples.md +0 -760
  1090. package/bundled-skills/docs/contributors/quality-bar.md +0 -104
  1091. package/bundled-skills/docs/contributors/security-guardrails.md +0 -70
  1092. package/bundled-skills/docs/contributors/skill-anatomy.md +0 -637
  1093. package/bundled-skills/docs/contributors/skill-template.md +0 -93
  1094. package/bundled-skills/docs/integrations/jetski-cortex.md +0 -282
  1095. package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +0 -103
  1096. package/bundled-skills/docs/integrations/jetski-gemini-loader/loader.mjs +0 -154
  1097. package/bundled-skills/docs/integrations/jetski-gemini-loader/package.json +0 -1
  1098. package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-preview-profile.md +0 -63
  1099. package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-v1-design.md +0 -304
  1100. package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-v1-goal.md +0 -171
  1101. package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-v1-worklog.md +0 -104
  1102. package/bundled-skills/docs/maintainers/audit.md +0 -89
  1103. package/bundled-skills/docs/maintainers/backups/README-2026-06-02.md +0 -687
  1104. package/bundled-skills/docs/maintainers/categorization-implementation.md +0 -160
  1105. package/bundled-skills/docs/maintainers/ci-drift-fix.md +0 -64
  1106. package/bundled-skills/docs/maintainers/date-tracking-implementation.md +0 -66
  1107. package/bundled-skills/docs/maintainers/full-repo-audit-2026-05-23.md +0 -289
  1108. package/bundled-skills/docs/maintainers/legacy-redirect-bridge.md +0 -46
  1109. package/bundled-skills/docs/maintainers/merge-batch.md +0 -81
  1110. package/bundled-skills/docs/maintainers/merging-prs.md +0 -79
  1111. package/bundled-skills/docs/maintainers/pr-autonomy.md +0 -102
  1112. package/bundled-skills/docs/maintainers/provenance-identity-exceptions.json +0 -14
  1113. package/bundled-skills/docs/maintainers/release-notes-7.2.0.md +0 -32
  1114. package/bundled-skills/docs/maintainers/release-process.md +0 -124
  1115. package/bundled-skills/docs/maintainers/repo-growth-seo.md +0 -133
  1116. package/bundled-skills/docs/maintainers/rollback-procedure.md +0 -43
  1117. package/bundled-skills/docs/maintainers/security-findings-triage-2026-03-15.csv +0 -34
  1118. package/bundled-skills/docs/maintainers/security-findings-triage-2026-03-15.md +0 -60
  1119. package/bundled-skills/docs/maintainers/security-findings-triage-2026-03-18-addendum.md +0 -22
  1120. package/bundled-skills/docs/maintainers/security-findings-triage-2026-03-29-addendum.md +0 -48
  1121. package/bundled-skills/docs/maintainers/security-findings-triage-2026-03-29-refresh.csv +0 -34
  1122. package/bundled-skills/docs/maintainers/security-findings-triage-2026-03-29-refresh.md +0 -86
  1123. package/bundled-skills/docs/maintainers/skills-date-tracking.md +0 -228
  1124. package/bundled-skills/docs/maintainers/skills-import-2026-03-21.md +0 -81
  1125. package/bundled-skills/docs/maintainers/skills-update-guide.md +0 -92
  1126. package/bundled-skills/docs/maintainers/smart-auto-categorization.md +0 -218
  1127. package/bundled-skills/docs/plugin-submissions/aas-agent-mcp-builder/README.md +0 -19
  1128. package/bundled-skills/docs/plugin-submissions/aas-agent-mcp-builder/evaluation-cases.json +0 -74
  1129. package/bundled-skills/docs/plugin-submissions/aas-agent-mcp-builder/evaluation-results.json +0 -86
  1130. package/bundled-skills/docs/plugin-submissions/aas-agent-mcp-builder/submission.json +0 -41
  1131. package/bundled-skills/docs/sources/LICENSE-MICROSOFT +0 -21
  1132. package/bundled-skills/docs/sources/microsoft-skills-attribution.json +0 -709
  1133. package/bundled-skills/docs/sources/sources.md +0 -179
  1134. package/bundled-skills/docs/users/aas-core.md +0 -225
  1135. package/bundled-skills/docs/users/agent-overload-recovery.md +0 -54
  1136. package/bundled-skills/docs/users/agentic-awesome-skills-vs-awesome-claude-skills.md +0 -44
  1137. package/bundled-skills/docs/users/ai-agent-skills.md +0 -48
  1138. package/bundled-skills/docs/users/best-claude-code-skills-github.md +0 -62
  1139. package/bundled-skills/docs/users/best-cursor-skills-github.md +0 -62
  1140. package/bundled-skills/docs/users/bundles.md +0 -1067
  1141. package/bundled-skills/docs/users/claude-code-skills.md +0 -89
  1142. package/bundled-skills/docs/users/codex-cli-skills.md +0 -88
  1143. package/bundled-skills/docs/users/cursor-skills.md +0 -56
  1144. package/bundled-skills/docs/users/discovery-manifest.md +0 -65
  1145. package/bundled-skills/docs/users/faq.md +0 -521
  1146. package/bundled-skills/docs/users/gemini-cli-skills.md +0 -56
  1147. package/bundled-skills/docs/users/getting-started.md +0 -233
  1148. package/bundled-skills/docs/users/kiro-integration.md +0 -304
  1149. package/bundled-skills/docs/users/local-config.md +0 -152
  1150. package/bundled-skills/docs/users/plugins.md +0 -201
  1151. package/bundled-skills/docs/users/security-and-antivirus.md +0 -63
  1152. package/bundled-skills/docs/users/security-skills.md +0 -1722
  1153. package/bundled-skills/docs/users/skills-library-overview.md +0 -87
  1154. package/bundled-skills/docs/users/skills-vs-mcp-tools.md +0 -108
  1155. package/bundled-skills/docs/users/specialized-plugin-roadmap.md +0 -101
  1156. package/bundled-skills/docs/users/usage.md +0 -465
  1157. package/bundled-skills/docs/users/visual-guide.md +0 -515
  1158. package/bundled-skills/docs/users/walkthrough.md +0 -46
  1159. package/bundled-skills/docs/users/windows-truncation-recovery.md +0 -135
  1160. package/bundled-skills/docs/users/workflows.md +0 -215
  1161. package/bundled-skills/docs/vietnamese/AAS_CORE.vi.md +0 -28
  1162. package/bundled-skills/docs/vietnamese/BUNDLES.vi.md +0 -124
  1163. package/bundled-skills/docs/vietnamese/CONTRIBUTING.vi.md +0 -242
  1164. package/bundled-skills/docs/vietnamese/EXAMPLES.vi.md +0 -56
  1165. package/bundled-skills/docs/vietnamese/FAQ.vi.md +0 -195
  1166. package/bundled-skills/docs/vietnamese/GETTING_STARTED.vi.md +0 -123
  1167. package/bundled-skills/docs/vietnamese/QUALITY_BAR.vi.md +0 -69
  1168. package/bundled-skills/docs/vietnamese/README.vi.md +0 -191
  1169. package/bundled-skills/docs/vietnamese/SECURITY.vi.md +0 -19
  1170. package/bundled-skills/docs/vietnamese/SECURITY_GUARDRAILS.vi.md +0 -51
  1171. package/bundled-skills/docs/vietnamese/SKILLS_README.vi.md +0 -106
  1172. package/bundled-skills/docs/vietnamese/SKILL_ANATOMY.vi.md +0 -633
  1173. package/bundled-skills/docs/vietnamese/SOURCES.vi.md +0 -21
  1174. package/bundled-skills/docs/vietnamese/TRANSLATION_PLAN.vi.md +0 -65
  1175. package/bundled-skills/docs/vietnamese/VISUAL_GUIDE.vi.md +0 -511
  1176. package/bundled-skills/docs/walkthrough.md +0 -3
@@ -0,0 +1,1395 @@
1
+ # Slack Bot Builder - Detailed Guide
2
+
3
+ > This file contains the detailed procedure and reference material extracted from `SKILL.md` for focused loading. The root skill defines activation, examples, safety constraints, and limitations.
4
+
5
+ ## Patterns
6
+
7
+ ### Bolt App Foundation Pattern
8
+
9
+ The Bolt framework is Slack's recommended approach for building apps.
10
+ It handles authentication, event routing, request verification, and
11
+ HTTP request processing so you can focus on app logic.
12
+
13
+ Key benefits:
14
+ - Event handling in a few lines of code
15
+ - Security checks and payload validation built-in
16
+ - Organized, consistent patterns
17
+ - Works for experiments and production
18
+
19
+ Available in: Python, JavaScript (Node.js), Java
20
+
21
+ **When to use**: Starting any new Slack app,Migrating from legacy Slack APIs,Building production Slack integrations
22
+
23
+ # Python Bolt App
24
+ from slack_bolt import App
25
+ from slack_bolt.adapter.socket_mode import SocketModeHandler
26
+ import os
27
+
28
+ # Initialize with tokens from environment
29
+ app = App(
30
+ token=os.environ["SLACK_BOT_TOKEN"],
31
+ signing_secret=os.environ["SLACK_SIGNING_SECRET"]
32
+ )
33
+
34
+ # Handle messages containing "hello"
35
+ @app.message("hello")
36
+ def handle_hello(message, say):
37
+ """Respond to messages containing 'hello'."""
38
+ user = message["user"]
39
+ say(f"Hey there <@{user}>!")
40
+
41
+ # Handle slash command
42
+ @app.command("/ticket")
43
+ def handle_ticket_command(ack, body, client):
44
+ """Handle /ticket slash command."""
45
+ # Acknowledge immediately (within 3 seconds)
46
+ ack()
47
+
48
+ # Open a modal for ticket creation
49
+ client.views_open(
50
+ trigger_id=body["trigger_id"],
51
+ view={
52
+ "type": "modal",
53
+ "callback_id": "ticket_modal",
54
+ "title": {"type": "plain_text", "text": "Create Ticket"},
55
+ "submit": {"type": "plain_text", "text": "Submit"},
56
+ "blocks": [
57
+ {
58
+ "type": "input",
59
+ "block_id": "title_block",
60
+ "element": {
61
+ "type": "plain_text_input",
62
+ "action_id": "title_input"
63
+ },
64
+ "label": {"type": "plain_text", "text": "Title"}
65
+ },
66
+ {
67
+ "type": "input",
68
+ "block_id": "desc_block",
69
+ "element": {
70
+ "type": "plain_text_input",
71
+ "multiline": True,
72
+ "action_id": "desc_input"
73
+ },
74
+ "label": {"type": "plain_text", "text": "Description"}
75
+ },
76
+ {
77
+ "type": "input",
78
+ "block_id": "priority_block",
79
+ "element": {
80
+ "type": "static_select",
81
+ "action_id": "priority_select",
82
+ "options": [
83
+ {"text": {"type": "plain_text", "text": "Low"}, "value": "low"},
84
+ {"text": {"type": "plain_text", "text": "Medium"}, "value": "medium"},
85
+ {"text": {"type": "plain_text", "text": "High"}, "value": "high"}
86
+ ]
87
+ },
88
+ "label": {"type": "plain_text", "text": "Priority"}
89
+ }
90
+ ]
91
+ }
92
+ )
93
+
94
+ # Handle modal submission
95
+ @app.view("ticket_modal")
96
+ def handle_ticket_submission(ack, body, client, view):
97
+ """Handle ticket modal submission."""
98
+ ack()
99
+
100
+ # Extract values from the view
101
+ values = view["state"]["values"]
102
+ title = values["title_block"]["title_input"]["value"]
103
+ desc = values["desc_block"]["desc_input"]["value"]
104
+ priority = values["priority_block"]["priority_select"]["selected_option"]["value"]
105
+ user_id = body["user"]["id"]
106
+
107
+ # Create ticket in your system
108
+ ticket_id = create_ticket(title, desc, priority, user_id)
109
+
110
+ # Notify user
111
+ client.chat_postMessage(
112
+ channel=user_id,
113
+ text=f"Ticket #{ticket_id} created: {title}"
114
+ )
115
+
116
+ # Handle button clicks
117
+ @app.action("approve_button")
118
+ def handle_approval(ack, body, client):
119
+ """Handle approval button click."""
120
+ ack()
121
+
122
+ # Get context from the action
123
+ user = body["user"]["id"]
124
+ action_value = body["actions"][0]["value"]
125
+
126
+ # Update the message to remove interactive elements
127
+ # (Best practice: prevent double-clicks)
128
+ client.chat_update(
129
+ channel=body["channel"]["id"],
130
+ ts=body["message"]["ts"],
131
+ text=f"Approved by <@{user}>",
132
+ blocks=[] # Remove interactive blocks
133
+ )
134
+
135
+ # Listen for app_home_opened events
136
+ @app.event("app_home_opened")
137
+ def update_home_tab(client, event):
138
+ """Update the Home tab when user opens it."""
139
+ client.views_publish(
140
+ user_id=event["user"],
141
+ view={
142
+ "type": "home",
143
+ "blocks": [
144
+ {
145
+ "type": "section",
146
+ "text": {
147
+ "type": "mrkdwn",
148
+ "text": "*Welcome to the Ticket Bot!*"
149
+ }
150
+ },
151
+ {
152
+ "type": "actions",
153
+ "elements": [
154
+ {
155
+ "type": "button",
156
+ "text": {"type": "plain_text", "text": "Create Ticket"},
157
+ "action_id": "create_ticket_button"
158
+ }
159
+ ]
160
+ }
161
+ ]
162
+ }
163
+ )
164
+
165
+ # Socket Mode for development (no public URL needed)
166
+ if __name__ == "__main__":
167
+ handler = SocketModeHandler(app, os.environ["SLACK_APP_TOKEN"])
168
+ handler.start()
169
+
170
+ # For production, use HTTP mode with a web server
171
+ # from flask import Flask, request
172
+ # from slack_bolt.adapter.flask import SlackRequestHandler
173
+ #
174
+ # flask_app = Flask(__name__)
175
+ # handler = SlackRequestHandler(app)
176
+ #
177
+ # @flask_app.route("/slack/events", methods=["POST"])
178
+ # def slack_events():
179
+ # return handler.handle(request)
180
+
181
+ ### Anti_patterns
182
+
183
+ - Not acknowledging requests within 3 seconds
184
+ - Blocking operations in the ack handler
185
+ - Hardcoding tokens in source code
186
+ - Not using Socket Mode for development
187
+
188
+ ### Block Kit UI Pattern
189
+
190
+ Block Kit is Slack's UI framework for building rich, interactive messages.
191
+ Compose messages using blocks (sections, actions, inputs) and elements
192
+ (buttons, menus, text inputs).
193
+
194
+ Limits:
195
+ - Up to 50 blocks per message
196
+ - Up to 100 blocks in modals/Home tabs
197
+ - Block text limited to 3000 characters
198
+
199
+ Use Block Kit Builder to prototype: https://app.slack.com/block-kit-builder
200
+
201
+ **When to use**: Building rich message layouts,Adding interactive components to messages,Creating forms in modals,Building Home tab experiences
202
+
203
+ from slack_bolt import App
204
+ import os
205
+
206
+ app = App(token=os.environ["SLACK_BOT_TOKEN"])
207
+
208
+ def build_notification_blocks(incident: dict) -> list:
209
+ """Build Block Kit blocks for incident notification."""
210
+ severity_emoji = {
211
+ "critical": ":red_circle:",
212
+ "high": ":large_orange_circle:",
213
+ "medium": ":large_yellow_circle:",
214
+ "low": ":white_circle:"
215
+ }
216
+
217
+ return [
218
+ # Header
219
+ {
220
+ "type": "header",
221
+ "text": {
222
+ "type": "plain_text",
223
+ "text": f"{severity_emoji.get(incident['severity'], '')} Incident Alert"
224
+ }
225
+ },
226
+ # Details section
227
+ {
228
+ "type": "section",
229
+ "fields": [
230
+ {
231
+ "type": "mrkdwn",
232
+ "text": f"*Incident:*\n{incident['title']}"
233
+ },
234
+ {
235
+ "type": "mrkdwn",
236
+ "text": f"*Severity:*\n{incident['severity'].upper()}"
237
+ },
238
+ {
239
+ "type": "mrkdwn",
240
+ "text": f"*Service:*\n{incident['service']}"
241
+ },
242
+ {
243
+ "type": "mrkdwn",
244
+ "text": f"*Reported:*\n<!date^{incident['timestamp']}^{date_short} {time}|{incident['timestamp']}>"
245
+ }
246
+ ]
247
+ },
248
+ # Description
249
+ {
250
+ "type": "section",
251
+ "text": {
252
+ "type": "mrkdwn",
253
+ "text": f"*Description:*\n{incident['description'][:2000]}"
254
+ }
255
+ },
256
+ # Divider
257
+ {"type": "divider"},
258
+ # Action buttons
259
+ {
260
+ "type": "actions",
261
+ "block_id": f"incident_actions_{incident['id']}",
262
+ "elements": [
263
+ {
264
+ "type": "button",
265
+ "text": {"type": "plain_text", "text": "Acknowledge"},
266
+ "style": "primary",
267
+ "action_id": "acknowledge_incident",
268
+ "value": incident['id']
269
+ },
270
+ {
271
+ "type": "button",
272
+ "text": {"type": "plain_text", "text": "Resolve"},
273
+ "style": "danger",
274
+ "action_id": "resolve_incident",
275
+ "value": incident['id'],
276
+ "confirm": {
277
+ "title": {"type": "plain_text", "text": "Resolve Incident?"},
278
+ "text": {"type": "mrkdwn", "text": "Are you sure this incident is resolved?"},
279
+ "confirm": {"type": "plain_text", "text": "Yes, Resolve"},
280
+ "deny": {"type": "plain_text", "text": "Cancel"}
281
+ }
282
+ },
283
+ {
284
+ "type": "button",
285
+ "text": {"type": "plain_text", "text": "View Details"},
286
+ "action_id": "view_incident",
287
+ "value": incident['id'],
288
+ "url": f"https://incidents.example.com/{incident['id']}"
289
+ }
290
+ ]
291
+ },
292
+ # Context footer
293
+ {
294
+ "type": "context",
295
+ "elements": [
296
+ {
297
+ "type": "mrkdwn",
298
+ "text": f"Incident ID: {incident['id']} | <https://runbook.example.com/{incident['service']}|View Runbook>"
299
+ }
300
+ ]
301
+ }
302
+ ]
303
+
304
+ def send_incident_notification(channel: str, incident: dict):
305
+ """Send incident notification with Block Kit."""
306
+ blocks = build_notification_blocks(incident)
307
+
308
+ app.client.chat_postMessage(
309
+ channel=channel,
310
+ text=f"Incident: {incident['title']}", # Fallback for notifications
311
+ blocks=blocks
312
+ )
313
+
314
+ # Handle button actions
315
+ @app.action("acknowledge_incident")
316
+ def handle_acknowledge(ack, body, client):
317
+ """Handle incident acknowledgment."""
318
+ ack()
319
+
320
+ incident_id = body["actions"][0]["value"]
321
+ user = body["user"]["id"]
322
+
323
+ # Update your system
324
+ acknowledge_incident(incident_id, user)
325
+
326
+ # Update message to show acknowledgment
327
+ original_blocks = body["message"]["blocks"]
328
+
329
+ # Add acknowledgment to context
330
+ original_blocks[-1]["elements"].append({
331
+ "type": "mrkdwn",
332
+ "text": f":white_check_mark: Acknowledged by <@{user}>"
333
+ })
334
+
335
+ # Remove acknowledge button (prevent double-click)
336
+ action_block = next(b for b in original_blocks if b.get("block_id", "").startswith("incident_actions"))
337
+ action_block["elements"] = [e for e in action_block["elements"] if e["action_id"] != "acknowledge_incident"]
338
+
339
+ client.chat_update(
340
+ channel=body["channel"]["id"],
341
+ ts=body["message"]["ts"],
342
+ blocks=original_blocks
343
+ )
344
+
345
+ # Interactive select menus
346
+ def build_user_selector_blocks():
347
+ """Build blocks with user selector."""
348
+ return [
349
+ {
350
+ "type": "section",
351
+ "text": {"type": "mrkdwn", "text": "Assign this task:"},
352
+ "accessory": {
353
+ "type": "users_select",
354
+ "action_id": "assign_user",
355
+ "placeholder": {"type": "plain_text", "text": "Select assignee"}
356
+ }
357
+ }
358
+ ]
359
+
360
+ # Overflow menu for more options
361
+ def build_task_blocks(task: dict):
362
+ """Build task blocks with overflow menu."""
363
+ return [
364
+ {
365
+ "type": "section",
366
+ "text": {"type": "mrkdwn", "text": f"*{task['title']}*"},
367
+ "accessory": {
368
+ "type": "overflow",
369
+ "action_id": "task_overflow",
370
+ "options": [
371
+ {
372
+ "text": {"type": "plain_text", "text": "Edit"},
373
+ "value": f"edit_{task['id']}"
374
+ },
375
+ {
376
+ "text": {"type": "plain_text", "text": "Delete"},
377
+ "value": f"delete_{task['id']}"
378
+ },
379
+ {
380
+ "text": {"type": "plain_text", "text": "Share"},
381
+ "value": f"share_{task['id']}"
382
+ }
383
+ ]
384
+ }
385
+ }
386
+ ]
387
+
388
+ ### Anti_patterns
389
+
390
+ - Exceeding 50 blocks per message
391
+ - Not providing fallback text for accessibility
392
+ - Hardcoding action_ids (use dynamic IDs when needed)
393
+ - Not handling button clicks idempotently
394
+
395
+ ### OAuth Installation Pattern
396
+
397
+ Enable users to install your app in their workspaces via OAuth 2.0.
398
+ Bolt handles most of the OAuth flow, but you need to configure it
399
+ and store tokens securely.
400
+
401
+ Key OAuth concepts:
402
+ - Scopes define permissions (request minimum needed)
403
+ - Tokens are workspace-specific
404
+ - Installation data must be stored persistently
405
+ - Users can add scopes later (additive)
406
+
407
+ 70% of users abandon installation when confronted with excessive
408
+ permission requests - request only what you need!
409
+
410
+ **When to use**: Distributing app to multiple workspaces,Building public Slack apps,Enterprise-grade integrations
411
+
412
+ from slack_bolt import App
413
+ from slack_bolt.oauth.oauth_settings import OAuthSettings
414
+ from slack_sdk.oauth.installation_store import FileInstallationStore
415
+ from slack_sdk.oauth.state_store import FileOAuthStateStore
416
+ import os
417
+
418
+ # For production, use database-backed stores
419
+ # For example: PostgreSQL, MongoDB, Redis
420
+
421
+ class DatabaseInstallationStore:
422
+ """Store installation data in your database."""
423
+
424
+ async def save(self, installation):
425
+ """Save installation when user completes OAuth."""
426
+ await db.installations.upsert({
427
+ "team_id": installation.team_id,
428
+ "enterprise_id": installation.enterprise_id,
429
+ "bot_token": encrypt(installation.bot_token),
430
+ "bot_user_id": installation.bot_user_id,
431
+ "bot_scopes": installation.bot_scopes,
432
+ "user_id": installation.user_id,
433
+ "installed_at": installation.installed_at
434
+ })
435
+
436
+ async def find_installation(self, *, enterprise_id, team_id, user_id=None, is_enterprise_install=False):
437
+ """Find installation for a workspace."""
438
+ record = await db.installations.find_one({
439
+ "team_id": team_id,
440
+ "enterprise_id": enterprise_id
441
+ })
442
+
443
+ if record:
444
+ return Installation(
445
+ bot_token=decrypt(record["bot_token"]),
446
+ # ... other fields
447
+ )
448
+ return None
449
+
450
+ # Initialize OAuth-enabled app
451
+ app = App(
452
+ signing_secret=os.environ["SLACK_SIGNING_SECRET"],
453
+ oauth_settings=OAuthSettings(
454
+ client_id=os.environ["SLACK_CLIENT_ID"],
455
+ client_secret=os.environ["SLACK_CLIENT_SECRET"],
456
+ scopes=[
457
+ "channels:history",
458
+ "channels:read",
459
+ "chat:write",
460
+ "commands",
461
+ "users:read"
462
+ ],
463
+ user_scopes=[], # User token scopes if needed
464
+ installation_store=DatabaseInstallationStore(),
465
+ state_store=FileOAuthStateStore(expiration_seconds=600)
466
+ )
467
+ )
468
+
469
+ # OAuth routes are handled automatically by Bolt
470
+ # /slack/install - Initiates OAuth flow
471
+ # /slack/oauth_redirect - Handles callback
472
+
473
+ # Flask integration
474
+ from flask import Flask, request
475
+ from slack_bolt.adapter.flask import SlackRequestHandler
476
+
477
+ flask_app = Flask(__name__)
478
+ handler = SlackRequestHandler(app)
479
+
480
+ @flask_app.route("/slack/install", methods=["GET"])
481
+ def install():
482
+ return handler.handle(request)
483
+
484
+ @flask_app.route("/slack/oauth_redirect", methods=["GET"])
485
+ def oauth_redirect():
486
+ return handler.handle(request)
487
+
488
+ @flask_app.route("/slack/events", methods=["POST"])
489
+ def slack_events():
490
+ return handler.handle(request)
491
+
492
+ # Handle installation success/failure
493
+ @app.oauth_success
494
+ def handle_oauth_success(args):
495
+ """Called when OAuth completes successfully."""
496
+ installation = args["installation"]
497
+
498
+ # Send welcome message
499
+ app.client.chat_postMessage(
500
+ token=installation.bot_token,
501
+ channel=installation.user_id,
502
+ text="Thanks for installing! Type /help to get started."
503
+ )
504
+
505
+ return "Installation successful! You can close this window."
506
+
507
+ @app.oauth_failure
508
+ def handle_oauth_failure(args):
509
+ """Called when OAuth fails."""
510
+ error = args.get("error", "Unknown error")
511
+ return f"Installation failed: {error}"
512
+
513
+ # Scope management - request additional scopes when needed
514
+ def request_additional_scopes(team_id: str, new_scopes: list):
515
+ """
516
+ Generate URL for user to add scopes.
517
+ Note: Existing tokens retain old scopes.
518
+ User must re-authorize for new scopes.
519
+ """
520
+ base_url = "https://slack.com/oauth/v2/authorize"
521
+ params = {
522
+ "client_id": os.environ["SLACK_CLIENT_ID"],
523
+ "scope": ",".join(new_scopes),
524
+ "team": team_id
525
+ }
526
+ return f"{base_url}?{urlencode(params)}"
527
+
528
+ ### Anti_patterns
529
+
530
+ - Requesting unnecessary scopes upfront
531
+ - Storing tokens in plain text
532
+ - Not validating OAuth state parameter (CSRF risk)
533
+ - Assuming tokens have new scopes after config change
534
+
535
+ ### Socket Mode Pattern
536
+
537
+ Socket Mode allows your app to receive events via WebSocket instead
538
+ of public HTTP endpoints. Perfect for development and apps behind
539
+ firewalls.
540
+
541
+ Benefits:
542
+ - No public URL needed
543
+ - Works behind corporate firewalls
544
+ - Simpler local development
545
+ - Real-time bidirectional communication
546
+
547
+ Limitation: Not recommended for high-volume production apps.
548
+
549
+ **When to use**: Local development,Apps behind corporate firewalls,Internal tools with security constraints,Prototyping and testing
550
+
551
+ from slack_bolt import App
552
+ from slack_bolt.adapter.socket_mode import SocketModeHandler
553
+ import os
554
+
555
+ # Socket Mode requires an app-level token (xapp-...)
556
+ # Create in App Settings > Basic Information > App-Level Tokens
557
+ # Needs 'connections:write' scope
558
+
559
+ app = App(token=os.environ["SLACK_BOT_TOKEN"])
560
+
561
+ @app.message("hello")
562
+ def handle_hello(message, say):
563
+ say(f"Hey <@{message['user']}>!")
564
+
565
+ @app.command("/status")
566
+ def handle_status(ack, say):
567
+ ack()
568
+ say("All systems operational!")
569
+
570
+ @app.event("app_mention")
571
+ def handle_mention(event, say):
572
+ say(f"You mentioned me, <@{event['user']}>!")
573
+
574
+ if __name__ == "__main__":
575
+ # SocketModeHandler manages the WebSocket connection
576
+ handler = SocketModeHandler(
577
+ app,
578
+ os.environ["SLACK_APP_TOKEN"] # xapp-... token
579
+ )
580
+
581
+ print("Starting Socket Mode...")
582
+ handler.start()
583
+
584
+ # For async apps
585
+ from slack_bolt.async_app import AsyncApp
586
+ from slack_bolt.adapter.socket_mode.async_handler import AsyncSocketModeHandler
587
+ import asyncio
588
+
589
+ async_app = AsyncApp(token=os.environ["SLACK_BOT_TOKEN"])
590
+
591
+ @async_app.message("hello")
592
+ async def handle_hello_async(message, say):
593
+ await say(f"Hey <@{message['user']}>!")
594
+
595
+ async def main():
596
+ handler = AsyncSocketModeHandler(async_app, os.environ["SLACK_APP_TOKEN"])
597
+ await handler.start_async()
598
+
599
+ if __name__ == "__main__":
600
+ asyncio.run(main())
601
+
602
+ ### Anti_patterns
603
+
604
+ - Using Socket Mode for high-volume production apps
605
+ - Not handling WebSocket disconnections
606
+ - Forgetting to create app-level token
607
+ - Using bot token instead of app token
608
+
609
+ ### Workflow Builder Step Pattern
610
+
611
+ Extend Slack's Workflow Builder with custom steps powered by your app.
612
+ Users can include your custom steps in their no-code workflows.
613
+
614
+ Workflow steps can:
615
+ - Collect input from users
616
+ - Execute custom logic
617
+ - Output data for subsequent steps
618
+
619
+ **When to use**: Integrating with Workflow Builder,Enabling non-technical users to use your features,Building reusable automation components
620
+
621
+ from slack_bolt import App
622
+ from slack_bolt.workflows.step import WorkflowStep
623
+ import os
624
+
625
+ app = App(
626
+ token=os.environ["SLACK_BOT_TOKEN"],
627
+ signing_secret=os.environ["SLACK_SIGNING_SECRET"]
628
+ )
629
+
630
+ # Define the workflow step
631
+ def edit(ack, step, configure):
632
+ """Called when user adds/edits the step in Workflow Builder."""
633
+ ack()
634
+
635
+ # Show configuration modal
636
+ blocks = [
637
+ {
638
+ "type": "input",
639
+ "block_id": "ticket_type",
640
+ "element": {
641
+ "type": "static_select",
642
+ "action_id": "type_select",
643
+ "options": [
644
+ {"text": {"type": "plain_text", "text": "Bug"}, "value": "bug"},
645
+ {"text": {"type": "plain_text", "text": "Feature"}, "value": "feature"},
646
+ {"text": {"type": "plain_text", "text": "Task"}, "value": "task"}
647
+ ]
648
+ },
649
+ "label": {"type": "plain_text", "text": "Ticket Type"}
650
+ },
651
+ {
652
+ "type": "input",
653
+ "block_id": "title_input",
654
+ "element": {
655
+ "type": "plain_text_input",
656
+ "action_id": "title"
657
+ },
658
+ "label": {"type": "plain_text", "text": "Title"}
659
+ },
660
+ {
661
+ "type": "input",
662
+ "block_id": "assignee_input",
663
+ "element": {
664
+ "type": "users_select",
665
+ "action_id": "assignee"
666
+ },
667
+ "label": {"type": "plain_text", "text": "Assignee"}
668
+ }
669
+ ]
670
+
671
+ configure(blocks=blocks)
672
+
673
+ def save(ack, view, update):
674
+ """Called when user saves step configuration."""
675
+ ack()
676
+
677
+ values = view["state"]["values"]
678
+
679
+ # Define inputs (from user's configuration)
680
+ inputs = {
681
+ "ticket_type": {
682
+ "value": values["ticket_type"]["type_select"]["selected_option"]["value"]
683
+ },
684
+ "title": {
685
+ "value": values["title_input"]["title"]["value"]
686
+ },
687
+ "assignee": {
688
+ "value": values["assignee_input"]["assignee"]["selected_user"]
689
+ }
690
+ }
691
+
692
+ # Define outputs (available to subsequent steps)
693
+ outputs = [
694
+ {
695
+ "name": "ticket_id",
696
+ "type": "text",
697
+ "label": "Created Ticket ID"
698
+ },
699
+ {
700
+ "name": "ticket_url",
701
+ "type": "text",
702
+ "label": "Ticket URL"
703
+ }
704
+ ]
705
+
706
+ update(inputs=inputs, outputs=outputs)
707
+
708
+ def execute(step, complete, fail):
709
+ """Called when the step runs in a workflow."""
710
+ inputs = step["inputs"]
711
+
712
+ try:
713
+ # Get input values
714
+ ticket_type = inputs["ticket_type"]["value"]
715
+ title = inputs["title"]["value"]
716
+ assignee = inputs["assignee"]["value"]
717
+
718
+ # Create ticket in your system
719
+ ticket = create_ticket(
720
+ type=ticket_type,
721
+ title=title,
722
+ assignee=assignee
723
+ )
724
+
725
+ # Complete with outputs
726
+ complete(outputs={
727
+ "ticket_id": ticket["id"],
728
+ "ticket_url": ticket["url"]
729
+ })
730
+
731
+ except Exception as e:
732
+ fail(error={"message": str(e)})
733
+
734
+ # Register the workflow step
735
+ create_ticket_step = WorkflowStep(
736
+ callback_id="create_ticket_step",
737
+ edit=edit,
738
+ save=save,
739
+ execute=execute
740
+ )
741
+
742
+ app.step(create_ticket_step)
743
+
744
+ ### Anti_patterns
745
+
746
+ - Not calling complete() or fail() in execute
747
+ - Long-running operations without progress updates
748
+ - Not validating inputs in execute
749
+ - Exposing sensitive data in outputs
750
+
751
+
752
+ ## Sharp Edges
753
+
754
+ ### Missing 3-Second Acknowledgment (Timeout)
755
+
756
+ Severity: CRITICAL
757
+
758
+ Situation: Handling slash commands, shortcuts, or interactive components
759
+
760
+ Symptoms:
761
+ User sees "This command timed out" or "Something went wrong."
762
+ The action never completes even though your code runs.
763
+ Works in development but fails in production.
764
+
765
+ Why this breaks:
766
+ Slack requires acknowledgment within 3 seconds for ALL interactive requests:
767
+ - Slash commands
768
+ - Button/select menu clicks
769
+ - Modal submissions
770
+ - Shortcuts
771
+
772
+ If you do ANY slow operation (database, API call, LLM) before responding,
773
+ you'll miss the window. Slack shows an error even if your bot eventually
774
+ processes the request correctly.
775
+
776
+ Recommended fix:
777
+
778
+
779
+ ## Acknowledge immediately, process later
780
+
781
+ ```python
782
+ from slack_bolt import App
783
+ from slack_bolt.adapter.socket_mode import SocketModeHandler
784
+ import threading
785
+
786
+ app = App(token=os.environ["SLACK_BOT_TOKEN"])
787
+
788
+ @app.command("/slow-task")
789
+ def handle_slow_task(ack, command, client, respond):
790
+ # ACK IMMEDIATELY - before any processing
791
+ ack("Processing your request...")
792
+
793
+ # Do slow work in background
794
+ def do_work():
795
+ result = call_slow_api(command["text"]) # Takes 10 seconds
796
+ respond(f"Done! Result: {result}")
797
+
798
+ threading.Thread(target=do_work).start()
799
+
800
+ @app.view("modal_submission")
801
+ def handle_modal(ack, body, client, view):
802
+ # ACK with response_action for modals
803
+ ack(response_action="clear") # Or "update" with new view
804
+
805
+ # Process in background
806
+ user_id = body["user"]["id"]
807
+ values = view["state"]["values"]
808
+ # ... slow processing
809
+ ```
810
+
811
+
812
+ ## For Bolt framework - use lazy listeners
813
+
814
+ ```python
815
+ # Bolt handles ack() automatically with lazy listeners
816
+ @app.command("/slow-task")
817
+ def handle_slow_task(ack, command, respond):
818
+ ack() # Still call ack() first!
819
+
820
+ @handle_slow_task.lazy
821
+ def process_slow_task(command, respond):
822
+ # This runs after ack, can take as long as needed
823
+ result = slow_operation(command["text"])
824
+ respond(result)
825
+ ```
826
+
827
+ ### Not Validating OAuth State Parameter (CSRF)
828
+
829
+ Severity: CRITICAL
830
+
831
+ Situation: Implementing OAuth installation flow
832
+
833
+ Symptoms:
834
+ Bot appears to work, but you're vulnerable to CSRF attacks.
835
+ Attackers could trick users into installing malicious configurations.
836
+
837
+ Why this breaks:
838
+ The OAuth state parameter prevents CSRF attacks. Flow:
839
+ 1. You generate random state, store it, send to Slack
840
+ 2. User authorizes in Slack
841
+ 3. Slack redirects back with code + state
842
+ 4. You MUST verify state matches what you stored
843
+
844
+ Without this, an attacker can craft a malicious OAuth URL and trick
845
+ admins into completing the flow with attacker's authorization code.
846
+
847
+ Recommended fix:
848
+
849
+
850
+ ## Proper state validation
851
+
852
+ ```python
853
+ import secrets
854
+ from flask import Flask, request, session, redirect
855
+ from slack_sdk.oauth import AuthorizeUrlGenerator
856
+ from slack_sdk.oauth.state_store import FileOAuthStateStore
857
+
858
+ app = Flask(__name__)
859
+ app.secret_key = os.environ["SESSION_SECRET"]
860
+
861
+ # Use Slack SDK's state store (Redis recommended for production)
862
+ state_store = FileOAuthStateStore(
863
+ expiration_seconds=300, # 5 minutes
864
+ base_dir="./oauth_states"
865
+ )
866
+
867
+ @app.route("/slack/install")
868
+ def install():
869
+ # Generate cryptographically secure state
870
+ state = state_store.issue()
871
+
872
+ # Store in session for verification
873
+ session["oauth_state"] = state
874
+
875
+ authorize_url = AuthorizeUrlGenerator(
876
+ client_id=os.environ["SLACK_CLIENT_ID"],
877
+ scopes=["channels:history", "chat:write"],
878
+ user_scopes=[]
879
+ ).generate(state)
880
+
881
+ return redirect(authorize_url)
882
+
883
+ @app.route("/slack/oauth/callback")
884
+ def oauth_callback():
885
+ # CRITICAL: Verify state
886
+ received_state = request.args.get("state")
887
+ stored_state = session.get("oauth_state")
888
+
889
+ if not received_state or received_state != stored_state:
890
+ return "Invalid state parameter - possible CSRF attack", 403
891
+
892
+ # Also use state_store.consume() for one-time use
893
+ if not state_store.consume(received_state):
894
+ return "State already used or expired", 403
895
+
896
+ # Now safe to exchange code for token
897
+ code = request.args.get("code")
898
+ # ... complete OAuth flow
899
+ ```
900
+
901
+ ### Exposing Bot/User Tokens
902
+
903
+ Severity: CRITICAL
904
+
905
+ Situation: Storing or logging Slack tokens
906
+
907
+ Symptoms:
908
+ Unauthorized messages sent from your bot. Attackers reading private
909
+ channels. Token found in logs, git history, or client-side code.
910
+
911
+ Why this breaks:
912
+ Slack tokens provide FULL access to whatever scopes they have:
913
+ - Bot tokens (xoxb-*): Access workspaces where installed
914
+ - User tokens (xoxp-*): Access as that specific user
915
+ - App-level tokens (xapp-*): Socket Mode connections
916
+
917
+ Common exposure points:
918
+ - Hardcoded in source code
919
+ - Logged in error messages
920
+ - Sent to frontend/client
921
+ - Stored in database without encryption
922
+
923
+ Recommended fix:
924
+
925
+
926
+ ## Never hardcode or log tokens
927
+
928
+ ```python
929
+ # BAD - never do this
930
+ client = WebClient(token="xoxb-12345-...")
931
+
932
+ # GOOD - environment variables
933
+ client = WebClient(token=os.environ["SLACK_BOT_TOKEN"])
934
+
935
+ # BAD - logging tokens
936
+ logger.error(f"API call failed with token {token}")
937
+
938
+ # GOOD - never log tokens
939
+ logger.error(f"API call failed for team {team_id}")
940
+
941
+ # BAD - sending token to frontend
942
+ return {"token": bot_token}
943
+
944
+ # GOOD - only send what frontend needs
945
+ return {"channels": channel_list}
946
+ ```
947
+
948
+
949
+ ## Encrypt tokens in database
950
+
951
+ ```python
952
+ from cryptography.fernet import Fernet
953
+
954
+ class TokenStore:
955
+ def __init__(self, encryption_key: str):
956
+ self.cipher = Fernet(encryption_key)
957
+
958
+ def save_token(self, team_id: str, token: str):
959
+ encrypted = self.cipher.encrypt(token.encode())
960
+ db.execute(
961
+ "INSERT INTO installations (team_id, encrypted_token) VALUES (?, ?)",
962
+ (team_id, encrypted)
963
+ )
964
+
965
+ def get_token(self, team_id: str) -> str:
966
+ row = db.execute(
967
+ "SELECT encrypted_token FROM installations WHERE team_id = ?",
968
+ (team_id,)
969
+ ).fetchone()
970
+ return self.cipher.decrypt(row[0]).decode()
971
+ ```
972
+
973
+
974
+ ## Rotate tokens if exposed
975
+
976
+ ```
977
+ 1. Slack API > Your App > OAuth & Permissions
978
+ 2. Click "Rotate" for the exposed token
979
+ 3. Update all deployments immediately
980
+ 4. Review Slack audit logs for unauthorized access
981
+ ```
982
+
983
+ ### Requesting Unnecessary OAuth Scopes
984
+
985
+ Severity: HIGH
986
+
987
+ Situation: Configuring OAuth scopes for your app
988
+
989
+ Symptoms:
990
+ Users hesitate to install due to scary permission warnings.
991
+ Lower install rates. Security team blocks deployment.
992
+ App rejected from Slack App Directory.
993
+
994
+ Why this breaks:
995
+ Each OAuth scope grants specific permissions. Requesting more than
996
+ you need:
997
+ - Makes install consent screen scary
998
+ - Increases attack surface if token leaked
999
+ - May violate enterprise security policies
1000
+ - Can get your app rejected from App Directory
1001
+
1002
+ Common over-requests:
1003
+ - `admin` when you just need `chat:write`
1004
+ - `channels:read` when you only message one channel
1005
+ - `users:read.email` when you don't need emails
1006
+
1007
+ Recommended fix:
1008
+
1009
+
1010
+ ## Request minimum required scopes
1011
+
1012
+ ```python
1013
+ # For a simple notification bot
1014
+ MINIMAL_SCOPES = [
1015
+ "chat:write", # Post messages
1016
+ "channels:join", # Join public channels (if needed)
1017
+ ]
1018
+
1019
+ # NOT NEEDED for basic notification:
1020
+ # - channels:read (unless you list channels)
1021
+ # - users:read (unless you look up users)
1022
+ # - channels:history (unless you read messages)
1023
+
1024
+ # For a slash command bot
1025
+ SLASH_COMMAND_SCOPES = [
1026
+ "commands", # Register slash commands
1027
+ "chat:write", # Respond to commands
1028
+ ]
1029
+
1030
+ # For a bot that responds to mentions
1031
+ MENTION_BOT_SCOPES = [
1032
+ "app_mentions:read", # Receive @mentions
1033
+ "chat:write", # Reply to mentions
1034
+ ]
1035
+ ```
1036
+
1037
+
1038
+ ## Scope reference by use case
1039
+
1040
+ | Use Case | Required Scopes |
1041
+ |----------|-----------------|
1042
+ | Post messages | `chat:write` |
1043
+ | Slash commands | `commands` |
1044
+ | Respond to @mentions | `app_mentions:read`, `chat:write` |
1045
+ | Read channel messages | `channels:history` (public), `groups:history` (private) |
1046
+ | Read user info | `users:read` |
1047
+ | Open modals | `commands` or trigger from event |
1048
+ | Add reactions | `reactions:write` |
1049
+ | Upload files | `files:write` |
1050
+
1051
+
1052
+ ## Progressive scope requests
1053
+
1054
+ ```python
1055
+ # Start with minimal scopes
1056
+ INITIAL_SCOPES = ["chat:write", "commands"]
1057
+
1058
+ # Request additional scopes only when needed
1059
+ @app.command("/enable-reactions")
1060
+ def enable_reactions(ack, client, command):
1061
+ ack()
1062
+
1063
+ # Check if we have the scope
1064
+ auth_result = client.auth_test()
1065
+ # If missing reactions:write, prompt re-auth
1066
+ if needs_additional_scope:
1067
+ # Send user to re-auth with additional scope
1068
+ pass
1069
+ ```
1070
+
1071
+ ### Exceeding Block Kit Limits
1072
+
1073
+ Severity: MEDIUM
1074
+
1075
+ Situation: Building complex message UIs with Block Kit
1076
+
1077
+ Symptoms:
1078
+ Message fails to send with "invalid_blocks" error.
1079
+ Modal won't open. Message truncated unexpectedly.
1080
+
1081
+ Why this breaks:
1082
+ Block Kit has strict limits that aren't always obvious:
1083
+ - 50 blocks per message/modal
1084
+ - 3000 characters per text block
1085
+ - 10 elements per actions block
1086
+ - 100 options per select menu
1087
+ - Modal: 50 blocks, 24KB total
1088
+ - Home tab: 100 blocks
1089
+
1090
+ Exceeding these causes silent failures or cryptic errors.
1091
+
1092
+ Recommended fix:
1093
+
1094
+
1095
+ ## Know and respect the limits
1096
+
1097
+ ```python
1098
+ # Constants for Block Kit limits
1099
+ BLOCK_KIT_LIMITS = {
1100
+ "blocks_per_message": 50,
1101
+ "blocks_per_modal": 50,
1102
+ "blocks_per_home": 100,
1103
+ "text_block_chars": 3000,
1104
+ "elements_per_actions": 10,
1105
+ "options_per_select": 100,
1106
+ "modal_total_bytes": 24 * 1024, # 24KB
1107
+ }
1108
+
1109
+ def validate_blocks(blocks: list) -> tuple[bool, str]:
1110
+ """Validate blocks before sending."""
1111
+ if len(blocks) > BLOCK_KIT_LIMITS["blocks_per_message"]:
1112
+ return False, f"Too many blocks: {len(blocks)} > 50"
1113
+
1114
+ for block in blocks:
1115
+ if block.get("type") == "section":
1116
+ text = block.get("text", {}).get("text", "")
1117
+ if len(text) > BLOCK_KIT_LIMITS["text_block_chars"]:
1118
+ return False, f"Text too long: {len(text)} > 3000"
1119
+
1120
+ if block.get("type") == "actions":
1121
+ elements = block.get("elements", [])
1122
+ if len(elements) > BLOCK_KIT_LIMITS["elements_per_actions"]:
1123
+ return False, f"Too many actions: {len(elements)} > 10"
1124
+
1125
+ return True, "OK"
1126
+
1127
+ # Paginate long content
1128
+ def paginate_blocks(blocks: list, page: int = 0, per_page: int = 45):
1129
+ """Paginate blocks with navigation."""
1130
+ start = page * per_page
1131
+ end = start + per_page
1132
+ page_blocks = blocks[start:end]
1133
+
1134
+ # Add pagination controls
1135
+ if len(blocks) > per_page:
1136
+ page_blocks.append({
1137
+ "type": "actions",
1138
+ "elements": [
1139
+ {"type": "button", "text": {"type": "plain_text", "text": "Previous"},
1140
+ "action_id": f"page_{page-1}", "disabled": page == 0},
1141
+ {"type": "button", "text": {"type": "plain_text", "text": "Next"},
1142
+ "action_id": f"page_{page+1}",
1143
+ "disabled": end >= len(blocks)}
1144
+ ]
1145
+ })
1146
+
1147
+ return page_blocks
1148
+ ```
1149
+
1150
+ ### Using Socket Mode in Production
1151
+
1152
+ Severity: HIGH
1153
+
1154
+ Situation: Deploying Slack bot to production
1155
+
1156
+ Symptoms:
1157
+ Bot works in development but is unreliable in production.
1158
+ Missed events. Connection drops. Can't scale horizontally.
1159
+
1160
+ Why this breaks:
1161
+ Socket Mode is designed for development:
1162
+ - Single WebSocket connection per app
1163
+ - Can't scale to multiple instances
1164
+ - Connection can drop (needs reconnect logic)
1165
+ - No built-in load balancing
1166
+
1167
+ For production with multiple instances or high traffic,
1168
+ HTTP webhooks are more reliable.
1169
+
1170
+ Recommended fix:
1171
+
1172
+
1173
+ ## Socket Mode: Only for development
1174
+
1175
+ ```python
1176
+ # Development with Socket Mode
1177
+ if os.environ.get("ENVIRONMENT") == "development":
1178
+ from slack_bolt.adapter.socket_mode import SocketModeHandler
1179
+ handler = SocketModeHandler(app, os.environ["SLACK_APP_TOKEN"])
1180
+ handler.start()
1181
+ ```
1182
+
1183
+
1184
+ ## Production: Use HTTP endpoints
1185
+
1186
+ ```python
1187
+ # Production with HTTP (Flask example)
1188
+ from slack_bolt.adapter.flask import SlackRequestHandler
1189
+ from flask import Flask, request
1190
+
1191
+ flask_app = Flask(__name__)
1192
+ handler = SlackRequestHandler(app)
1193
+
1194
+ @flask_app.route("/slack/events", methods=["POST"])
1195
+ def slack_events():
1196
+ return handler.handle(request)
1197
+
1198
+ @flask_app.route("/slack/commands", methods=["POST"])
1199
+ def slack_commands():
1200
+ return handler.handle(request)
1201
+
1202
+ @flask_app.route("/slack/interactions", methods=["POST"])
1203
+ def slack_interactions():
1204
+ return handler.handle(request)
1205
+ ```
1206
+
1207
+
1208
+ ## If you must use Socket Mode in production
1209
+
1210
+ ```python
1211
+ from slack_bolt.adapter.socket_mode import SocketModeHandler
1212
+ import time
1213
+
1214
+ class RobustSocketHandler:
1215
+ def __init__(self, app, app_token):
1216
+ self.app = app
1217
+ self.app_token = app_token
1218
+ self.handler = None
1219
+
1220
+ def start(self):
1221
+ while True:
1222
+ try:
1223
+ self.handler = SocketModeHandler(self.app, self.app_token)
1224
+ self.handler.start()
1225
+ except Exception as e:
1226
+ logger.error(f"Socket Mode disconnected: {e}")
1227
+ time.sleep(5) # Backoff before reconnect
1228
+ ```
1229
+
1230
+ ### Not Verifying Request Signatures
1231
+
1232
+ Severity: CRITICAL
1233
+
1234
+ Situation: Receiving webhooks from Slack
1235
+
1236
+ Symptoms:
1237
+ Attackers can send fake requests to your webhook endpoints.
1238
+ Spoofed slash commands. Fake event notifications processed.
1239
+
1240
+ Why this breaks:
1241
+ Slack signs all requests with X-Slack-Signature header using your
1242
+ signing secret. Without verification, anyone who knows your webhook
1243
+ URL can send fake requests.
1244
+
1245
+ This is different from OAuth tokens - signing verifies the REQUEST
1246
+ came from Slack, not that you have permission to call Slack.
1247
+
1248
+ Recommended fix:
1249
+
1250
+
1251
+ ## Bolt handles this automatically
1252
+
1253
+ ```python
1254
+ from slack_bolt import App
1255
+
1256
+ # Bolt verifies signatures automatically when you provide signing_secret
1257
+ app = App(
1258
+ token=os.environ["SLACK_BOT_TOKEN"],
1259
+ signing_secret=os.environ["SLACK_SIGNING_SECRET"]
1260
+ )
1261
+ # All requests to your handlers are verified
1262
+ ```
1263
+
1264
+
1265
+ ## Manual verification (if not using Bolt)
1266
+
1267
+ ```python
1268
+ import hmac
1269
+ import hashlib
1270
+ import time
1271
+ from flask import Flask, request, abort
1272
+
1273
+ SIGNING_SECRET = os.environ["SLACK_SIGNING_SECRET"]
1274
+
1275
+ def verify_slack_signature(request):
1276
+ timestamp = request.headers.get("X-Slack-Request-Timestamp", "")
1277
+ signature = request.headers.get("X-Slack-Signature", "")
1278
+
1279
+ # Reject old timestamps (replay attack prevention)
1280
+ if abs(time.time() - int(timestamp)) > 60 * 5:
1281
+ return False
1282
+
1283
+ # Compute expected signature
1284
+ sig_basestring = f"v0:{timestamp}:{request.get_data(as_text=True)}"
1285
+ expected_sig = "v0=" + hmac.new(
1286
+ SIGNING_SECRET.encode(),
1287
+ sig_basestring.encode(),
1288
+ hashlib.sha256
1289
+ ).hexdigest()
1290
+
1291
+ # Constant-time comparison
1292
+ return hmac.compare_digest(expected_sig, signature)
1293
+
1294
+ @app.route("/slack/events", methods=["POST"])
1295
+ def slack_events():
1296
+ if not verify_slack_signature(request):
1297
+ abort(403)
1298
+ # Safe to process
1299
+ ```
1300
+
1301
+
1302
+ ## Validation Checks
1303
+
1304
+ ### Hardcoded Slack Token
1305
+
1306
+ Severity: ERROR
1307
+
1308
+ Slack tokens must never be hardcoded
1309
+
1310
+ Message: Hardcoded Slack token detected. Use environment variables.
1311
+
1312
+ ### Signing Secret in Source Code
1313
+
1314
+ Severity: ERROR
1315
+
1316
+ Signing secrets should be in environment variables
1317
+
1318
+ Message: Hardcoded signing secret. Use os.environ['SLACK_SIGNING_SECRET'].
1319
+
1320
+ ### Webhook Without Signature Verification
1321
+
1322
+ Severity: ERROR
1323
+
1324
+ Slack webhooks must verify X-Slack-Signature
1325
+
1326
+ Message: Webhook without signature verification. Use Bolt or verify manually.
1327
+
1328
+ ### Slack Token in Client-Side Code
1329
+
1330
+ Severity: ERROR
1331
+
1332
+ Never expose Slack tokens to browsers
1333
+
1334
+ Message: Slack credentials exposed client-side. Only use server-side.
1335
+
1336
+ ### Slow Operation Before Acknowledgment
1337
+
1338
+ Severity: WARNING
1339
+
1340
+ ack() must be called before slow operations
1341
+
1342
+ Message: Slow operation before ack(). Call ack() first, then process.
1343
+
1344
+ ### Missing Acknowledgment Call
1345
+
1346
+ Severity: WARNING
1347
+
1348
+ Interactive handlers must call ack()
1349
+
1350
+ Message: Handler missing ack() call. Must acknowledge within 3 seconds.
1351
+
1352
+ ### OAuth Without State Validation
1353
+
1354
+ Severity: ERROR
1355
+
1356
+ OAuth callback must validate state parameter
1357
+
1358
+ Message: OAuth without state validation. Vulnerable to CSRF attacks.
1359
+
1360
+ ### Token Storage Without Encryption
1361
+
1362
+ Severity: WARNING
1363
+
1364
+ Tokens should be encrypted at rest
1365
+
1366
+ Message: Token stored without encryption. Encrypt tokens at rest.
1367
+
1368
+ ### Requesting Admin Scopes
1369
+
1370
+ Severity: WARNING
1371
+
1372
+ Avoid admin scopes unless absolutely necessary
1373
+
1374
+ Message: Requesting admin scope. Use minimal required scopes.
1375
+
1376
+ ### Potentially Unused Scope
1377
+
1378
+ Severity: INFO
1379
+
1380
+ Check if all requested scopes are used
1381
+
1382
+ Message: Requesting users:read.email but may not use email. Verify necessity.
1383
+
1384
+
1385
+ ## Collaboration
1386
+
1387
+ ### Delegation Triggers
1388
+
1389
+ - user needs AI-powered Slack bot -> llm-architect (Integrate LLM for conversational Slack bot)
1390
+ - user needs voice notifications -> twilio-communications (Escalate Slack alerts to SMS or voice calls)
1391
+ - user needs workflow automation -> workflow-automation (Slack as trigger/action in n8n/Temporal workflows)
1392
+ - user needs bot for Discord too -> discord-bot-architect (Cross-platform bot architecture)
1393
+ - user needs full auth system -> auth-specialist (OAuth, workspace management, enterprise SSO)
1394
+ - user needs database for bot data -> postgres-wizard (Store installations, user preferences, message history)
1395
+ - user needs high availability -> devops (Scale webhooks, monitoring, alerting)