opencode-skills-collection 4.0.52 → 4.0.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1176) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +6 -2
  2. package/bundled-skills/00-andruia-consultant/SKILL.md +6 -0
  3. package/bundled-skills/007/SKILL.md +2 -610
  4. package/bundled-skills/007/references/detailed-guide.md +647 -0
  5. package/bundled-skills/10-andruia-skill-smith/SKILL.md +6 -0
  6. package/bundled-skills/20-andruia-niche-intelligence/SKILL.md +6 -0
  7. package/bundled-skills/2slides-ppt-generator/SKILL.md +2 -741
  8. package/bundled-skills/2slides-ppt-generator/references/detailed-guide.md +761 -0
  9. package/bundled-skills/ab-test-setup/SKILL.md +59 -27
  10. package/bundled-skills/ab-testing/SKILL.md +1 -1
  11. package/bundled-skills/acceptance-orchestrator/SKILL.md +6 -0
  12. package/bundled-skills/accint-commitments/SKILL.md +6 -0
  13. package/bundled-skills/accint-frames/SKILL.md +6 -0
  14. package/bundled-skills/accint-solve/SKILL.md +6 -0
  15. package/bundled-skills/advogado-criminal/SKILL.md +2 -912
  16. package/bundled-skills/advogado-criminal/references/detailed-guide.md +946 -0
  17. package/bundled-skills/advogado-especialista/SKILL.md +2 -1071
  18. package/bundled-skills/advogado-especialista/references/detailed-guide.md +1114 -0
  19. package/bundled-skills/agent-evaluation/SKILL.md +53 -1102
  20. package/bundled-skills/agent-evaluation/references/architecture-sketches.md +1112 -0
  21. package/bundled-skills/agent-memory/SKILL.md +6 -0
  22. package/bundled-skills/agent-memory-systems/SKILL.md +8 -1042
  23. package/bundled-skills/agent-memory-systems/references/detailed-guide.md +1088 -0
  24. package/bundled-skills/agent-squad/SKILL.md +1 -0
  25. package/bundled-skills/agent-tool-builder/SKILL.md +2 -624
  26. package/bundled-skills/agent-tool-builder/references/detailed-guide.md +650 -0
  27. package/bundled-skills/agentic-actions-auditor/SKILL.md +6 -0
  28. package/bundled-skills/agentmail/SKILL.md +1 -0
  29. package/bundled-skills/agentphone/SKILL.md +5 -1323
  30. package/bundled-skills/agentphone/references/detailed-guide.md +1333 -0
  31. package/bundled-skills/agents-v2-py/SKILL.md +23 -5
  32. package/bundled-skills/ai-agents-architect/SKILL.md +25 -25
  33. package/bundled-skills/ai-analyzer/SKILL.md +1 -0
  34. package/bundled-skills/ai-md/SKILL.md +25 -0
  35. package/bundled-skills/ai-md/references/detailed-guide.md +512 -0
  36. package/bundled-skills/ai-product/SKILL.md +2 -726
  37. package/bundled-skills/ai-product/references/detailed-guide.md +746 -0
  38. package/bundled-skills/ai-wrapper-product/SKILL.md +2 -641
  39. package/bundled-skills/ai-wrapper-product/references/detailed-guide.md +659 -0
  40. package/bundled-skills/airtable-automation/SKILL.md +6 -0
  41. package/bundled-skills/algolia-search/SKILL.md +2 -893
  42. package/bundled-skills/algolia-search/references/detailed-guide.md +901 -0
  43. package/bundled-skills/alpha-vantage/SKILL.md +1 -0
  44. package/bundled-skills/alternatives-pages/SKILL.md +7 -1
  45. package/bundled-skills/amazon-alexa/SKILL.md +2 -627
  46. package/bundled-skills/amazon-alexa/references/detailed-guide.md +644 -0
  47. package/bundled-skills/analytics/SKILL.md +1 -1
  48. package/bundled-skills/analytics-product/SKILL.md +57 -44
  49. package/bundled-skills/analytics-tracking/SKILL.md +21 -12
  50. package/bundled-skills/analyze-project/SKILL.md +1 -0
  51. package/bundled-skills/android-dev/SKILL.md +2 -490
  52. package/bundled-skills/android-dev/references/detailed-guide.md +506 -0
  53. package/bundled-skills/angular/SKILL.md +4 -783
  54. package/bundled-skills/angular/references/detailed-guide.md +801 -0
  55. package/bundled-skills/angular-best-practices/SKILL.md +4 -535
  56. package/bundled-skills/angular-best-practices/references/detailed-guide.md +549 -0
  57. package/bundled-skills/angular-state-management/SKILL.md +4 -608
  58. package/bundled-skills/angular-state-management/references/detailed-guide.md +618 -0
  59. package/bundled-skills/angular-ui-patterns/SKILL.md +2 -498
  60. package/bundled-skills/angular-ui-patterns/references/detailed-guide.md +513 -0
  61. package/bundled-skills/animejs-animation/SKILL.md +6 -0
  62. package/bundled-skills/anti-deception/SKILL.md +7 -1
  63. package/bundled-skills/antigravity-design-expert/SKILL.md +6 -0
  64. package/bundled-skills/antigravity-maintainer-batch-release/SKILL.md +7 -0
  65. package/bundled-skills/antigravity-workflows/SKILL.md +20 -3
  66. package/bundled-skills/antigravity-workflows/references/workflow-cards.md +78 -0
  67. package/bundled-skills/api-analyzer/SKILL.md +1 -1
  68. package/bundled-skills/api-designer/SKILL.md +1 -1
  69. package/bundled-skills/api-integration/SKILL.md +1 -1
  70. package/bundled-skills/api-onboarding/SKILL.md +1 -1
  71. package/bundled-skills/api-patterns/SKILL.md +19 -8
  72. package/bundled-skills/api-patterns/api-style.md +2 -2
  73. package/bundled-skills/api-patterns/auth.md +3 -2
  74. package/bundled-skills/api-patterns/graphql.md +1 -1
  75. package/bundled-skills/api-patterns/scripts/api_validator.py +9 -7
  76. package/bundled-skills/api-patterns/trpc.md +2 -2
  77. package/bundled-skills/api-patterns/versioning.md +1 -1
  78. package/bundled-skills/api-sdk-generator/SKILL.md +1 -1
  79. package/bundled-skills/api-security-best-practices/SKILL.md +179 -879
  80. package/bundled-skills/apify-actor-development/SKILL.md +1 -0
  81. package/bundled-skills/apify-actorization/SKILL.md +1 -0
  82. package/bundled-skills/apify-audience-analysis/SKILL.md +1 -0
  83. package/bundled-skills/apify-brand-reputation-monitoring/SKILL.md +1 -0
  84. package/bundled-skills/apify-competitor-intelligence/SKILL.md +1 -0
  85. package/bundled-skills/apify-content-analytics/SKILL.md +1 -0
  86. package/bundled-skills/apify-ecommerce/SKILL.md +1 -0
  87. package/bundled-skills/apify-influencer-discovery/SKILL.md +1 -0
  88. package/bundled-skills/apify-lead-generation/SKILL.md +1 -0
  89. package/bundled-skills/apify-market-research/SKILL.md +1 -0
  90. package/bundled-skills/apify-trend-analysis/SKILL.md +1 -0
  91. package/bundled-skills/apify-ultimate-scraper/SKILL.md +1 -0
  92. package/bundled-skills/appium-skill/SKILL.md +1 -1
  93. package/bundled-skills/apple-notes-search/SKILL.md +6 -0
  94. package/bundled-skills/application-performance-performance-optimization/SKILL.md +6 -0
  95. package/bundled-skills/applicationinsights-web-ts/SKILL.md +1 -1
  96. package/bundled-skills/ask-matt/SKILL.md +5 -0
  97. package/bundled-skills/ask-questions-if-underspecified/SKILL.md +1 -0
  98. package/bundled-skills/astropy/SKILL.md +1 -0
  99. package/bundled-skills/atlas-contract/SKILL.md +117 -0
  100. package/bundled-skills/atlas-contract/references/detailed-guide.md +572 -0
  101. package/bundled-skills/audio-transcriber/SKILL.md +2 -425
  102. package/bundled-skills/audio-transcriber/references/detailed-guide.md +430 -0
  103. package/bundled-skills/audit-context-building/SKILL.md +1 -0
  104. package/bundled-skills/auri-core/SKILL.md +5 -562
  105. package/bundled-skills/auri-core/references/detailed-guide.md +623 -0
  106. package/bundled-skills/auth-implementation-patterns/SKILL.md +14 -4
  107. package/bundled-skills/auth-implementation-patterns/resources/implementation-playbook.md +72 -180
  108. package/bundled-skills/automated-triage/SKILL.md +6 -0
  109. package/bundled-skills/autonomous-agent-patterns/SKILL.md +4 -741
  110. package/bundled-skills/autonomous-agent-patterns/references/detailed-guide.md +751 -0
  111. package/bundled-skills/autonomous-agents/SKILL.md +8 -1010
  112. package/bundled-skills/autonomous-agents/references/detailed-guide.md +1065 -0
  113. package/bundled-skills/awareness-stage-mapper/SKILL.md +6 -0
  114. package/bundled-skills/aws-agentic-ai/SKILL.md +7 -1
  115. package/bundled-skills/aws-cdk-development/SKILL.md +1 -1
  116. package/bundled-skills/aws-cost-operations/SKILL.md +1 -1
  117. package/bundled-skills/aws-mcp-setup/SKILL.md +1 -1
  118. package/bundled-skills/aws-serverless/SKILL.md +2 -1305
  119. package/bundled-skills/aws-serverless/references/detailed-guide.md +1340 -0
  120. package/bundled-skills/aws-serverless-eda/SKILL.md +1 -1
  121. package/bundled-skills/aws-skills/SKILL.md +6 -0
  122. package/bundled-skills/aws-sst-development/SKILL.md +7 -1
  123. package/bundled-skills/awt-e2e-testing/SKILL.md +7 -0
  124. package/bundled-skills/azure-functions/SKILL.md +2 -1321
  125. package/bundled-skills/azure-functions/references/detailed-guide.md +1356 -0
  126. package/bundled-skills/azure-maps-search-dotnet/SKILL.md +2 -482
  127. package/bundled-skills/azure-maps-search-dotnet/references/detailed-guide.md +496 -0
  128. package/bundled-skills/azure-search-documents-py/SKILL.md +2 -515
  129. package/bundled-skills/azure-search-documents-py/references/detailed-guide.md +548 -0
  130. package/bundled-skills/azure-storage-file-share-ts/SKILL.md +2 -481
  131. package/bundled-skills/azure-storage-file-share-ts/references/detailed-guide.md +500 -0
  132. package/bundled-skills/azure-storage-queue-ts/SKILL.md +2 -512
  133. package/bundled-skills/azure-storage-queue-ts/references/detailed-guide.md +530 -0
  134. package/bundled-skills/backend-development-feature-development/SKILL.md +6 -0
  135. package/bundled-skills/basecamp-automation/SKILL.md +6 -0
  136. package/bundled-skills/baseline-ui/SKILL.md +6 -0
  137. package/bundled-skills/bash-pro/SKILL.md +6 -0
  138. package/bundled-skills/bdi-mental-states/SKILL.md +1 -0
  139. package/bundled-skills/beautiful-prose/SKILL.md +1 -0
  140. package/bundled-skills/bill-gates/SKILL.md +2 -778
  141. package/bundled-skills/bill-gates/references/detailed-guide.md +784 -0
  142. package/bundled-skills/biopython/SKILL.md +1 -0
  143. package/bundled-skills/bitbucket-automation/SKILL.md +6 -0
  144. package/bundled-skills/blog-writing-guide/SKILL.md +6 -0
  145. package/bundled-skills/box-automation/SKILL.md +6 -0
  146. package/bundled-skills/brain-to-docs/SKILL.md +6 -0
  147. package/bundled-skills/brainstorming/SKILL.md +6 -0
  148. package/bundled-skills/brand-guidelines/SKILL.md +1 -0
  149. package/bundled-skills/brand-guidelines-anthropic/SKILL.md +23 -8
  150. package/bundled-skills/brand-guidelines-community/SKILL.md +23 -8
  151. package/bundled-skills/brand-perception-psychologist/SKILL.md +6 -0
  152. package/bundled-skills/brooks-audit/SKILL.md +1 -1
  153. package/bundled-skills/brooks-debt/SKILL.md +1 -1
  154. package/bundled-skills/brooks-harness/SKILL.md +1 -1
  155. package/bundled-skills/brooks-review/SKILL.md +7 -1
  156. package/bundled-skills/brooks-sweep/SKILL.md +1 -1
  157. package/bundled-skills/brooks-test/SKILL.md +1 -1
  158. package/bundled-skills/browser-automation/SKILL.md +18 -1044
  159. package/bundled-skills/browser-automation/references/detailed-guide.md +852 -0
  160. package/bundled-skills/bug-hunt-swarm/SKILL.md +7 -1
  161. package/bundled-skills/build/SKILL.md +5 -627
  162. package/bundled-skills/build/references/detailed-guide.md +637 -0
  163. package/bundled-skills/bun-development/SKILL.md +4 -678
  164. package/bundled-skills/bun-development/references/detailed-guide.md +691 -0
  165. package/bundled-skills/burpsuite-project-parser/SKILL.md +1 -0
  166. package/bundled-skills/c-pro/SKILL.md +6 -0
  167. package/bundled-skills/calendly-automation/SKILL.md +6 -0
  168. package/bundled-skills/cc-skill-backend-patterns/SKILL.md +2 -572
  169. package/bundled-skills/cc-skill-backend-patterns/references/detailed-guide.md +584 -0
  170. package/bundled-skills/cc-skill-coding-standards/SKILL.md +2 -510
  171. package/bundled-skills/cc-skill-coding-standards/references/detailed-guide.md +523 -0
  172. package/bundled-skills/cc-skill-continuous-learning/SKILL.md +49 -7
  173. package/bundled-skills/cc-skill-continuous-learning/config.json +1 -16
  174. package/bundled-skills/cc-skill-continuous-learning/evaluate-session.sh +56 -59
  175. package/bundled-skills/cc-skill-frontend-patterns/SKILL.md +2 -621
  176. package/bundled-skills/cc-skill-frontend-patterns/references/detailed-guide.md +633 -0
  177. package/bundled-skills/cc-skill-security-review/SKILL.md +4 -36
  178. package/bundled-skills/cc-skill-security-review/references/detailed-guide.md +40 -0
  179. package/bundled-skills/cc-skill-strategic-compact/SKILL.md +53 -7
  180. package/bundled-skills/cc-skill-strategic-compact/suggest-compact.sh +20 -51
  181. package/bundled-skills/changelog-updates/SKILL.md +6 -528
  182. package/bundled-skills/changelog-updates/references/detailed-guide.md +540 -0
  183. package/bundled-skills/chat-widget/SKILL.md +5 -879
  184. package/bundled-skills/chat-widget/references/detailed-guide.md +890 -0
  185. package/bundled-skills/cirq/SKILL.md +1 -0
  186. package/bundled-skills/citation-management/SKILL.md +3 -960
  187. package/bundled-skills/citation-management/references/detailed-guide.md +975 -0
  188. package/bundled-skills/ckw-design/SKILL.md +6 -0
  189. package/bundled-skills/claimable-postgres/SKILL.md +1 -1
  190. package/bundled-skills/clarity-gate/SKILL.md +3 -635
  191. package/bundled-skills/clarity-gate/references/detailed-guide.md +653 -0
  192. package/bundled-skills/claude-ally-health/SKILL.md +6 -0
  193. package/bundled-skills/claude-code-expert/SKILL.md +2 -527
  194. package/bundled-skills/claude-code-expert/references/detailed-guide.md +548 -0
  195. package/bundled-skills/claude-d3js-skill/SKILL.md +2 -798
  196. package/bundled-skills/claude-d3js-skill/references/detailed-guide.md +811 -0
  197. package/bundled-skills/claude-in-chrome-troubleshooting/SKILL.md +1 -0
  198. package/bundled-skills/claude-scientific-skills/SKILL.md +6 -0
  199. package/bundled-skills/claude-settings-audit/SKILL.md +1 -0
  200. package/bundled-skills/claude-speed-reader/SKILL.md +6 -0
  201. package/bundled-skills/claude-win11-speckit-update-skill/SKILL.md +6 -0
  202. package/bundled-skills/clean-code/SKILL.md +6 -0
  203. package/bundled-skills/clerk-auth/SKILL.md +2 -812
  204. package/bundled-skills/clerk-auth/references/detailed-guide.md +820 -0
  205. package/bundled-skills/clickup-automation/SKILL.md +6 -0
  206. package/bundled-skills/closed-loop-delivery/SKILL.md +6 -0
  207. package/bundled-skills/co-marketing/SKILL.md +1 -1
  208. package/bundled-skills/code-documentation-doc-generate/SKILL.md +16 -1
  209. package/bundled-skills/code-documentation-doc-generate/resources/implementation-playbook.md +33 -55
  210. package/bundled-skills/code-refactoring-context-restore/SKILL.md +40 -177
  211. package/bundled-skills/code-refactoring-tech-debt/SKILL.md +20 -9
  212. package/bundled-skills/code-simplifier/SKILL.md +1 -0
  213. package/bundled-skills/codebase-cleanup-tech-debt/SKILL.md +20 -9
  214. package/bundled-skills/cold-email/SKILL.md +6 -0
  215. package/bundled-skills/commit/SKILL.md +1 -0
  216. package/bundled-skills/community-building/SKILL.md +1 -1
  217. package/bundled-skills/competitor-alternatives/SKILL.md +2 -740
  218. package/bundled-skills/competitor-alternatives/references/detailed-guide.md +756 -0
  219. package/bundled-skills/competitor-profiling/SKILL.md +1 -1
  220. package/bundled-skills/competitor-tracking/SKILL.md +1 -1
  221. package/bundled-skills/comprehensive-review-full-review/SKILL.md +6 -0
  222. package/bundled-skills/comprehensive-review-pr-enhance/SKILL.md +1 -0
  223. package/bundled-skills/computer-use-agents/SKILL.md +2 -2131
  224. package/bundled-skills/computer-use-agents/references/detailed-guide.md +2158 -0
  225. package/bundled-skills/computer-vision-expert/SKILL.md +6 -0
  226. package/bundled-skills/conductor-setup/SKILL.md +1 -0
  227. package/bundled-skills/confluence-automation/SKILL.md +6 -0
  228. package/bundled-skills/constant-time-analysis/SKILL.md +1 -0
  229. package/bundled-skills/container-security-hardening/SKILL.md +4 -915
  230. package/bundled-skills/container-security-hardening/references/detailed-guide.md +927 -0
  231. package/bundled-skills/content-creator/SKILL.md +53 -23
  232. package/bundled-skills/content-creator/assets/content_calendar_template.md +5 -2
  233. package/bundled-skills/content-creator/references/brand_guidelines.md +7 -3
  234. package/bundled-skills/content-creator/references/content_frameworks.md +12 -7
  235. package/bundled-skills/content-creator/references/social_media_optimization.md +61 -317
  236. package/bundled-skills/content-creator/scripts/brand_voice_analyzer.py +14 -9
  237. package/bundled-skills/content-creator/scripts/seo_optimizer.py +31 -94
  238. package/bundled-skills/context-compression/SKILL.md +1 -0
  239. package/bundled-skills/context-degradation/SKILL.md +1 -0
  240. package/bundled-skills/context-fundamentals/SKILL.md +1 -0
  241. package/bundled-skills/context-management-context-restore/SKILL.md +40 -177
  242. package/bundled-skills/context-optimization/SKILL.md +1 -0
  243. package/bundled-skills/convex/SKILL.md +4 -766
  244. package/bundled-skills/convex/references/detailed-guide.md +772 -0
  245. package/bundled-skills/copilot-sdk/SKILL.md +4 -496
  246. package/bundled-skills/copilot-sdk/references/detailed-guide.md +516 -0
  247. package/bundled-skills/copy-editing/SKILL.md +6 -0
  248. package/bundled-skills/copywriting/SKILL.md +6 -0
  249. package/bundled-skills/copywriting-psychologist/SKILL.md +6 -0
  250. package/bundled-skills/create-branch/SKILL.md +1 -0
  251. package/bundled-skills/create-pr/SKILL.md +7 -0
  252. package/bundled-skills/cred-omega/SKILL.md +2 -847
  253. package/bundled-skills/cred-omega/references/detailed-guide.md +872 -0
  254. package/bundled-skills/cro/SKILL.md +1 -1
  255. package/bundled-skills/csharp-pro/SKILL.md +6 -0
  256. package/bundled-skills/cucumber-skill/SKILL.md +1 -1
  257. package/bundled-skills/customer-psychographic-profiler/SKILL.md +6 -0
  258. package/bundled-skills/customer-research/SKILL.md +1 -1
  259. package/bundled-skills/cv-generator/SKILL.md +4 -828
  260. package/bundled-skills/cv-generator/references/detailed-guide.md +845 -0
  261. package/bundled-skills/cypress-skill/SKILL.md +1 -1
  262. package/bundled-skills/daily-gift/SKILL.md +6 -0
  263. package/bundled-skills/debug-buttercup/SKILL.md +1 -0
  264. package/bundled-skills/debugger/SKILL.md +6 -0
  265. package/bundled-skills/debugging-code/SKILL.md +1 -1
  266. package/bundled-skills/deepapi/SKILL.md +4 -619
  267. package/bundled-skills/deepapi/references/detailed-guide.md +627 -0
  268. package/bundled-skills/delegating-to-agents/SKILL.md +6 -0
  269. package/bundled-skills/deployment-validation-config-validate/SKILL.md +4 -478
  270. package/bundled-skills/deployment-validation-config-validate/references/detailed-guide.md +484 -0
  271. package/bundled-skills/design-it/SKILL.md +6 -0
  272. package/bundled-skills/design-orchestration/SKILL.md +6 -0
  273. package/bundled-skills/design-spells/SKILL.md +6 -0
  274. package/bundled-skills/design-system/SKILL.md +7 -1
  275. package/bundled-skills/design-taste-frontend/SKILL.md +6 -0
  276. package/bundled-skills/design-thinking/SKILL.md +6 -0
  277. package/bundled-skills/design-ux/SKILL.md +7 -1
  278. package/bundled-skills/deterministic-design/SKILL.md +6 -0
  279. package/bundled-skills/developer-advocacy/SKILL.md +1 -1
  280. package/bundled-skills/developer-audience-context/SKILL.md +1 -1
  281. package/bundled-skills/developer-churn/SKILL.md +5 -625
  282. package/bundled-skills/developer-churn/references/detailed-guide.md +639 -0
  283. package/bundled-skills/developer-listening/SKILL.md +7 -1
  284. package/bundled-skills/developer-onboarding/SKILL.md +6 -474
  285. package/bundled-skills/developer-onboarding/references/detailed-guide.md +486 -0
  286. package/bundled-skills/developer-sandbox/SKILL.md +6 -414
  287. package/bundled-skills/developer-sandbox/references/detailed-guide.md +425 -0
  288. package/bundled-skills/developer-seo/SKILL.md +1 -1
  289. package/bundled-skills/developer-signup-flow/SKILL.md +1 -1
  290. package/bundled-skills/devrel-content/SKILL.md +1 -1
  291. package/bundled-skills/diagnosing-bugs/SKILL.md +5 -0
  292. package/bundled-skills/diary/SKILL.md +1 -0
  293. package/bundled-skills/differential-review/SKILL.md +1 -0
  294. package/bundled-skills/discord-automation/SKILL.md +6 -0
  295. package/bundled-skills/discord-bot-architect/SKILL.md +2 -1434
  296. package/bundled-skills/discord-bot-architect/references/detailed-guide.md +1465 -0
  297. package/bundled-skills/django-access-review/SKILL.md +1 -0
  298. package/bundled-skills/django-perf-review/SKILL.md +1 -0
  299. package/bundled-skills/doc-coauthoring/SKILL.md +6 -0
  300. package/bundled-skills/docs-architect/SKILL.md +6 -0
  301. package/bundled-skills/docs-as-marketing/SKILL.md +1 -1
  302. package/bundled-skills/documentation-generation-doc-generate/SKILL.md +16 -1
  303. package/bundled-skills/documentation-generation-doc-generate/resources/implementation-playbook.md +33 -55
  304. package/bundled-skills/doubt-driven-development/SKILL.md +1 -1
  305. package/bundled-skills/dropbox-automation/SKILL.md +6 -0
  306. package/bundled-skills/dwarf-expert/SKILL.md +1 -0
  307. package/bundled-skills/dx-optimizer/SKILL.md +6 -0
  308. package/bundled-skills/e2e-testing-patterns/SKILL.md +14 -4
  309. package/bundled-skills/e2e-testing-patterns/resources/implementation-playbook.md +22 -41
  310. package/bundled-skills/eas-update-insights/SKILL.md +1 -1
  311. package/bundled-skills/ecl-harness-engineer/SKILL.md +4 -681
  312. package/bundled-skills/ecl-harness-engineer/references/detailed-guide.md +691 -0
  313. package/bundled-skills/efficient-web-research/SKILL.md +1 -0
  314. package/bundled-skills/electron-development/SKILL.md +4 -820
  315. package/bundled-skills/electron-development/references/detailed-guide.md +828 -0
  316. package/bundled-skills/elixir-pro/SKILL.md +6 -0
  317. package/bundled-skills/elon-musk/SKILL.md +5 -1278
  318. package/bundled-skills/elon-musk/references/detailed-guide.md +1293 -0
  319. package/bundled-skills/email-sequence/SKILL.md +2 -915
  320. package/bundled-skills/email-sequence/references/detailed-guide.md +932 -0
  321. package/bundled-skills/email-systems/SKILL.md +2 -654
  322. package/bundled-skills/email-systems/references/detailed-guide.md +669 -0
  323. package/bundled-skills/emergency-card/SKILL.md +1 -0
  324. package/bundled-skills/emil-design-eng/SKILL.md +4 -673
  325. package/bundled-skills/emil-design-eng/references/detailed-guide.md +690 -0
  326. package/bundled-skills/emotional-arc-designer/SKILL.md +6 -0
  327. package/bundled-skills/enhance-prompt/SKILL.md +1 -0
  328. package/bundled-skills/entropy-box/SKILL.md +400 -0
  329. package/bundled-skills/entropy-box/references/api.md +196 -0
  330. package/bundled-skills/entropy-box/references/knowledge-compiler.md +61 -0
  331. package/bundled-skills/entropy-box/references/panorama.md +72 -0
  332. package/bundled-skills/error-debugging-error-analysis/SKILL.md +15 -0
  333. package/bundled-skills/error-debugging-error-analysis/resources/implementation-playbook.md +122 -1125
  334. package/bundled-skills/error-debugging-multi-agent-review/SKILL.md +42 -214
  335. package/bundled-skills/error-detective/SKILL.md +6 -0
  336. package/bundled-skills/error-diagnostics-error-analysis/SKILL.md +15 -0
  337. package/bundled-skills/error-diagnostics-error-analysis/resources/implementation-playbook.md +122 -1125
  338. package/bundled-skills/event-sourcing-architect/SKILL.md +6 -0
  339. package/bundled-skills/event-staffing-compliance/SKILL.md +6 -0
  340. package/bundled-skills/event-staffing-ordering/SKILL.md +6 -0
  341. package/bundled-skills/evolution/SKILL.md +1 -0
  342. package/bundled-skills/executing-plans/SKILL.md +6 -0
  343. package/bundled-skills/explain-like-socrates/SKILL.md +6 -0
  344. package/bundled-skills/expo-deployment/SKILL.md +1 -1
  345. package/bundled-skills/expo-examples/SKILL.md +1 -1
  346. package/bundled-skills/expo-module/SKILL.md +1 -1
  347. package/bundled-skills/expo-observe/SKILL.md +1 -1
  348. package/bundled-skills/expo-ui/SKILL.md +1 -1
  349. package/bundled-skills/expo-ui-jetpack-compose/SKILL.md +1 -0
  350. package/bundled-skills/expo-ui-swift-ui/SKILL.md +1 -0
  351. package/bundled-skills/fable-safe-prompt/SKILL.md +6 -0
  352. package/bundled-skills/fal-audio/SKILL.md +6 -0
  353. package/bundled-skills/fal-generate/SKILL.md +6 -0
  354. package/bundled-skills/fal-image-edit/SKILL.md +6 -0
  355. package/bundled-skills/fal-platform/SKILL.md +6 -0
  356. package/bundled-skills/fal-upscale/SKILL.md +6 -0
  357. package/bundled-skills/fal-workflow/SKILL.md +6 -0
  358. package/bundled-skills/family-health-analyzer/SKILL.md +1 -0
  359. package/bundled-skills/favicon/SKILL.md +1 -0
  360. package/bundled-skills/fda-food-safety-auditor/SKILL.md +1 -0
  361. package/bundled-skills/fda-medtech-compliance-auditor/SKILL.md +1 -0
  362. package/bundled-skills/ffuf-claude-skill/SKILL.md +6 -0
  363. package/bundled-skills/ffuf-web-fuzzing/SKILL.md +5 -492
  364. package/bundled-skills/ffuf-web-fuzzing/references/detailed-guide.md +510 -0
  365. package/bundled-skills/file-organizer/SKILL.md +6 -0
  366. package/bundled-skills/file-uploads/SKILL.md +6 -0
  367. package/bundled-skills/filesystem-context/SKILL.md +1 -0
  368. package/bundled-skills/find-bugs/SKILL.md +7 -0
  369. package/bundled-skills/firebase/SKILL.md +8 -651
  370. package/bundled-skills/firebase/references/detailed-guide.md +662 -0
  371. package/bundled-skills/fitness-analyzer/SKILL.md +1 -0
  372. package/bundled-skills/fix-review/SKILL.md +6 -0
  373. package/bundled-skills/fixing-metadata/SKILL.md +7 -1
  374. package/bundled-skills/food-database-query/SKILL.md +5 -772
  375. package/bundled-skills/food-database-query/references/detailed-guide.md +785 -0
  376. package/bundled-skills/form-cro/SKILL.md +6 -0
  377. package/bundled-skills/fp-async/SKILL.md +5 -716
  378. package/bundled-skills/fp-async/references/detailed-guide.md +726 -0
  379. package/bundled-skills/fp-backend/SKILL.md +5 -1313
  380. package/bundled-skills/fp-backend/references/detailed-guide.md +1323 -0
  381. package/bundled-skills/fp-data-transforms/SKILL.md +5 -1181
  382. package/bundled-skills/fp-data-transforms/references/detailed-guide.md +1190 -0
  383. package/bundled-skills/fp-either-ref/SKILL.md +1 -0
  384. package/bundled-skills/fp-errors/SKILL.md +5 -835
  385. package/bundled-skills/fp-errors/references/detailed-guide.md +846 -0
  386. package/bundled-skills/fp-option-ref/SKILL.md +1 -0
  387. package/bundled-skills/fp-pipe-ref/SKILL.md +1 -0
  388. package/bundled-skills/fp-pragmatic/SKILL.md +5 -500
  389. package/bundled-skills/fp-pragmatic/references/detailed-guide.md +510 -0
  390. package/bundled-skills/fp-react/SKILL.md +3 -761
  391. package/bundled-skills/fp-react/references/detailed-guide.md +775 -0
  392. package/bundled-skills/fp-refactor/SKILL.md +5 -1761
  393. package/bundled-skills/fp-refactor/references/detailed-guide.md +1775 -0
  394. package/bundled-skills/fp-taskeither-ref/SKILL.md +1 -0
  395. package/bundled-skills/fp-ts-errors/SKILL.md +4 -835
  396. package/bundled-skills/fp-ts-errors/references/detailed-guide.md +846 -0
  397. package/bundled-skills/fp-ts-pragmatic/SKILL.md +4 -500
  398. package/bundled-skills/fp-ts-pragmatic/references/detailed-guide.md +510 -0
  399. package/bundled-skills/fp-ts-react/SKILL.md +4 -763
  400. package/bundled-skills/fp-ts-react/references/detailed-guide.md +775 -0
  401. package/bundled-skills/fp-types-ref/SKILL.md +1 -0
  402. package/bundled-skills/framework-migration-legacy-modernize/SKILL.md +6 -0
  403. package/bundled-skills/free-tool-strategy/SKILL.md +2 -532
  404. package/bundled-skills/free-tool-strategy/references/detailed-guide.md +550 -0
  405. package/bundled-skills/freshdesk-automation/SKILL.md +6 -0
  406. package/bundled-skills/frontend-architecture/SKILL.md +1 -1
  407. package/bundled-skills/frontend-data-contracts/SKILL.md +1 -1
  408. package/bundled-skills/frontend-design/SKILL.md +33 -34
  409. package/bundled-skills/frontend-observability/SKILL.md +1 -1
  410. package/bundled-skills/frontend-optimistic-mutations/SKILL.md +1 -1
  411. package/bundled-skills/frontend-seo/SKILL.md +6 -675
  412. package/bundled-skills/frontend-seo/references/detailed-guide.md +688 -0
  413. package/bundled-skills/frontend-slides-frontend-slides/SKILL.md +7 -1
  414. package/bundled-skills/frontend-ui-dark-ts/SKILL.md +2 -561
  415. package/bundled-skills/frontend-ui-dark-ts/references/detailed-guide.md +573 -0
  416. package/bundled-skills/full-stack-orchestration-full-stack-feature/SKILL.md +6 -0
  417. package/bundled-skills/game-development/2d-games/SKILL.md +6 -0
  418. package/bundled-skills/game-development/mobile-games/SKILL.md +6 -0
  419. package/bundled-skills/game-development/vr-ar/SKILL.md +6 -0
  420. package/bundled-skills/gcp-cloud-run/SKILL.md +2 -1303
  421. package/bundled-skills/gcp-cloud-run/references/detailed-guide.md +1350 -0
  422. package/bundled-skills/gemini-api-dev/SKILL.md +1 -1
  423. package/bundled-skills/gemini-live-api-dev/SKILL.md +1 -1
  424. package/bundled-skills/gemini-omni-flash-api/SKILL.md +1 -1
  425. package/bundled-skills/geo-fundamentals/SKILL.md +6 -0
  426. package/bundled-skills/geoffrey-hinton/SKILL.md +5 -1235
  427. package/bundled-skills/geoffrey-hinton/references/detailed-guide.md +1324 -0
  428. package/bundled-skills/gh-review-requests/SKILL.md +1 -0
  429. package/bundled-skills/github-actions-advanced/SKILL.md +4 -971
  430. package/bundled-skills/github-actions-advanced/references/detailed-guide.md +991 -0
  431. package/bundled-skills/github-automation/SKILL.md +6 -0
  432. package/bundled-skills/github-workflow-automation/SKILL.md +4 -826
  433. package/bundled-skills/github-workflow-automation/references/detailed-guide.md +832 -0
  434. package/bundled-skills/gitlab-automation/SKILL.md +6 -0
  435. package/bundled-skills/gmail-automation/SKILL.md +1 -0
  436. package/bundled-skills/go-rod-master/SKILL.md +2 -496
  437. package/bundled-skills/go-rod-master/references/detailed-guide.md +508 -0
  438. package/bundled-skills/goal-analyzer/SKILL.md +5 -596
  439. package/bundled-skills/goal-analyzer/references/detailed-guide.md +602 -0
  440. package/bundled-skills/google-calendar-automation/SKILL.md +1 -0
  441. package/bundled-skills/google-docs-automation/SKILL.md +1 -0
  442. package/bundled-skills/google-drive-automation/SKILL.md +1 -0
  443. package/bundled-skills/google-sheets-automation/SKILL.md +1 -0
  444. package/bundled-skills/google-slides-automation/SKILL.md +1 -0
  445. package/bundled-skills/googlesheets-automation/SKILL.md +6 -0
  446. package/bundled-skills/gpt-taste/SKILL.md +6 -0
  447. package/bundled-skills/graphql/SKILL.md +8 -1031
  448. package/bundled-skills/graphql/references/detailed-guide.md +1044 -0
  449. package/bundled-skills/grill-me/SKILL.md +5 -0
  450. package/bundled-skills/grill-with-docs/SKILL.md +5 -0
  451. package/bundled-skills/grilling/SKILL.md +5 -0
  452. package/bundled-skills/growth-engine/SKILL.md +6 -0
  453. package/bundled-skills/handoff/SKILL.md +5 -0
  454. package/bundled-skills/haskell-pro/SKILL.md +6 -0
  455. package/bundled-skills/headline-psychologist/SKILL.md +6 -0
  456. package/bundled-skills/health-trend-analyzer/SKILL.md +1 -0
  457. package/bundled-skills/hig-components-content/SKILL.md +6 -0
  458. package/bundled-skills/hig-components-controls/SKILL.md +6 -0
  459. package/bundled-skills/hig-components-dialogs/SKILL.md +6 -0
  460. package/bundled-skills/hig-components-layout/SKILL.md +6 -0
  461. package/bundled-skills/hig-components-menus/SKILL.md +6 -0
  462. package/bundled-skills/hig-components-search/SKILL.md +6 -0
  463. package/bundled-skills/hig-components-status/SKILL.md +6 -0
  464. package/bundled-skills/hig-components-system/SKILL.md +6 -0
  465. package/bundled-skills/hig-foundations/SKILL.md +6 -0
  466. package/bundled-skills/hig-inputs/SKILL.md +6 -0
  467. package/bundled-skills/hig-patterns/SKILL.md +6 -0
  468. package/bundled-skills/hig-platforms/SKILL.md +6 -0
  469. package/bundled-skills/hig-technologies/SKILL.md +6 -0
  470. package/bundled-skills/high-end-visual-design/SKILL.md +6 -0
  471. package/bundled-skills/hosted-agents/SKILL.md +7 -0
  472. package/bundled-skills/hosted-agents-v2-py/SKILL.md +23 -5
  473. package/bundled-skills/html-injection-testing/SKILL.md +2 -453
  474. package/bundled-skills/html-injection-testing/references/detailed-guide.md +462 -0
  475. package/bundled-skills/hubspot-automation/SKILL.md +6 -0
  476. package/bundled-skills/hubspot-integration/SKILL.md +8 -807
  477. package/bundled-skills/hubspot-integration/references/detailed-guide.md +815 -0
  478. package/bundled-skills/hugging-face-cli/SKILL.md +7 -1
  479. package/bundled-skills/hugging-face-community-evals/SKILL.md +1 -1
  480. package/bundled-skills/hugging-face-datasets/SKILL.md +5 -430
  481. package/bundled-skills/hugging-face-datasets/references/detailed-guide.md +442 -0
  482. package/bundled-skills/hugging-face-evaluation/SKILL.md +5 -640
  483. package/bundled-skills/hugging-face-evaluation/references/detailed-guide.md +652 -0
  484. package/bundled-skills/hugging-face-jobs/SKILL.md +3 -801
  485. package/bundled-skills/hugging-face-jobs/references/detailed-guide.md +821 -0
  486. package/bundled-skills/hugging-face-model-trainer/SKILL.md +3 -681
  487. package/bundled-skills/hugging-face-model-trainer/references/detailed-guide.md +702 -0
  488. package/bundled-skills/hugging-face-paper-publisher/SKILL.md +5 -617
  489. package/bundled-skills/hugging-face-paper-publisher/references/detailed-guide.md +624 -0
  490. package/bundled-skills/hugging-face-papers/SKILL.md +1 -1
  491. package/bundled-skills/hugging-face-tool-builder/SKILL.md +1 -0
  492. package/bundled-skills/hugging-face-trackio/SKILL.md +1 -1
  493. package/bundled-skills/hugging-face-vision-trainer/SKILL.md +5 -534
  494. package/bundled-skills/hugging-face-vision-trainer/references/detailed-guide.md +549 -0
  495. package/bundled-skills/huggingface-best/SKILL.md +1 -1
  496. package/bundled-skills/huggingface-lora-space-builder/SKILL.md +1 -1
  497. package/bundled-skills/huggingface-spaces/SKILL.md +1 -1
  498. package/bundled-skills/huggingface-tool-builder/SKILL.md +1 -1
  499. package/bundled-skills/huggingface-zerogpu/SKILL.md +1 -1
  500. package/bundled-skills/hugo-to-markdown/SKILL.md +1 -1
  501. package/bundled-skills/hyperexecute-skill/SKILL.md +7 -1
  502. package/bundled-skills/iconsax-library/SKILL.md +6 -0
  503. package/bundled-skills/idea-refine/SKILL.md +1 -1
  504. package/bundled-skills/identity-mirror/SKILL.md +6 -0
  505. package/bundled-skills/ilya-sutskever/SKILL.md +2 -1126
  506. package/bundled-skills/ilya-sutskever/references/detailed-guide.md +1167 -0
  507. package/bundled-skills/image-generator/SKILL.md +4 -320
  508. package/bundled-skills/image-generator/references/detailed-guide.md +332 -0
  509. package/bundled-skills/implement/SKILL.md +6 -0
  510. package/bundled-skills/incident-responder/SKILL.md +6 -0
  511. package/bundled-skills/incident-response-incident-response/SKILL.md +6 -0
  512. package/bundled-skills/industrial-brutalist-ui/SKILL.md +6 -0
  513. package/bundled-skills/interactive-portfolio/SKILL.md +2 -482
  514. package/bundled-skills/interactive-portfolio/references/detailed-guide.md +500 -0
  515. package/bundled-skills/internal-comms/SKILL.md +20 -1
  516. package/bundled-skills/internal-comms/examples/3p-updates.md +5 -4
  517. package/bundled-skills/internal-comms/examples/company-newsletter.md +3 -2
  518. package/bundled-skills/internal-comms/examples/faq-answers.md +1 -0
  519. package/bundled-skills/internal-comms/examples/general-comms.md +1 -0
  520. package/bundled-skills/internal-comms-anthropic/SKILL.md +21 -2
  521. package/bundled-skills/internal-comms-anthropic/examples/3p-updates.md +5 -4
  522. package/bundled-skills/internal-comms-anthropic/examples/company-newsletter.md +3 -2
  523. package/bundled-skills/internal-comms-anthropic/examples/faq-answers.md +1 -0
  524. package/bundled-skills/internal-comms-anthropic/examples/general-comms.md +1 -0
  525. package/bundled-skills/internal-comms-community/SKILL.md +21 -2
  526. package/bundled-skills/internal-comms-community/examples/3p-updates.md +48 -0
  527. package/bundled-skills/internal-comms-community/examples/company-newsletter.md +66 -0
  528. package/bundled-skills/internal-comms-community/examples/faq-answers.md +31 -0
  529. package/bundled-skills/internal-comms-community/examples/general-comms.md +17 -0
  530. package/bundled-skills/ios-debugger-agent/SKILL.md +6 -0
  531. package/bundled-skills/issues/SKILL.md +1 -0
  532. package/bundled-skills/iterate-pr/SKILL.md +1 -0
  533. package/bundled-skills/javascript-mastery/SKILL.md +4 -625
  534. package/bundled-skills/javascript-mastery/references/detailed-guide.md +636 -0
  535. package/bundled-skills/javascript-pro/SKILL.md +6 -0
  536. package/bundled-skills/jest-skill/SKILL.md +1 -1
  537. package/bundled-skills/jira-automation/SKILL.md +6 -0
  538. package/bundled-skills/jobs-to-be-done-analyst/SKILL.md +6 -0
  539. package/bundled-skills/junit-5-skill/SKILL.md +1 -1
  540. package/bundled-skills/k6-load-testing/SKILL.md +2 -544
  541. package/bundled-skills/k6-load-testing/references/detailed-guide.md +563 -0
  542. package/bundled-skills/kaizen/SKILL.md +2 -711
  543. package/bundled-skills/kaizen/references/detailed-guide.md +720 -0
  544. package/bundled-skills/langfuse/SKILL.md +41 -468
  545. package/bundled-skills/langgraph/SKILL.md +2 -445
  546. package/bundled-skills/langgraph/references/detailed-guide.md +455 -0
  547. package/bundled-skills/laravel-development-workflow/SKILL.md +106 -0
  548. package/bundled-skills/laravel-expert/SKILL.md +6 -0
  549. package/bundled-skills/launch-strategy/SKILL.md +6 -0
  550. package/bundled-skills/lead-magnets/SKILL.md +6 -0
  551. package/bundled-skills/learn/SKILL.md +5 -0
  552. package/bundled-skills/legacy-modernizer/SKILL.md +6 -0
  553. package/bundled-skills/legal-advisor/SKILL.md +6 -0
  554. package/bundled-skills/leiloeiro-avaliacao/SKILL.md +2 -469
  555. package/bundled-skills/leiloeiro-avaliacao/references/detailed-guide.md +503 -0
  556. package/bundled-skills/leiloeiro-edital/SKILL.md +2 -468
  557. package/bundled-skills/leiloeiro-edital/references/detailed-guide.md +491 -0
  558. package/bundled-skills/leiloeiro-mercado/SKILL.md +2 -458
  559. package/bundled-skills/leiloeiro-mercado/references/detailed-guide.md +488 -0
  560. package/bundled-skills/leiloeiro-risco/SKILL.md +2 -457
  561. package/bundled-skills/leiloeiro-risco/references/detailed-guide.md +482 -0
  562. package/bundled-skills/lesson-generator/SKILL.md +5 -0
  563. package/bundled-skills/lightning-architecture-review/SKILL.md +6 -0
  564. package/bundled-skills/lightning-channel-factories/SKILL.md +6 -0
  565. package/bundled-skills/lightning-factory-explainer/SKILL.md +6 -0
  566. package/bundled-skills/linear-claude-skill/SKILL.md +4 -502
  567. package/bundled-skills/linear-claude-skill/references/detailed-guide.md +517 -0
  568. package/bundled-skills/linkedin-cli/SKILL.md +4 -513
  569. package/bundled-skills/linkedin-cli/references/detailed-guide.md +520 -0
  570. package/bundled-skills/lint-and-validate/SKILL.md +6 -0
  571. package/bundled-skills/linux-privilege-escalation/SKILL.md +2 -426
  572. package/bundled-skills/linux-privilege-escalation/references/detailed-guide.md +436 -0
  573. package/bundled-skills/linux-shell-scripting/SKILL.md +2 -473
  574. package/bundled-skills/linux-shell-scripting/references/detailed-guide.md +481 -0
  575. package/bundled-skills/llm-app-patterns/SKILL.md +16 -741
  576. package/bundled-skills/llm-app-patterns/references/detailed-guide.md +760 -0
  577. package/bundled-skills/llm-council/SKILL.md +4 -550
  578. package/bundled-skills/llm-council/references/detailed-guide.md +556 -0
  579. package/bundled-skills/llm-ops/SKILL.md +6 -0
  580. package/bundled-skills/local-legal-seo-audit/SKILL.md +6 -0
  581. package/bundled-skills/logic-diff/SKILL.md +1 -1
  582. package/bundled-skills/logic-explain/SKILL.md +7 -1
  583. package/bundled-skills/logic-fix-all/SKILL.md +1 -1
  584. package/bundled-skills/logic-locate/SKILL.md +1 -1
  585. package/bundled-skills/logic-review/SKILL.md +1 -1
  586. package/bundled-skills/loki-mode/SKILL.md +4 -696
  587. package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +13 -12
  588. package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package.json +1 -1
  589. package/bundled-skills/loki-mode/references/detailed-guide.md +717 -0
  590. package/bundled-skills/longbridge-content/SKILL.md +1 -1
  591. package/bundled-skills/longbridge-fundamentals/SKILL.md +1 -1
  592. package/bundled-skills/longbridge-market-data/SKILL.md +1 -1
  593. package/bundled-skills/lookdev-auto/SKILL.md +6 -0
  594. package/bundled-skills/loopy/SKILL.md +1 -1
  595. package/bundled-skills/loss-aversion-designer/SKILL.md +6 -0
  596. package/bundled-skills/machine-learning-ops-ml-pipeline/SKILL.md +6 -0
  597. package/bundled-skills/magic-animator/SKILL.md +6 -0
  598. package/bundled-skills/magic-ui-generator/SKILL.md +6 -0
  599. package/bundled-skills/mailtrap-setting-up-sending-domain/SKILL.md +6 -0
  600. package/bundled-skills/makepad-animation/SKILL.md +1 -0
  601. package/bundled-skills/makepad-basics/SKILL.md +1 -0
  602. package/bundled-skills/makepad-deployment/SKILL.md +1 -0
  603. package/bundled-skills/makepad-dsl/SKILL.md +1 -0
  604. package/bundled-skills/makepad-event-action/SKILL.md +1 -0
  605. package/bundled-skills/makepad-font/SKILL.md +1 -0
  606. package/bundled-skills/makepad-layout/SKILL.md +1 -0
  607. package/bundled-skills/makepad-platform/SKILL.md +1 -0
  608. package/bundled-skills/makepad-reference/SKILL.md +1 -0
  609. package/bundled-skills/makepad-shaders/SKILL.md +1 -0
  610. package/bundled-skills/makepad-skills/SKILL.md +6 -0
  611. package/bundled-skills/makepad-splash/SKILL.md +1 -0
  612. package/bundled-skills/makepad-widgets/SKILL.md +1 -0
  613. package/bundled-skills/manage-skills/SKILL.md +1 -0
  614. package/bundled-skills/marketing-plan/SKILL.md +1 -1
  615. package/bundled-skills/matematico-tao/SKILL.md +2 -632
  616. package/bundled-skills/matematico-tao/references/detailed-guide.md +651 -0
  617. package/bundled-skills/matplotlib/SKILL.md +1 -0
  618. package/bundled-skills/maxia/SKILL.md +1 -0
  619. package/bundled-skills/mcp-builder/SKILL.md +46 -14
  620. package/bundled-skills/mcp-builder/reference/evaluation.md +69 -226
  621. package/bundled-skills/mcp-builder/reference/mcp_best_practices.md +8 -5
  622. package/bundled-skills/mcp-builder/reference/node_mcp_server.md +46 -144
  623. package/bundled-skills/mcp-builder/reference/python_mcp_server.md +42 -80
  624. package/bundled-skills/mcp-builder/scripts/connections.py +18 -11
  625. package/bundled-skills/mcp-builder/scripts/evaluation.py +88 -95
  626. package/bundled-skills/mcp-builder/scripts/example_evaluation.xml +1 -1
  627. package/bundled-skills/mcp-builder/scripts/requirements.txt +4 -2
  628. package/bundled-skills/mental-health-analyzer/SKILL.md +5 -974
  629. package/bundled-skills/mental-health-analyzer/references/detailed-guide.md +1014 -0
  630. package/bundled-skills/micro-saas-launcher/SKILL.md +2 -473
  631. package/bundled-skills/micro-saas-launcher/references/detailed-guide.md +491 -0
  632. package/bundled-skills/minecraft-bukkit-pro/SKILL.md +6 -0
  633. package/bundled-skills/minimalist-ui/SKILL.md +6 -0
  634. package/bundled-skills/moatmri/SKILL.md +6 -0
  635. package/bundled-skills/molykit/SKILL.md +1 -0
  636. package/bundled-skills/monday-automation/SKILL.md +6 -0
  637. package/bundled-skills/monopoly/SKILL.md +1 -0
  638. package/bundled-skills/monopoly/patterns/SKILL.md +1 -0
  639. package/bundled-skills/monopoly/scale-benchmarks/SKILL.md +1 -0
  640. package/bundled-skills/monopoly/security-checklist/SKILL.md +6 -0
  641. package/bundled-skills/monopoly/tech-matrix/SKILL.md +1 -0
  642. package/bundled-skills/monorepo-architect/SKILL.md +6 -0
  643. package/bundled-skills/monte-carlo-analyze-root-cause/SKILL.md +1 -1
  644. package/bundled-skills/monte-carlo-performance-diagnosis/SKILL.md +7 -1
  645. package/bundled-skills/monte-carlo-validation-notebook/SKILL.md +4 -601
  646. package/bundled-skills/monte-carlo-validation-notebook/references/detailed-guide.md +613 -0
  647. package/bundled-skills/moodle-external-api-development/SKILL.md +4 -517
  648. package/bundled-skills/moodle-external-api-development/references/detailed-guide.md +529 -0
  649. package/bundled-skills/multi-agent-architect/SKILL.md +1 -0
  650. package/bundled-skills/multi-agent-brainstorming/SKILL.md +6 -0
  651. package/bundled-skills/multi-agent-patterns/SKILL.md +1 -0
  652. package/bundled-skills/multi-platform-apps-multi-platform/SKILL.md +6 -0
  653. package/bundled-skills/n8n-code-javascript/SKILL.md +3 -667
  654. package/bundled-skills/n8n-code-javascript/references/detailed-guide.md +683 -0
  655. package/bundled-skills/n8n-code-python/SKILL.md +3 -664
  656. package/bundled-skills/n8n-code-python/references/detailed-guide.md +682 -0
  657. package/bundled-skills/n8n-expression-syntax/SKILL.md +5 -401
  658. package/bundled-skills/n8n-expression-syntax/references/detailed-guide.md +416 -0
  659. package/bundled-skills/n8n-mcp-tools-expert/SKILL.md +5 -485
  660. package/bundled-skills/n8n-mcp-tools-expert/references/detailed-guide.md +499 -0
  661. package/bundled-skills/n8n-node-configuration/SKILL.md +5 -775
  662. package/bundled-skills/n8n-node-configuration/references/detailed-guide.md +789 -0
  663. package/bundled-skills/n8n-validation-expert/SKILL.md +5 -679
  664. package/bundled-skills/n8n-validation-expert/references/detailed-guide.md +694 -0
  665. package/bundled-skills/n8n-workflow-patterns/SKILL.md +1 -0
  666. package/bundled-skills/nanobanana-ppt-skills/SKILL.md +6 -0
  667. package/bundled-skills/native-data-fetching/SKILL.md +2 -456
  668. package/bundled-skills/native-data-fetching/references/detailed-guide.md +465 -0
  669. package/bundled-skills/neon-ai-gateway/SKILL.md +1 -1
  670. package/bundled-skills/neon-functions/SKILL.md +1 -1
  671. package/bundled-skills/neon-object-storage/SKILL.md +1 -1
  672. package/bundled-skills/neon-postgres/SKILL.md +1 -1
  673. package/bundled-skills/neon-postgres-branches/SKILL.md +1 -1
  674. package/bundled-skills/neon-postgres-egress-optimizer/SKILL.md +1 -1
  675. package/bundled-skills/nerdzao-elite/SKILL.md +6 -0
  676. package/bundled-skills/nerdzao-elite-gemini-high/SKILL.md +6 -0
  677. package/bundled-skills/nestjs-expert/SKILL.md +2 -524
  678. package/bundled-skills/nestjs-expert/references/detailed-guide.md +539 -0
  679. package/bundled-skills/networkx/SKILL.md +1 -0
  680. package/bundled-skills/new-rails-project/SKILL.md +7 -0
  681. package/bundled-skills/newman-cicd-integration/SKILL.md +1 -1
  682. package/bundled-skills/nika/SKILL.md +1 -0
  683. package/bundled-skills/nosql-expert/SKILL.md +6 -0
  684. package/bundled-skills/not-a-vibe-coder/SKILL.md +7 -0
  685. package/bundled-skills/notion-template-business/SKILL.md +2 -505
  686. package/bundled-skills/notion-template-business/references/detailed-guide.md +523 -0
  687. package/bundled-skills/nutrition-analyzer/SKILL.md +5 -766
  688. package/bundled-skills/nutrition-analyzer/references/detailed-guide.md +775 -0
  689. package/bundled-skills/objection-preemptor/SKILL.md +6 -0
  690. package/bundled-skills/observability-and-instrumentation/SKILL.md +1 -1
  691. package/bundled-skills/observability-engineer/SKILL.md +16 -8
  692. package/bundled-skills/obsidian-bases/SKILL.md +4 -366
  693. package/bundled-skills/obsidian-bases/references/detailed-guide.md +380 -0
  694. package/bundled-skills/occupational-health-analyzer/SKILL.md +1 -0
  695. package/bundled-skills/odoo-accounting-setup/SKILL.md +1 -0
  696. package/bundled-skills/odoo-automated-tests/SKILL.md +1 -0
  697. package/bundled-skills/odoo-backup-strategy/SKILL.md +1 -0
  698. package/bundled-skills/odoo-docker-deployment/SKILL.md +1 -0
  699. package/bundled-skills/odoo-ecommerce-configurator/SKILL.md +1 -0
  700. package/bundled-skills/odoo-edi-connector/SKILL.md +1 -0
  701. package/bundled-skills/odoo-hr-payroll-setup/SKILL.md +1 -0
  702. package/bundled-skills/odoo-inventory-optimizer/SKILL.md +1 -0
  703. package/bundled-skills/odoo-l10n-compliance/SKILL.md +1 -0
  704. package/bundled-skills/odoo-manufacturing-advisor/SKILL.md +1 -0
  705. package/bundled-skills/odoo-migration-helper/SKILL.md +1 -0
  706. package/bundled-skills/odoo-module-developer/SKILL.md +1 -0
  707. package/bundled-skills/odoo-orm-expert/SKILL.md +1 -0
  708. package/bundled-skills/odoo-performance-tuner/SKILL.md +1 -0
  709. package/bundled-skills/odoo-project-timesheet/SKILL.md +1 -0
  710. package/bundled-skills/odoo-purchase-workflow/SKILL.md +1 -0
  711. package/bundled-skills/odoo-qweb-templates/SKILL.md +1 -0
  712. package/bundled-skills/odoo-rpc-api/SKILL.md +1 -0
  713. package/bundled-skills/odoo-sales-crm-expert/SKILL.md +1 -0
  714. package/bundled-skills/odoo-security-rules/SKILL.md +1 -0
  715. package/bundled-skills/odoo-shopify-integration/SKILL.md +1 -0
  716. package/bundled-skills/odoo-upgrade-advisor/SKILL.md +1 -0
  717. package/bundled-skills/odoo-woocommerce-bridge/SKILL.md +1 -0
  718. package/bundled-skills/odoo-xml-views-builder/SKILL.md +1 -0
  719. package/bundled-skills/odw/SKILL.md +6 -0
  720. package/bundled-skills/offers/SKILL.md +1 -1
  721. package/bundled-skills/onboarding/SKILL.md +1 -1
  722. package/bundled-skills/onboarding-psychologist/SKILL.md +6 -0
  723. package/bundled-skills/one-drive-automation/SKILL.md +6 -0
  724. package/bundled-skills/openapi-spec-generator/SKILL.md +1 -1
  725. package/bundled-skills/oral-health-analyzer/SKILL.md +8 -515
  726. package/bundled-skills/oral-health-analyzer/references/detailed-guide.md +529 -0
  727. package/bundled-skills/orca-replay/SKILL.md +284 -0
  728. package/bundled-skills/outlook-automation/SKILL.md +6 -0
  729. package/bundled-skills/pagespeed-enhancer/SKILL.md +4 -520
  730. package/bundled-skills/pagespeed-enhancer/references/detailed-guide.md +533 -0
  731. package/bundled-skills/paid-ads/SKILL.md +2 -541
  732. package/bundled-skills/paid-ads/references/detailed-guide.md +558 -0
  733. package/bundled-skills/parallel-search-mcp/SKILL.md +134 -0
  734. package/bundled-skills/payment-integration/SKILL.md +6 -0
  735. package/bundled-skills/paywall-upgrade-cro/SKILL.md +2 -560
  736. package/bundled-skills/paywall-upgrade-cro/references/detailed-guide.md +579 -0
  737. package/bundled-skills/performance-testing-review-multi-agent-review/SKILL.md +42 -214
  738. package/bundled-skills/personal-tool-builder/SKILL.md +2 -688
  739. package/bundled-skills/personal-tool-builder/references/detailed-guide.md +705 -0
  740. package/bundled-skills/phase-gated-debugging/SKILL.md +6 -0
  741. package/bundled-skills/photopea-embedded-editor/SKILL.md +3 -1218
  742. package/bundled-skills/photopea-embedded-editor/references/detailed-guide.md +1252 -0
  743. package/bundled-skills/php-pro/SKILL.md +6 -0
  744. package/bundled-skills/pi-custom-model/SKILL.md +6 -0
  745. package/bundled-skills/pipedrive-automation/SKILL.md +6 -0
  746. package/bundled-skills/pitch-psychologist/SKILL.md +6 -0
  747. package/bundled-skills/plaid-fintech/SKILL.md +8 -829
  748. package/bundled-skills/plaid-fintech/references/detailed-guide.md +837 -0
  749. package/bundled-skills/plotly/SKILL.md +1 -0
  750. package/bundled-skills/polars/SKILL.md +1 -0
  751. package/bundled-skills/popup-cro/SKILL.md +6 -0
  752. package/bundled-skills/posix-shell-pro/SKILL.md +6 -0
  753. package/bundled-skills/postgresql-cli/SKILL.md +1 -1
  754. package/bundled-skills/postman-collection-generator/SKILL.md +1 -1
  755. package/bundled-skills/postman-newman-automation/SKILL.md +1 -1
  756. package/bundled-skills/postman-openapi-converter/SKILL.md +1 -1
  757. package/bundled-skills/power-user-cultivation/SKILL.md +6 -572
  758. package/bundled-skills/power-user-cultivation/references/detailed-guide.md +585 -0
  759. package/bundled-skills/pr-writer/SKILL.md +1 -0
  760. package/bundled-skills/price-psychology-strategist/SKILL.md +6 -0
  761. package/bundled-skills/pricing/SKILL.md +1 -1
  762. package/bundled-skills/privacy-mask/SKILL.md +1 -1
  763. package/bundled-skills/product-decision-agent/SKILL.md +6 -0
  764. package/bundled-skills/product-inventor/SKILL.md +2 -627
  765. package/bundled-skills/product-inventor/references/detailed-guide.md +646 -0
  766. package/bundled-skills/product-manager/SKILL.md +6 -0
  767. package/bundled-skills/product-marketing/SKILL.md +1 -1
  768. package/bundled-skills/production-code-audit/SKILL.md +2 -264
  769. package/bundled-skills/production-code-audit/references/detailed-guide.md +277 -0
  770. package/bundled-skills/professional-proofreader/SKILL.md +6 -0
  771. package/bundled-skills/programmatic-seo/SKILL.md +6 -0
  772. package/bundled-skills/project-development/SKILL.md +1 -0
  773. package/bundled-skills/project-skill-audit/SKILL.md +6 -0
  774. package/bundled-skills/public-relations/SKILL.md +1 -1
  775. package/bundled-skills/pubmed-database/SKILL.md +1 -0
  776. package/bundled-skills/push-skill-to-github/SKILL.md +6 -0
  777. package/bundled-skills/pypict-skill/SKILL.md +6 -0
  778. package/bundled-skills/pytest-skill/SKILL.md +1 -1
  779. package/bundled-skills/qiskit/SKILL.md +1 -0
  780. package/bundled-skills/quant-analyst/SKILL.md +6 -0
  781. package/bundled-skills/radix-ui-design-system/SKILL.md +2 -693
  782. package/bundled-skills/radix-ui-design-system/references/detailed-guide.md +711 -0
  783. package/bundled-skills/rag-engineer/SKILL.md +6 -0
  784. package/bundled-skills/rclone-cli/SKILL.md +1 -1
  785. package/bundled-skills/react-flow-architect/SKILL.md +2 -507
  786. package/bundled-skills/react-flow-architect/references/detailed-guide.md +517 -0
  787. package/bundled-skills/react-patterns/SKILL.md +6 -0
  788. package/bundled-skills/read-all-adrs/SKILL.md +6 -0
  789. package/bundled-skills/readme/SKILL.md +4 -822
  790. package/bundled-skills/readme/references/detailed-guide.md +829 -0
  791. package/bundled-skills/redesign-existing-projects/SKILL.md +6 -0
  792. package/bundled-skills/redis-cli/SKILL.md +1 -1
  793. package/bundled-skills/referral-program/SKILL.md +2 -508
  794. package/bundled-skills/referral-program/references/detailed-guide.md +524 -0
  795. package/bundled-skills/rehabilitation-analyzer/SKILL.md +5 -629
  796. package/bundled-skills/rehabilitation-analyzer/references/detailed-guide.md +641 -0
  797. package/bundled-skills/remotion/SKILL.md +1 -0
  798. package/bundled-skills/research-prompt/SKILL.md +6 -0
  799. package/bundled-skills/resolving-merge-conflicts/SKILL.md +6 -0
  800. package/bundled-skills/review-and-simplify-changes/SKILL.md +7 -1
  801. package/bundled-skills/review-swarm/SKILL.md +7 -1
  802. package/bundled-skills/risk-manager/SKILL.md +6 -0
  803. package/bundled-skills/robius-app-architecture/SKILL.md +1 -0
  804. package/bundled-skills/robius-event-action/SKILL.md +1 -0
  805. package/bundled-skills/robius-matrix-integration/SKILL.md +1 -0
  806. package/bundled-skills/robius-state-management/SKILL.md +1 -0
  807. package/bundled-skills/robius-widget-patterns/SKILL.md +1 -0
  808. package/bundled-skills/robot-framework-skill/SKILL.md +1 -1
  809. package/bundled-skills/ruby-pro/SKILL.md +6 -0
  810. package/bundled-skills/saga-orchestration/SKILL.md +4 -482
  811. package/bundled-skills/saga-orchestration/references/detailed-guide.md +491 -0
  812. package/bundled-skills/sales-automator/SKILL.md +6 -0
  813. package/bundled-skills/salesforce-development/SKILL.md +2 -985
  814. package/bundled-skills/salesforce-development/references/detailed-guide.md +994 -0
  815. package/bundled-skills/sam-altman/SKILL.md +5 -1040
  816. package/bundled-skills/sam-altman/references/detailed-guide.md +1102 -0
  817. package/bundled-skills/scala-pro/SKILL.md +6 -0
  818. package/bundled-skills/scanning-tools/SKILL.md +2 -546
  819. package/bundled-skills/scanning-tools/references/detailed-guide.md +555 -0
  820. package/bundled-skills/scanpy/SKILL.md +1 -0
  821. package/bundled-skills/scarcity-urgency-psychologist/SKILL.md +6 -0
  822. package/bundled-skills/scientific-writing/SKILL.md +3 -691
  823. package/bundled-skills/scientific-writing/references/detailed-guide.md +702 -0
  824. package/bundled-skills/scikit-learn/SKILL.md +3 -462
  825. package/bundled-skills/scikit-learn/references/detailed-guide.md +475 -0
  826. package/bundled-skills/scroll-experience/SKILL.md +2 -560
  827. package/bundled-skills/scroll-experience/references/detailed-guide.md +578 -0
  828. package/bundled-skills/sdk-dx/SKILL.md +6 -517
  829. package/bundled-skills/sdk-dx/references/detailed-guide.md +530 -0
  830. package/bundled-skills/seaborn/SKILL.md +5 -661
  831. package/bundled-skills/seaborn/references/detailed-guide.md +677 -0
  832. package/bundled-skills/search-specialist/SKILL.md +6 -0
  833. package/bundled-skills/security/aws-compliance-checker/SKILL.md +4 -492
  834. package/bundled-skills/security/aws-compliance-checker/references/detailed-guide.md +502 -0
  835. package/bundled-skills/security-bluebook-builder/SKILL.md +7 -0
  836. package/bundled-skills/security-scanning-security-hardening/SKILL.md +6 -0
  837. package/bundled-skills/security-scanning-security-sast/SKILL.md +2 -463
  838. package/bundled-skills/security-scanning-security-sast/references/detailed-guide.md +476 -0
  839. package/bundled-skills/segment-cdp/SKILL.md +8 -822
  840. package/bundled-skills/segment-cdp/references/detailed-guide.md +830 -0
  841. package/bundled-skills/selenium-skill/SKILL.md +1 -1
  842. package/bundled-skills/semgrep-rule-creator/SKILL.md +1 -0
  843. package/bundled-skills/semgrep-rule-variant-creator/SKILL.md +1 -0
  844. package/bundled-skills/sendgrid-automation/SKILL.md +6 -0
  845. package/bundled-skills/seo-audit/SKILL.md +33 -44
  846. package/bundled-skills/seo-content/SKILL.md +6 -0
  847. package/bundled-skills/seo-content-auditor/SKILL.md +6 -0
  848. package/bundled-skills/seo-content-writer/SKILL.md +6 -0
  849. package/bundled-skills/seo-forensic-incident-response/SKILL.md +6 -0
  850. package/bundled-skills/seo-fundamentals/SKILL.md +6 -0
  851. package/bundled-skills/seo-programmatic/SKILL.md +6 -0
  852. package/bundled-skills/sequence-psychologist/SKILL.md +6 -0
  853. package/bundled-skills/server-management/SKILL.md +6 -0
  854. package/bundled-skills/service-mesh-expert/SKILL.md +6 -0
  855. package/bundled-skills/setup-help/SKILL.md +6 -0
  856. package/bundled-skills/sexual-health-analyzer/SKILL.md +8 -1109
  857. package/bundled-skills/sexual-health-analyzer/references/detailed-guide.md +1123 -0
  858. package/bundled-skills/sharp-coder/SKILL.md +1 -0
  859. package/bundled-skills/sharp-edges/SKILL.md +1 -0
  860. package/bundled-skills/shodan-reconnaissance/SKILL.md +2 -356
  861. package/bundled-skills/shodan-reconnaissance/references/detailed-guide.md +366 -0
  862. package/bundled-skills/shopify-apps/SKILL.md +2 -1477
  863. package/bundled-skills/shopify-apps/references/detailed-guide.md +1512 -0
  864. package/bundled-skills/short/SKILL.md +6 -0
  865. package/bundled-skills/signup-flow-cro/SKILL.md +6 -0
  866. package/bundled-skills/simplify-code/SKILL.md +6 -0
  867. package/bundled-skills/skill-creator/SKILL.md +2 -568
  868. package/bundled-skills/skill-creator/references/detailed-guide.md +581 -0
  869. package/bundled-skills/skill-creator-ms/SKILL.md +2 -601
  870. package/bundled-skills/skill-creator-ms/references/detailed-guide.md +614 -0
  871. package/bundled-skills/skill-improver/SKILL.md +1 -0
  872. package/bundled-skills/skill-router/SKILL.md +1 -0
  873. package/bundled-skills/skill-scanner/SKILL.md +1 -0
  874. package/bundled-skills/skill-security-audit/SKILL.md +87 -0
  875. package/bundled-skills/skill-seekers/SKILL.md +6 -0
  876. package/bundled-skills/skill-writer/SKILL.md +1 -0
  877. package/bundled-skills/skin-health-analyzer/SKILL.md +8 -696
  878. package/bundled-skills/skin-health-analyzer/references/detailed-guide.md +710 -0
  879. package/bundled-skills/slack-automation/SKILL.md +6 -0
  880. package/bundled-skills/slack-bot-builder/SKILL.md +2 -1372
  881. package/bundled-skills/slack-bot-builder/references/detailed-guide.md +1395 -0
  882. package/bundled-skills/sleep-analyzer/SKILL.md +5 -764
  883. package/bundled-skills/sleep-analyzer/references/detailed-guide.md +773 -0
  884. package/bundled-skills/smartui-skill/SKILL.md +1 -1
  885. package/bundled-skills/smtp-penetration-testing/SKILL.md +2 -346
  886. package/bundled-skills/smtp-penetration-testing/references/detailed-guide.md +355 -0
  887. package/bundled-skills/social-content/SKILL.md +2 -797
  888. package/bundled-skills/social-content/references/detailed-guide.md +816 -0
  889. package/bundled-skills/social-proof-architect/SKILL.md +6 -0
  890. package/bundled-skills/software-architecture/SKILL.md +6 -0
  891. package/bundled-skills/spec-to-code-compliance/SKILL.md +7 -0
  892. package/bundled-skills/speckit-updater/SKILL.md +1 -0
  893. package/bundled-skills/speed/SKILL.md +7 -0
  894. package/bundled-skills/sred-project-organizer/SKILL.md +1 -0
  895. package/bundled-skills/sred-work-summary/SKILL.md +1 -0
  896. package/bundled-skills/statsmodels/SKILL.md +3 -586
  897. package/bundled-skills/statsmodels/references/detailed-guide.md +600 -0
  898. package/bundled-skills/steve-jobs/SKILL.md +2 -564
  899. package/bundled-skills/steve-jobs/references/detailed-guide.md +574 -0
  900. package/bundled-skills/stitch-loop/SKILL.md +1 -0
  901. package/bundled-skills/stripe-automation/SKILL.md +6 -0
  902. package/bundled-skills/stripe-integration/SKILL.md +60 -79
  903. package/bundled-skills/styleseed-design-review/SKILL.md +1 -1
  904. package/bundled-skills/subagent-orchestrator/SKILL.md +1 -0
  905. package/bundled-skills/subject-line-psychologist/SKILL.md +6 -0
  906. package/bundled-skills/supabase/SKILL.md +1 -1
  907. package/bundled-skills/supabase-automation/SKILL.md +6 -0
  908. package/bundled-skills/superpowers-lab/SKILL.md +6 -0
  909. package/bundled-skills/supply-chain-risk-auditor/SKILL.md +7 -0
  910. package/bundled-skills/swiftui-expert-skill/SKILL.md +1 -1
  911. package/bundled-skills/sympy/SKILL.md +3 -426
  912. package/bundled-skills/sympy/references/detailed-guide.md +439 -0
  913. package/bundled-skills/systematic-debugging/CREATION-LOG.md +3 -0
  914. package/bundled-skills/systematic-debugging/SKILL.md +30 -34
  915. package/bundled-skills/systematic-debugging/condition-based-waiting.md +9 -6
  916. package/bundled-skills/systematic-debugging/defense-in-depth.md +13 -7
  917. package/bundled-skills/systematic-debugging/find-polluter.sh +77 -57
  918. package/bundled-skills/systematic-debugging/root-cause-tracing.md +7 -5
  919. package/bundled-skills/systematic-debugging/test-academic.md +3 -0
  920. package/bundled-skills/systematic-debugging/test-pressure-1.md +3 -0
  921. package/bundled-skills/systematic-debugging/test-pressure-2.md +3 -0
  922. package/bundled-skills/systematic-debugging/test-pressure-3.md +3 -0
  923. package/bundled-skills/tcm-constitution-analyzer/SKILL.md +5 -655
  924. package/bundled-skills/tcm-constitution-analyzer/references/detailed-guide.md +660 -0
  925. package/bundled-skills/tdd-workflows-tdd-cycle/SKILL.md +6 -0
  926. package/bundled-skills/technical-tutorials/SKILL.md +5 -483
  927. package/bundled-skills/technical-tutorials/references/detailed-guide.md +496 -0
  928. package/bundled-skills/telegram/SKILL.md +2 -541
  929. package/bundled-skills/telegram/references/detailed-guide.md +569 -0
  930. package/bundled-skills/telegram-mini-app/SKILL.md +2 -643
  931. package/bundled-skills/telegram-mini-app/references/detailed-guide.md +661 -0
  932. package/bundled-skills/temporal-python-pro/SKILL.md +6 -0
  933. package/bundled-skills/terraform-skill/SKILL.md +4 -417
  934. package/bundled-skills/terraform-skill/references/detailed-guide.md +430 -0
  935. package/bundled-skills/test-driven-development/SKILL.md +21 -124
  936. package/bundled-skills/test-driven-development/testing-anti-patterns.md +6 -6
  937. package/bundled-skills/test-framework-migration-skill/SKILL.md +7 -1
  938. package/bundled-skills/threat-modeling-expert/SKILL.md +6 -0
  939. package/bundled-skills/threejs-animation/SKILL.md +5 -551
  940. package/bundled-skills/threejs-animation/references/detailed-guide.md +566 -0
  941. package/bundled-skills/threejs-fundamentals/SKILL.md +5 -525
  942. package/bundled-skills/threejs-fundamentals/references/detailed-guide.md +535 -0
  943. package/bundled-skills/threejs-geometry/SKILL.md +5 -572
  944. package/bundled-skills/threejs-geometry/references/detailed-guide.md +587 -0
  945. package/bundled-skills/threejs-interaction/SKILL.md +5 -666
  946. package/bundled-skills/threejs-interaction/references/detailed-guide.md +679 -0
  947. package/bundled-skills/threejs-lighting/SKILL.md +1 -0
  948. package/bundled-skills/threejs-loaders/SKILL.md +5 -637
  949. package/bundled-skills/threejs-loaders/references/detailed-guide.md +651 -0
  950. package/bundled-skills/threejs-materials/SKILL.md +3 -535
  951. package/bundled-skills/threejs-materials/references/detailed-guide.md +560 -0
  952. package/bundled-skills/threejs-postprocessing/SKILL.md +5 -617
  953. package/bundled-skills/threejs-postprocessing/references/detailed-guide.md +630 -0
  954. package/bundled-skills/threejs-shaders/SKILL.md +5 -679
  955. package/bundled-skills/threejs-shaders/references/detailed-guide.md +695 -0
  956. package/bundled-skills/threejs-skills/SKILL.md +4 -683
  957. package/bundled-skills/threejs-skills/references/detailed-guide.md +693 -0
  958. package/bundled-skills/threejs-textures/SKILL.md +5 -630
  959. package/bundled-skills/threejs-textures/references/detailed-guide.md +649 -0
  960. package/bundled-skills/to-issues/SKILL.md +5 -0
  961. package/bundled-skills/to-prd/SKILL.md +5 -0
  962. package/bundled-skills/todoist-automation/SKILL.md +6 -0
  963. package/bundled-skills/tools-page-seo-optimizer/SKILL.md +2 -580
  964. package/bundled-skills/tools-page-seo-optimizer/references/detailed-guide.md +602 -0
  965. package/bundled-skills/top-web-vulnerabilities/SKILL.md +2 -513
  966. package/bundled-skills/top-web-vulnerabilities/references/detailed-guide.md +523 -0
  967. package/bundled-skills/train-sentence-transformers/SKILL.md +1 -1
  968. package/bundled-skills/transformers-js/SKILL.md +5 -669
  969. package/bundled-skills/transformers-js/references/detailed-guide.md +683 -0
  970. package/bundled-skills/travel-health-analyzer/SKILL.md +1 -0
  971. package/bundled-skills/trello-automation/SKILL.md +6 -0
  972. package/bundled-skills/trigger-dev/SKILL.md +2 -937
  973. package/bundled-skills/trigger-dev/references/detailed-guide.md +950 -0
  974. package/bundled-skills/trust-calibrator/SKILL.md +6 -0
  975. package/bundled-skills/tutorial-engineer/SKILL.md +6 -0
  976. package/bundled-skills/twilio-communications/SKILL.md +2 -1549
  977. package/bundled-skills/twilio-communications/references/detailed-guide.md +1574 -0
  978. package/bundled-skills/typescript-pro/SKILL.md +6 -0
  979. package/bundled-skills/ui-a11y/SKILL.md +6 -0
  980. package/bundled-skills/ui-component/SKILL.md +6 -0
  981. package/bundled-skills/ui-motion/SKILL.md +7 -1
  982. package/bundled-skills/ui-pattern/SKILL.md +6 -0
  983. package/bundled-skills/ui-review/SKILL.md +6 -0
  984. package/bundled-skills/ui-skills/SKILL.md +6 -0
  985. package/bundled-skills/ui-tokens/SKILL.md +6 -0
  986. package/bundled-skills/uniprot-database/SKILL.md +1 -0
  987. package/bundled-skills/unslop-commit/SKILL.md +1 -1
  988. package/bundled-skills/unslop-file/SKILL.md +1 -1
  989. package/bundled-skills/unslop-review/SKILL.md +1 -1
  990. package/bundled-skills/unsplash-integration/SKILL.md +6 -0
  991. package/bundled-skills/update-swiftui-apis/SKILL.md +1 -1
  992. package/bundled-skills/upstash-qstash/SKILL.md +2 -919
  993. package/bundled-skills/upstash-qstash/references/detailed-guide.md +932 -0
  994. package/bundled-skills/usage-based-pricing/SKILL.md +5 -395
  995. package/bundled-skills/usage-based-pricing/references/detailed-guide.md +407 -0
  996. package/bundled-skills/ux-audit/SKILL.md +6 -0
  997. package/bundled-skills/ux-flow/SKILL.md +6 -0
  998. package/bundled-skills/ux-persuasion-engineer/SKILL.md +6 -0
  999. package/bundled-skills/variant-analysis/SKILL.md +1 -0
  1000. package/bundled-skills/varlock/SKILL.md +1 -0
  1001. package/bundled-skills/varlock-claude-skill/SKILL.md +6 -0
  1002. package/bundled-skills/vector-database-engineer/SKILL.md +6 -0
  1003. package/bundled-skills/vercel-deployment/SKILL.md +2 -650
  1004. package/bundled-skills/vercel-deployment/references/detailed-guide.md +660 -0
  1005. package/bundled-skills/vexor/SKILL.md +6 -0
  1006. package/bundled-skills/vexor-cli/SKILL.md +1 -0
  1007. package/bundled-skills/visual-emotion-engineer/SKILL.md +6 -0
  1008. package/bundled-skills/vizcom/SKILL.md +6 -0
  1009. package/bundled-skills/voice-agents/SKILL.md +2 -867
  1010. package/bundled-skills/voice-agents/references/detailed-guide.md +890 -0
  1011. package/bundled-skills/voice-ai-development/SKILL.md +2 -583
  1012. package/bundled-skills/voice-ai-development/references/detailed-guide.md +594 -0
  1013. package/bundled-skills/voice-ai-engine-development/SKILL.md +2 -702
  1014. package/bundled-skills/voice-ai-engine-development/references/detailed-guide.md +720 -0
  1015. package/bundled-skills/warren-buffett/SKILL.md +2 -577
  1016. package/bundled-skills/warren-buffett/references/detailed-guide.md +583 -0
  1017. package/bundled-skills/web-performance-optimization/SKILL.md +2 -214
  1018. package/bundled-skills/web-performance-optimization/references/detailed-guide.md +226 -0
  1019. package/bundled-skills/web-scraper/SKILL.md +2 -728
  1020. package/bundled-skills/web-scraper/references/detailed-guide.md +792 -0
  1021. package/bundled-skills/webflow-automation/SKILL.md +6 -0
  1022. package/bundled-skills/weightloss-analyzer/SKILL.md +1 -0
  1023. package/bundled-skills/wellally-tech/SKILL.md +5 -367
  1024. package/bundled-skills/wellally-tech/references/detailed-guide.md +379 -0
  1025. package/bundled-skills/wiki-architect/SKILL.md +6 -0
  1026. package/bundled-skills/wiki-changelog/SKILL.md +6 -0
  1027. package/bundled-skills/wiki-onboarding/SKILL.md +6 -0
  1028. package/bundled-skills/wiki-qa/SKILL.md +6 -0
  1029. package/bundled-skills/wiki-researcher/SKILL.md +6 -0
  1030. package/bundled-skills/windows-privilege-escalation/SKILL.md +131 -0
  1031. package/bundled-skills/windows-privilege-escalation/references/detailed-guide.md +397 -0
  1032. package/bundled-skills/wireshark-analysis/SKILL.md +2 -419
  1033. package/bundled-skills/wireshark-analysis/references/detailed-guide.md +429 -0
  1034. package/bundled-skills/wjttc-builder/SKILL.md +1 -1
  1035. package/bundled-skills/wjttc-tester/SKILL.md +1 -1
  1036. package/bundled-skills/wordpress/SKILL.md +2 -572
  1037. package/bundled-skills/wordpress/references/detailed-guide.md +582 -0
  1038. package/bundled-skills/wordpress-penetration-testing/SKILL.md +68 -0
  1039. package/bundled-skills/wordpress-penetration-testing/references/detailed-guide.md +555 -0
  1040. package/bundled-skills/wordpress-plugin-development/SKILL.md +2 -474
  1041. package/bundled-skills/wordpress-plugin-development/references/detailed-guide.md +485 -0
  1042. package/bundled-skills/wordpress-theme-development/SKILL.md +2 -479
  1043. package/bundled-skills/wordpress-theme-development/references/detailed-guide.md +490 -0
  1044. package/bundled-skills/wordpress-woocommerce-development/SKILL.md +2 -605
  1045. package/bundled-skills/wordpress-woocommerce-development/references/detailed-guide.md +615 -0
  1046. package/bundled-skills/workflow-automation/SKILL.md +2 -875
  1047. package/bundled-skills/workflow-automation/references/detailed-guide.md +902 -0
  1048. package/bundled-skills/writing-great-skills/SKILL.md +5 -0
  1049. package/bundled-skills/x-article-publisher-skill/SKILL.md +6 -0
  1050. package/bundled-skills/x402-express-wrapper/SKILL.md +1 -0
  1051. package/bundled-skills/xss-html-injection/SKILL.md +2 -389
  1052. package/bundled-skills/xss-html-injection/references/detailed-guide.md +399 -0
  1053. package/bundled-skills/yann-lecun/SKILL.md +2 -1431
  1054. package/bundled-skills/yann-lecun/references/detailed-guide.md +1484 -0
  1055. package/bundled-skills/yann-lecun-filosofia/SKILL.md +6 -0
  1056. package/bundled-skills/yann-lecun-tecnico/SKILL.md +2 -485
  1057. package/bundled-skills/yann-lecun-tecnico/references/detailed-guide.md +502 -0
  1058. package/bundled-skills/youtube-seo-optimizer/SKILL.md +4 -884
  1059. package/bundled-skills/youtube-seo-optimizer/references/detailed-guide.md +907 -0
  1060. package/bundled-skills/zapier-make-patterns/SKILL.md +2 -728
  1061. package/bundled-skills/zapier-make-patterns/references/detailed-guide.md +752 -0
  1062. package/bundled-skills/zipai-optimizer/SKILL.md +7 -0
  1063. package/bundled-skills/zoom-automation/SKILL.md +6 -0
  1064. package/package.json +1 -1
  1065. package/skills_index.json +608 -383
  1066. package/bundled-skills/docs/AUDIT.md +0 -3
  1067. package/bundled-skills/docs/BUNDLES.md +0 -3
  1068. package/bundled-skills/docs/CATEGORIZATION_IMPLEMENTATION.md +0 -3
  1069. package/bundled-skills/docs/CI_DRIFT_FIX.md +0 -3
  1070. package/bundled-skills/docs/COMMUNITY_GUIDELINES.md +0 -3
  1071. package/bundled-skills/docs/DATE_TRACKING_IMPLEMENTATION.md +0 -3
  1072. package/bundled-skills/docs/EXAMPLES.md +0 -3
  1073. package/bundled-skills/docs/FAQ.md +0 -3
  1074. package/bundled-skills/docs/GETTING_STARTED.md +0 -3
  1075. package/bundled-skills/docs/KIRO_INTEGRATION.md +0 -3
  1076. package/bundled-skills/docs/QUALITY_BAR.md +0 -3
  1077. package/bundled-skills/docs/README.md +0 -51
  1078. package/bundled-skills/docs/SECURITY_GUARDRAILS.md +0 -3
  1079. package/bundled-skills/docs/SEC_SKILLS.md +0 -3
  1080. package/bundled-skills/docs/SKILLS_DATE_TRACKING.md +0 -3
  1081. package/bundled-skills/docs/SKILL_ANATOMY.md +0 -3
  1082. package/bundled-skills/docs/SKILL_TEMPLATE.md +0 -3
  1083. package/bundled-skills/docs/SMART_AUTO_CATEGORIZATION.md +0 -3
  1084. package/bundled-skills/docs/SOURCES.md +0 -3
  1085. package/bundled-skills/docs/USAGE.md +0 -3
  1086. package/bundled-skills/docs/VISUAL_GUIDE.md +0 -3
  1087. package/bundled-skills/docs/WORKFLOWS.md +0 -3
  1088. package/bundled-skills/docs/contributors/community-guidelines.md +0 -4
  1089. package/bundled-skills/docs/contributors/examples.md +0 -760
  1090. package/bundled-skills/docs/contributors/quality-bar.md +0 -104
  1091. package/bundled-skills/docs/contributors/security-guardrails.md +0 -70
  1092. package/bundled-skills/docs/contributors/skill-anatomy.md +0 -637
  1093. package/bundled-skills/docs/contributors/skill-template.md +0 -93
  1094. package/bundled-skills/docs/integrations/jetski-cortex.md +0 -282
  1095. package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +0 -103
  1096. package/bundled-skills/docs/integrations/jetski-gemini-loader/loader.mjs +0 -154
  1097. package/bundled-skills/docs/integrations/jetski-gemini-loader/package.json +0 -1
  1098. package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-preview-profile.md +0 -63
  1099. package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-v1-design.md +0 -304
  1100. package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-v1-goal.md +0 -171
  1101. package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-v1-worklog.md +0 -104
  1102. package/bundled-skills/docs/maintainers/audit.md +0 -89
  1103. package/bundled-skills/docs/maintainers/backups/README-2026-06-02.md +0 -687
  1104. package/bundled-skills/docs/maintainers/categorization-implementation.md +0 -160
  1105. package/bundled-skills/docs/maintainers/ci-drift-fix.md +0 -64
  1106. package/bundled-skills/docs/maintainers/date-tracking-implementation.md +0 -66
  1107. package/bundled-skills/docs/maintainers/full-repo-audit-2026-05-23.md +0 -289
  1108. package/bundled-skills/docs/maintainers/legacy-redirect-bridge.md +0 -46
  1109. package/bundled-skills/docs/maintainers/merge-batch.md +0 -81
  1110. package/bundled-skills/docs/maintainers/merging-prs.md +0 -79
  1111. package/bundled-skills/docs/maintainers/pr-autonomy.md +0 -102
  1112. package/bundled-skills/docs/maintainers/provenance-identity-exceptions.json +0 -14
  1113. package/bundled-skills/docs/maintainers/release-notes-7.2.0.md +0 -32
  1114. package/bundled-skills/docs/maintainers/release-process.md +0 -124
  1115. package/bundled-skills/docs/maintainers/repo-growth-seo.md +0 -133
  1116. package/bundled-skills/docs/maintainers/rollback-procedure.md +0 -43
  1117. package/bundled-skills/docs/maintainers/security-findings-triage-2026-03-15.csv +0 -34
  1118. package/bundled-skills/docs/maintainers/security-findings-triage-2026-03-15.md +0 -60
  1119. package/bundled-skills/docs/maintainers/security-findings-triage-2026-03-18-addendum.md +0 -22
  1120. package/bundled-skills/docs/maintainers/security-findings-triage-2026-03-29-addendum.md +0 -48
  1121. package/bundled-skills/docs/maintainers/security-findings-triage-2026-03-29-refresh.csv +0 -34
  1122. package/bundled-skills/docs/maintainers/security-findings-triage-2026-03-29-refresh.md +0 -86
  1123. package/bundled-skills/docs/maintainers/skills-date-tracking.md +0 -228
  1124. package/bundled-skills/docs/maintainers/skills-import-2026-03-21.md +0 -81
  1125. package/bundled-skills/docs/maintainers/skills-update-guide.md +0 -92
  1126. package/bundled-skills/docs/maintainers/smart-auto-categorization.md +0 -218
  1127. package/bundled-skills/docs/plugin-submissions/aas-agent-mcp-builder/README.md +0 -19
  1128. package/bundled-skills/docs/plugin-submissions/aas-agent-mcp-builder/evaluation-cases.json +0 -74
  1129. package/bundled-skills/docs/plugin-submissions/aas-agent-mcp-builder/evaluation-results.json +0 -86
  1130. package/bundled-skills/docs/plugin-submissions/aas-agent-mcp-builder/submission.json +0 -41
  1131. package/bundled-skills/docs/sources/LICENSE-MICROSOFT +0 -21
  1132. package/bundled-skills/docs/sources/microsoft-skills-attribution.json +0 -709
  1133. package/bundled-skills/docs/sources/sources.md +0 -179
  1134. package/bundled-skills/docs/users/aas-core.md +0 -225
  1135. package/bundled-skills/docs/users/agent-overload-recovery.md +0 -54
  1136. package/bundled-skills/docs/users/agentic-awesome-skills-vs-awesome-claude-skills.md +0 -44
  1137. package/bundled-skills/docs/users/ai-agent-skills.md +0 -48
  1138. package/bundled-skills/docs/users/best-claude-code-skills-github.md +0 -62
  1139. package/bundled-skills/docs/users/best-cursor-skills-github.md +0 -62
  1140. package/bundled-skills/docs/users/bundles.md +0 -1067
  1141. package/bundled-skills/docs/users/claude-code-skills.md +0 -89
  1142. package/bundled-skills/docs/users/codex-cli-skills.md +0 -88
  1143. package/bundled-skills/docs/users/cursor-skills.md +0 -56
  1144. package/bundled-skills/docs/users/discovery-manifest.md +0 -65
  1145. package/bundled-skills/docs/users/faq.md +0 -521
  1146. package/bundled-skills/docs/users/gemini-cli-skills.md +0 -56
  1147. package/bundled-skills/docs/users/getting-started.md +0 -233
  1148. package/bundled-skills/docs/users/kiro-integration.md +0 -304
  1149. package/bundled-skills/docs/users/local-config.md +0 -152
  1150. package/bundled-skills/docs/users/plugins.md +0 -201
  1151. package/bundled-skills/docs/users/security-and-antivirus.md +0 -63
  1152. package/bundled-skills/docs/users/security-skills.md +0 -1722
  1153. package/bundled-skills/docs/users/skills-library-overview.md +0 -87
  1154. package/bundled-skills/docs/users/skills-vs-mcp-tools.md +0 -108
  1155. package/bundled-skills/docs/users/specialized-plugin-roadmap.md +0 -101
  1156. package/bundled-skills/docs/users/usage.md +0 -465
  1157. package/bundled-skills/docs/users/visual-guide.md +0 -515
  1158. package/bundled-skills/docs/users/walkthrough.md +0 -46
  1159. package/bundled-skills/docs/users/windows-truncation-recovery.md +0 -135
  1160. package/bundled-skills/docs/users/workflows.md +0 -215
  1161. package/bundled-skills/docs/vietnamese/AAS_CORE.vi.md +0 -28
  1162. package/bundled-skills/docs/vietnamese/BUNDLES.vi.md +0 -124
  1163. package/bundled-skills/docs/vietnamese/CONTRIBUTING.vi.md +0 -242
  1164. package/bundled-skills/docs/vietnamese/EXAMPLES.vi.md +0 -56
  1165. package/bundled-skills/docs/vietnamese/FAQ.vi.md +0 -195
  1166. package/bundled-skills/docs/vietnamese/GETTING_STARTED.vi.md +0 -123
  1167. package/bundled-skills/docs/vietnamese/QUALITY_BAR.vi.md +0 -69
  1168. package/bundled-skills/docs/vietnamese/README.vi.md +0 -191
  1169. package/bundled-skills/docs/vietnamese/SECURITY.vi.md +0 -19
  1170. package/bundled-skills/docs/vietnamese/SECURITY_GUARDRAILS.vi.md +0 -51
  1171. package/bundled-skills/docs/vietnamese/SKILLS_README.vi.md +0 -106
  1172. package/bundled-skills/docs/vietnamese/SKILL_ANATOMY.vi.md +0 -633
  1173. package/bundled-skills/docs/vietnamese/SOURCES.vi.md +0 -21
  1174. package/bundled-skills/docs/vietnamese/TRANSLATION_PLAN.vi.md +0 -65
  1175. package/bundled-skills/docs/vietnamese/VISUAL_GUIDE.vi.md +0 -511
  1176. package/bundled-skills/docs/walkthrough.md +0 -3
@@ -0,0 +1,1252 @@
1
+ # Photopea Embedded Editor Skill - Detailed Guide
2
+
3
+ > This file contains the detailed procedure and reference material extracted from `SKILL.md` for focused loading. The root skill defines activation, examples, safety constraints, and limitations.
4
+
5
+ ## Using photopea.js (yikuansun/PhotopeaAPI) in Websites & Apps
6
+
7
+ ---
8
+
9
+
10
+ ## Library: photopea.js
11
+
12
+ `photopea.js` is a Promises-based JavaScript wrapper around the Photopea Live Messaging API.
13
+ Repository: https://github.com/yikuansun/PhotopeaAPI
14
+ npm package: https://www.npmjs.com/package/photopea
15
+
16
+ ### Installation
17
+
18
+ **CDN (no build step)**
19
+ ```html
20
+ <script src="https://cdn.jsdelivr.net/npm/photopea@1.1.1/dist/photopea.min.js"></script>
21
+ ```
22
+
23
+ **Self-hosted**
24
+ ```html
25
+ <script src="./photopea.min.js"></script>
26
+ ```
27
+
28
+ **npm (Webpack / Vite / Rollup)**
29
+ ```bash
30
+ npm install photopea
31
+ ```
32
+ ```js
33
+ import Photopea from "photopea";
34
+ ```
35
+
36
+ ---
37
+
38
+
39
+ ## Core API: The `Photopea` Class
40
+
41
+ | Method | Description |
42
+ |--------|-------------|
43
+ | `Photopea.createEmbed(container)` | Creates + injects the iframe, resolves when ready |
44
+ | `new Photopea(window.parent)` | Plugin mode: wrap the parent window |
45
+ | `pea.runScript(script)` | Run JS string inside Photopea; returns output array |
46
+ | `pea.loadAsset(arrayBuffer)` | Load binary file (image, font, brush, etc.) |
47
+ | `pea.openFromURL(url, asSmart)` | Open remote URL as new doc or smart object layer |
48
+ | `pea.exportImage(type)` | Export current doc; returns `Blob` (`"png"` or `"jpg"`) |
49
+
50
+ All methods return Promises — always `await` or `.then()`.
51
+
52
+ ---
53
+
54
+
55
+ ## Step 1 — Embed
56
+
57
+ The container `<div>` **must** have a fixed width and height before calling `createEmbed`.
58
+
59
+ ```html
60
+ <div id="editor" style="width:1000px; height:650px;"></div>
61
+ <script src="https://cdn.jsdelivr.net/npm/photopea@1.1.1/dist/photopea.min.js"></script>
62
+ <script>
63
+ Photopea.createEmbed(document.getElementById("editor")).then(async (pea) => {
64
+ // pea is ready
65
+ });
66
+ </script>
67
+ ```
68
+
69
+ **React:**
70
+ ```jsx
71
+ import { useEffect, useRef } from "react";
72
+ import Photopea from "photopea";
73
+
74
+ export default function Editor() {
75
+ const containerRef = useRef(null);
76
+ const peaRef = useRef(null);
77
+
78
+ useEffect(() => {
79
+ if (!containerRef.current || peaRef.current) return;
80
+ Photopea.createEmbed(containerRef.current).then((pea) => {
81
+ peaRef.current = pea;
82
+ });
83
+ }, []);
84
+
85
+ return <div ref={containerRef} style={{ width: "100%", height: "650px" }} />;
86
+ }
87
+ ```
88
+
89
+ ---
90
+
91
+
92
+ ## Step 2 — Opening Files
93
+
94
+ ```js
95
+ // Remote URL → new document
96
+ await pea.openFromURL("https://example.com/design.psd", false);
97
+
98
+ // Remote URL → smart object layer inside current document
99
+ await pea.openFromURL("https://example.com/overlay.png", true);
100
+
101
+ // Local file (user input → ArrayBuffer → loadAsset)
102
+ document.getElementById("fileInput").addEventListener("change", async (e) => {
103
+ const buf = await e.target.files[0].arrayBuffer();
104
+ await pea.loadAsset(buf);
105
+ });
106
+
107
+ // Base64 data URI via runScript
108
+ await pea.runScript(`app.open("data:image/png;base64,iVBORw0...");`);
109
+ ```
110
+
111
+ ---
112
+
113
+
114
+ ## Step 3 — Running Scripts
115
+
116
+ `runScript` sends a JS string, returns an array of `app.echoToOE(...)` values + `"done"` last.
117
+
118
+ ```js
119
+ const result = await pea.runScript(`app.echoToOE("hello");`);
120
+ // result → ["hello", "done"]
121
+
122
+ // Return structured data
123
+ const out = await pea.runScript(`
124
+ app.echoToOE(JSON.stringify({
125
+ width: app.activeDocument.width,
126
+ height: app.activeDocument.height,
127
+ layers: app.activeDocument.layers.length
128
+ }));
129
+ `);
130
+ const info = JSON.parse(out[0]);
131
+ ```
132
+
133
+ ---
134
+
135
+
136
+ ## Step 4 — Exporting
137
+
138
+ ```js
139
+ // PNG Blob (via exportImage)
140
+ const blob = await pea.exportImage("png");
141
+ document.getElementById("preview").src = URL.createObjectURL(blob);
142
+
143
+ // JPEG Blob
144
+ const blob = await pea.exportImage("jpg");
145
+
146
+ // WebP / PSD / quality-controlled JPEG via saveToOE
147
+ const result = await pea.runScript(`app.activeDocument.saveToOE("webp:0.85");`);
148
+ const webpBlob = new Blob([result[0]], { type: "image/webp" });
149
+
150
+ const result = await pea.runScript(`app.activeDocument.saveToOE("psd:true");`);
151
+ const psdBlob = new Blob([result[0]], { type: "application/octet-stream" });
152
+
153
+ // Trigger download
154
+ async function download(pea, filename = "export.png") {
155
+ const blob = await pea.exportImage("png");
156
+ const a = Object.assign(document.createElement("a"), {
157
+ href: URL.createObjectURL(blob),
158
+ download: filename
159
+ });
160
+ a.click();
161
+ }
162
+ ```
163
+
164
+ **Export format strings for `saveToOE`:**
165
+
166
+ | String | Format |
167
+ |--------|--------|
168
+ | `"png"` | PNG lossless |
169
+ | `"jpg"` | JPEG default |
170
+ | `"jpg:0.8"` | JPEG quality 0.0–1.0 |
171
+ | `"webp:0.7"` | WebP quality 0.0–1.0 |
172
+ | `"psd"` | Full PSD |
173
+ | `"psd:true"` | Minified PSD |
174
+ | `"svg:true"` | SVG |
175
+
176
+ ---
177
+
178
+
179
+ ## Step 5 — Loading Assets
180
+
181
+ ```js
182
+ // Font
183
+ const buf = await (await fetch("https://example.com/MyFont.otf")).arrayBuffer();
184
+ await pea.loadAsset(buf);
185
+ // Now usable in textItem.font
186
+
187
+ // Brush
188
+ await pea.loadAsset(await (await fetch("Nature.ABR")).arrayBuffer());
189
+
190
+ // Gradient
191
+ await pea.loadAsset(await (await fetch("Gradients.GRD")).arrayBuffer());
192
+ ```
193
+
194
+ ---
195
+
196
+
197
+ ## Step 6 — Plugin Mode
198
+
199
+ ```js
200
+ // Your page is inside Photopea's sidebar iframe
201
+ const pea = new Photopea(window.parent);
202
+
203
+ const out = await pea.runScript(`app.echoToOE(app.activeDocument.width);`);
204
+ console.log("Width:", out[0]);
205
+
206
+ // Load an asset from your plugin
207
+ const buf = await (await fetch("https://my-assets.com/sticker.png")).arrayBuffer();
208
+ await pea.loadAsset(buf);
209
+ ```
210
+
211
+ Plugin config:
212
+ ```json
213
+ {
214
+ "environment": {
215
+ "plugins": [{
216
+ "name": "My Plugin",
217
+ "url": "https://my-plugin.example.com",
218
+ "icon": "===https://my-plugin.example.com/icon.png"
219
+ }]
220
+ }
221
+ }
222
+ ```
223
+
224
+ ---
225
+
226
+
227
+ ## Utility Patterns
228
+
229
+ ### addImageAndWait — robust async layer insertion
230
+ ```js
231
+ async function addImageAndWait(pea, imgURI) {
232
+ let count = "done";
233
+ while (count === "done")
234
+ count = (await pea.runScript(`app.echoToOE(app.activeDocument.layers.length)`))[0];
235
+ count = parseInt(count);
236
+
237
+ const imageUrlLiteral = JSON.stringify(imgURI);
238
+ await pea.runScript(`app.open(${imageUrlLiteral}, null, true);`);
239
+
240
+ return new Promise((resolve) => {
241
+ const check = async () => {
242
+ const n = parseInt((await pea.runScript(
243
+ `app.echoToOE(app.activeDocument.layers.length)`
244
+ ))[0]);
245
+ n === count + 1 ? resolve() : setTimeout(check, 50);
246
+ };
247
+ check();
248
+ });
249
+ }
250
+ ```
251
+
252
+ ### getDocumentAsImage — returns `<img>` element
253
+ ```js
254
+ async function getDocumentAsImage(pea) {
255
+ const result = await pea.runScript(`app.activeDocument.saveToOE('png')`);
256
+ return new Promise((resolve) => {
257
+ const fr = new FileReader();
258
+ fr.addEventListener("load", (e) => {
259
+ const img = new Image(); img.src = e.target.result; resolve(img);
260
+ });
261
+ fr.readAsDataURL(new Blob([result[0]], { type: "image/png" }));
262
+ });
263
+ }
264
+ ```
265
+
266
+ ---
267
+
268
+
269
+ ## Real-World Patterns
270
+
271
+ ### Pattern A — Open + Export UI
272
+ ```html
273
+ <input type="file" id="fileInput" accept="image/*,.psd">
274
+ <button id="exportBtn">Export PNG</button>
275
+ <div id="editor" style="width:100%;height:600px;"></div>
276
+ <script src="https://cdn.jsdelivr.net/npm/photopea@1.1.1/dist/photopea.min.js"></script>
277
+ <script>
278
+ let pea;
279
+ Photopea.createEmbed(document.getElementById("editor")).then(p => pea = p);
280
+
281
+ document.getElementById("fileInput").addEventListener("change", async e => {
282
+ await pea.loadAsset(await e.target.files[0].arrayBuffer());
283
+ });
284
+ document.getElementById("exportBtn").addEventListener("click", async () => {
285
+ const blob = await pea.exportImage("png");
286
+ const a = Object.assign(document.createElement("a"), {
287
+ href: URL.createObjectURL(blob), download: "export.png"
288
+ });
289
+ a.click();
290
+ });
291
+ </script>
292
+ ```
293
+
294
+ ### Pattern B — Template + Text Edit + Export
295
+ ```js
296
+ async function generateCard(pea, name, tagline) {
297
+ await pea.openFromURL("https://example.com/card.psd", false);
298
+ const nameLiteral = JSON.stringify(name);
299
+ const taglineLiteral = JSON.stringify(tagline);
300
+ await pea.runScript(`
301
+ app.activeDocument.layers.getByName("Name").textItem.contents = ${nameLiteral};
302
+ app.activeDocument.layers.getByName("Tagline").textItem.contents = ${taglineLiteral};
303
+ `);
304
+ return await pea.exportImage("png");
305
+ }
306
+ ```
307
+
308
+ ### Pattern C — Batch Watermark
309
+ ```js
310
+ async function batchWatermark(pea, imageURLs, watermarkURL) {
311
+ const results = [];
312
+ for (const url of imageURLs) {
313
+ await pea.openFromURL(url, false);
314
+ await pea.openFromURL(watermarkURL, true);
315
+ await pea.runScript(`
316
+ var doc = app.activeDocument, wm = doc.activeLayer;
317
+ wm.translate(doc.width - wm.bounds[2] - 20, doc.height - wm.bounds[3] - 20);
318
+ wm.opacity = 70;
319
+ `);
320
+ results.push(await pea.exportImage("png"));
321
+ await pea.runScript(`app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);`);
322
+ }
323
+ return results;
324
+ }
325
+ ```
326
+
327
+ ---
328
+
329
+ # FULL SCRIPTING API REFERENCE
330
+
331
+ > All code in this section runs **inside `pea.runScript("...")`** strings.
332
+ > Photopea implements the Adobe Photoshop CC 2015 JavaScript scripting interface.
333
+ > Any Photoshop script targeting that version should work in Photopea.
334
+
335
+ ---
336
+
337
+
338
+ ## `app` — Application Object
339
+
340
+ ### Properties
341
+
342
+ | Property | Type | R/W | Description |
343
+ |----------|------|-----|-------------|
344
+ | `app.activeDocument` | Document | R/W | The currently active document |
345
+ | `app.documents` | Documents | R | Collection of all open documents |
346
+ | `app.documents.length` | number | R | Count of open documents |
347
+ | `app.documents[i]` | Document | R | Access by zero-based index |
348
+ | `app.foregroundColor` | SolidColor | R/W | Current foreground color |
349
+ | `app.backgroundColor` | SolidColor | R/W | Current background color |
350
+ | `app.preferences.rulerUnits` | Units | R/W | `Units.PIXELS`, `Units.CM`, `Units.INCHES`, `Units.MM`, `Units.PICAS`, `Units.POINTS`, `Units.PERCENT` |
351
+ | `app.preferences.typeUnits` | TypeUnits | R/W | `TypeUnits.PIXELS`, `TypeUnits.MM`, `TypeUnits.POINTS` |
352
+ | `app.displayDialogs` | DialogModes | R/W | `DialogModes.NO`, `DialogModes.ALL`, `DialogModes.ERROR` |
353
+
354
+ ### Methods
355
+
356
+ | Method | Description |
357
+ |--------|-------------|
358
+ | `app.open(url)` | Open URL as new document |
359
+ | `app.open(url, null, true)` | Open URL as smart object layer in active document |
360
+ | `app.echoToOE(string)` | **Photopea extension** — send string to host page (captured by `runScript`) |
361
+ | `app.showWindow("magiccut")` | **Photopea extension** — open Magic Cut panel |
362
+ | `app.showWindow("vbitmap")` | **Photopea extension** — open Vectorize Bitmap panel |
363
+ | `app.UI.zoomIn()` | Zoom in |
364
+ | `app.UI.zoomOut()` | Zoom out |
365
+ | `app.UI.fitTheArea()` | Fit canvas to viewport |
366
+ | `app.UI.pixelToPixel()` | 100% zoom |
367
+ | `app.UI.switchFullscreen()` | Toggle fullscreen |
368
+ | `app.UI.scroll(dx, dy)` | Scroll by delta |
369
+ | `app.UI.scrollTo(x, y)` | Scroll to absolute position |
370
+
371
+ **Important:** Always set ruler units to pixels at the start of any script that uses pixel measurements:
372
+ ```js
373
+ var savedUnits = app.preferences.rulerUnits;
374
+ app.preferences.rulerUnits = Units.PIXELS;
375
+ // ... your code ...
376
+ app.preferences.rulerUnits = savedUnits;
377
+ ```
378
+
379
+ ---
380
+
381
+
382
+ ## `Document` — Document Object
383
+
384
+ Access via `app.activeDocument` or `app.documents[i]`.
385
+
386
+ ### Properties
387
+
388
+ | Property | Type | R/W | Description |
389
+ |----------|------|-----|-------------|
390
+ | `width` | number | R | Document width in current ruler units |
391
+ | `height` | number | R | Document height in current ruler units |
392
+ | `resolution` | number | R | DPI (pixels per inch) |
393
+ | `name` | string | **R/W** | **Photopea extension** — display label (no history step) |
394
+ | `source` | string | **R/W** | **Photopea extension** — file origin URL or `"local,X,NAME"` |
395
+ | `mode` | DocumentMode | R | `DocumentMode.RGB`, `GRAYSCALE`, `CMYK`, `LAB`, `BITMAP`, `INDEXEDCOLOR`, `MULTICHANNEL` |
396
+ | `bitsPerChannel` | BitsPerChannelType | R | `BitsPerChannelType.EIGHT`, `SIXTEEN`, `THIRTYTWO` |
397
+ | `colorProfileName` | string | R | Name of embedded color profile |
398
+ | `activeLayer` | Layer/ArtLayer/LayerSet | R/W | Set to activate a layer |
399
+ | `currentLayer` | ArtLayer | R/W | Alias for `activeLayer` |
400
+ | `layers` | Layers | R | All top-level layers (both art + group) |
401
+ | `artLayers` | ArtLayers | R | All top-level art layers only |
402
+ | `layerSets` | LayerSets | R | All top-level group layers only |
403
+ | `selection` | Selection | R | The current selection |
404
+ | `channels` | Channels | R | All channels |
405
+ | `historyStates` | HistoryStates | R | Undo history |
406
+ | `activeHistoryState` | HistoryState | R/W | Current history position |
407
+ | `layerComps` | LayerComps | R | Layer comps collection |
408
+ | `guides` | Guides | R | Guides collection |
409
+ | `pathItems` | PathItems | R | Vector paths |
410
+ | `id` | number | R | Unique document ID |
411
+ | `saved` | boolean | R | Whether document has unsaved changes |
412
+ | `quickMaskMode` | boolean | R | Whether in Quick Mask mode |
413
+ | `backgroundLayer` | ArtLayer | R | The background layer |
414
+ | `pixelAspectRatio` | number | R | Custom pixel aspect ratio (0.1–10.0) |
415
+ | `histogram` | array | R | 256-element histogram array |
416
+
417
+ ### Methods
418
+
419
+ | Method | Signature | Description |
420
+ |--------|-----------|-------------|
421
+ | `resizeImage` | `(w, h, res, resampleMethod)` | Resize image pixels. ResampleMethod: `BICUBIC`, `BILINEAR`, `NEARESTNEIGHBOR`, `NONE`, `BICUBICSHARPER`, `BICUBICSMOOTHER` |
422
+ | `resizeCanvas` | `(w, h, anchor)` | Resize canvas without scaling. AnchorPosition: `TOPLEFT`, `TOPCENTER`, `TOPRIGHT`, `MIDDLELEFT`, `MIDDLECENTER`, `MIDDLERIGHT`, `BOTTOMLEFT`, `BOTTOMCENTER`, `BOTTOMRIGHT` |
423
+ | `rotateCanvas` | `(degrees)` | Rotate entire canvas. Positive = clockwise |
424
+ | `flipCanvas` | `(direction)` | `Direction.HORIZONTAL` or `Direction.VERTICAL` |
425
+ | `crop` | `([x1,y1,x2,y2], angle, w, h)` | Crop canvas. Angle and dimensions are optional |
426
+ | `trim` | `(trimType, top, left, bottom, right)` | Trim transparent/background-color borders. TrimType: `TRANSPARENT`, `TOPLEFT`, `BOTTOMRIGHT` |
427
+ | `revealAll` | `()` | Expand canvas to show clipped content |
428
+ | `flatten` | `()` | Merge all layers into one |
429
+ | `mergeVisibleLayers` | `()` | Merge all visible layers |
430
+ | `rasterizeAllLayers` | `()` | Rasterize all vector/text layers |
431
+ | `changeMode` | `(mode, options)` | Convert color mode (e.g., `ChangeMode.GRAYSCALE`) |
432
+ | `convertProfile` | `(profileName, renderingIntent, blackPointCompensation, dither)` | Convert color profile |
433
+ | `duplicate` | `(name, mergedLayers)` | Duplicate the document |
434
+ | `close` | `(saveOptions)` | Close document. SaveOptions: `DONOTSAVECHANGES`, `SAVECHANGES`, `PROMPTTOSAVECHANGES` |
435
+ | `save` | `()` | Save (requires server config in embed) |
436
+ | `saveToOE` | `(format)` | **Photopea extension** — send binary to host. Formats: `"png"`, `"jpg:0.8"`, `"webp:0.7"`, `"psd:true"`, `"svg:true"` |
437
+ | `clearHistory` | `()` | **Photopea extension** — clear undo history to free RAM |
438
+ | `exportDocument` | `(file, exportType, options)` | Export to filesystem (triggers ZIP). ExportType: `SAVEFORWEB` |
439
+ | `paste` | `(intoSelection)` | Paste clipboard into document |
440
+ | `suspendHistory` | `(historyName, callback)` | Wrap multiple ops in one history state |
441
+
442
+ **Practical examples:**
443
+ ```js
444
+ var doc = app.activeDocument;
445
+
446
+ // Resize image to 1920×1080 at 72dpi bicubic
447
+ doc.resizeImage(1920, 1080, 72, ResampleMethod.BICUBIC);
448
+
449
+ // Expand canvas to 2000px wide, keeping content centered
450
+ doc.resizeCanvas(2000, doc.height, AnchorPosition.MIDDLECENTER);
451
+
452
+ // Crop to a region
453
+ doc.crop([100, 100, 900, 600]);
454
+
455
+ // Trim transparent edges
456
+ doc.trim(TrimType.TRANSPARENT, true, true, true, true);
457
+
458
+ // Flip horizontal
459
+ doc.flipCanvas(Direction.HORIZONTAL);
460
+
461
+ // Change to grayscale
462
+ doc.changeMode(ChangeMode.GRAYSCALE);
463
+
464
+ // One undo step for many operations
465
+ doc.suspendHistory("Batch Edit", "action");
466
+ // (Inside Photopea, all ops become one history state)
467
+
468
+ // Export PNG to filesystem (triggers ZIP download)
469
+ var opts = new ExportOptionsSaveForWeb();
470
+ opts.format = SaveDocumentType.PNG;
471
+ opts.PNG8 = false;
472
+ opts.quality = 100;
473
+ doc.exportDocument(new File("/output.png"), ExportType.SAVEFORWEB, opts);
474
+
475
+ // Close without saving
476
+ doc.close(SaveOptions.DONOTSAVECHANGES);
477
+ ```
478
+
479
+ ---
480
+
481
+
482
+ ## `Layers` / `ArtLayers` / `LayerSets` Collections
483
+
484
+ These collections exist on `Document`, `LayerSet` (groups within groups), and can be iterated.
485
+
486
+ ```js
487
+ var doc = app.activeDocument;
488
+
489
+ // Access
490
+ doc.layers // all top-level (art + groups)
491
+ doc.artLayers // top-level art layers only
492
+ doc.layerSets // top-level group layers only
493
+
494
+ // By index (0 = topmost)
495
+ doc.layers[0]
496
+ doc.layers[doc.layers.length - 1] // bottommost
497
+
498
+ // By name (throws if not found)
499
+ doc.layers.getByName("Background")
500
+ doc.artLayers.getByName("Logo")
501
+ doc.layerSets.getByName("Header Group")
502
+
503
+ // Add
504
+ var newLayer = doc.artLayers.add(); // new blank art layer
505
+ var newGroup = doc.layerSets.add(); // new group
506
+ var innerLayer = newGroup.artLayers.add(); // layer inside a group
507
+
508
+ // Remove
509
+ doc.artLayers.getByName("Temp").remove();
510
+
511
+ // Iterate all layers recursively
512
+ function walkLayers(parent) {
513
+ for (var i = 0; i < parent.layers.length; i++) {
514
+ var l = parent.layers[i];
515
+ if (l.typename === "LayerSet") walkLayers(l);
516
+ else /* ArtLayer */ processLayer(l);
517
+ }
518
+ }
519
+ walkLayers(doc);
520
+ ```
521
+
522
+ ---
523
+
524
+
525
+ ## `ArtLayer` — Individual Layer
526
+
527
+ ### Properties
528
+
529
+ | Property | Type | R/W | Description |
530
+ |----------|------|-----|-------------|
531
+ | `name` | string | R/W | Layer name |
532
+ | `visible` | boolean | R/W | Layer visibility |
533
+ | `opacity` | number | R/W | Layer opacity 0–100 |
534
+ | `fillOpacity` | number | R | Fill opacity 0–100 |
535
+ | `blendMode` | BlendMode | R/W | Blend mode (see enum below) |
536
+ | `kind` | LayerKind | R/W | Layer type (can set to `LayerKind.TEXT` on empty layer) |
537
+ | `textItem` | TextItem | R | Text object (only when `kind === LayerKind.TEXT`) |
538
+ | `bounds` | array | R | `[left, top, right, bottom]` in current ruler units |
539
+ | `parent` | Document/LayerSet | R | Containing object |
540
+ | `typename` | string | R | Always `"ArtLayer"` |
541
+ | `selected` | boolean | R | **Photopea extension** — is layer highlighted in panel |
542
+ | `isBackgroundLayer` | boolean | R | Is this the locked background layer |
543
+ | `grouped` | boolean | R | Is clipping mask applied |
544
+ | `pixelsLocked` | boolean | R | Pixels locked |
545
+ | `positionLocked` | boolean | R | Position locked |
546
+ | `transparentPixelsLocked` | boolean | R | Transparent pixels locked |
547
+ | `layerMaskDensity` | number | R | Layer mask density 0–100 |
548
+ | `layerMaskFeather` | number | R | Layer mask feather 0–250 |
549
+ | `vectorMaskDensity` | number | R | Vector mask density 0–100 |
550
+ | `vectorMaskFeather` | number | R | Vector mask feather 0–250 |
551
+
552
+ ### Transform Methods
553
+
554
+ | Method | Signature | Description |
555
+ |--------|-----------|-------------|
556
+ | `translate` | `(deltaX, deltaY)` | Move layer by offset |
557
+ | `rotate` | `(angle, anchor)` | Rotate by degrees. AnchorPosition optional (default center) |
558
+ | `resize` | `(widthPct, heightPct, anchor)` | Scale as percentage of current size |
559
+ | `rasterize` | `(target)` | Rasterize. RasterizeType: `ENTIRE`, `FILLCONTENT`, `LAYERCLIPPINGMASK`, `LINKEDLAYERS`, `SHAPE`, `TEXTCONTENTS`, `VECTORMASK` |
560
+
561
+ ### Layer Management Methods
562
+
563
+ | Method | Signature | Description |
564
+ |--------|-----------|-------------|
565
+ | `duplicate` | `()` | Duplicate to same document, returns new layer |
566
+ | `duplicate` | `(doc, placement)` | Duplicate to another document |
567
+ | `remove` | `()` | Delete the layer |
568
+ | `merge` | `()` | Merge down; returns the merged ArtLayer |
569
+ | `move` | `(relativeLayer, placement)` | Reorder. ElementPlacement: `PLACEBEFORE`, `PLACEAFTER`, `PLACEATBEGINNING`, `PLACEATEND`, `INSIDE` |
570
+ | `copy` | `(merged)` | Copy to clipboard |
571
+ | `cut` | `()` | Cut to clipboard |
572
+ | `clear` | `()` | Cut without clipboard |
573
+
574
+ ### Adjustment Methods on ArtLayer
575
+
576
+ | Method | Signature | Description |
577
+ |--------|-----------|-------------|
578
+ | `adjustBrightnessContrast` | `(brightness, contrast)` | Brightness -100–100, Contrast -100–100 |
579
+ | `adjustColorBalance` | `(shadows, midtones, highlights, preserveLuminosity)` | Each is `[cyan-red, magenta-green, yellow-blue]` array |
580
+ | `adjustCurves` | `(curveShape)` | Array of `[input,output]` pairs per channel |
581
+ | `adjustLevels` | `(inputRangeStart, inputRangeEnd, gamma, outputRangeStart, outputRangeEnd)` | Levels adjustment |
582
+ | `autoLevels` | `()` | Auto levels |
583
+ | `autoContrast` | `()` | Auto contrast |
584
+ | `desaturate` | `()` | Convert to grayscale values in current mode |
585
+ | `equalize` | `()` | Equalize brightness distribution |
586
+ | `invert` | `()` | Invert pixel colors |
587
+ | `posterize` | `(levels)` | Posterize (2–255 levels) |
588
+ | `threshold` | `(level)` | B&W threshold (1–255) |
589
+ | `shadowHighlight` | `(shadowAmount, shadowWidth, shadowRadius, highlightAmount, highlightWidth, highlightRadius, colorCorrection, midtoneContrast, blackClip, whiteClip)` | Shadows/Highlights |
590
+ | `photoFilter` | `(fillColor, density, luminosity)` | Photo filter |
591
+ | `mixChannels` | `(outputChannels, monochrome)` | Channel mixer |
592
+ | `selectiveColor` | `(colors, cyan, magenta, yellow, black, method)` | Selective color |
593
+
594
+ ### Filter Methods on ArtLayer
595
+
596
+ | Method | Signature | Description |
597
+ |--------|-----------|-------------|
598
+ | `applyGaussianBlur` | `(radius)` | Gaussian blur (0.1–250 px radius) |
599
+ | `applyMotionBlur` | `(angle, distance)` | Motion blur |
600
+ | `applyRadialBlur` | `(amount, blurMethod, blurQuality)` | Radial blur |
601
+ | `applySmartBlur` | `(radius, threshold, blurQuality, blurMode)` | Smart blur |
602
+ | `applyBlur` | `()` | Simple blur |
603
+ | `applyBlurMore` | `()` | Blur more |
604
+ | `applyUnSharpMask` | `(amount, radius, threshold)` | Unsharp mask |
605
+ | `applySharpen` | `()` | Sharpen |
606
+ | `applySharpenEdges` | `()` | Sharpen edges |
607
+ | `applySharpenMore` | `()` | Sharpen more |
608
+ | `applyAddNoise` | `(amount, distribution, monochromatic)` | Add noise. NoiseDistribution: `GAUSSIAN`, `UNIFORM` |
609
+ | `applyDespeckle` | `()` | Despeckle |
610
+ | `applyDustAndScratches` | `(radius, threshold)` | Dust and scratches |
611
+ | `applyMedianNoise` | `(radius)` | Median noise reduction |
612
+ | `applyMaximum` | `(radius)` | Maximum filter (dilate) |
613
+ | `applyMinimum` | `(radius)` | Minimum filter (erode) |
614
+ | `applyHighPass` | `(radius)` | High pass |
615
+ | `applyOffset` | `(horizontal, vertical, undefinedAreas)` | Offset. UndefinedAreas: `SETTOBACKGROUND`, `WRAPAROUND`, `REPEATEDGEPIXELS` |
616
+ | `applyRipple` | `(amount, size)` | Ripple. RippleSize: `SMALL`, `MEDIUM`, `LARGE` |
617
+ | `applyWave` | `(generators, minWavelength, maxWavelength, minAmplitude, maxAmplitude, horizScale, vertScale, waveType, undefinedAreas, randomSeed)` | Wave filter |
618
+ | `applyZigZag` | `(amount, ridges, style)` | Zig-Zag |
619
+ | `applyTwirl` | `(angle)` | Twirl |
620
+ | `applyPolarCoordinates` | `(conversion)` | Polar coordinates |
621
+ | `applySpherize` | `(amount, mode)` | Spherize |
622
+ | `applyPinch` | `(amount)` | Pinch (-100–100) |
623
+ | `applyShear` | `(curve, undefinedAreas)` | Shear |
624
+ | `applyDisplace` | `(horizontalScale, verticalScale, displacementType, undefinedAreas, displacementMapFile)` | Displace |
625
+ | `applyClouds` | `()` | Render Clouds |
626
+ | `applyDifferenceClouds` | `()` | Difference Clouds |
627
+ | `applyLensFlare` | `(brightness, flareCenter, lensType)` | Lens Flare. LensType: `ZOOMWIDE, ZOOMNORMAL, MOVIE` |
628
+ | `applyDiffuseGlow` | `(graininess, glowAmount, clearAmount)` | Diffuse Glow |
629
+ | `applyGlassEffect` | `(distortion, smoothness, scaling, invert, texture, textureFile)` | Glass |
630
+ | `applyOceanRipple` | `(size, magnitude)` | Ocean Ripple |
631
+ | `applyLensBlur` | `(source, focalDistance, invertDepthMap, shape, radius, bladeCurvature, rotation, brightness, threshold, amount, distribution, monochromatic)` | Lens Blur |
632
+ | `applyAverage` | `()` | Average blur |
633
+ | `applyDeInterlace` | `(eliminateFields, createFields)` | De-interlace |
634
+ | `applyNTSC` | `()` | NTSC colors |
635
+ | `applyCustomFilter` | `(characteristics, scale, offset)` | Custom filter (5×5 matrix) |
636
+ | `applyTextureFill` | `(textureFile)` | Texture fill |
637
+ | `applyStyle` | `(styleName)` | Apply a layer style preset by name |
638
+ | `photoFilter` | `(fillColor, density, luminosity)` | Photo Filter |
639
+
640
+ **Practical examples:**
641
+ ```js
642
+ var layer = app.activeDocument.activeLayer;
643
+
644
+ // Move to absolute position (layer.bounds[0] = current left edge)
645
+ layer.translate(200 - layer.bounds[0], 100 - layer.bounds[1]);
646
+
647
+ // Rotate 45° around center
648
+ layer.rotate(45);
649
+
650
+ // Scale to 50% keeping center
651
+ layer.resize(50, 50, AnchorPosition.MIDDLECENTER);
652
+
653
+ // Gaussian blur radius 10
654
+ layer.applyGaussianBlur(10);
655
+
656
+ // Unsharp mask
657
+ layer.applyUnSharpMask(50, 2, 0);
658
+
659
+ // Levels: input 0–200, gamma 1.2, output 0–255
660
+ layer.adjustLevels(0, 200, 1.2, 0, 255);
661
+
662
+ // Brightness +20, Contrast +10
663
+ layer.adjustBrightnessContrast(20, 10);
664
+
665
+ // Invert
666
+ layer.invert();
667
+
668
+ // Rasterize text
669
+ layer.rasterize(RasterizeType.TEXTCONTENTS);
670
+
671
+ // Duplicate layer
672
+ var copy = layer.duplicate();
673
+ copy.name = "Layer Copy";
674
+
675
+ // Move layer below another
676
+ var target = doc.layers.getByName("Background");
677
+ layer.move(target, ElementPlacement.PLACEAFTER);
678
+ ```
679
+
680
+ ---
681
+
682
+
683
+ ## `LayerSet` — Group Layer
684
+
685
+ A LayerSet is a folder/group in the Layers panel. It has the same layer management methods as `Document`.
686
+
687
+ ### Properties
688
+
689
+ | Property | Type | R/W | Description |
690
+ |----------|------|-----|-------------|
691
+ | `name` | string | R/W | Group name |
692
+ | `visible` | boolean | R/W | Group visibility |
693
+ | `opacity` | number | R/W | Group opacity 0–100 |
694
+ | `blendMode` | BlendMode | R/W | Group blend mode |
695
+ | `bounds` | array | R | Bounding box `[left,top,right,bottom]` |
696
+ | `layers` | Layers | R | All layers inside this group |
697
+ | `artLayers` | ArtLayers | R | Art layers inside this group |
698
+ | `layerSets` | LayerSets | R | Sub-groups inside this group |
699
+ | `parent` | Document/LayerSet | R | Parent container |
700
+ | `typename` | string | R | Always `"LayerSet"` |
701
+
702
+ ### Methods
703
+ Same as Document for layer management: `layers.add()`, `artLayers.add()`, `layerSets.add()`, `.getByName()`, plus `duplicate()`, `remove()`, `move()`.
704
+
705
+ ```js
706
+ // Create group with layers inside
707
+ var group = doc.layerSets.add();
708
+ group.name = "Product Card";
709
+
710
+ var bgLayer = group.artLayers.add(); bgLayer.name = "Background";
711
+ var textLayer = group.artLayers.add(); textLayer.kind = LayerKind.TEXT;
712
+ textLayer.textItem.contents = "Buy Now";
713
+ textLayer.textItem.size = 36;
714
+
715
+ // Collapse/expand group (Photopea specific, not in standard DOM)
716
+ // Use visibility as workaround
717
+
718
+ // Get specific layer inside a group
719
+ var innerLayer = doc.layerSets.getByName("Header Group").artLayers.getByName("Title");
720
+ ```
721
+
722
+ ---
723
+
724
+
725
+ ## `TextItem` — Text Layer Content
726
+
727
+ Access via `layer.textItem` on any layer with `layer.kind === LayerKind.TEXT`.
728
+
729
+ ### Core Properties (most commonly used)
730
+
731
+ | Property | Type | R/W | Description |
732
+ |----------|------|-----|-------------|
733
+ | `contents` | string | R/W | The actual text content |
734
+ | `font` | string | R/W | Font PostScript name (e.g. `"ArialMT"`, `"Verdana-Bold"`) |
735
+ | `size` | number | R/W | Font size in points |
736
+ | `color` | SolidColor | R/W | Text color |
737
+ | `position` | array | R/W | `[x, y]` origin of text (point text) or bounding box top-left |
738
+ | `justification` | Justification | R/W | `Justification.LEFT`, `CENTER`, `RIGHT`, `FULLJUSTIFY` |
739
+ | `kind` | TextType | R/W | `TextType.POINTTEXT` or `TextType.PARAGRAPHTEXT` |
740
+ | `width` | number | R/W | Width of bounding box (paragraph text only) |
741
+ | `height` | number | R/W | Height of bounding box (paragraph text only) |
742
+ | `direction` | Direction | R/W | `Direction.HORIZONTAL` or `Direction.VERTICAL` |
743
+
744
+ ### Typography Properties
745
+
746
+ | Property | Type | R/W | Description |
747
+ |----------|------|-----|-------------|
748
+ | `leading` | number | R/W | Line spacing in points |
749
+ | `tracking` | number | R/W | Letter spacing -1000–10000 (1000 = 1 em) |
750
+ | `horizontalScale` | number | R/W | Horizontal scaling 0–1000% |
751
+ | `verticalScale` | number | R/W | Vertical scaling 0–1000% |
752
+ | `baselineShift` | number | R/W | Baseline offset in points |
753
+ | `capitalization` | Case | R/W | `Case.NORMAL`, `ALLCAPS`, `SMALLCAPS` |
754
+ | `fauxBold` | boolean | R/W | Simulated bold |
755
+ | `fauxItalic` | boolean | R/W | Simulated italic |
756
+ | `underline` | UnderlineType | R/W | `UnderlineType.NONE`, `UNDERLINELEFT`, `UNDERLINERIGHT` |
757
+ | `strikeThru` | StrikeThruType | R/W | `StrikeThruType.NONE`, `STRIKEBOX`, `STRIKEHEIGHT` |
758
+ | `antiAliasMethod` | AntiAlias | R/W | `AntiAlias.NONE`, `SHARP`, `CRISP`, `STRONG`, `SMOOTH` |
759
+ | `autoKerning` | AutoKernType | R/W | `AutoKernType.MANUAL`, `METRICS`, `OPTICAL` |
760
+ | `language` | Language | R/W | `Language.ENGLISH`, etc. |
761
+ | `ligatures` | boolean | R/W | Enable ligatures |
762
+ | `alternateLigatures` | boolean | R/W | Enable alternate ligatures |
763
+ | `oldStyle` | boolean | R/W | Old-style numerals |
764
+ | `noBreak` | boolean | R/W | Prevent line breaks in this text |
765
+ | `useAutoLeading` | boolean | R/W | Use font's built-in leading |
766
+ | `autoLeadingAmount` | number | R/W | Auto leading percentage 0.01–5000 |
767
+ | `hyphenation` | boolean | R/W | Enable hyphenation |
768
+
769
+ ### Paragraph Properties
770
+
771
+ | Property | Type | R/W | Description |
772
+ |----------|------|-----|-------------|
773
+ | `leftIndent` | number | R/W | Left indent -1296–1296 |
774
+ | `rightIndent` | number | R/W | Right indent -1296–1296 |
775
+ | `firstLineIndent` | number | R/W | First line indent -1296–1296 |
776
+ | `spaceBefore` | number | R/W | Space before paragraph -1296–1296 |
777
+ | `spaceAfter` | number | R/W | Space after paragraph -1296–1296 |
778
+ | `hangingPuntuation` | boolean | R/W | Roman hanging punctuation |
779
+ | `textComposer` | TextComposer | R/W | `TextComposer.ADOBEEVERYLINE`, `ADOBESINGLELINE` |
780
+
781
+ ### Warp Properties
782
+
783
+ | Property | Type | R/W | Description |
784
+ |----------|------|-----|-------------|
785
+ | `warpStyle` | WarpStyle | R/W | `WarpStyle.NONE`, `ARC`, `ARCH`, `BULGE`, `SHELLLOWER`, `SHELLUPPER`, `FLAG`, `WAVE`, `FISH`, `RISE`, `FISHEYE`, `INFLATE`, `SQUEEZE`, `TWIST` |
786
+ | `warpDirection` | Direction | R/W | `Direction.HORIZONTAL` or `Direction.VERTICAL` |
787
+ | `warpBend` | number | R/W | Warp bend -100–100 |
788
+ | `warpHorizontalDistortion` | number | R/W | Horizontal distortion -100–100 |
789
+ | `warpVerticalDistortion` | number | R/W | Vertical distortion -100–100 |
790
+
791
+ ### Photopea Extensions
792
+
793
+ | Property | Type | Description |
794
+ |----------|------|-------------|
795
+ | `totalTextStyle` | string | JSON string with ALL style parameters of the text |
796
+ | `transform` | string | JSON array — the affine transform matrix of the text |
797
+
798
+ ### Methods
799
+
800
+ | Method | Description |
801
+ |--------|-------------|
802
+ | `convertToShape()` | Convert text to a filled shape layer with text as clipping path |
803
+ | `createPath()` | Create work path from text outlines |
804
+
805
+ **Practical examples:**
806
+ ```js
807
+ var layer = doc.layers.getByName("Headline");
808
+ var text = layer.textItem;
809
+
810
+ // Set content
811
+ text.contents = "Hello World";
812
+
813
+ // Style
814
+ text.font = "Verdana-Bold";
815
+ text.size = 72;
816
+ text.color.rgb.hexValue = "FF0000"; // red
817
+
818
+ // Position point text at (50, 100)
819
+ text.position = [50, 100];
820
+
821
+ // Center align
822
+ text.justification = Justification.CENTER;
823
+
824
+ // Paragraph text with bounding box
825
+ text.kind = TextType.PARAGRAPHTEXT;
826
+ text.width = new UnitValue("400 pixels");
827
+ text.height = new UnitValue("200 pixels");
828
+
829
+ // Letter spacing
830
+ text.tracking = 100; // 10% spacing
831
+
832
+ // Scale text horizontally to 80%
833
+ text.horizontalScale = 80;
834
+
835
+ // Warp arc
836
+ text.warpStyle = WarpStyle.ARC;
837
+ text.warpBend = 30;
838
+
839
+ // Read all text styles as JSON (Photopea extension)
840
+ var styles = JSON.parse(text.totalTextStyle);
841
+ app.echoToOE(JSON.stringify(styles));
842
+ ```
843
+
844
+ ---
845
+
846
+
847
+ ## Creating a Text Layer from Scratch
848
+
849
+ ```js
850
+ app.preferences.rulerUnits = Units.PIXELS;
851
+
852
+ var layer = doc.artLayers.add();
853
+ layer.kind = LayerKind.TEXT; // Convert blank layer to text
854
+ layer.name = "My Title";
855
+
856
+ var text = layer.textItem;
857
+ text.contents = "Welcome";
858
+ text.font = "ArialMT";
859
+ text.size = 48;
860
+ text.justification = Justification.CENTER;
861
+ text.position = [doc.width / 2, 100];
862
+
863
+ var color = new SolidColor();
864
+ color.rgb.red = 255;
865
+ color.rgb.green = 255;
866
+ color.rgb.blue = 255;
867
+ text.color = color;
868
+ ```
869
+
870
+ ---
871
+
872
+
873
+ ## `SolidColor` — Color Object
874
+
875
+ ```js
876
+ // RGB (most common in Photopea)
877
+ var c = new SolidColor();
878
+ c.rgb.red = 255; // 0–255
879
+ c.rgb.green = 128;
880
+ c.rgb.blue = 0;
881
+ c.rgb.hexValue = "FF8000"; // Set via hex string (no #)
882
+
883
+ // CMYK
884
+ var c2 = new SolidColor();
885
+ c2.cmyk.cyan = 0; // 0–100
886
+ c2.cmyk.magenta = 50;
887
+ c2.cmyk.yellow = 100;
888
+ c2.cmyk.black = 0;
889
+
890
+ // Grayscale
891
+ var c3 = new SolidColor();
892
+ c3.gray.gray = 50; // 0–100
893
+
894
+ // HSB
895
+ var c4 = new SolidColor();
896
+ c4.hsb.hue = 30; // 0–360
897
+ c4.hsb.saturation = 100; // 0–100
898
+ c4.hsb.brightness = 100; // 0–100
899
+
900
+ // Lab
901
+ var c5 = new SolidColor();
902
+ c5.lab.l = 50; // 0–100
903
+ c5.lab.a = 20; // -128–127
904
+ c5.lab.b = 40; // -128–127
905
+
906
+ // Set as foreground color
907
+ app.foregroundColor = c;
908
+
909
+ // Use with selection fill
910
+ doc.selection.selectAll();
911
+ doc.selection.fill(c);
912
+ doc.selection.deselect();
913
+ ```
914
+
915
+ ---
916
+
917
+
918
+ ## `Selection` — Selection Object
919
+
920
+ Access via `doc.selection`.
921
+
922
+ ### Properties
923
+
924
+ | Property | Type | Description |
925
+ |----------|------|-------------|
926
+ | `bounds` | array | `[left, top, right, bottom]` bounding rectangle |
927
+ | `solid` | boolean | Whether selection is a solid rectangle |
928
+
929
+ ### Methods
930
+
931
+ | Method | Signature | Description |
932
+ |--------|-----------|-------------|
933
+ | `selectAll` | `()` | Select entire document |
934
+ | `deselect` | `()` | Remove selection |
935
+ | `invert` | `()` | Invert the selection |
936
+ | `select` | `(region, type, feather, antiAlias)` | Select polygon region. Region is array of `[x,y]` points. SelectionType: `REPLACE`, `ADD`, `SUBTRACT`, `INTERSECT` |
937
+ | `feather` | `(radius)` | Feather the selection edges |
938
+ | `contract` | `(radius)` | Contract (shrink) selection |
939
+ | `expand` | `(radius)` | Expand selection |
940
+ | `grow` | `(tolerance, antiAlias)` | Grow selection to similar adjacent pixels |
941
+ | `similar` | `(tolerance, antiAlias)` | Select similar pixels throughout document |
942
+ | `smooth` | `(radius)` | Smooth selection edges |
943
+ | `selectBorder` | `(width)` | Select only the border of the current selection |
944
+ | `resize` | `(widthPct, heightPct, anchor)` | Resize selection boundary |
945
+ | `rotate` | `(angle, anchor)` | Rotate selection boundary |
946
+ | `translate` | `(deltaX, deltaY)` | Move selection boundary |
947
+ | `fill` | `(fillWith, mode, opacity, preserveTransparency)` | Fill selection with color or content. fillWith is SolidColor or string |
948
+ | `stroke` | `(strokeColor, width, location, mode, opacity, preserveTransparency)` | Stroke selection border. StrokeLocation: `INSIDE`, `OUTSIDE`, `CENTER` |
949
+ | `copy` | `(merged)` | Copy selection to clipboard |
950
+ | `cut` | `()` | Cut selection to clipboard |
951
+ | `clear` | `()` | Delete selection content |
952
+ | `load` | `(from, type, invert)` | Load selection from channel |
953
+ | `store` | `(into, type)` | Save selection as channel |
954
+ | `makeWorkPath` | `(tolerance)` | Convert to work path |
955
+
956
+ **Practical examples:**
957
+ ```js
958
+ var sel = doc.selection;
959
+
960
+ // Rectangle select (top-left to bottom-right)
961
+ sel.select([[0,0],[500,0],[500,300],[0,300]]);
962
+
963
+ // Select all
964
+ sel.selectAll();
965
+
966
+ // Add to existing selection
967
+ sel.select([[600,0],[900,0],[900,300],[600,300]], SelectionType.ADD);
968
+
969
+ // Feather 10px
970
+ sel.feather(10);
971
+
972
+ // Contract by 5px
973
+ sel.contract(5);
974
+
975
+ // Fill with red
976
+ var red = new SolidColor();
977
+ red.rgb.red = 255; red.rgb.green = 0; red.rgb.blue = 0;
978
+ sel.fill(red);
979
+
980
+ // Stroke selection with black, 3px, inside
981
+ var black = new SolidColor();
982
+ black.rgb.hexValue = "000000";
983
+ sel.stroke(black, 3, StrokeLocation.INSIDE);
984
+
985
+ // Copy, paste as new layer
986
+ sel.copy();
987
+ doc.paste();
988
+
989
+ // Invert and delete (remove background)
990
+ sel.invert();
991
+ sel.clear();
992
+ sel.deselect();
993
+ ```
994
+
995
+ ---
996
+
997
+
998
+ ## `BlendMode` Enum — All Values
999
+
1000
+ Used in `layer.blendMode` (string form in Photopea) and `BlendMode` constant (standard):
1001
+
1002
+ | `BlendMode` Constant | Photopea String | Name |
1003
+ |----------------------|-----------------|------|
1004
+ | `BlendMode.NORMAL` | `"norm"` | Normal |
1005
+ | `BlendMode.DISSOLVE` | `"diss"` | Dissolve |
1006
+ | `BlendMode.DARKEN` | `"dark"` | Darken |
1007
+ | `BlendMode.MULTIPLY` | `"mul "` | Multiply |
1008
+ | `BlendMode.COLORBURN` | `"idiv"` | Color Burn |
1009
+ | `BlendMode.LINEARBURN` | `"lbrn"` | Linear Burn |
1010
+ | `BlendMode.DARKERCOLOR` | `"dkCl"` | Darker Color |
1011
+ | `BlendMode.LIGHTEN` | `"lite"` | Lighten |
1012
+ | `BlendMode.SCREEN` | `"scrn"` | Screen |
1013
+ | `BlendMode.COLORDODGE` | `"div "` | Color Dodge |
1014
+ | `BlendMode.LINEARDODGE` | `"lddg"` | Linear Dodge (Add) |
1015
+ | `BlendMode.LIGHTERCOLOR` | `"lgCl"` | Lighter Color |
1016
+ | `BlendMode.OVERLAY` | `"over"` | Overlay |
1017
+ | `BlendMode.SOFTLIGHT` | `"sLit"` | Soft Light |
1018
+ | `BlendMode.HARDLIGHT` | `"hLit"` | Hard Light |
1019
+ | `BlendMode.VIVIDLIGHT` | `"vLit"` | Vivid Light |
1020
+ | `BlendMode.LINEARLIGHT` | `"lLit"` | Linear Light |
1021
+ | `BlendMode.PINLIGHT` | `"pLit"` | Pin Light |
1022
+ | `BlendMode.HARDMIX` | `"hMix"` | Hard Mix |
1023
+ | `BlendMode.DIFFERENCE` | `"diff"` | Difference |
1024
+ | `BlendMode.EXCLUSION` | `"smud"` | Exclusion |
1025
+ | `BlendMode.SUBTRACT` | `"fsub"` | Subtract |
1026
+ | `BlendMode.DIVIDE` | `"fdiv"` | Divide |
1027
+ | `BlendMode.HUE` | `"hue "` | Hue |
1028
+ | `BlendMode.SATURATION` | `"sat "` | Saturation |
1029
+ | `BlendMode.COLOR` | `"colr"` | Color |
1030
+ | `BlendMode.LUMINOSITY` | `"lum "` | Luminosity |
1031
+ | `BlendMode.PASSTHROUGH` | `"pass"` | Pass Through (groups only) |
1032
+
1033
+ ```js
1034
+ // Use either form:
1035
+ layer.blendMode = BlendMode.SCREEN; // constant
1036
+ layer.blendMode = "scrn"; // string (Photopea internal form)
1037
+ ```
1038
+
1039
+ ---
1040
+
1041
+
1042
+ ## `LayerKind` Enum
1043
+
1044
+ | Constant | Description |
1045
+ |----------|-------------|
1046
+ | `LayerKind.NORMAL` | Regular pixel layer |
1047
+ | `LayerKind.TEXT` | Text layer |
1048
+ | `LayerKind.SMARTOBJECT` | Smart Object / linked layer |
1049
+ | `LayerKind.SOLIDFILL` | Solid color fill layer |
1050
+ | `LayerKind.GRADIENTFILL` | Gradient fill layer |
1051
+ | `LayerKind.PATTERNFILL` | Pattern fill layer |
1052
+ | `LayerKind.BRIGHTNESSCONTRAST` | Brightness/Contrast adjustment layer |
1053
+ | `LayerKind.CURVES` | Curves adjustment layer |
1054
+ | `LayerKind.LEVELS` | Levels adjustment layer |
1055
+ | `LayerKind.HUESATURATION` | Hue/Saturation adjustment layer |
1056
+ | `LayerKind.COLORBALANCE` | Color Balance adjustment layer |
1057
+ | `LayerKind.CHANNELMIXER` | Channel Mixer adjustment layer |
1058
+ | `LayerKind.GRADIENTMAP` | Gradient Map adjustment layer |
1059
+ | `LayerKind.INVERSION` | Invert adjustment layer |
1060
+ | `LayerKind.POSTERIZE` | Posterize adjustment layer |
1061
+ | `LayerKind.THRESHOLD` | Threshold adjustment layer |
1062
+ | `LayerKind.SELECTIVECOLOR` | Selective Color adjustment layer |
1063
+ | `LayerKind.PHOTOFILTER` | Photo Filter adjustment layer |
1064
+ | `LayerKind.EXPOSURE` | Exposure adjustment layer |
1065
+ | `LayerKind.VIBRANCE` | Vibrance adjustment layer |
1066
+ | `LayerKind.COLORLOOKUP` | Color Lookup adjustment layer |
1067
+ | `LayerKind.LAYER3D` | 3D layer (not generally useful in Photopea) |
1068
+ | `LayerKind.VIDEO` | Video layer |
1069
+
1070
+ ```js
1071
+ // Identify layer type
1072
+ var layer = doc.activeLayer;
1073
+ if (layer.kind === LayerKind.TEXT) /* text layer */;
1074
+ if (layer.kind === LayerKind.SMARTOBJECT) /* smart object */;
1075
+ if (layer.typename === "LayerSet") /* group */;
1076
+
1077
+ // Filter: collect all text layers recursively
1078
+ var textLayers = [];
1079
+ function collectText(parent) {
1080
+ for (var i = 0; i < parent.layers.length; i++) {
1081
+ var l = parent.layers[i];
1082
+ if (l.typename === "LayerSet") collectText(l);
1083
+ else if (l.kind === LayerKind.TEXT) textLayers.push(l);
1084
+ }
1085
+ }
1086
+ collectText(doc);
1087
+ ```
1088
+
1089
+ ---
1090
+
1091
+
1092
+ ## `AnchorPosition` Enum
1093
+
1094
+ | Constant | Position |
1095
+ |----------|----------|
1096
+ | `AnchorPosition.TOPLEFT` | Top left |
1097
+ | `AnchorPosition.TOPCENTER` | Top center |
1098
+ | `AnchorPosition.TOPRIGHT` | Top right |
1099
+ | `AnchorPosition.MIDDLELEFT` | Middle left |
1100
+ | `AnchorPosition.MIDDLECENTER` | Center |
1101
+ | `AnchorPosition.MIDDLERIGHT` | Middle right |
1102
+ | `AnchorPosition.BOTTOMLEFT` | Bottom left |
1103
+ | `AnchorPosition.BOTTOMCENTER` | Bottom center |
1104
+ | `AnchorPosition.BOTTOMRIGHT` | Bottom right |
1105
+
1106
+ ---
1107
+
1108
+
1109
+ ## `ElementPlacement` Enum
1110
+
1111
+ Used with `layer.move(relativeObject, placement)`:
1112
+
1113
+ | Constant | Effect |
1114
+ |----------|--------|
1115
+ | `ElementPlacement.PLACEBEFORE` | Above the target layer in the panel |
1116
+ | `ElementPlacement.PLACEAFTER` | Below the target layer in the panel |
1117
+ | `ElementPlacement.PLACEATBEGINNING` | Top of the layer stack |
1118
+ | `ElementPlacement.PLACEATEND` | Bottom of the layer stack |
1119
+ | `ElementPlacement.INSIDE` | Into a LayerSet (makes layer a child) |
1120
+
1121
+ ---
1122
+
1123
+
1124
+ ## `ResampleMethod` Enum
1125
+
1126
+ Used with `doc.resizeImage()`:
1127
+
1128
+ | Constant | Description |
1129
+ |----------|-------------|
1130
+ | `ResampleMethod.BICUBIC` | High quality, good for smooth gradients |
1131
+ | `ResampleMethod.BICUBICSHARPER` | Best for reduction |
1132
+ | `ResampleMethod.BICUBICSMOOTHER` | Best for enlargement |
1133
+ | `ResampleMethod.BILINEAR` | Medium quality |
1134
+ | `ResampleMethod.NEARESTNEIGHBOR` | No anti-aliasing, fastest |
1135
+ | `ResampleMethod.NONE` | No resampling (change resolution only) |
1136
+
1137
+ ---
1138
+
1139
+
1140
+ ## `SaveOptions` Enum
1141
+
1142
+ Used with `doc.close(saveOption)`:
1143
+
1144
+ | Constant | Meaning |
1145
+ |----------|---------|
1146
+ | `SaveOptions.DONOTSAVECHANGES` | Discard all changes and close |
1147
+ | `SaveOptions.SAVECHANGES` | Save then close |
1148
+ | `SaveOptions.PROMPTTOSAVECHANGES` | Show dialog (may block in headless) |
1149
+
1150
+ ---
1151
+
1152
+
1153
+ ## `ExportOptionsSaveForWeb` — Export to Filesystem
1154
+
1155
+ Used with `doc.exportDocument()` to write files that Photopea packages into a ZIP.
1156
+
1157
+ ```js
1158
+ // Export PNG
1159
+ var pngOpts = new ExportOptionsSaveForWeb();
1160
+ pngOpts.format = SaveDocumentType.PNG;
1161
+ pngOpts.PNG8 = false; // PNG-24
1162
+ pngOpts.quality = 100;
1163
+ pngOpts.transparency = true;
1164
+ doc.exportDocument(new File("/export.png"), ExportType.SAVEFORWEB, pngOpts);
1165
+
1166
+ // Export JPEG
1167
+ var jpgOpts = new ExportOptionsSaveForWeb();
1168
+ jpgOpts.format = SaveDocumentType.JPEG;
1169
+ jpgOpts.quality = 80; // 0–100
1170
+ doc.exportDocument(new File("/export.jpg"), ExportType.SAVEFORWEB, jpgOpts);
1171
+
1172
+ // Export GIF
1173
+ var gifOpts = new ExportOptionsSaveForWeb();
1174
+ gifOpts.format = SaveDocumentType.GIF;
1175
+ gifOpts.colors = 256;
1176
+ gifOpts.dither = 100;
1177
+ gifOpts.transparency = true;
1178
+ doc.exportDocument(new File("/export.gif"), ExportType.SAVEFORWEB, gifOpts);
1179
+ ```
1180
+
1181
+ ---
1182
+
1183
+
1184
+ ## `executeAction` — Advanced Operations
1185
+
1186
+ Used for operations not exposed in the standard DOM (adjustments applied as adjustment layers,
1187
+ Smart Object editing, etc.). Takes the Photoshop Action Manager approach.
1188
+
1189
+ ```js
1190
+ // Open Smart Object for editing
1191
+ var l = doc.layers.getByName("SmartObj");
1192
+ doc.activeLayer = l;
1193
+ executeAction(stringIDToTypeID("placedLayerEditContents"));
1194
+ // Smart Object is now the active document
1195
+ doc.activeLayer.rotate(90);
1196
+ doc.save();
1197
+ doc.close();
1198
+
1199
+ // Apply Hue/Saturation as destructive adjustment
1200
+ var desc = new ActionDescriptor();
1201
+ var list = new ActionList();
1202
+ var channel = new ActionDescriptor();
1203
+ channel.putEnumerated(stringIDToTypeID("presetKind"), stringIDToTypeID("presetKindType"), stringIDToTypeID("presetKindDefault"));
1204
+ channel.putInteger(stringIDToTypeID("hue"), 20); // hue shift
1205
+ channel.putInteger(stringIDToTypeID("saturation"), 30); // saturation
1206
+ channel.putInteger(stringIDToTypeID("lightness"), 0);
1207
+ list.putObject(stringIDToTypeID("hueSaturationAdjustmentV2Layer"), channel);
1208
+ desc.putList(stringIDToTypeID("adjustment"), list);
1209
+ executeAction(stringIDToTypeID("hueSaturation"), desc, DialogModes.NO);
1210
+
1211
+ // Select a layer by name using AM
1212
+ function selectLayerByName(name) {
1213
+ var desc = new ActionDescriptor();
1214
+ var ref = new ActionReference();
1215
+ ref.putName(charIDToTypeID("Lyr "), name);
1216
+ desc.putReference(charIDToTypeID("null"), ref);
1217
+ desc.putBoolean(charIDToTypeID("MkVs"), false);
1218
+ executeAction(charIDToTypeID("slct"), desc, DialogModes.NO);
1219
+ }
1220
+ ```
1221
+
1222
+ ---
1223
+
1224
+
1225
+ ## Common Mistakes & Gotchas
1226
+
1227
+ | Problem | Cause | Fix |
1228
+ |---------|-------|-----|
1229
+ | `createEmbed` never resolves | Container has no size | Add `width` + `height` CSS to the container `<div>` |
1230
+ | `runScript` returns `["done"]` with no data | No `echoToOE` in script | Add `app.echoToOE(value)` for anything you want back |
1231
+ | `result[0]` is `"done"`, not the expected value | `echoToOE` not reached | Check script logic for early exit or errors |
1232
+ | Images won't load (network error) | CORS | Server must respond with `Access-Control-Allow-Origin: *` |
1233
+ | `openFromURL(url, true)` layer not ready | Async loading lag | Use `addImageAndWait` utility |
1234
+ | `exportImage` only PNG/JPG | `exportImage` limitation | Use `runScript("saveToOE('webp:0.85')")` for other formats |
1235
+ | Pixel coordinates behave unexpectedly | Wrong ruler units | Always set `app.preferences.rulerUnits = Units.PIXELS` first |
1236
+ | Text `size` set but looks different | Wrong type units | Set `app.preferences.typeUnits = TypeUnits.PIXELS` |
1237
+ | Layer not found by name | Wrong layer level | Layers are scoped; use recursive search for nested layers |
1238
+ | `layer.bounds[0]` returns a UnitValue, not number | Ruler units issue | Force `Units.PIXELS` before reading bounds |
1239
+ | Smart Object edit hangs | Missing `doc.save(); doc.close()` | Always save + close when done editing SO |
1240
+ | React double-mount in dev | Strict Mode | Use `if (peaRef.current) return` guard in `useEffect` |
1241
+
1242
+ ---
1243
+
1244
+
1245
+ ## Sources
1246
+
1247
+ - photopea.js: https://github.com/yikuansun/PhotopeaAPI
1248
+ - npm: https://www.npmjs.com/package/photopea
1249
+ - Photopea Live Messaging API: https://www.photopea.com/api/live
1250
+ - Photopea Script reference: https://www.photopea.com/learn/scripts
1251
+ - Photoshop JS Scripting reference (compatible): https://theiviaxx.github.io/photoshop-docs/Photoshop/index.html
1252
+ - Plugin dev gists (addImageAndWait, getDocumentAsImage): https://gist.github.com/yikuansun/c0f1a602b4e9d4e344a41c4f49ded3bf