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
@@ -16,1379 +16,9 @@ Covers Block Kit for rich UIs, interactive components, slash commands,
16
16
  event handling, OAuth installation flows, and Workflow Builder integration.
17
17
  Focus on best practices for production-ready Slack apps.
18
18
 
19
- ## Patterns
19
+ ## Detailed Guide
20
20
 
21
- ### Bolt App Foundation Pattern
22
-
23
- The Bolt framework is Slack's recommended approach for building apps.
24
- It handles authentication, event routing, request verification, and
25
- HTTP request processing so you can focus on app logic.
26
-
27
- Key benefits:
28
- - Event handling in a few lines of code
29
- - Security checks and payload validation built-in
30
- - Organized, consistent patterns
31
- - Works for experiments and production
32
-
33
- Available in: Python, JavaScript (Node.js), Java
34
-
35
- **When to use**: Starting any new Slack app,Migrating from legacy Slack APIs,Building production Slack integrations
36
-
37
- # Python Bolt App
38
- from slack_bolt import App
39
- from slack_bolt.adapter.socket_mode import SocketModeHandler
40
- import os
41
-
42
- # Initialize with tokens from environment
43
- app = App(
44
- token=os.environ["SLACK_BOT_TOKEN"],
45
- signing_secret=os.environ["SLACK_SIGNING_SECRET"]
46
- )
47
-
48
- # Handle messages containing "hello"
49
- @app.message("hello")
50
- def handle_hello(message, say):
51
- """Respond to messages containing 'hello'."""
52
- user = message["user"]
53
- say(f"Hey there <@{user}>!")
54
-
55
- # Handle slash command
56
- @app.command("/ticket")
57
- def handle_ticket_command(ack, body, client):
58
- """Handle /ticket slash command."""
59
- # Acknowledge immediately (within 3 seconds)
60
- ack()
61
-
62
- # Open a modal for ticket creation
63
- client.views_open(
64
- trigger_id=body["trigger_id"],
65
- view={
66
- "type": "modal",
67
- "callback_id": "ticket_modal",
68
- "title": {"type": "plain_text", "text": "Create Ticket"},
69
- "submit": {"type": "plain_text", "text": "Submit"},
70
- "blocks": [
71
- {
72
- "type": "input",
73
- "block_id": "title_block",
74
- "element": {
75
- "type": "plain_text_input",
76
- "action_id": "title_input"
77
- },
78
- "label": {"type": "plain_text", "text": "Title"}
79
- },
80
- {
81
- "type": "input",
82
- "block_id": "desc_block",
83
- "element": {
84
- "type": "plain_text_input",
85
- "multiline": True,
86
- "action_id": "desc_input"
87
- },
88
- "label": {"type": "plain_text", "text": "Description"}
89
- },
90
- {
91
- "type": "input",
92
- "block_id": "priority_block",
93
- "element": {
94
- "type": "static_select",
95
- "action_id": "priority_select",
96
- "options": [
97
- {"text": {"type": "plain_text", "text": "Low"}, "value": "low"},
98
- {"text": {"type": "plain_text", "text": "Medium"}, "value": "medium"},
99
- {"text": {"type": "plain_text", "text": "High"}, "value": "high"}
100
- ]
101
- },
102
- "label": {"type": "plain_text", "text": "Priority"}
103
- }
104
- ]
105
- }
106
- )
107
-
108
- # Handle modal submission
109
- @app.view("ticket_modal")
110
- def handle_ticket_submission(ack, body, client, view):
111
- """Handle ticket modal submission."""
112
- ack()
113
-
114
- # Extract values from the view
115
- values = view["state"]["values"]
116
- title = values["title_block"]["title_input"]["value"]
117
- desc = values["desc_block"]["desc_input"]["value"]
118
- priority = values["priority_block"]["priority_select"]["selected_option"]["value"]
119
- user_id = body["user"]["id"]
120
-
121
- # Create ticket in your system
122
- ticket_id = create_ticket(title, desc, priority, user_id)
123
-
124
- # Notify user
125
- client.chat_postMessage(
126
- channel=user_id,
127
- text=f"Ticket #{ticket_id} created: {title}"
128
- )
129
-
130
- # Handle button clicks
131
- @app.action("approve_button")
132
- def handle_approval(ack, body, client):
133
- """Handle approval button click."""
134
- ack()
135
-
136
- # Get context from the action
137
- user = body["user"]["id"]
138
- action_value = body["actions"][0]["value"]
139
-
140
- # Update the message to remove interactive elements
141
- # (Best practice: prevent double-clicks)
142
- client.chat_update(
143
- channel=body["channel"]["id"],
144
- ts=body["message"]["ts"],
145
- text=f"Approved by <@{user}>",
146
- blocks=[] # Remove interactive blocks
147
- )
148
-
149
- # Listen for app_home_opened events
150
- @app.event("app_home_opened")
151
- def update_home_tab(client, event):
152
- """Update the Home tab when user opens it."""
153
- client.views_publish(
154
- user_id=event["user"],
155
- view={
156
- "type": "home",
157
- "blocks": [
158
- {
159
- "type": "section",
160
- "text": {
161
- "type": "mrkdwn",
162
- "text": "*Welcome to the Ticket Bot!*"
163
- }
164
- },
165
- {
166
- "type": "actions",
167
- "elements": [
168
- {
169
- "type": "button",
170
- "text": {"type": "plain_text", "text": "Create Ticket"},
171
- "action_id": "create_ticket_button"
172
- }
173
- ]
174
- }
175
- ]
176
- }
177
- )
178
-
179
- # Socket Mode for development (no public URL needed)
180
- if __name__ == "__main__":
181
- handler = SocketModeHandler(app, os.environ["SLACK_APP_TOKEN"])
182
- handler.start()
183
-
184
- # For production, use HTTP mode with a web server
185
- # from flask import Flask, request
186
- # from slack_bolt.adapter.flask import SlackRequestHandler
187
- #
188
- # flask_app = Flask(__name__)
189
- # handler = SlackRequestHandler(app)
190
- #
191
- # @flask_app.route("/slack/events", methods=["POST"])
192
- # def slack_events():
193
- # return handler.handle(request)
194
-
195
- ### Anti_patterns
196
-
197
- - Not acknowledging requests within 3 seconds
198
- - Blocking operations in the ack handler
199
- - Hardcoding tokens in source code
200
- - Not using Socket Mode for development
201
-
202
- ### Block Kit UI Pattern
203
-
204
- Block Kit is Slack's UI framework for building rich, interactive messages.
205
- Compose messages using blocks (sections, actions, inputs) and elements
206
- (buttons, menus, text inputs).
207
-
208
- Limits:
209
- - Up to 50 blocks per message
210
- - Up to 100 blocks in modals/Home tabs
211
- - Block text limited to 3000 characters
212
-
213
- Use Block Kit Builder to prototype: https://app.slack.com/block-kit-builder
214
-
215
- **When to use**: Building rich message layouts,Adding interactive components to messages,Creating forms in modals,Building Home tab experiences
216
-
217
- from slack_bolt import App
218
- import os
219
-
220
- app = App(token=os.environ["SLACK_BOT_TOKEN"])
221
-
222
- def build_notification_blocks(incident: dict) -> list:
223
- """Build Block Kit blocks for incident notification."""
224
- severity_emoji = {
225
- "critical": ":red_circle:",
226
- "high": ":large_orange_circle:",
227
- "medium": ":large_yellow_circle:",
228
- "low": ":white_circle:"
229
- }
230
-
231
- return [
232
- # Header
233
- {
234
- "type": "header",
235
- "text": {
236
- "type": "plain_text",
237
- "text": f"{severity_emoji.get(incident['severity'], '')} Incident Alert"
238
- }
239
- },
240
- # Details section
241
- {
242
- "type": "section",
243
- "fields": [
244
- {
245
- "type": "mrkdwn",
246
- "text": f"*Incident:*\n{incident['title']}"
247
- },
248
- {
249
- "type": "mrkdwn",
250
- "text": f"*Severity:*\n{incident['severity'].upper()}"
251
- },
252
- {
253
- "type": "mrkdwn",
254
- "text": f"*Service:*\n{incident['service']}"
255
- },
256
- {
257
- "type": "mrkdwn",
258
- "text": f"*Reported:*\n<!date^{incident['timestamp']}^{date_short} {time}|{incident['timestamp']}>"
259
- }
260
- ]
261
- },
262
- # Description
263
- {
264
- "type": "section",
265
- "text": {
266
- "type": "mrkdwn",
267
- "text": f"*Description:*\n{incident['description'][:2000]}"
268
- }
269
- },
270
- # Divider
271
- {"type": "divider"},
272
- # Action buttons
273
- {
274
- "type": "actions",
275
- "block_id": f"incident_actions_{incident['id']}",
276
- "elements": [
277
- {
278
- "type": "button",
279
- "text": {"type": "plain_text", "text": "Acknowledge"},
280
- "style": "primary",
281
- "action_id": "acknowledge_incident",
282
- "value": incident['id']
283
- },
284
- {
285
- "type": "button",
286
- "text": {"type": "plain_text", "text": "Resolve"},
287
- "style": "danger",
288
- "action_id": "resolve_incident",
289
- "value": incident['id'],
290
- "confirm": {
291
- "title": {"type": "plain_text", "text": "Resolve Incident?"},
292
- "text": {"type": "mrkdwn", "text": "Are you sure this incident is resolved?"},
293
- "confirm": {"type": "plain_text", "text": "Yes, Resolve"},
294
- "deny": {"type": "plain_text", "text": "Cancel"}
295
- }
296
- },
297
- {
298
- "type": "button",
299
- "text": {"type": "plain_text", "text": "View Details"},
300
- "action_id": "view_incident",
301
- "value": incident['id'],
302
- "url": f"https://incidents.example.com/{incident['id']}"
303
- }
304
- ]
305
- },
306
- # Context footer
307
- {
308
- "type": "context",
309
- "elements": [
310
- {
311
- "type": "mrkdwn",
312
- "text": f"Incident ID: {incident['id']} | <https://runbook.example.com/{incident['service']}|View Runbook>"
313
- }
314
- ]
315
- }
316
- ]
317
-
318
- def send_incident_notification(channel: str, incident: dict):
319
- """Send incident notification with Block Kit."""
320
- blocks = build_notification_blocks(incident)
321
-
322
- app.client.chat_postMessage(
323
- channel=channel,
324
- text=f"Incident: {incident['title']}", # Fallback for notifications
325
- blocks=blocks
326
- )
327
-
328
- # Handle button actions
329
- @app.action("acknowledge_incident")
330
- def handle_acknowledge(ack, body, client):
331
- """Handle incident acknowledgment."""
332
- ack()
333
-
334
- incident_id = body["actions"][0]["value"]
335
- user = body["user"]["id"]
336
-
337
- # Update your system
338
- acknowledge_incident(incident_id, user)
339
-
340
- # Update message to show acknowledgment
341
- original_blocks = body["message"]["blocks"]
342
-
343
- # Add acknowledgment to context
344
- original_blocks[-1]["elements"].append({
345
- "type": "mrkdwn",
346
- "text": f":white_check_mark: Acknowledged by <@{user}>"
347
- })
348
-
349
- # Remove acknowledge button (prevent double-click)
350
- action_block = next(b for b in original_blocks if b.get("block_id", "").startswith("incident_actions"))
351
- action_block["elements"] = [e for e in action_block["elements"] if e["action_id"] != "acknowledge_incident"]
352
-
353
- client.chat_update(
354
- channel=body["channel"]["id"],
355
- ts=body["message"]["ts"],
356
- blocks=original_blocks
357
- )
358
-
359
- # Interactive select menus
360
- def build_user_selector_blocks():
361
- """Build blocks with user selector."""
362
- return [
363
- {
364
- "type": "section",
365
- "text": {"type": "mrkdwn", "text": "Assign this task:"},
366
- "accessory": {
367
- "type": "users_select",
368
- "action_id": "assign_user",
369
- "placeholder": {"type": "plain_text", "text": "Select assignee"}
370
- }
371
- }
372
- ]
373
-
374
- # Overflow menu for more options
375
- def build_task_blocks(task: dict):
376
- """Build task blocks with overflow menu."""
377
- return [
378
- {
379
- "type": "section",
380
- "text": {"type": "mrkdwn", "text": f"*{task['title']}*"},
381
- "accessory": {
382
- "type": "overflow",
383
- "action_id": "task_overflow",
384
- "options": [
385
- {
386
- "text": {"type": "plain_text", "text": "Edit"},
387
- "value": f"edit_{task['id']}"
388
- },
389
- {
390
- "text": {"type": "plain_text", "text": "Delete"},
391
- "value": f"delete_{task['id']}"
392
- },
393
- {
394
- "text": {"type": "plain_text", "text": "Share"},
395
- "value": f"share_{task['id']}"
396
- }
397
- ]
398
- }
399
- }
400
- ]
401
-
402
- ### Anti_patterns
403
-
404
- - Exceeding 50 blocks per message
405
- - Not providing fallback text for accessibility
406
- - Hardcoding action_ids (use dynamic IDs when needed)
407
- - Not handling button clicks idempotently
408
-
409
- ### OAuth Installation Pattern
410
-
411
- Enable users to install your app in their workspaces via OAuth 2.0.
412
- Bolt handles most of the OAuth flow, but you need to configure it
413
- and store tokens securely.
414
-
415
- Key OAuth concepts:
416
- - Scopes define permissions (request minimum needed)
417
- - Tokens are workspace-specific
418
- - Installation data must be stored persistently
419
- - Users can add scopes later (additive)
420
-
421
- 70% of users abandon installation when confronted with excessive
422
- permission requests - request only what you need!
423
-
424
- **When to use**: Distributing app to multiple workspaces,Building public Slack apps,Enterprise-grade integrations
425
-
426
- from slack_bolt import App
427
- from slack_bolt.oauth.oauth_settings import OAuthSettings
428
- from slack_sdk.oauth.installation_store import FileInstallationStore
429
- from slack_sdk.oauth.state_store import FileOAuthStateStore
430
- import os
431
-
432
- # For production, use database-backed stores
433
- # For example: PostgreSQL, MongoDB, Redis
434
-
435
- class DatabaseInstallationStore:
436
- """Store installation data in your database."""
437
-
438
- async def save(self, installation):
439
- """Save installation when user completes OAuth."""
440
- await db.installations.upsert({
441
- "team_id": installation.team_id,
442
- "enterprise_id": installation.enterprise_id,
443
- "bot_token": encrypt(installation.bot_token),
444
- "bot_user_id": installation.bot_user_id,
445
- "bot_scopes": installation.bot_scopes,
446
- "user_id": installation.user_id,
447
- "installed_at": installation.installed_at
448
- })
449
-
450
- async def find_installation(self, *, enterprise_id, team_id, user_id=None, is_enterprise_install=False):
451
- """Find installation for a workspace."""
452
- record = await db.installations.find_one({
453
- "team_id": team_id,
454
- "enterprise_id": enterprise_id
455
- })
456
-
457
- if record:
458
- return Installation(
459
- bot_token=decrypt(record["bot_token"]),
460
- # ... other fields
461
- )
462
- return None
463
-
464
- # Initialize OAuth-enabled app
465
- app = App(
466
- signing_secret=os.environ["SLACK_SIGNING_SECRET"],
467
- oauth_settings=OAuthSettings(
468
- client_id=os.environ["SLACK_CLIENT_ID"],
469
- client_secret=os.environ["SLACK_CLIENT_SECRET"],
470
- scopes=[
471
- "channels:history",
472
- "channels:read",
473
- "chat:write",
474
- "commands",
475
- "users:read"
476
- ],
477
- user_scopes=[], # User token scopes if needed
478
- installation_store=DatabaseInstallationStore(),
479
- state_store=FileOAuthStateStore(expiration_seconds=600)
480
- )
481
- )
482
-
483
- # OAuth routes are handled automatically by Bolt
484
- # /slack/install - Initiates OAuth flow
485
- # /slack/oauth_redirect - Handles callback
486
-
487
- # Flask integration
488
- from flask import Flask, request
489
- from slack_bolt.adapter.flask import SlackRequestHandler
490
-
491
- flask_app = Flask(__name__)
492
- handler = SlackRequestHandler(app)
493
-
494
- @flask_app.route("/slack/install", methods=["GET"])
495
- def install():
496
- return handler.handle(request)
497
-
498
- @flask_app.route("/slack/oauth_redirect", methods=["GET"])
499
- def oauth_redirect():
500
- return handler.handle(request)
501
-
502
- @flask_app.route("/slack/events", methods=["POST"])
503
- def slack_events():
504
- return handler.handle(request)
505
-
506
- # Handle installation success/failure
507
- @app.oauth_success
508
- def handle_oauth_success(args):
509
- """Called when OAuth completes successfully."""
510
- installation = args["installation"]
511
-
512
- # Send welcome message
513
- app.client.chat_postMessage(
514
- token=installation.bot_token,
515
- channel=installation.user_id,
516
- text="Thanks for installing! Type /help to get started."
517
- )
518
-
519
- return "Installation successful! You can close this window."
520
-
521
- @app.oauth_failure
522
- def handle_oauth_failure(args):
523
- """Called when OAuth fails."""
524
- error = args.get("error", "Unknown error")
525
- return f"Installation failed: {error}"
526
-
527
- # Scope management - request additional scopes when needed
528
- def request_additional_scopes(team_id: str, new_scopes: list):
529
- """
530
- Generate URL for user to add scopes.
531
- Note: Existing tokens retain old scopes.
532
- User must re-authorize for new scopes.
533
- """
534
- base_url = "https://slack.com/oauth/v2/authorize"
535
- params = {
536
- "client_id": os.environ["SLACK_CLIENT_ID"],
537
- "scope": ",".join(new_scopes),
538
- "team": team_id
539
- }
540
- return f"{base_url}?{urlencode(params)}"
541
-
542
- ### Anti_patterns
543
-
544
- - Requesting unnecessary scopes upfront
545
- - Storing tokens in plain text
546
- - Not validating OAuth state parameter (CSRF risk)
547
- - Assuming tokens have new scopes after config change
548
-
549
- ### Socket Mode Pattern
550
-
551
- Socket Mode allows your app to receive events via WebSocket instead
552
- of public HTTP endpoints. Perfect for development and apps behind
553
- firewalls.
554
-
555
- Benefits:
556
- - No public URL needed
557
- - Works behind corporate firewalls
558
- - Simpler local development
559
- - Real-time bidirectional communication
560
-
561
- Limitation: Not recommended for high-volume production apps.
562
-
563
- **When to use**: Local development,Apps behind corporate firewalls,Internal tools with security constraints,Prototyping and testing
564
-
565
- from slack_bolt import App
566
- from slack_bolt.adapter.socket_mode import SocketModeHandler
567
- import os
568
-
569
- # Socket Mode requires an app-level token (xapp-...)
570
- # Create in App Settings > Basic Information > App-Level Tokens
571
- # Needs 'connections:write' scope
572
-
573
- app = App(token=os.environ["SLACK_BOT_TOKEN"])
574
-
575
- @app.message("hello")
576
- def handle_hello(message, say):
577
- say(f"Hey <@{message['user']}>!")
578
-
579
- @app.command("/status")
580
- def handle_status(ack, say):
581
- ack()
582
- say("All systems operational!")
583
-
584
- @app.event("app_mention")
585
- def handle_mention(event, say):
586
- say(f"You mentioned me, <@{event['user']}>!")
587
-
588
- if __name__ == "__main__":
589
- # SocketModeHandler manages the WebSocket connection
590
- handler = SocketModeHandler(
591
- app,
592
- os.environ["SLACK_APP_TOKEN"] # xapp-... token
593
- )
594
-
595
- print("Starting Socket Mode...")
596
- handler.start()
597
-
598
- # For async apps
599
- from slack_bolt.async_app import AsyncApp
600
- from slack_bolt.adapter.socket_mode.async_handler import AsyncSocketModeHandler
601
- import asyncio
602
-
603
- async_app = AsyncApp(token=os.environ["SLACK_BOT_TOKEN"])
604
-
605
- @async_app.message("hello")
606
- async def handle_hello_async(message, say):
607
- await say(f"Hey <@{message['user']}>!")
608
-
609
- async def main():
610
- handler = AsyncSocketModeHandler(async_app, os.environ["SLACK_APP_TOKEN"])
611
- await handler.start_async()
612
-
613
- if __name__ == "__main__":
614
- asyncio.run(main())
615
-
616
- ### Anti_patterns
617
-
618
- - Using Socket Mode for high-volume production apps
619
- - Not handling WebSocket disconnections
620
- - Forgetting to create app-level token
621
- - Using bot token instead of app token
622
-
623
- ### Workflow Builder Step Pattern
624
-
625
- Extend Slack's Workflow Builder with custom steps powered by your app.
626
- Users can include your custom steps in their no-code workflows.
627
-
628
- Workflow steps can:
629
- - Collect input from users
630
- - Execute custom logic
631
- - Output data for subsequent steps
632
-
633
- **When to use**: Integrating with Workflow Builder,Enabling non-technical users to use your features,Building reusable automation components
634
-
635
- from slack_bolt import App
636
- from slack_bolt.workflows.step import WorkflowStep
637
- import os
638
-
639
- app = App(
640
- token=os.environ["SLACK_BOT_TOKEN"],
641
- signing_secret=os.environ["SLACK_SIGNING_SECRET"]
642
- )
643
-
644
- # Define the workflow step
645
- def edit(ack, step, configure):
646
- """Called when user adds/edits the step in Workflow Builder."""
647
- ack()
648
-
649
- # Show configuration modal
650
- blocks = [
651
- {
652
- "type": "input",
653
- "block_id": "ticket_type",
654
- "element": {
655
- "type": "static_select",
656
- "action_id": "type_select",
657
- "options": [
658
- {"text": {"type": "plain_text", "text": "Bug"}, "value": "bug"},
659
- {"text": {"type": "plain_text", "text": "Feature"}, "value": "feature"},
660
- {"text": {"type": "plain_text", "text": "Task"}, "value": "task"}
661
- ]
662
- },
663
- "label": {"type": "plain_text", "text": "Ticket Type"}
664
- },
665
- {
666
- "type": "input",
667
- "block_id": "title_input",
668
- "element": {
669
- "type": "plain_text_input",
670
- "action_id": "title"
671
- },
672
- "label": {"type": "plain_text", "text": "Title"}
673
- },
674
- {
675
- "type": "input",
676
- "block_id": "assignee_input",
677
- "element": {
678
- "type": "users_select",
679
- "action_id": "assignee"
680
- },
681
- "label": {"type": "plain_text", "text": "Assignee"}
682
- }
683
- ]
684
-
685
- configure(blocks=blocks)
686
-
687
- def save(ack, view, update):
688
- """Called when user saves step configuration."""
689
- ack()
690
-
691
- values = view["state"]["values"]
692
-
693
- # Define inputs (from user's configuration)
694
- inputs = {
695
- "ticket_type": {
696
- "value": values["ticket_type"]["type_select"]["selected_option"]["value"]
697
- },
698
- "title": {
699
- "value": values["title_input"]["title"]["value"]
700
- },
701
- "assignee": {
702
- "value": values["assignee_input"]["assignee"]["selected_user"]
703
- }
704
- }
705
-
706
- # Define outputs (available to subsequent steps)
707
- outputs = [
708
- {
709
- "name": "ticket_id",
710
- "type": "text",
711
- "label": "Created Ticket ID"
712
- },
713
- {
714
- "name": "ticket_url",
715
- "type": "text",
716
- "label": "Ticket URL"
717
- }
718
- ]
719
-
720
- update(inputs=inputs, outputs=outputs)
721
-
722
- def execute(step, complete, fail):
723
- """Called when the step runs in a workflow."""
724
- inputs = step["inputs"]
725
-
726
- try:
727
- # Get input values
728
- ticket_type = inputs["ticket_type"]["value"]
729
- title = inputs["title"]["value"]
730
- assignee = inputs["assignee"]["value"]
731
-
732
- # Create ticket in your system
733
- ticket = create_ticket(
734
- type=ticket_type,
735
- title=title,
736
- assignee=assignee
737
- )
738
-
739
- # Complete with outputs
740
- complete(outputs={
741
- "ticket_id": ticket["id"],
742
- "ticket_url": ticket["url"]
743
- })
744
-
745
- except Exception as e:
746
- fail(error={"message": str(e)})
747
-
748
- # Register the workflow step
749
- create_ticket_step = WorkflowStep(
750
- callback_id="create_ticket_step",
751
- edit=edit,
752
- save=save,
753
- execute=execute
754
- )
755
-
756
- app.step(create_ticket_step)
757
-
758
- ### Anti_patterns
759
-
760
- - Not calling complete() or fail() in execute
761
- - Long-running operations without progress updates
762
- - Not validating inputs in execute
763
- - Exposing sensitive data in outputs
764
-
765
- ## Sharp Edges
766
-
767
- ### Missing 3-Second Acknowledgment (Timeout)
768
-
769
- Severity: CRITICAL
770
-
771
- Situation: Handling slash commands, shortcuts, or interactive components
772
-
773
- Symptoms:
774
- User sees "This command timed out" or "Something went wrong."
775
- The action never completes even though your code runs.
776
- Works in development but fails in production.
777
-
778
- Why this breaks:
779
- Slack requires acknowledgment within 3 seconds for ALL interactive requests:
780
- - Slash commands
781
- - Button/select menu clicks
782
- - Modal submissions
783
- - Shortcuts
784
-
785
- If you do ANY slow operation (database, API call, LLM) before responding,
786
- you'll miss the window. Slack shows an error even if your bot eventually
787
- processes the request correctly.
788
-
789
- Recommended fix:
790
-
791
- ## Acknowledge immediately, process later
792
-
793
- ```python
794
- from slack_bolt import App
795
- from slack_bolt.adapter.socket_mode import SocketModeHandler
796
- import threading
797
-
798
- app = App(token=os.environ["SLACK_BOT_TOKEN"])
799
-
800
- @app.command("/slow-task")
801
- def handle_slow_task(ack, command, client, respond):
802
- # ACK IMMEDIATELY - before any processing
803
- ack("Processing your request...")
804
-
805
- # Do slow work in background
806
- def do_work():
807
- result = call_slow_api(command["text"]) # Takes 10 seconds
808
- respond(f"Done! Result: {result}")
809
-
810
- threading.Thread(target=do_work).start()
811
-
812
- @app.view("modal_submission")
813
- def handle_modal(ack, body, client, view):
814
- # ACK with response_action for modals
815
- ack(response_action="clear") # Or "update" with new view
816
-
817
- # Process in background
818
- user_id = body["user"]["id"]
819
- values = view["state"]["values"]
820
- # ... slow processing
821
- ```
822
-
823
- ## For Bolt framework - use lazy listeners
824
-
825
- ```python
826
- # Bolt handles ack() automatically with lazy listeners
827
- @app.command("/slow-task")
828
- def handle_slow_task(ack, command, respond):
829
- ack() # Still call ack() first!
830
-
831
- @handle_slow_task.lazy
832
- def process_slow_task(command, respond):
833
- # This runs after ack, can take as long as needed
834
- result = slow_operation(command["text"])
835
- respond(result)
836
- ```
837
-
838
- ### Not Validating OAuth State Parameter (CSRF)
839
-
840
- Severity: CRITICAL
841
-
842
- Situation: Implementing OAuth installation flow
843
-
844
- Symptoms:
845
- Bot appears to work, but you're vulnerable to CSRF attacks.
846
- Attackers could trick users into installing malicious configurations.
847
-
848
- Why this breaks:
849
- The OAuth state parameter prevents CSRF attacks. Flow:
850
- 1. You generate random state, store it, send to Slack
851
- 2. User authorizes in Slack
852
- 3. Slack redirects back with code + state
853
- 4. You MUST verify state matches what you stored
854
-
855
- Without this, an attacker can craft a malicious OAuth URL and trick
856
- admins into completing the flow with attacker's authorization code.
857
-
858
- Recommended fix:
859
-
860
- ## Proper state validation
861
-
862
- ```python
863
- import secrets
864
- from flask import Flask, request, session, redirect
865
- from slack_sdk.oauth import AuthorizeUrlGenerator
866
- from slack_sdk.oauth.state_store import FileOAuthStateStore
867
-
868
- app = Flask(__name__)
869
- app.secret_key = os.environ["SESSION_SECRET"]
870
-
871
- # Use Slack SDK's state store (Redis recommended for production)
872
- state_store = FileOAuthStateStore(
873
- expiration_seconds=300, # 5 minutes
874
- base_dir="./oauth_states"
875
- )
876
-
877
- @app.route("/slack/install")
878
- def install():
879
- # Generate cryptographically secure state
880
- state = state_store.issue()
881
-
882
- # Store in session for verification
883
- session["oauth_state"] = state
884
-
885
- authorize_url = AuthorizeUrlGenerator(
886
- client_id=os.environ["SLACK_CLIENT_ID"],
887
- scopes=["channels:history", "chat:write"],
888
- user_scopes=[]
889
- ).generate(state)
890
-
891
- return redirect(authorize_url)
892
-
893
- @app.route("/slack/oauth/callback")
894
- def oauth_callback():
895
- # CRITICAL: Verify state
896
- received_state = request.args.get("state")
897
- stored_state = session.get("oauth_state")
898
-
899
- if not received_state or received_state != stored_state:
900
- return "Invalid state parameter - possible CSRF attack", 403
901
-
902
- # Also use state_store.consume() for one-time use
903
- if not state_store.consume(received_state):
904
- return "State already used or expired", 403
905
-
906
- # Now safe to exchange code for token
907
- code = request.args.get("code")
908
- # ... complete OAuth flow
909
- ```
910
-
911
- ### Exposing Bot/User Tokens
912
-
913
- Severity: CRITICAL
914
-
915
- Situation: Storing or logging Slack tokens
916
-
917
- Symptoms:
918
- Unauthorized messages sent from your bot. Attackers reading private
919
- channels. Token found in logs, git history, or client-side code.
920
-
921
- Why this breaks:
922
- Slack tokens provide FULL access to whatever scopes they have:
923
- - Bot tokens (xoxb-*): Access workspaces where installed
924
- - User tokens (xoxp-*): Access as that specific user
925
- - App-level tokens (xapp-*): Socket Mode connections
926
-
927
- Common exposure points:
928
- - Hardcoded in source code
929
- - Logged in error messages
930
- - Sent to frontend/client
931
- - Stored in database without encryption
932
-
933
- Recommended fix:
934
-
935
- ## Never hardcode or log tokens
936
-
937
- ```python
938
- # BAD - never do this
939
- client = WebClient(token="xoxb-12345-...")
940
-
941
- # GOOD - environment variables
942
- client = WebClient(token=os.environ["SLACK_BOT_TOKEN"])
943
-
944
- # BAD - logging tokens
945
- logger.error(f"API call failed with token {token}")
946
-
947
- # GOOD - never log tokens
948
- logger.error(f"API call failed for team {team_id}")
949
-
950
- # BAD - sending token to frontend
951
- return {"token": bot_token}
952
-
953
- # GOOD - only send what frontend needs
954
- return {"channels": channel_list}
955
- ```
956
-
957
- ## Encrypt tokens in database
958
-
959
- ```python
960
- from cryptography.fernet import Fernet
961
-
962
- class TokenStore:
963
- def __init__(self, encryption_key: str):
964
- self.cipher = Fernet(encryption_key)
965
-
966
- def save_token(self, team_id: str, token: str):
967
- encrypted = self.cipher.encrypt(token.encode())
968
- db.execute(
969
- "INSERT INTO installations (team_id, encrypted_token) VALUES (?, ?)",
970
- (team_id, encrypted)
971
- )
972
-
973
- def get_token(self, team_id: str) -> str:
974
- row = db.execute(
975
- "SELECT encrypted_token FROM installations WHERE team_id = ?",
976
- (team_id,)
977
- ).fetchone()
978
- return self.cipher.decrypt(row[0]).decode()
979
- ```
980
-
981
- ## Rotate tokens if exposed
982
-
983
- ```
984
- 1. Slack API > Your App > OAuth & Permissions
985
- 2. Click "Rotate" for the exposed token
986
- 3. Update all deployments immediately
987
- 4. Review Slack audit logs for unauthorized access
988
- ```
989
-
990
- ### Requesting Unnecessary OAuth Scopes
991
-
992
- Severity: HIGH
993
-
994
- Situation: Configuring OAuth scopes for your app
995
-
996
- Symptoms:
997
- Users hesitate to install due to scary permission warnings.
998
- Lower install rates. Security team blocks deployment.
999
- App rejected from Slack App Directory.
1000
-
1001
- Why this breaks:
1002
- Each OAuth scope grants specific permissions. Requesting more than
1003
- you need:
1004
- - Makes install consent screen scary
1005
- - Increases attack surface if token leaked
1006
- - May violate enterprise security policies
1007
- - Can get your app rejected from App Directory
1008
-
1009
- Common over-requests:
1010
- - `admin` when you just need `chat:write`
1011
- - `channels:read` when you only message one channel
1012
- - `users:read.email` when you don't need emails
1013
-
1014
- Recommended fix:
1015
-
1016
- ## Request minimum required scopes
1017
-
1018
- ```python
1019
- # For a simple notification bot
1020
- MINIMAL_SCOPES = [
1021
- "chat:write", # Post messages
1022
- "channels:join", # Join public channels (if needed)
1023
- ]
1024
-
1025
- # NOT NEEDED for basic notification:
1026
- # - channels:read (unless you list channels)
1027
- # - users:read (unless you look up users)
1028
- # - channels:history (unless you read messages)
1029
-
1030
- # For a slash command bot
1031
- SLASH_COMMAND_SCOPES = [
1032
- "commands", # Register slash commands
1033
- "chat:write", # Respond to commands
1034
- ]
1035
-
1036
- # For a bot that responds to mentions
1037
- MENTION_BOT_SCOPES = [
1038
- "app_mentions:read", # Receive @mentions
1039
- "chat:write", # Reply to mentions
1040
- ]
1041
- ```
1042
-
1043
- ## Scope reference by use case
1044
-
1045
- | Use Case | Required Scopes |
1046
- |----------|-----------------|
1047
- | Post messages | `chat:write` |
1048
- | Slash commands | `commands` |
1049
- | Respond to @mentions | `app_mentions:read`, `chat:write` |
1050
- | Read channel messages | `channels:history` (public), `groups:history` (private) |
1051
- | Read user info | `users:read` |
1052
- | Open modals | `commands` or trigger from event |
1053
- | Add reactions | `reactions:write` |
1054
- | Upload files | `files:write` |
1055
-
1056
- ## Progressive scope requests
1057
-
1058
- ```python
1059
- # Start with minimal scopes
1060
- INITIAL_SCOPES = ["chat:write", "commands"]
1061
-
1062
- # Request additional scopes only when needed
1063
- @app.command("/enable-reactions")
1064
- def enable_reactions(ack, client, command):
1065
- ack()
1066
-
1067
- # Check if we have the scope
1068
- auth_result = client.auth_test()
1069
- # If missing reactions:write, prompt re-auth
1070
- if needs_additional_scope:
1071
- # Send user to re-auth with additional scope
1072
- pass
1073
- ```
1074
-
1075
- ### Exceeding Block Kit Limits
1076
-
1077
- Severity: MEDIUM
1078
-
1079
- Situation: Building complex message UIs with Block Kit
1080
-
1081
- Symptoms:
1082
- Message fails to send with "invalid_blocks" error.
1083
- Modal won't open. Message truncated unexpectedly.
1084
-
1085
- Why this breaks:
1086
- Block Kit has strict limits that aren't always obvious:
1087
- - 50 blocks per message/modal
1088
- - 3000 characters per text block
1089
- - 10 elements per actions block
1090
- - 100 options per select menu
1091
- - Modal: 50 blocks, 24KB total
1092
- - Home tab: 100 blocks
1093
-
1094
- Exceeding these causes silent failures or cryptic errors.
1095
-
1096
- Recommended fix:
1097
-
1098
- ## Know and respect the limits
1099
-
1100
- ```python
1101
- # Constants for Block Kit limits
1102
- BLOCK_KIT_LIMITS = {
1103
- "blocks_per_message": 50,
1104
- "blocks_per_modal": 50,
1105
- "blocks_per_home": 100,
1106
- "text_block_chars": 3000,
1107
- "elements_per_actions": 10,
1108
- "options_per_select": 100,
1109
- "modal_total_bytes": 24 * 1024, # 24KB
1110
- }
1111
-
1112
- def validate_blocks(blocks: list) -> tuple[bool, str]:
1113
- """Validate blocks before sending."""
1114
- if len(blocks) > BLOCK_KIT_LIMITS["blocks_per_message"]:
1115
- return False, f"Too many blocks: {len(blocks)} > 50"
1116
-
1117
- for block in blocks:
1118
- if block.get("type") == "section":
1119
- text = block.get("text", {}).get("text", "")
1120
- if len(text) > BLOCK_KIT_LIMITS["text_block_chars"]:
1121
- return False, f"Text too long: {len(text)} > 3000"
1122
-
1123
- if block.get("type") == "actions":
1124
- elements = block.get("elements", [])
1125
- if len(elements) > BLOCK_KIT_LIMITS["elements_per_actions"]:
1126
- return False, f"Too many actions: {len(elements)} > 10"
1127
-
1128
- return True, "OK"
1129
-
1130
- # Paginate long content
1131
- def paginate_blocks(blocks: list, page: int = 0, per_page: int = 45):
1132
- """Paginate blocks with navigation."""
1133
- start = page * per_page
1134
- end = start + per_page
1135
- page_blocks = blocks[start:end]
1136
-
1137
- # Add pagination controls
1138
- if len(blocks) > per_page:
1139
- page_blocks.append({
1140
- "type": "actions",
1141
- "elements": [
1142
- {"type": "button", "text": {"type": "plain_text", "text": "Previous"},
1143
- "action_id": f"page_{page-1}", "disabled": page == 0},
1144
- {"type": "button", "text": {"type": "plain_text", "text": "Next"},
1145
- "action_id": f"page_{page+1}",
1146
- "disabled": end >= len(blocks)}
1147
- ]
1148
- })
1149
-
1150
- return page_blocks
1151
- ```
1152
-
1153
- ### Using Socket Mode in Production
1154
-
1155
- Severity: HIGH
1156
-
1157
- Situation: Deploying Slack bot to production
1158
-
1159
- Symptoms:
1160
- Bot works in development but is unreliable in production.
1161
- Missed events. Connection drops. Can't scale horizontally.
1162
-
1163
- Why this breaks:
1164
- Socket Mode is designed for development:
1165
- - Single WebSocket connection per app
1166
- - Can't scale to multiple instances
1167
- - Connection can drop (needs reconnect logic)
1168
- - No built-in load balancing
1169
-
1170
- For production with multiple instances or high traffic,
1171
- HTTP webhooks are more reliable.
1172
-
1173
- Recommended fix:
1174
-
1175
- ## Socket Mode: Only for development
1176
-
1177
- ```python
1178
- # Development with Socket Mode
1179
- if os.environ.get("ENVIRONMENT") == "development":
1180
- from slack_bolt.adapter.socket_mode import SocketModeHandler
1181
- handler = SocketModeHandler(app, os.environ["SLACK_APP_TOKEN"])
1182
- handler.start()
1183
- ```
1184
-
1185
- ## Production: Use HTTP endpoints
1186
-
1187
- ```python
1188
- # Production with HTTP (Flask example)
1189
- from slack_bolt.adapter.flask import SlackRequestHandler
1190
- from flask import Flask, request
1191
-
1192
- flask_app = Flask(__name__)
1193
- handler = SlackRequestHandler(app)
1194
-
1195
- @flask_app.route("/slack/events", methods=["POST"])
1196
- def slack_events():
1197
- return handler.handle(request)
1198
-
1199
- @flask_app.route("/slack/commands", methods=["POST"])
1200
- def slack_commands():
1201
- return handler.handle(request)
1202
-
1203
- @flask_app.route("/slack/interactions", methods=["POST"])
1204
- def slack_interactions():
1205
- return handler.handle(request)
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
- ## Bolt handles this automatically
1251
-
1252
- ```python
1253
- from slack_bolt import App
1254
-
1255
- # Bolt verifies signatures automatically when you provide signing_secret
1256
- app = App(
1257
- token=os.environ["SLACK_BOT_TOKEN"],
1258
- signing_secret=os.environ["SLACK_SIGNING_SECRET"]
1259
- )
1260
- # All requests to your handlers are verified
1261
- ```
1262
-
1263
- ## Manual verification (if not using Bolt)
1264
-
1265
- ```python
1266
- import hmac
1267
- import hashlib
1268
- import time
1269
- from flask import Flask, request, abort
1270
-
1271
- SIGNING_SECRET = os.environ["SLACK_SIGNING_SECRET"]
1272
-
1273
- def verify_slack_signature(request):
1274
- timestamp = request.headers.get("X-Slack-Request-Timestamp", "")
1275
- signature = request.headers.get("X-Slack-Signature", "")
1276
-
1277
- # Reject old timestamps (replay attack prevention)
1278
- if abs(time.time() - int(timestamp)) > 60 * 5:
1279
- return False
1280
-
1281
- # Compute expected signature
1282
- sig_basestring = f"v0:{timestamp}:{request.get_data(as_text=True)}"
1283
- expected_sig = "v0=" + hmac.new(
1284
- SIGNING_SECRET.encode(),
1285
- sig_basestring.encode(),
1286
- hashlib.sha256
1287
- ).hexdigest()
1288
-
1289
- # Constant-time comparison
1290
- return hmac.compare_digest(expected_sig, signature)
1291
-
1292
- @app.route("/slack/events", methods=["POST"])
1293
- def slack_events():
1294
- if not verify_slack_signature(request):
1295
- abort(403)
1296
- # Safe to process
1297
- ```
1298
-
1299
- ## Validation Checks
1300
-
1301
- ### Hardcoded Slack Token
1302
-
1303
- Severity: ERROR
1304
-
1305
- Slack tokens must never be hardcoded
1306
-
1307
- Message: Hardcoded Slack token detected. Use environment variables.
1308
-
1309
- ### Signing Secret in Source Code
1310
-
1311
- Severity: ERROR
1312
-
1313
- Signing secrets should be in environment variables
1314
-
1315
- Message: Hardcoded signing secret. Use os.environ['SLACK_SIGNING_SECRET'].
1316
-
1317
- ### Webhook Without Signature Verification
1318
-
1319
- Severity: ERROR
1320
-
1321
- Slack webhooks must verify X-Slack-Signature
1322
-
1323
- Message: Webhook without signature verification. Use Bolt or verify manually.
1324
-
1325
- ### Slack Token in Client-Side Code
1326
-
1327
- Severity: ERROR
1328
-
1329
- Never expose Slack tokens to browsers
1330
-
1331
- Message: Slack credentials exposed client-side. Only use server-side.
1332
-
1333
- ### Slow Operation Before Acknowledgment
1334
-
1335
- Severity: WARNING
1336
-
1337
- ack() must be called before slow operations
1338
-
1339
- Message: Slow operation before ack(). Call ack() first, then process.
1340
-
1341
- ### Missing Acknowledgment Call
1342
-
1343
- Severity: WARNING
1344
-
1345
- Interactive handlers must call ack()
1346
-
1347
- Message: Handler missing ack() call. Must acknowledge within 3 seconds.
1348
-
1349
- ### OAuth Without State Validation
1350
-
1351
- Severity: ERROR
1352
-
1353
- OAuth callback must validate state parameter
1354
-
1355
- Message: OAuth without state validation. Vulnerable to CSRF attacks.
1356
-
1357
- ### Token Storage Without Encryption
1358
-
1359
- Severity: WARNING
1360
-
1361
- Tokens should be encrypted at rest
1362
-
1363
- Message: Token stored without encryption. Encrypt tokens at rest.
1364
-
1365
- ### Requesting Admin Scopes
1366
-
1367
- Severity: WARNING
1368
-
1369
- Avoid admin scopes unless absolutely necessary
1370
-
1371
- Message: Requesting admin scope. Use minimal required scopes.
1372
-
1373
- ### Potentially Unused Scope
1374
-
1375
- Severity: INFO
1376
-
1377
- Check if all requested scopes are used
1378
-
1379
- Message: Requesting users:read.email but may not use email. Verify necessity.
1380
-
1381
- ## Collaboration
1382
-
1383
- ### Delegation Triggers
1384
-
1385
- - user needs AI-powered Slack bot -> llm-architect (Integrate LLM for conversational Slack bot)
1386
- - user needs voice notifications -> twilio-communications (Escalate Slack alerts to SMS or voice calls)
1387
- - user needs workflow automation -> workflow-automation (Slack as trigger/action in n8n/Temporal workflows)
1388
- - user needs bot for Discord too -> discord-bot-architect (Cross-platform bot architecture)
1389
- - user needs full auth system -> auth-specialist (OAuth, workspace management, enterprise SSO)
1390
- - user needs database for bot data -> postgres-wizard (Store installations, user preferences, message history)
1391
- - user needs high availability -> devops (Scale webhooks, monitoring, alerting)
21
+ Read [the detailed guide](references/detailed-guide.md) before executing this skill. It retains the complete procedure and reference material. Treat its safety, prerequisites, and validation requirements as mandatory. For focused work, load the relevant sections; for end-to-end work, read the guide completely.
1392
22
 
1393
23
  ## When to Use
1394
24
  - User mentions or implies: slack bot