claude-code-arcane 1.0.0

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 (1778) hide show
  1. package/CHANGELOG.md +100 -0
  2. package/LICENSE +26 -0
  3. package/README.md +372 -0
  4. package/agents/ai/ai-architect.md +80 -0
  5. package/agents/ai/data-engineer.md +66 -0
  6. package/agents/ai/data-scientist.md +58 -0
  7. package/agents/ai/ml-engineer.md +61 -0
  8. package/agents/business/business-ops-lead.md +64 -0
  9. package/agents/business/financial-analyst.md +62 -0
  10. package/agents/business/sales-engineer.md +74 -0
  11. package/agents/clevel/ceo-advisor.md +64 -0
  12. package/agents/clevel/cfo-advisor.md +63 -0
  13. package/agents/clevel/chief-of-staff.md +60 -0
  14. package/agents/clevel/cmo-advisor.md +67 -0
  15. package/agents/clevel/coo-advisor.md +79 -0
  16. package/agents/clevel/cto-advisor.md +72 -0
  17. package/agents/devops/cloud-architect.md +52 -0
  18. package/agents/devops/platform-lead.md +72 -0
  19. package/agents/devops/sre-lead.md +100 -0
  20. package/agents/engineering/android-engineer.md +78 -0
  21. package/agents/engineering/backend-architect.md +127 -0
  22. package/agents/engineering/database-architect.md +138 -0
  23. package/agents/engineering/flutter-engineer.md +75 -0
  24. package/agents/engineering/frontend-architect.md +138 -0
  25. package/agents/engineering/go-engineer.md +102 -0
  26. package/agents/engineering/ios-engineer.md +76 -0
  27. package/agents/engineering/node-engineer.md +107 -0
  28. package/agents/engineering/react-engineer.md +109 -0
  29. package/agents/engineering/react-native-engineer.md +112 -0
  30. package/agents/engineering/sql-specialist.md +106 -0
  31. package/agents/game/accessibility-specialist.md +150 -0
  32. package/agents/game/ai-programmer.md +95 -0
  33. package/agents/game/analytics-engineer.md +101 -0
  34. package/agents/game/art-director.md +64 -0
  35. package/agents/game/economy-designer.md +143 -0
  36. package/agents/game/game-designer.md +70 -0
  37. package/agents/game/gameplay-programmer.md +133 -0
  38. package/agents/game/lead-programmer.md +62 -0
  39. package/agents/game/level-designer.md +115 -0
  40. package/agents/game/live-ops-designer.md +184 -0
  41. package/agents/game/narrative-director.md +60 -0
  42. package/agents/game/network-programmer.md +98 -0
  43. package/agents/game/performance-analyst.md +112 -0
  44. package/agents/game/qa-lead.md +65 -0
  45. package/agents/game/qa-tester-gamedev.md +230 -0
  46. package/agents/game/release-manager.md +65 -0
  47. package/agents/game/sound-designer.md +85 -0
  48. package/agents/game/systems-designer.md +157 -0
  49. package/agents/game/technical-artist.md +108 -0
  50. package/agents/game/technical-director.md +74 -0
  51. package/agents/game/ue-replication-specialist.md +143 -0
  52. package/agents/game/unity-shader-specialist.md +178 -0
  53. package/agents/game/unity-specialist.md +184 -0
  54. package/agents/game/unreal-specialist.md +172 -0
  55. package/agents/game/ux-designer.md +112 -0
  56. package/agents/game/world-builder.md +111 -0
  57. package/agents/game/writer.md +104 -0
  58. package/agents/integrations/api-tools-specialist.md +209 -0
  59. package/agents/integrations/comms-tools-specialist.md +159 -0
  60. package/agents/integrations/design-tools-specialist.md +129 -0
  61. package/agents/integrations/docs-tools-specialist.md +116 -0
  62. package/agents/integrations/integrations-architect.md +144 -0
  63. package/agents/integrations/project-tools-specialist.md +129 -0
  64. package/agents/management/delivery-manager.md +105 -0
  65. package/agents/management/program-director.md +55 -0
  66. package/agents/management/project-manager.md +126 -0
  67. package/agents/management/scrum-master.md +96 -0
  68. package/agents/marketing/content-lead.md +74 -0
  69. package/agents/marketing/growth-lead.md +72 -0
  70. package/agents/marketing/marketing-analyst.md +89 -0
  71. package/agents/marketing/marketing-director.md +75 -0
  72. package/agents/marketing/seo-lead.md +80 -0
  73. package/agents/product/chief-product-officer.md +79 -0
  74. package/agents/product/design-system-lead.md +76 -0
  75. package/agents/product/product-manager.md +132 -0
  76. package/agents/product/ui-lead.md +73 -0
  77. package/agents/product/ux-lead.md +103 -0
  78. package/agents/quality/qa-director.md +121 -0
  79. package/agents/quality/qa-engineer.md +92 -0
  80. package/agents/quality/security-architect.md +144 -0
  81. package/agents/regulatory/compliance-officer.md +88 -0
  82. package/agents/regulatory/quality-manager.md +90 -0
  83. package/agents/regulatory/regulatory-director.md +92 -0
  84. package/agents/visualnovel/vn-comfyui-artist.md +91 -0
  85. package/agents/visualnovel/vn-narrative-director.md +86 -0
  86. package/agents/visualnovel/vn-producer.md +108 -0
  87. package/agents/visualnovel/vn-renpy-developer.md +118 -0
  88. package/agents/visualnovel/vn-scene-director.md +98 -0
  89. package/agents/visualnovel/vn-ui-designer.md +97 -0
  90. package/dist/cli.js +2352 -0
  91. package/docs/SKILLS-CATALOG.md +457 -0
  92. package/docs/USER-GUIDE.md +543 -0
  93. package/docs/agent-hierarchy.md +133 -0
  94. package/docs/coding-standards.md +135 -0
  95. package/docs/collaborative-design.md +439 -0
  96. package/docs/context-management.md +200 -0
  97. package/docs/coordination-rules.md +164 -0
  98. package/docs/directory-structure.md +156 -0
  99. package/docs/division-structure.md +135 -0
  100. package/docs/gamedev/coding-standards.md +184 -0
  101. package/docs/gates/README.md +169 -0
  102. package/docs/gates/gamedev-gates.md +509 -0
  103. package/docs/gates/software-gates.md +449 -0
  104. package/docs/software/coding-standards.md +165 -0
  105. package/docs/technical-preferences.md +61 -0
  106. package/docs/templates/accessibility-requirements.md +331 -0
  107. package/docs/templates/architecture-decision-record.md +177 -0
  108. package/docs/templates/architecture-doc-from-code.md +266 -0
  109. package/docs/templates/architecture-traceability.md +101 -0
  110. package/docs/templates/changelog-template.md +62 -0
  111. package/docs/templates/collaborative-protocols/design-agent-protocol.md +157 -0
  112. package/docs/templates/collaborative-protocols/implementation-agent-protocol.md +160 -0
  113. package/docs/templates/collaborative-protocols/leadership-agent-protocol.md +181 -0
  114. package/docs/templates/design-doc-from-implementation.md +204 -0
  115. package/docs/templates/incident-response.md +135 -0
  116. package/docs/templates/interaction-pattern-library.md +1089 -0
  117. package/docs/templates/milestone-definition.md +79 -0
  118. package/docs/templates/post-mortem.md +69 -0
  119. package/docs/templates/prd.md +222 -0
  120. package/docs/templates/project-stage-report.md +218 -0
  121. package/docs/templates/release-checklist-template.md +125 -0
  122. package/docs/templates/release-notes.md +103 -0
  123. package/docs/templates/rfc.md +256 -0
  124. package/docs/templates/risk-register-entry.md +58 -0
  125. package/docs/templates/skill-test-spec.md +96 -0
  126. package/docs/templates/sprint-plan.md +75 -0
  127. package/docs/templates/technical-design-document.md +98 -0
  128. package/docs/templates/test-evidence.md +86 -0
  129. package/docs/templates/test-plan.md +151 -0
  130. package/docs/templates/ux-spec.md +544 -0
  131. package/hooks/check-update.sh +82 -0
  132. package/hooks/detect-division.sh +28 -0
  133. package/hooks/detect-gaps.sh +230 -0
  134. package/hooks/log-agent-stop.sh +7 -0
  135. package/hooks/log-agent.sh +7 -0
  136. package/hooks/notify.sh +7 -0
  137. package/hooks/post-compact.sh +7 -0
  138. package/hooks/pre-compact.sh +7 -0
  139. package/hooks/session-start.sh +78 -0
  140. package/hooks/session-stop.sh +7 -0
  141. package/hooks/statusline.sh +98 -0
  142. package/hooks/validate-assets.sh +10 -0
  143. package/hooks/validate-commit.sh +24 -0
  144. package/hooks/validate-push.sh +21 -0
  145. package/hooks/validate-secrets.sh +23 -0
  146. package/hooks/validate-skill-change.sh +19 -0
  147. package/package.json +63 -0
  148. package/profiles/agile.yaml +60 -0
  149. package/profiles/ai.yaml +27 -0
  150. package/profiles/android-native.yaml +36 -0
  151. package/profiles/backend-go.yaml +56 -0
  152. package/profiles/backend-ts.yaml +59 -0
  153. package/profiles/business.yaml +24 -0
  154. package/profiles/clevel.yaml +48 -0
  155. package/profiles/clickup.yaml +21 -0
  156. package/profiles/core.yaml +83 -0
  157. package/profiles/database.yaml +28 -0
  158. package/profiles/design.yaml +30 -0
  159. package/profiles/docs.yaml +31 -0
  160. package/profiles/finance.yaml +23 -0
  161. package/profiles/flutter.yaml +37 -0
  162. package/profiles/frontend.yaml +39 -0
  163. package/profiles/infra.yaml +47 -0
  164. package/profiles/integrations.yaml +23 -0
  165. package/profiles/ios-native.yaml +37 -0
  166. package/profiles/jira.yaml +21 -0
  167. package/profiles/marketing.yaml +64 -0
  168. package/profiles/mobile.yaml +39 -0
  169. package/profiles/regulatory.yaml +33 -0
  170. package/profiles/security.yaml +30 -0
  171. package/profiles/self-improving.yaml +22 -0
  172. package/profiles/statusline.yaml +21 -0
  173. package/profiles/testing.yaml +32 -0
  174. package/profiles/unity-design.yaml +37 -0
  175. package/profiles/unity-dev.yaml +44 -0
  176. package/profiles/visual-novel.yaml +54 -0
  177. package/rules/ai-code.md +60 -0
  178. package/rules/api-code.md +41 -0
  179. package/rules/backend-code.md +35 -0
  180. package/rules/data-files.md +58 -0
  181. package/rules/frontend-code.md +35 -0
  182. package/rules/gamedev/ai-code.md +15 -0
  183. package/rules/gamedev/design-docs.md +18 -0
  184. package/rules/gamedev/engine-code.md +41 -0
  185. package/rules/gamedev/gameplay-code.md +31 -0
  186. package/rules/gamedev/narrative.md +15 -0
  187. package/rules/gamedev/network-code.md +15 -0
  188. package/rules/gamedev/shader-code.md +43 -0
  189. package/rules/gamedev/ui-code.md +15 -0
  190. package/rules/gamedev/vn-code.md +37 -0
  191. package/rules/implementation-workflow.md +48 -0
  192. package/rules/infra-code.md +47 -0
  193. package/rules/migration-code.md +41 -0
  194. package/rules/prototype-code.md +40 -0
  195. package/rules/test-standards.md +55 -0
  196. package/skills/ab-test-setup/SKILL.md +99 -0
  197. package/skills/ab-test-setup/references/sample-size-guide.md +252 -0
  198. package/skills/ab-test-setup/references/test-templates.md +268 -0
  199. package/skills/ab-test-setup/scripts/sample_size_calculator.py +337 -0
  200. package/skills/accessibility/SKILL.md +32 -0
  201. package/skills/accessibility/references/anti-patterns.md +9 -0
  202. package/skills/accessibility/references/component-requirements.md +15 -0
  203. package/skills/accessibility/references/focus-forms-testing.md +31 -0
  204. package/skills/accessibility/references/wcag-criteria.md +17 -0
  205. package/skills/ad-creative/SKILL.md +85 -0
  206. package/skills/ad-creative/references/creative-frameworks.md +253 -0
  207. package/skills/ad-creative/references/platform-specs.md +170 -0
  208. package/skills/ad-creative/scripts/ad_copy_validator.py +490 -0
  209. package/skills/agent-designer/README.md +430 -0
  210. package/skills/agent-designer/SKILL.md +64 -0
  211. package/skills/agent-designer/agent_evaluator.py +1223 -0
  212. package/skills/agent-designer/agent_planner.py +911 -0
  213. package/skills/agent-designer/assets/sample_execution_logs.json +543 -0
  214. package/skills/agent-designer/assets/sample_system_requirements.json +57 -0
  215. package/skills/agent-designer/assets/sample_tool_descriptions.json +545 -0
  216. package/skills/agent-designer/expected_outputs/sample_agent_architecture.json +488 -0
  217. package/skills/agent-designer/expected_outputs/sample_evaluation_report.json +570 -0
  218. package/skills/agent-designer/expected_outputs/sample_tool_schemas.json +416 -0
  219. package/skills/agent-designer/references/agent_architecture_patterns.md +445 -0
  220. package/skills/agent-designer/references/evaluation_methodology.md +749 -0
  221. package/skills/agent-designer/references/tool_design_best_practices.md +470 -0
  222. package/skills/agent-designer/tool_schema_generator.py +978 -0
  223. package/skills/agent-protocol/SKILL.md +102 -0
  224. package/skills/agent-protocol/references/communication-standard.md +115 -0
  225. package/skills/agent-protocol/references/invocation-patterns.md +247 -0
  226. package/skills/agent-protocol/references/quality-loop.md +123 -0
  227. package/skills/agent-workflow-designer/SKILL.md +59 -0
  228. package/skills/agent-workflow-designer/references/workflow-patterns.md +82 -0
  229. package/skills/agent-workflow-designer/scripts/workflow_scaffolder.py +113 -0
  230. package/skills/ai-security/SKILL.md +113 -0
  231. package/skills/ai-security/references/atlas-coverage.md +150 -0
  232. package/skills/ai-security/scripts/ai_threat_scanner.py +564 -0
  233. package/skills/ai-seo/SKILL.md +172 -0
  234. package/skills/ai-seo/references/ai-search-landscape.md +191 -0
  235. package/skills/ai-seo/references/content-patterns.md +276 -0
  236. package/skills/ai-seo/references/monitoring-guide.md +208 -0
  237. package/skills/ai-seo/references/optimization-playbook.md +58 -0
  238. package/skills/analytics-tracking/SKILL.md +105 -0
  239. package/skills/analytics-tracking/references/debugging-playbook.md +224 -0
  240. package/skills/analytics-tracking/references/event-taxonomy-guide.md +203 -0
  241. package/skills/analytics-tracking/references/gtm-patterns.md +298 -0
  242. package/skills/analytics-tracking/scripts/tracking_plan_generator.py +386 -0
  243. package/skills/android-native-dev/SKILL.md +878 -0
  244. package/skills/android-native-dev/references/accessibility.md +209 -0
  245. package/skills/android-native-dev/references/adaptive-screens.md +231 -0
  246. package/skills/android-native-dev/references/design-style-guide.md +365 -0
  247. package/skills/android-native-dev/references/functional-requirements.md +229 -0
  248. package/skills/android-native-dev/references/motion-system.md +203 -0
  249. package/skills/android-native-dev/references/performance-stability.md +223 -0
  250. package/skills/android-native-dev/references/privacy-security.md +244 -0
  251. package/skills/android-native-dev/references/testing.md +554 -0
  252. package/skills/android-native-dev/references/visual-design.md +246 -0
  253. package/skills/api-design/SKILL.md +88 -0
  254. package/skills/api-design/references/anti-patterns.md +14 -0
  255. package/skills/api-design/references/versioning-deprecation.md +23 -0
  256. package/skills/api-docs/SKILL.md +101 -0
  257. package/skills/api-versioning/SKILL.md +51 -0
  258. package/skills/api-versioning/references/anti-patterns-and-checklist.md +27 -0
  259. package/skills/api-versioning/references/implementation-by-framework.md +31 -0
  260. package/skills/app-store-optimization/HOW_TO_USE.md +281 -0
  261. package/skills/app-store-optimization/SKILL.md +150 -0
  262. package/skills/app-store-optimization/assets/aso-audit-template.md +268 -0
  263. package/skills/app-store-optimization/expected_output.json +170 -0
  264. package/skills/app-store-optimization/references/ab-testing-guide.md +72 -0
  265. package/skills/app-store-optimization/references/aso-best-practices.md +403 -0
  266. package/skills/app-store-optimization/references/before-after-examples.md +73 -0
  267. package/skills/app-store-optimization/references/keyword-research-guide.md +419 -0
  268. package/skills/app-store-optimization/references/metadata-optimization.md +65 -0
  269. package/skills/app-store-optimization/references/platform-requirements.md +324 -0
  270. package/skills/app-store-optimization/sample_input.json +30 -0
  271. package/skills/app-store-optimization/scripts/ab_test_planner.py +662 -0
  272. package/skills/app-store-optimization/scripts/aso_scorer.py +482 -0
  273. package/skills/app-store-optimization/scripts/competitor_analyzer.py +577 -0
  274. package/skills/app-store-optimization/scripts/keyword_analyzer.py +406 -0
  275. package/skills/app-store-optimization/scripts/launch_checklist.py +739 -0
  276. package/skills/app-store-optimization/scripts/localization_helper.py +588 -0
  277. package/skills/app-store-optimization/scripts/metadata_optimizer.py +581 -0
  278. package/skills/app-store-optimization/scripts/review_analyzer.py +714 -0
  279. package/skills/arcane-add/SKILL.md +47 -0
  280. package/skills/arcane-clean/SKILL.md +45 -0
  281. package/skills/arcane-list/SKILL.md +46 -0
  282. package/skills/arcane-remove/SKILL.md +68 -0
  283. package/skills/arcane-status/SKILL.md +42 -0
  284. package/skills/architecture-decision/SKILL.md +75 -0
  285. package/skills/architecture-decision/templates/adr.md +101 -0
  286. package/skills/architecture-review/SKILL.md +90 -0
  287. package/skills/art-bible/SKILL.md +88 -0
  288. package/skills/art-bible/references/anti-patterns.md +8 -0
  289. package/skills/art-bible/references/checklist.md +17 -0
  290. package/skills/asset-audit/SKILL.md +95 -0
  291. package/skills/asset-spec/SKILL.md +72 -0
  292. package/skills/asset-spec/references/anti-patterns-checklist.md +19 -0
  293. package/skills/asset-spec/references/spec-output-format.md +34 -0
  294. package/skills/async-ops/SKILL.md +59 -0
  295. package/skills/async-ops/references/anti-patterns.md +16 -0
  296. package/skills/async-ops/references/checklist.md +10 -0
  297. package/skills/async-ops/references/job-scheduling.md +37 -0
  298. package/skills/async-ops/references/outbound-webhooks.md +19 -0
  299. package/skills/atlassian-admin/SKILL.md +121 -0
  300. package/skills/atlassian-admin/assets/permission_scheme_template.json +173 -0
  301. package/skills/atlassian-admin/references/security-hardening-guide.md +214 -0
  302. package/skills/atlassian-admin/references/user-provisioning-checklist.md +177 -0
  303. package/skills/atlassian-admin/scripts/permission_audit_tool.py +469 -0
  304. package/skills/atlassian-templates/SKILL.md +128 -0
  305. package/skills/atlassian-templates/references/governance-framework.md +234 -0
  306. package/skills/atlassian-templates/references/template-design-patterns.md +252 -0
  307. package/skills/atlassian-templates/scripts/template_scaffolder.py +418 -0
  308. package/skills/audit-dev/SKILL.md +43 -0
  309. package/skills/audit-game/SKILL.md +54 -0
  310. package/skills/audit-game/references/cross-reference-criteria.md +42 -0
  311. package/skills/audit-game/references/output-template.md +48 -0
  312. package/skills/audit-log/SKILL.md +75 -0
  313. package/skills/auth-strategy/SKILL.md +120 -0
  314. package/skills/auth-strategy/references/anti-patterns.md +21 -0
  315. package/skills/aws-solution-architect/SKILL.md +125 -0
  316. package/skills/aws-solution-architect/assets/expected_output.json +55 -0
  317. package/skills/aws-solution-architect/assets/sample_input.json +18 -0
  318. package/skills/aws-solution-architect/references/architecture_patterns.md +535 -0
  319. package/skills/aws-solution-architect/references/best_practices.md +631 -0
  320. package/skills/aws-solution-architect/references/service_selection.md +484 -0
  321. package/skills/aws-solution-architect/scripts/architecture_designer.py +808 -0
  322. package/skills/aws-solution-architect/scripts/cost_optimizer.py +346 -0
  323. package/skills/aws-solution-architect/scripts/serverless_stack.py +663 -0
  324. package/skills/azure-cloud-architect/SKILL.md +128 -0
  325. package/skills/azure-cloud-architect/references/architecture_patterns.md +413 -0
  326. package/skills/azure-cloud-architect/references/best_practices.md +337 -0
  327. package/skills/azure-cloud-architect/references/service_selection.md +250 -0
  328. package/skills/azure-cloud-architect/scripts/architecture_designer.py +592 -0
  329. package/skills/azure-cloud-architect/scripts/bicep_generator.py +775 -0
  330. package/skills/azure-cloud-architect/scripts/cost_optimizer.py +492 -0
  331. package/skills/backup-strategy/SKILL.md +101 -0
  332. package/skills/balance-check/SKILL.md +119 -0
  333. package/skills/board-deck-builder/SKILL.md +64 -0
  334. package/skills/board-deck-builder/references/deck-frameworks.md +184 -0
  335. package/skills/board-deck-builder/templates/board-deck-template.md +210 -0
  336. package/skills/board-meeting/SKILL.md +58 -0
  337. package/skills/board-meeting/references/meeting-facilitation.md +167 -0
  338. package/skills/board-meeting/templates/meeting-agenda.md +81 -0
  339. package/skills/board-meeting/templates/meeting-minutes.md +91 -0
  340. package/skills/brainstorm/SKILL.md +94 -0
  341. package/skills/brainstorm/references/next-steps-pipeline.md +13 -0
  342. package/skills/brainstorm/references/review-mode-gates.md +13 -0
  343. package/skills/brand-guidelines/SKILL.md +91 -0
  344. package/skills/brand-guidelines/references/brand-identity-and-framework.md +262 -0
  345. package/skills/bug-report/SKILL.md +53 -0
  346. package/skills/bug-triage/SKILL.md +74 -0
  347. package/skills/business-investment-advisor/SKILL.md +83 -0
  348. package/skills/business-investment-advisor/references/analysis-frameworks.md +113 -0
  349. package/skills/caching-strategy/SKILL.md +81 -0
  350. package/skills/caching-strategy/references/http-headers.md +9 -0
  351. package/skills/caching-strategy/references/patterns-and-invalidation.md +25 -0
  352. package/skills/caching-strategy/references/redis-and-client.md +13 -0
  353. package/skills/caching-strategy/references/ttl-defaults.md +11 -0
  354. package/skills/campaign-analytics/SKILL.md +93 -0
  355. package/skills/campaign-analytics/assets/ab_test_template.md +130 -0
  356. package/skills/campaign-analytics/assets/campaign_report_template.md +141 -0
  357. package/skills/campaign-analytics/assets/channel_comparison_template.md +158 -0
  358. package/skills/campaign-analytics/assets/expected_output.json +110 -0
  359. package/skills/campaign-analytics/assets/sample_campaign_data.json +151 -0
  360. package/skills/campaign-analytics/references/attribution-models-guide.md +285 -0
  361. package/skills/campaign-analytics/references/campaign-metrics-benchmarks.md +259 -0
  362. package/skills/campaign-analytics/references/funnel-optimization-framework.md +302 -0
  363. package/skills/campaign-analytics/scripts/attribution_analyzer.py +347 -0
  364. package/skills/campaign-analytics/scripts/campaign_roi_calculator.py +459 -0
  365. package/skills/campaign-analytics/scripts/funnel_analyzer.py +305 -0
  366. package/skills/capa-officer/SKILL.md +125 -0
  367. package/skills/capa-officer/references/effectiveness-verification-guide.md +462 -0
  368. package/skills/capa-officer/references/rca-methodologies.md +455 -0
  369. package/skills/capa-officer/scripts/capa_tracker.py +638 -0
  370. package/skills/capa-officer/scripts/root_cause_analyzer.py +486 -0
  371. package/skills/cdn-setup/SKILL.md +33 -0
  372. package/skills/cdn-setup/references/cache-strategy-and-invalidation.md +30 -0
  373. package/skills/cdn-setup/references/security-and-anti-patterns.md +26 -0
  374. package/skills/ceo-advisor/SKILL.md +110 -0
  375. package/skills/ceo-advisor/references/board_governance_investor_relations.md +599 -0
  376. package/skills/ceo-advisor/references/executive_decision_framework.md +475 -0
  377. package/skills/ceo-advisor/references/leadership_organizational_culture.md +682 -0
  378. package/skills/ceo-advisor/scripts/financial_scenario_analyzer.py +451 -0
  379. package/skills/ceo-advisor/scripts/strategy_analyzer.py +609 -0
  380. package/skills/cfo-advisor/SKILL.md +81 -0
  381. package/skills/cfo-advisor/references/cash_management.md +374 -0
  382. package/skills/cfo-advisor/references/financial_planning.md +500 -0
  383. package/skills/cfo-advisor/references/fundraising_playbook.md +419 -0
  384. package/skills/cfo-advisor/scripts/burn_rate_calculator.py +402 -0
  385. package/skills/cfo-advisor/scripts/fundraising_model.py +490 -0
  386. package/skills/cfo-advisor/scripts/unit_economics_analyzer.py +529 -0
  387. package/skills/change-management/SKILL.md +53 -0
  388. package/skills/change-management/references/adkar-details.md +110 -0
  389. package/skills/change-management/references/change-playbook.md +308 -0
  390. package/skills/changelog/SKILL.md +111 -0
  391. package/skills/check/SKILL.md +22 -0
  392. package/skills/chief-of-staff/SKILL.md +70 -0
  393. package/skills/chief-of-staff/references/routing-matrix.md +212 -0
  394. package/skills/chief-of-staff/references/synthesis-framework.md +201 -0
  395. package/skills/chro-advisor/SKILL.md +86 -0
  396. package/skills/chro-advisor/references/comp_frameworks.md +320 -0
  397. package/skills/chro-advisor/references/org_design.md +333 -0
  398. package/skills/chro-advisor/references/people_strategy.md +320 -0
  399. package/skills/chro-advisor/scripts/comp_benchmarker.py +613 -0
  400. package/skills/chro-advisor/scripts/hiring_plan_modeler.py +572 -0
  401. package/skills/churn-prevention/SKILL.md +200 -0
  402. package/skills/churn-prevention/references/cancel-flow-playbook.md +254 -0
  403. package/skills/churn-prevention/references/dunning-guide.md +276 -0
  404. package/skills/churn-prevention/references/exit-survey-and-save-offers.md +42 -0
  405. package/skills/churn-prevention/scripts/churn_impact_calculator.py +199 -0
  406. package/skills/ci-cd-setup/SKILL.md +66 -0
  407. package/skills/ci-cd-setup/references/anti-patterns.md +10 -0
  408. package/skills/ci-cd-setup/references/checklist.md +14 -0
  409. package/skills/ci-cd-setup/references/secret-and-deploy.md +30 -0
  410. package/skills/ciso-advisor/SKILL.md +86 -0
  411. package/skills/ciso-advisor/references/compliance_roadmap.md +370 -0
  412. package/skills/ciso-advisor/references/incident_response.md +350 -0
  413. package/skills/ciso-advisor/references/security_strategy.md +321 -0
  414. package/skills/ciso-advisor/scripts/compliance_tracker.py +781 -0
  415. package/skills/ciso-advisor/scripts/risk_quantifier.py +690 -0
  416. package/skills/clickup/SKILL.md +134 -0
  417. package/skills/cloud-security/SKILL.md +107 -0
  418. package/skills/cloud-security/references/cspm-checks.md +109 -0
  419. package/skills/cloud-security/scripts/cloud_posture_check.py +1180 -0
  420. package/skills/cmo-advisor/SKILL.md +82 -0
  421. package/skills/cmo-advisor/references/brand_positioning.md +374 -0
  422. package/skills/cmo-advisor/references/growth_frameworks.md +456 -0
  423. package/skills/cmo-advisor/references/marketing_org.md +281 -0
  424. package/skills/cmo-advisor/scripts/growth_model_simulator.py +416 -0
  425. package/skills/cmo-advisor/scripts/marketing_budget_modeler.py +440 -0
  426. package/skills/code-review/SKILL.md +66 -0
  427. package/skills/cold-email/SKILL.md +178 -0
  428. package/skills/cold-email/references/deliverability-guide.md +225 -0
  429. package/skills/cold-email/references/follow-up-playbook.md +225 -0
  430. package/skills/cold-email/references/frameworks.md +217 -0
  431. package/skills/cold-email/references/voice-and-subject-lines.md +41 -0
  432. package/skills/cold-email/scripts/email_sequence_analyzer.py +517 -0
  433. package/skills/commit/SKILL.md +25 -0
  434. package/skills/company-os/SKILL.md +66 -0
  435. package/skills/company-os/references/implementation-guide.md +249 -0
  436. package/skills/company-os/references/os-comparison.md +242 -0
  437. package/skills/company-os/references/six-components.md +129 -0
  438. package/skills/competitive-intel/SKILL.md +62 -0
  439. package/skills/competitive-intel/references/ci-playbook.md +237 -0
  440. package/skills/competitive-intel/templates/battlecard-template.md +99 -0
  441. package/skills/competitive-teardown/SKILL.md +169 -0
  442. package/skills/competitive-teardown/references/analysis-templates.md +203 -0
  443. package/skills/competitive-teardown/references/competitive-analysis-frameworks.md +107 -0
  444. package/skills/competitive-teardown/references/data-collection-guide.md +104 -0
  445. package/skills/competitive-teardown/references/scoring-rubric.md +116 -0
  446. package/skills/competitive-teardown/scripts/competitive_matrix_builder.py +299 -0
  447. package/skills/competitor-alternatives/SKILL.md +92 -0
  448. package/skills/competitor-alternatives/references/content-architecture.md +263 -0
  449. package/skills/competitor-alternatives/references/templates.md +212 -0
  450. package/skills/competitor-alternatives/scripts/comparison_matrix_builder.py +365 -0
  451. package/skills/confluence-expert/SKILL.md +129 -0
  452. package/skills/confluence-expert/references/macro-cheat-sheet.md +144 -0
  453. package/skills/confluence-expert/references/space-architecture-patterns.md +246 -0
  454. package/skills/confluence-expert/references/templates.md +725 -0
  455. package/skills/confluence-expert/scripts/content_audit_analyzer.py +457 -0
  456. package/skills/confluence-expert/scripts/space_structure_generator.py +517 -0
  457. package/skills/consistency-check/SKILL.md +68 -0
  458. package/skills/content-creator/SKILL.md +52 -0
  459. package/skills/content-creator/assets/content_calendar_template.md +99 -0
  460. package/skills/content-creator/examples/brand_voice_analysis_example.md +180 -0
  461. package/skills/content-creator/examples/seo_optimization_example.md +259 -0
  462. package/skills/content-creator/references/analytics_guide.md +352 -0
  463. package/skills/content-creator/references/brand_guidelines.md +219 -0
  464. package/skills/content-creator/references/content_frameworks.md +551 -0
  465. package/skills/content-creator/references/social_media_optimization.md +342 -0
  466. package/skills/content-humanizer/SKILL.md +193 -0
  467. package/skills/content-humanizer/references/ai-tells-checklist.md +157 -0
  468. package/skills/content-humanizer/references/voice-techniques.md +168 -0
  469. package/skills/content-humanizer/scripts/humanizer_scorer.py +504 -0
  470. package/skills/content-production/SKILL.md +192 -0
  471. package/skills/content-production/references/content-brief-guide.md +146 -0
  472. package/skills/content-production/references/optimization-checklist.md +139 -0
  473. package/skills/content-production/scripts/brand_voice_analyzer.py +197 -0
  474. package/skills/content-production/scripts/content_scorer.py +464 -0
  475. package/skills/content-production/scripts/seo_optimizer.py +433 -0
  476. package/skills/content-production/templates/content-brief-template.md +126 -0
  477. package/skills/content-strategy/SKILL.md +125 -0
  478. package/skills/content-strategy/references/content-strategy-reference.md +278 -0
  479. package/skills/content-strategy/scripts/topic_cluster_mapper.py +243 -0
  480. package/skills/context-engine/SKILL.md +50 -0
  481. package/skills/context-engine/references/anonymization-protocol.md +173 -0
  482. package/skills/context-prime/SKILL.md +25 -0
  483. package/skills/contract-and-proposal-writer/SKILL.md +126 -0
  484. package/skills/contract-and-proposal-writer/references/contract-templates.md +276 -0
  485. package/skills/contract-testing/SKILL.md +42 -0
  486. package/skills/contract-testing/references/anti-patterns-and-checklist.md +28 -0
  487. package/skills/contract-testing/references/implementation-details.md +29 -0
  488. package/skills/coo-advisor/SKILL.md +92 -0
  489. package/skills/coo-advisor/references/ops_cadence.md +606 -0
  490. package/skills/coo-advisor/references/process_frameworks.md +459 -0
  491. package/skills/coo-advisor/references/scaling_playbook.md +465 -0
  492. package/skills/coo-advisor/scripts/okr_tracker.py +1100 -0
  493. package/skills/coo-advisor/scripts/ops_efficiency_analyzer.py +1071 -0
  494. package/skills/copy-editing/SKILL.md +124 -0
  495. package/skills/copy-editing/references/copy-editing-checklist.md +134 -0
  496. package/skills/copy-editing/references/plain-english-alternatives.md +376 -0
  497. package/skills/copy-editing/references/seven-sweeps-framework.md +228 -0
  498. package/skills/copy-editing/scripts/readability_scorer.py +285 -0
  499. package/skills/copywriting/SKILL.md +192 -0
  500. package/skills/copywriting/references/copy-frameworks.md +338 -0
  501. package/skills/copywriting/references/natural-transitions.md +252 -0
  502. package/skills/copywriting/references/writing-style-rules.md +63 -0
  503. package/skills/copywriting/scripts/headline_scorer.py +256 -0
  504. package/skills/cpo-advisor/SKILL.md +102 -0
  505. package/skills/cpo-advisor/references/pmf_playbook.md +307 -0
  506. package/skills/cpo-advisor/references/product_org_design.md +407 -0
  507. package/skills/cpo-advisor/references/product_strategy.md +454 -0
  508. package/skills/cpo-advisor/scripts/pmf_scorer.py +600 -0
  509. package/skills/cpo-advisor/scripts/portfolio_analyzer.py +547 -0
  510. package/skills/create-epics/SKILL.md +65 -0
  511. package/skills/create-pr/SKILL.md +26 -0
  512. package/skills/create-stories/SKILL.md +85 -0
  513. package/skills/create-test-user/SKILL.md +37 -0
  514. package/skills/create-ticket/SKILL.md +50 -0
  515. package/skills/cro-advisor/SKILL.md +86 -0
  516. package/skills/cro-advisor/references/nrr_playbook.md +380 -0
  517. package/skills/cro-advisor/references/pricing_strategy.md +417 -0
  518. package/skills/cro-advisor/references/sales_playbook.md +461 -0
  519. package/skills/cro-advisor/scripts/churn_analyzer.py +742 -0
  520. package/skills/cro-advisor/scripts/revenue_forecast_model.py +571 -0
  521. package/skills/cs-onboard/SKILL.md +60 -0
  522. package/skills/cs-onboard/references/interview-guide.md +173 -0
  523. package/skills/cs-onboard/templates/company-context-template.md +144 -0
  524. package/skills/csp-headers/SKILL.md +53 -0
  525. package/skills/csp-headers/references/anti-patterns-checklist.md +26 -0
  526. package/skills/csp-headers/references/implementation.md +18 -0
  527. package/skills/cto-advisor/SKILL.md +95 -0
  528. package/skills/cto-advisor/references/architecture_decision_records.md +294 -0
  529. package/skills/cto-advisor/references/engineering_metrics.md +393 -0
  530. package/skills/cto-advisor/references/technology_evaluation_framework.md +370 -0
  531. package/skills/cto-advisor/references/workflows.md +84 -0
  532. package/skills/cto-advisor/scripts/team_scaling_calculator.py +562 -0
  533. package/skills/cto-advisor/scripts/tech_debt_analyzer.py +450 -0
  534. package/skills/culture-architect/SKILL.md +66 -0
  535. package/skills/culture-architect/references/culture-playbook.md +243 -0
  536. package/skills/culture-architect/templates/culture-code-template.md +137 -0
  537. package/skills/customer-success-manager/SKILL.md +97 -0
  538. package/skills/customer-success-manager/assets/executive_business_review_template.md +209 -0
  539. package/skills/customer-success-manager/assets/expected_output.json +170 -0
  540. package/skills/customer-success-manager/assets/onboarding_checklist_template.md +215 -0
  541. package/skills/customer-success-manager/assets/qbr_template.md +163 -0
  542. package/skills/customer-success-manager/assets/sample_customer_data.json +314 -0
  543. package/skills/customer-success-manager/assets/success_plan_template.md +167 -0
  544. package/skills/customer-success-manager/references/cs-metrics-benchmarks.md +259 -0
  545. package/skills/customer-success-manager/references/cs-playbooks.md +290 -0
  546. package/skills/customer-success-manager/references/health-scoring-framework.md +184 -0
  547. package/skills/customer-success-manager/scripts/churn_risk_analyzer.py +487 -0
  548. package/skills/customer-success-manager/scripts/expansion_opportunity_scorer.py +414 -0
  549. package/skills/customer-success-manager/scripts/health_score_calculator.py +438 -0
  550. package/skills/data-migrations/SKILL.md +113 -0
  551. package/skills/data-migrations/references/anti-patterns.md +14 -0
  552. package/skills/data-migrations/references/batching.md +9 -0
  553. package/skills/data-migrations/references/checklist.md +14 -0
  554. package/skills/data-migrations/references/expand-contract.md +19 -0
  555. package/skills/data-operations/SKILL.md +59 -0
  556. package/skills/data-operations/references/anti-patterns.md +17 -0
  557. package/skills/data-operations/references/query-optimization.md +37 -0
  558. package/skills/data-operations/references/seeding.md +38 -0
  559. package/skills/data-seeding/SKILL.md +96 -0
  560. package/skills/database/SKILL.md +74 -0
  561. package/skills/database/references/anti-patterns.md +20 -0
  562. package/skills/database/references/query-patterns.md +32 -0
  563. package/skills/database-indexing/SKILL.md +85 -0
  564. package/skills/database-indexing/references/anti-patterns.md +14 -0
  565. package/skills/database-indexing/references/checklists.md +23 -0
  566. package/skills/database-indexing/references/index-types.md +18 -0
  567. package/skills/database-setup/SKILL.md +109 -0
  568. package/skills/database-setup/references/indexing-guide.md +126 -0
  569. package/skills/db-diagram/SKILL.md +87 -0
  570. package/skills/decision-logger/SKILL.md +59 -0
  571. package/skills/decision-logger/references/entry-format.md +55 -0
  572. package/skills/decision-logger/scripts/decision_tracker.py +620 -0
  573. package/skills/decision-logger/templates/decision-entry.md +63 -0
  574. package/skills/deploy-check/SKILL.md +87 -0
  575. package/skills/deploy-staging/SKILL.md +44 -0
  576. package/skills/deps-audit/SKILL.md +92 -0
  577. package/skills/design-handoff/SKILL.md +49 -0
  578. package/skills/design-system/SKILL.md +56 -0
  579. package/skills/design-system/references/post-design-validation.md +8 -0
  580. package/skills/design-system/references/section-guidance.md +29 -0
  581. package/skills/distributed-tracing/SKILL.md +86 -0
  582. package/skills/doc-gdd/SKILL.md +56 -0
  583. package/skills/doc-pas/SKILL.md +41 -0
  584. package/skills/doc-pas/references/examples-and-usage.md +27 -0
  585. package/skills/doc-pas/references/output-format-template.md +63 -0
  586. package/skills/doc-rfc/SKILL.md +55 -0
  587. package/skills/doc-rfc/templates/decision.md +38 -0
  588. package/skills/doc-rfc/templates/epica.md +68 -0
  589. package/skills/doc-rfc/templates/hu.md +52 -0
  590. package/skills/doc-rfc/templates/tarea.md +37 -0
  591. package/skills/docker-setup/SKILL.md +78 -0
  592. package/skills/docker-setup/references/anti-patterns.md +10 -0
  593. package/skills/docker-setup/references/checklists.md +34 -0
  594. package/skills/docker-setup/references/size-optimization.md +7 -0
  595. package/skills/docx-generator/SKILL.md +249 -0
  596. package/skills/docx-generator/assets/styles/academic_styles.xml +250 -0
  597. package/skills/docx-generator/assets/styles/corporate_styles.xml +284 -0
  598. package/skills/docx-generator/assets/styles/default_styles.xml +449 -0
  599. package/skills/docx-generator/assets/xsd/aesthetic-rules.xsd +470 -0
  600. package/skills/docx-generator/assets/xsd/business-rules.xsd +130 -0
  601. package/skills/docx-generator/assets/xsd/common-types.xsd +159 -0
  602. package/skills/docx-generator/assets/xsd/wml-subset.xsd +589 -0
  603. package/skills/docx-generator/references/cjk_typography.md +357 -0
  604. package/skills/docx-generator/references/cjk_university_template_guide.md +184 -0
  605. package/skills/docx-generator/references/comments_guide.md +191 -0
  606. package/skills/docx-generator/references/design_good_bad_examples.md +829 -0
  607. package/skills/docx-generator/references/design_principles.md +819 -0
  608. package/skills/docx-generator/references/openxml_element_order.md +308 -0
  609. package/skills/docx-generator/references/openxml_encyclopedia_part1.md +4061 -0
  610. package/skills/docx-generator/references/openxml_encyclopedia_part2.md +2820 -0
  611. package/skills/docx-generator/references/openxml_encyclopedia_part3.md +3381 -0
  612. package/skills/docx-generator/references/openxml_namespaces.md +82 -0
  613. package/skills/docx-generator/references/openxml_units.md +72 -0
  614. package/skills/docx-generator/references/scenario_a_create.md +284 -0
  615. package/skills/docx-generator/references/scenario_b_edit_content.md +295 -0
  616. package/skills/docx-generator/references/scenario_c_apply_template.md +456 -0
  617. package/skills/docx-generator/references/track_changes_guide.md +200 -0
  618. package/skills/docx-generator/references/troubleshooting.md +506 -0
  619. package/skills/docx-generator/references/typography_guide.md +294 -0
  620. package/skills/docx-generator/references/xsd_validation_guide.md +158 -0
  621. package/skills/docx-generator/scripts/doc_to_docx.sh +40 -0
  622. package/skills/docx-generator/scripts/docx_preview.sh +37 -0
  623. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Cli/Program.cs +18 -0
  624. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Commands/AnalyzeCommand.cs +147 -0
  625. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ApplyTemplateCommand.cs +322 -0
  626. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Commands/CreateCommand.cs +324 -0
  627. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Commands/DiffCommand.cs +155 -0
  628. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Commands/EditContentCommand.cs +487 -0
  629. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Commands/FixOrderCommand.cs +108 -0
  630. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Commands/MergeRunsCommand.cs +122 -0
  631. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ValidateCommand.cs +107 -0
  632. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/CommentSynchronizer.cs +169 -0
  633. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/ElementOrder.cs +80 -0
  634. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/NamespaceConstants.cs +42 -0
  635. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/RunMerger.cs +81 -0
  636. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/StyleAnalyzer.cs +81 -0
  637. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/TrackChangesHelper.cs +99 -0
  638. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/UnitConverter.cs +23 -0
  639. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples.cs +1832 -0
  640. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch1.cs +910 -0
  641. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch2.cs +999 -0
  642. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch3.cs +1048 -0
  643. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch4.cs +1038 -0
  644. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/CharacterFormattingSamples.cs +1020 -0
  645. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/DocumentCreationSamples.cs +1121 -0
  646. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FieldAndTocSamples.cs +624 -0
  647. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FootnoteAndCommentSamples.cs +675 -0
  648. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/HeaderFooterSamples.cs +838 -0
  649. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ImageSamples.cs +917 -0
  650. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ListAndNumberingSamples.cs +826 -0
  651. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ParagraphFormattingSamples.cs +1199 -0
  652. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/StyleSystemSamples.cs +1487 -0
  653. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TableSamples.cs +1163 -0
  654. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TrackChangesSamples.cs +595 -0
  655. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Typography/CjkHelper.cs +39 -0
  656. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Typography/FontDefaults.cs +24 -0
  657. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Typography/PageSizes.cs +20 -0
  658. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Validation/BusinessRuleValidator.cs +224 -0
  659. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Validation/GateCheckValidator.cs +148 -0
  660. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Validation/ValidationResult.cs +23 -0
  661. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.Core/Validation/XsdValidator.cs +69 -0
  662. package/skills/docx-generator/scripts/dotnet/MiniMaxAIDocx.slnx +4 -0
  663. package/skills/docx-generator/scripts/env_check.sh +196 -0
  664. package/skills/docx-generator/scripts/setup.ps1 +274 -0
  665. package/skills/docx-generator/scripts/setup.sh +504 -0
  666. package/skills/email-sequence/SKILL.md +119 -0
  667. package/skills/email-sequence/references/email-sequence-playbook.md +209 -0
  668. package/skills/email-sequence/scripts/sequence_analyzer.py +354 -0
  669. package/skills/email-template-builder/SKILL.md +93 -0
  670. package/skills/email-template-builder/references/react-email-templates.md +323 -0
  671. package/skills/env-sync/SKILL.md +102 -0
  672. package/skills/error-tracking/SKILL.md +25 -0
  673. package/skills/error-tracking/references/anti-patterns-and-checklist.md +23 -0
  674. package/skills/error-tracking/references/operational-details.md +38 -0
  675. package/skills/error-tracking/references/setup-per-stack.md +24 -0
  676. package/skills/estimate/SKILL.md +51 -0
  677. package/skills/estimate/references/complexity-factors.md +30 -0
  678. package/skills/estimate/references/estimate-template.md +60 -0
  679. package/skills/executive-mentor/.claude-plugin/plugin.json +13 -0
  680. package/skills/executive-mentor/SKILL.md +90 -0
  681. package/skills/executive-mentor/agents/devils-advocate.md +139 -0
  682. package/skills/executive-mentor/references/board_dynamics.md +263 -0
  683. package/skills/executive-mentor/references/crisis_playbook.md +173 -0
  684. package/skills/executive-mentor/references/hard_things.md +256 -0
  685. package/skills/executive-mentor/scripts/decision_matrix_scorer.py +491 -0
  686. package/skills/executive-mentor/scripts/stakeholder_mapper.py +547 -0
  687. package/skills/executive-mentor/skills/board-prep/SKILL.md +76 -0
  688. package/skills/executive-mentor/skills/challenge/SKILL.md +80 -0
  689. package/skills/executive-mentor/skills/hard-call/SKILL.md +64 -0
  690. package/skills/executive-mentor/skills/postmortem/SKILL.md +78 -0
  691. package/skills/executive-mentor/skills/stress-test/SKILL.md +74 -0
  692. package/skills/executive-mentor/skills/stress-test/references/patterns-by-type.md +73 -0
  693. package/skills/experiment-designer/SKILL.md +108 -0
  694. package/skills/experiment-designer/references/experiment-playbook.md +70 -0
  695. package/skills/experiment-designer/references/statistics-reference.md +56 -0
  696. package/skills/experiment-designer/scripts/sample_size_calculator.py +100 -0
  697. package/skills/fda-consultant-specialist/SKILL.md +102 -0
  698. package/skills/fda-consultant-specialist/references/device_cybersecurity_guidance.md +695 -0
  699. package/skills/fda-consultant-specialist/references/fda_capa_requirements.md +718 -0
  700. package/skills/fda-consultant-specialist/references/fda_submission_guide.md +400 -0
  701. package/skills/fda-consultant-specialist/references/hipaa_compliance_framework.md +721 -0
  702. package/skills/fda-consultant-specialist/references/qsr_compliance_requirements.md +753 -0
  703. package/skills/fda-consultant-specialist/scripts/fda_submission_tracker.py +493 -0
  704. package/skills/fda-consultant-specialist/scripts/hipaa_risk_assessment.py +626 -0
  705. package/skills/fda-consultant-specialist/scripts/qsr_compliance_checker.py +618 -0
  706. package/skills/feature-flags/SKILL.md +98 -0
  707. package/skills/figma/SKILL.md +124 -0
  708. package/skills/figma-to-code/SKILL.md +80 -0
  709. package/skills/figma-to-code/references/checklist-and-output.md +32 -0
  710. package/skills/figma-to-code/references/stack-detection.md +34 -0
  711. package/skills/figma-tokens/SKILL.md +55 -0
  712. package/skills/file-uploads/SKILL.md +95 -0
  713. package/skills/financial-analyst/SKILL.md +152 -0
  714. package/skills/financial-analyst/assets/dcf_analysis_template.md +184 -0
  715. package/skills/financial-analyst/assets/expected_output.json +161 -0
  716. package/skills/financial-analyst/assets/forecast_report_template.md +177 -0
  717. package/skills/financial-analyst/assets/sample_financial_data.json +219 -0
  718. package/skills/financial-analyst/assets/variance_report_template.md +122 -0
  719. package/skills/financial-analyst/references/financial-ratios-guide.md +376 -0
  720. package/skills/financial-analyst/references/forecasting-best-practices.md +279 -0
  721. package/skills/financial-analyst/references/industry-adaptations.md +103 -0
  722. package/skills/financial-analyst/references/valuation-methodology.md +246 -0
  723. package/skills/financial-analyst/scripts/budget_variance_analyzer.py +406 -0
  724. package/skills/financial-analyst/scripts/dcf_valuation.py +449 -0
  725. package/skills/financial-analyst/scripts/forecast_builder.py +494 -0
  726. package/skills/financial-analyst/scripts/ratio_calculator.py +432 -0
  727. package/skills/fix-issue/SKILL.md +19 -0
  728. package/skills/flutter-dev/SKILL.md +122 -0
  729. package/skills/flutter-dev/references/animations.md +497 -0
  730. package/skills/flutter-dev/references/bloc-state.md +281 -0
  731. package/skills/flutter-dev/references/forms.md +656 -0
  732. package/skills/flutter-dev/references/gorouter-navigation.md +257 -0
  733. package/skills/flutter-dev/references/localization.md +510 -0
  734. package/skills/flutter-dev/references/networking.md +566 -0
  735. package/skills/flutter-dev/references/performance.md +306 -0
  736. package/skills/flutter-dev/references/platform-specific.md +417 -0
  737. package/skills/flutter-dev/references/project-structure.md +274 -0
  738. package/skills/flutter-dev/references/riverpod-state.md +232 -0
  739. package/skills/flutter-dev/references/testing.md +364 -0
  740. package/skills/flutter-dev/references/widget-patterns.md +233 -0
  741. package/skills/form-cro/SKILL.md +128 -0
  742. package/skills/form-cro/references/experiments.md +77 -0
  743. package/skills/form-cro/references/form-cro-playbook.md +271 -0
  744. package/skills/form-cro/scripts/form_field_analyzer.py +291 -0
  745. package/skills/form-validation/SKILL.md +75 -0
  746. package/skills/founder-coach/SKILL.md +57 -0
  747. package/skills/founder-coach/references/delegation-energy.md +124 -0
  748. package/skills/founder-coach/references/founder-toolkit.md +296 -0
  749. package/skills/founder-coach/references/leadership-evolution.md +112 -0
  750. package/skills/founder-coach/references/leadership-growth.md +178 -0
  751. package/skills/free-tool-strategy/SKILL.md +167 -0
  752. package/skills/free-tool-strategy/references/design-and-lead-capture.md +58 -0
  753. package/skills/free-tool-strategy/references/launch-playbook.md +182 -0
  754. package/skills/free-tool-strategy/references/tool-types-guide.md +253 -0
  755. package/skills/free-tool-strategy/scripts/tool_roi_estimator.py +401 -0
  756. package/skills/frontend-dev/SKILL.md +555 -0
  757. package/skills/frontend-dev/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  758. package/skills/frontend-dev/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  759. package/skills/frontend-dev/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  760. package/skills/frontend-dev/canvas-fonts/BigShoulders-OFL.txt +93 -0
  761. package/skills/frontend-dev/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  762. package/skills/frontend-dev/canvas-fonts/Boldonse-OFL.txt +93 -0
  763. package/skills/frontend-dev/canvas-fonts/Boldonse-Regular.ttf +0 -0
  764. package/skills/frontend-dev/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  765. package/skills/frontend-dev/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  766. package/skills/frontend-dev/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  767. package/skills/frontend-dev/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  768. package/skills/frontend-dev/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  769. package/skills/frontend-dev/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  770. package/skills/frontend-dev/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  771. package/skills/frontend-dev/canvas-fonts/DMMono-OFL.txt +93 -0
  772. package/skills/frontend-dev/canvas-fonts/DMMono-Regular.ttf +0 -0
  773. package/skills/frontend-dev/canvas-fonts/EricaOne-OFL.txt +94 -0
  774. package/skills/frontend-dev/canvas-fonts/EricaOne-Regular.ttf +0 -0
  775. package/skills/frontend-dev/canvas-fonts/GeistMono-Bold.ttf +0 -0
  776. package/skills/frontend-dev/canvas-fonts/GeistMono-OFL.txt +93 -0
  777. package/skills/frontend-dev/canvas-fonts/GeistMono-Regular.ttf +0 -0
  778. package/skills/frontend-dev/canvas-fonts/Gloock-OFL.txt +93 -0
  779. package/skills/frontend-dev/canvas-fonts/Gloock-Regular.ttf +0 -0
  780. package/skills/frontend-dev/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  781. package/skills/frontend-dev/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  782. package/skills/frontend-dev/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  783. package/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  784. package/skills/frontend-dev/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  785. package/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  786. package/skills/frontend-dev/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  787. package/skills/frontend-dev/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  788. package/skills/frontend-dev/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  789. package/skills/frontend-dev/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  790. package/skills/frontend-dev/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  791. package/skills/frontend-dev/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  792. package/skills/frontend-dev/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  793. package/skills/frontend-dev/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  794. package/skills/frontend-dev/canvas-fonts/Italiana-OFL.txt +93 -0
  795. package/skills/frontend-dev/canvas-fonts/Italiana-Regular.ttf +0 -0
  796. package/skills/frontend-dev/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  797. package/skills/frontend-dev/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  798. package/skills/frontend-dev/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  799. package/skills/frontend-dev/canvas-fonts/Jura-Light.ttf +0 -0
  800. package/skills/frontend-dev/canvas-fonts/Jura-Medium.ttf +0 -0
  801. package/skills/frontend-dev/canvas-fonts/Jura-OFL.txt +93 -0
  802. package/skills/frontend-dev/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  803. package/skills/frontend-dev/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  804. package/skills/frontend-dev/canvas-fonts/Lora-Bold.ttf +0 -0
  805. package/skills/frontend-dev/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  806. package/skills/frontend-dev/canvas-fonts/Lora-Italic.ttf +0 -0
  807. package/skills/frontend-dev/canvas-fonts/Lora-OFL.txt +93 -0
  808. package/skills/frontend-dev/canvas-fonts/Lora-Regular.ttf +0 -0
  809. package/skills/frontend-dev/canvas-fonts/NationalPark-Bold.ttf +0 -0
  810. package/skills/frontend-dev/canvas-fonts/NationalPark-OFL.txt +93 -0
  811. package/skills/frontend-dev/canvas-fonts/NationalPark-Regular.ttf +0 -0
  812. package/skills/frontend-dev/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  813. package/skills/frontend-dev/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  814. package/skills/frontend-dev/canvas-fonts/Outfit-Bold.ttf +0 -0
  815. package/skills/frontend-dev/canvas-fonts/Outfit-OFL.txt +93 -0
  816. package/skills/frontend-dev/canvas-fonts/Outfit-Regular.ttf +0 -0
  817. package/skills/frontend-dev/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  818. package/skills/frontend-dev/canvas-fonts/PixelifySans-OFL.txt +93 -0
  819. package/skills/frontend-dev/canvas-fonts/PoiretOne-OFL.txt +93 -0
  820. package/skills/frontend-dev/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  821. package/skills/frontend-dev/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  822. package/skills/frontend-dev/canvas-fonts/RedHatMono-OFL.txt +93 -0
  823. package/skills/frontend-dev/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  824. package/skills/frontend-dev/canvas-fonts/Silkscreen-OFL.txt +93 -0
  825. package/skills/frontend-dev/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  826. package/skills/frontend-dev/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  827. package/skills/frontend-dev/canvas-fonts/SmoochSans-OFL.txt +93 -0
  828. package/skills/frontend-dev/canvas-fonts/Tektur-Medium.ttf +0 -0
  829. package/skills/frontend-dev/canvas-fonts/Tektur-OFL.txt +93 -0
  830. package/skills/frontend-dev/canvas-fonts/Tektur-Regular.ttf +0 -0
  831. package/skills/frontend-dev/canvas-fonts/WorkSans-Bold.ttf +0 -0
  832. package/skills/frontend-dev/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  833. package/skills/frontend-dev/canvas-fonts/WorkSans-Italic.ttf +0 -0
  834. package/skills/frontend-dev/canvas-fonts/WorkSans-OFL.txt +93 -0
  835. package/skills/frontend-dev/canvas-fonts/WorkSans-Regular.ttf +0 -0
  836. package/skills/frontend-dev/canvas-fonts/YoungSerif-OFL.txt +93 -0
  837. package/skills/frontend-dev/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  838. package/skills/frontend-dev/references/asset-prompt-guide.md +43 -0
  839. package/skills/frontend-dev/references/env-setup.md +33 -0
  840. package/skills/frontend-dev/references/minimax-cli-reference.md +133 -0
  841. package/skills/frontend-dev/references/minimax-image-guide.md +65 -0
  842. package/skills/frontend-dev/references/minimax-music-guide.md +216 -0
  843. package/skills/frontend-dev/references/minimax-tts-guide.md +78 -0
  844. package/skills/frontend-dev/references/minimax-video-guide.md +82 -0
  845. package/skills/frontend-dev/references/minimax-voice-catalog.md +686 -0
  846. package/skills/frontend-dev/references/motion-recipes.md +407 -0
  847. package/skills/frontend-dev/references/troubleshooting.md +85 -0
  848. package/skills/frontend-dev/scripts/minimax_image.py +137 -0
  849. package/skills/frontend-dev/scripts/minimax_music.py +157 -0
  850. package/skills/frontend-dev/scripts/minimax_tts.py +127 -0
  851. package/skills/frontend-dev/scripts/minimax_video.py +187 -0
  852. package/skills/frontend-dev/templates/generator_template.js +223 -0
  853. package/skills/frontend-dev/templates/viewer.html +599 -0
  854. package/skills/game-analysis/SKILL.md +51 -0
  855. package/skills/game-analysis/references/anti-patterns-checklist.md +25 -0
  856. package/skills/game-analysis/references/balance-report-format.md +21 -0
  857. package/skills/game-analysis/references/playtest-template.md +28 -0
  858. package/skills/game-audit/SKILL.md +66 -0
  859. package/skills/game-docs/SKILL.md +58 -0
  860. package/skills/game-docs/references/gdd-structure.md +24 -0
  861. package/skills/game-docs/references/pas-format.md +49 -0
  862. package/skills/game-docs/references/writing-rules.md +17 -0
  863. package/skills/gate-check/SKILL.md +93 -0
  864. package/skills/gcp-cloud-architect/SKILL.md +127 -0
  865. package/skills/gcp-cloud-architect/references/architecture_patterns.md +512 -0
  866. package/skills/gcp-cloud-architect/references/best_practices.md +467 -0
  867. package/skills/gcp-cloud-architect/references/service_selection.md +547 -0
  868. package/skills/gcp-cloud-architect/scripts/architecture_designer.py +805 -0
  869. package/skills/gcp-cloud-architect/scripts/cost_optimizer.py +465 -0
  870. package/skills/gcp-cloud-architect/scripts/deployment_manager.py +835 -0
  871. package/skills/gdocs/SKILL.md +128 -0
  872. package/skills/gdpr-dsgvo-expert/SKILL.md +97 -0
  873. package/skills/gdpr-dsgvo-expert/references/dpia_methodology.md +412 -0
  874. package/skills/gdpr-dsgvo-expert/references/gdpr_compliance_guide.md +336 -0
  875. package/skills/gdpr-dsgvo-expert/references/german_bdsg_requirements.md +327 -0
  876. package/skills/gdpr-dsgvo-expert/scripts/data_subject_rights_tracker.py +541 -0
  877. package/skills/gdpr-dsgvo-expert/scripts/dpia_generator.py +670 -0
  878. package/skills/gdpr-dsgvo-expert/scripts/gdpr_compliance_checker.py +443 -0
  879. package/skills/gdrive/SKILL.md +46 -0
  880. package/skills/gh-projects/SKILL.md +103 -0
  881. package/skills/gh-projects/references/graphql-queries.md +207 -0
  882. package/skills/git-worktree-manager/SKILL.md +86 -0
  883. package/skills/git-worktree-manager/references/docker-compose-patterns.md +62 -0
  884. package/skills/git-worktree-manager/references/port-allocation-strategy.md +46 -0
  885. package/skills/git-worktree-manager/scripts/worktree_cleanup.py +196 -0
  886. package/skills/git-worktree-manager/scripts/worktree_manager.py +240 -0
  887. package/skills/go-clean-architecture/SKILL.md +95 -0
  888. package/skills/go-clean-architecture/references/anti-patterns.md +7 -0
  889. package/skills/go-clean-architecture/references/checklist.md +13 -0
  890. package/skills/gsheets/SKILL.md +46 -0
  891. package/skills/helm-chart-builder/.claude-plugin/plugin.json +13 -0
  892. package/skills/helm-chart-builder/SKILL.md +122 -0
  893. package/skills/helm-chart-builder/references/chart-patterns.md +435 -0
  894. package/skills/helm-chart-builder/references/values-design.md +462 -0
  895. package/skills/helm-chart-builder/scripts/chart_analyzer.py +542 -0
  896. package/skills/helm-chart-builder/scripts/values_validator.py +442 -0
  897. package/skills/help/SKILL.md +75 -0
  898. package/skills/hotfix/SKILL.md +63 -0
  899. package/skills/i18n-setup/SKILL.md +79 -0
  900. package/skills/incident/SKILL.md +107 -0
  901. package/skills/incident-commander/SKILL.md +133 -0
  902. package/skills/incident-commander/assets/incident_report_template.md +171 -0
  903. package/skills/incident-commander/assets/runbook_template.md +289 -0
  904. package/skills/incident-commander/assets/sample_incident_classification.json +14 -0
  905. package/skills/incident-commander/assets/sample_incident_data.json +276 -0
  906. package/skills/incident-commander/assets/sample_incident_pir_data.json +74 -0
  907. package/skills/incident-commander/assets/sample_timeline_events.json +263 -0
  908. package/skills/incident-commander/assets/simple_incident.json +6 -0
  909. package/skills/incident-commander/assets/simple_timeline_events.json +30 -0
  910. package/skills/incident-commander/expected_outputs/incident_classification_text_output.txt +44 -0
  911. package/skills/incident-commander/expected_outputs/pir_markdown_output.md +88 -0
  912. package/skills/incident-commander/expected_outputs/simple_incident_classification.txt +44 -0
  913. package/skills/incident-commander/expected_outputs/timeline_reconstruction_text_output.txt +110 -0
  914. package/skills/incident-commander/references/communication_templates.md +591 -0
  915. package/skills/incident-commander/references/incident-response-framework.md +372 -0
  916. package/skills/incident-commander/references/incident_severity_matrix.md +292 -0
  917. package/skills/incident-commander/references/rca_frameworks_guide.md +562 -0
  918. package/skills/incident-commander/references/reference-information.md +201 -0
  919. package/skills/incident-commander/references/sla-management-guide.md +566 -0
  920. package/skills/incident-commander/scripts/incident_classifier.py +914 -0
  921. package/skills/incident-commander/scripts/incident_timeline_builder.py +742 -0
  922. package/skills/incident-commander/scripts/pir_generator.py +1638 -0
  923. package/skills/incident-commander/scripts/postmortem_generator.py +804 -0
  924. package/skills/incident-commander/scripts/severity_classifier.py +1228 -0
  925. package/skills/incident-commander/scripts/timeline_reconstructor.py +1007 -0
  926. package/skills/incident-response/SKILL.md +103 -0
  927. package/skills/incident-response/references/regulatory-deadlines.md +125 -0
  928. package/skills/incident-response/scripts/incident_triage.py +768 -0
  929. package/skills/information-security-manager-iso27001/SKILL.md +120 -0
  930. package/skills/information-security-manager-iso27001/references/incident-response.md +420 -0
  931. package/skills/information-security-manager-iso27001/references/iso27001-controls.md +381 -0
  932. package/skills/information-security-manager-iso27001/references/risk-assessment-guide.md +262 -0
  933. package/skills/information-security-manager-iso27001/scripts/compliance_checker.py +398 -0
  934. package/skills/information-security-manager-iso27001/scripts/risk_assessment.py +403 -0
  935. package/skills/internal-narrative/SKILL.md +68 -0
  936. package/skills/internal-narrative/references/narrative-frameworks.md +211 -0
  937. package/skills/internal-narrative/templates/all-hands-template.md +103 -0
  938. package/skills/intl-expansion/SKILL.md +72 -0
  939. package/skills/intl-expansion/references/market-entry-playbook.md +138 -0
  940. package/skills/intl-expansion/references/regional-guide.md +144 -0
  941. package/skills/ios-application-dev/SKILL.md +172 -0
  942. package/skills/ios-application-dev/references/accessibility.md +259 -0
  943. package/skills/ios-application-dev/references/graphics-animation.md +350 -0
  944. package/skills/ios-application-dev/references/layout-system.md +199 -0
  945. package/skills/ios-application-dev/references/metal-shader.md +178 -0
  946. package/skills/ios-application-dev/references/navigation-patterns.md +175 -0
  947. package/skills/ios-application-dev/references/swift-coding-standards.md +757 -0
  948. package/skills/ios-application-dev/references/swiftui-design-guidelines.md +1167 -0
  949. package/skills/ios-application-dev/references/system-integration.md +401 -0
  950. package/skills/ios-application-dev/references/uikit-components.md +297 -0
  951. package/skills/isms-audit-expert/SKILL.md +108 -0
  952. package/skills/isms-audit-expert/references/cloud-security-audit.md +226 -0
  953. package/skills/isms-audit-expert/references/iso27001-audit-methodology.md +260 -0
  954. package/skills/isms-audit-expert/references/security-control-testing.md +276 -0
  955. package/skills/isms-audit-expert/scripts/isms_audit_scheduler.py +279 -0
  956. package/skills/jira-tickets/SKILL.md +52 -0
  957. package/skills/jira-tickets/references/states-epics-sprints.md +43 -0
  958. package/skills/jira-tickets/references/team-data.md +51 -0
  959. package/skills/job-scheduling/SKILL.md +107 -0
  960. package/skills/jwt-strategy/SKILL.md +74 -0
  961. package/skills/jwt-strategy/references/anti-patterns.md +16 -0
  962. package/skills/jwt-strategy/references/checklist.md +13 -0
  963. package/skills/jwt-strategy/references/implementation.md +21 -0
  964. package/skills/kickoff/SKILL.md +180 -0
  965. package/skills/launch-strategy/SKILL.md +72 -0
  966. package/skills/launch-strategy/references/launch-frameworks-and-checklists.md +317 -0
  967. package/skills/launch-strategy/scripts/launch_readiness_scorer.py +301 -0
  968. package/skills/llm-cost-optimizer/SKILL.md +194 -0
  969. package/skills/local-database-setup/SKILL.md +48 -0
  970. package/skills/logging-setup/SKILL.md +79 -0
  971. package/skills/logging-setup/references/anti-patterns.md +7 -0
  972. package/skills/logging-setup/references/checklist.md +14 -0
  973. package/skills/logging-setup/references/pii-audit-access.md +25 -0
  974. package/skills/ma-playbook/SKILL.md +72 -0
  975. package/skills/ma-playbook/references/due-diligence-checklist.md +148 -0
  976. package/skills/ma-playbook/references/integration-playbook.md +145 -0
  977. package/skills/map-systems/SKILL.md +82 -0
  978. package/skills/map-systems/references/dependency-layers-priorities.md +36 -0
  979. package/skills/map-systems/references/implicit-systems.md +13 -0
  980. package/skills/marketing-context/SKILL.md +167 -0
  981. package/skills/marketing-context/references/context-template.md +64 -0
  982. package/skills/marketing-context/scripts/context_validator.py +219 -0
  983. package/skills/marketing-context/templates/marketing-context-template.md +133 -0
  984. package/skills/marketing-demand-acquisition/SKILL.md +124 -0
  985. package/skills/marketing-demand-acquisition/references/attribution-guide.md +217 -0
  986. package/skills/marketing-demand-acquisition/references/campaign-templates.md +221 -0
  987. package/skills/marketing-demand-acquisition/references/hubspot-workflows.md +168 -0
  988. package/skills/marketing-demand-acquisition/references/international-playbooks.md +200 -0
  989. package/skills/marketing-demand-acquisition/scripts/calculate_cac.py +101 -0
  990. package/skills/marketing-ideas/SKILL.md +83 -0
  991. package/skills/marketing-ideas/references/ideas-by-category.md +347 -0
  992. package/skills/marketing-ops/SKILL.md +188 -0
  993. package/skills/marketing-ops/references/routing-matrix.md +37 -0
  994. package/skills/marketing-ops/scripts/campaign_tracker.py +156 -0
  995. package/skills/marketing-psychology/SKILL.md +121 -0
  996. package/skills/marketing-psychology/references/mental-models-catalog.md +397 -0
  997. package/skills/marketing-strategy-pmm/SKILL.md +130 -0
  998. package/skills/marketing-strategy-pmm/references/international-gtm.md +401 -0
  999. package/skills/marketing-strategy-pmm/references/launch-checklists.md +333 -0
  1000. package/skills/marketing-strategy-pmm/references/messaging-templates.md +446 -0
  1001. package/skills/marketing-strategy-pmm/references/positioning-frameworks.md +279 -0
  1002. package/skills/mcp-server-builder/SKILL.md +109 -0
  1003. package/skills/mcp-server-builder/references/openapi-extraction-guide.md +34 -0
  1004. package/skills/mcp-server-builder/references/python-server-template.md +22 -0
  1005. package/skills/mcp-server-builder/references/typescript-server-template.md +19 -0
  1006. package/skills/mcp-server-builder/references/validation-checklist.md +30 -0
  1007. package/skills/mcp-server-builder/scripts/mcp_validator.py +186 -0
  1008. package/skills/mcp-server-builder/scripts/openapi_to_mcp.py +284 -0
  1009. package/skills/mdr-745-specialist/SKILL.md +110 -0
  1010. package/skills/mdr-745-specialist/references/clinical-evidence-requirements.md +303 -0
  1011. package/skills/mdr-745-specialist/references/mdr-classification-guide.md +289 -0
  1012. package/skills/mdr-745-specialist/references/technical-documentation-templates.md +355 -0
  1013. package/skills/mdr-745-specialist/scripts/mdr_gap_analyzer.py +511 -0
  1014. package/skills/meeting-analyzer/SKILL.md +99 -0
  1015. package/skills/meeting-analyzer/references/analysis-modules.md +92 -0
  1016. package/skills/meeting-to-tasks/SKILL.md +63 -0
  1017. package/skills/mfa-setup/SKILL.md +111 -0
  1018. package/skills/mfa-setup/references/anti-patterns.md +15 -0
  1019. package/skills/mfa-setup/references/checklist.md +17 -0
  1020. package/skills/mfa-setup/references/rate-limiting.md +10 -0
  1021. package/skills/mfa-setup/references/role-rules.md +9 -0
  1022. package/skills/mfa-setup/references/schema-db.md +5 -0
  1023. package/skills/milestone-review/SKILL.md +46 -0
  1024. package/skills/monorepo-setup/SKILL.md +66 -0
  1025. package/skills/monorepo-setup/references/anti-patterns-and-checklist.md +27 -0
  1026. package/skills/ms365-tenant-manager/SKILL.md +104 -0
  1027. package/skills/ms365-tenant-manager/expected_output.json +86 -0
  1028. package/skills/ms365-tenant-manager/references/powershell-templates.md +704 -0
  1029. package/skills/ms365-tenant-manager/references/security-policies.md +357 -0
  1030. package/skills/ms365-tenant-manager/references/troubleshooting.md +411 -0
  1031. package/skills/ms365-tenant-manager/references/workflow-scripts.md +145 -0
  1032. package/skills/ms365-tenant-manager/sample_input.json +21 -0
  1033. package/skills/ms365-tenant-manager/scripts/powershell_generator.py +430 -0
  1034. package/skills/ms365-tenant-manager/scripts/tenant_setup.py +447 -0
  1035. package/skills/ms365-tenant-manager/scripts/user_management.py +447 -0
  1036. package/skills/oauth-setup/SKILL.md +92 -0
  1037. package/skills/observability/SKILL.md +88 -0
  1038. package/skills/observability-ops/SKILL.md +42 -0
  1039. package/skills/observability-ops/references/anti-patterns.md +14 -0
  1040. package/skills/observability-ops/references/slo-sli-framework.md +44 -0
  1041. package/skills/observability-ops/references/tracing-setup.md +35 -0
  1042. package/skills/observability-setup/SKILL.md +43 -0
  1043. package/skills/observability-setup/references/conventions-and-anti-patterns.md +32 -0
  1044. package/skills/observability-setup/references/stack-setup-details.md +23 -0
  1045. package/skills/onboard/SKILL.md +123 -0
  1046. package/skills/onboarding-cro/SKILL.md +149 -0
  1047. package/skills/onboarding-cro/references/experiments.md +89 -0
  1048. package/skills/onboarding-cro/scripts/activation_funnel_analyzer.py +217 -0
  1049. package/skills/optimize/SKILL.md +27 -0
  1050. package/skills/org-health-diagnostic/SKILL.md +79 -0
  1051. package/skills/org-health-diagnostic/references/health-benchmarks.md +217 -0
  1052. package/skills/org-health-diagnostic/scripts/health_scorer.py +585 -0
  1053. package/skills/owasp-top10-check/SKILL.md +110 -0
  1054. package/skills/owasp-top10-check/references/anti-patterns.md +19 -0
  1055. package/skills/owasp-top10-check/references/educabot-specifics.md +6 -0
  1056. package/skills/owasp-top10-check/references/tools.md +9 -0
  1057. package/skills/page-cro/SKILL.md +160 -0
  1058. package/skills/page-cro/references/experiments.md +71 -0
  1059. package/skills/page-cro/scripts/conversion_audit.py +427 -0
  1060. package/skills/paid-ads/SKILL.md +162 -0
  1061. package/skills/paid-ads/references/ad-copy-templates.md +200 -0
  1062. package/skills/paid-ads/references/audience-targeting.md +234 -0
  1063. package/skills/paid-ads/references/campaign-structure.md +103 -0
  1064. package/skills/paid-ads/references/platform-setup-checklists.md +269 -0
  1065. package/skills/paid-ads/scripts/roas_calculator.py +304 -0
  1066. package/skills/patch-notes/SKILL.md +51 -0
  1067. package/skills/paywall-upgrade-cro/SKILL.md +189 -0
  1068. package/skills/paywall-upgrade-cro/references/experiments.md +78 -0
  1069. package/skills/pdf-generator/SKILL.md +181 -0
  1070. package/skills/pdf-generator/design/design.md +381 -0
  1071. package/skills/pdf-generator/scripts/cover.py +1579 -0
  1072. package/skills/pdf-generator/scripts/fill_inspect.py +200 -0
  1073. package/skills/pdf-generator/scripts/fill_write.py +242 -0
  1074. package/skills/pdf-generator/scripts/make.sh +491 -0
  1075. package/skills/pdf-generator/scripts/merge.py +112 -0
  1076. package/skills/pdf-generator/scripts/palette.py +521 -0
  1077. package/skills/pdf-generator/scripts/reformat_parse.py +374 -0
  1078. package/skills/pdf-generator/scripts/render_body.py +1052 -0
  1079. package/skills/pdf-generator/scripts/render_cover.js +111 -0
  1080. package/skills/perf-profile/SKILL.md +82 -0
  1081. package/skills/performance/SKILL.md +37 -0
  1082. package/skills/performance/references/anti-patterns.md +25 -0
  1083. package/skills/performance/references/cache-strategy.md +48 -0
  1084. package/skills/performance/references/rate-limit-config.md +48 -0
  1085. package/skills/performance-test/SKILL.md +87 -0
  1086. package/skills/playtest-report/SKILL.md +45 -0
  1087. package/skills/playwright-pro/.mcp.json +27 -0
  1088. package/skills/playwright-pro/CLAUDE.md +84 -0
  1089. package/skills/playwright-pro/LICENSE +21 -0
  1090. package/skills/playwright-pro/SKILL.md +91 -0
  1091. package/skills/playwright-pro/agents/migration-planner.md +121 -0
  1092. package/skills/playwright-pro/agents/test-architect.md +105 -0
  1093. package/skills/playwright-pro/agents/test-debugger.md +117 -0
  1094. package/skills/playwright-pro/hooks/detect-playwright.sh +23 -0
  1095. package/skills/playwright-pro/hooks/hooks.json +25 -0
  1096. package/skills/playwright-pro/hooks/validate-test.sh +58 -0
  1097. package/skills/playwright-pro/references/assertions.md +89 -0
  1098. package/skills/playwright-pro/references/common-pitfalls.md +137 -0
  1099. package/skills/playwright-pro/references/fixtures.md +121 -0
  1100. package/skills/playwright-pro/references/flaky-tests.md +56 -0
  1101. package/skills/playwright-pro/references/golden-rules.md +12 -0
  1102. package/skills/playwright-pro/references/locators.md +77 -0
  1103. package/skills/playwright-pro/settings.json +8 -0
  1104. package/skills/playwright-pro/skills/browserstack/SKILL.md +169 -0
  1105. package/skills/playwright-pro/skills/fix/SKILL.md +114 -0
  1106. package/skills/playwright-pro/skills/fix/flaky-taxonomy.md +134 -0
  1107. package/skills/playwright-pro/skills/generate/SKILL.md +145 -0
  1108. package/skills/playwright-pro/skills/generate/patterns.md +163 -0
  1109. package/skills/playwright-pro/skills/init/SKILL.md +168 -0
  1110. package/skills/playwright-pro/skills/migrate/SKILL.md +136 -0
  1111. package/skills/playwright-pro/skills/migrate/cypress-mapping.md +79 -0
  1112. package/skills/playwright-pro/skills/migrate/selenium-mapping.md +94 -0
  1113. package/skills/playwright-pro/skills/report/SKILL.md +127 -0
  1114. package/skills/playwright-pro/skills/review/SKILL.md +103 -0
  1115. package/skills/playwright-pro/skills/review/anti-patterns.md +182 -0
  1116. package/skills/playwright-pro/skills/testrail/SKILL.md +130 -0
  1117. package/skills/playwright-pro/templates/README.md +123 -0
  1118. package/skills/playwright-pro/templates/accessibility/color-contrast.md +162 -0
  1119. package/skills/playwright-pro/templates/accessibility/keyboard-navigation.md +149 -0
  1120. package/skills/playwright-pro/templates/accessibility/screen-reader.md +159 -0
  1121. package/skills/playwright-pro/templates/api/auth-headers.md +148 -0
  1122. package/skills/playwright-pro/templates/api/error-responses.md +157 -0
  1123. package/skills/playwright-pro/templates/api/graphql.md +174 -0
  1124. package/skills/playwright-pro/templates/api/rate-limiting.md +152 -0
  1125. package/skills/playwright-pro/templates/api/rest-crud.md +152 -0
  1126. package/skills/playwright-pro/templates/auth/login.md +119 -0
  1127. package/skills/playwright-pro/templates/auth/logout.md +112 -0
  1128. package/skills/playwright-pro/templates/auth/mfa.md +125 -0
  1129. package/skills/playwright-pro/templates/auth/password-reset.md +129 -0
  1130. package/skills/playwright-pro/templates/auth/rbac.md +132 -0
  1131. package/skills/playwright-pro/templates/auth/remember-me.md +127 -0
  1132. package/skills/playwright-pro/templates/auth/session-timeout.md +113 -0
  1133. package/skills/playwright-pro/templates/auth/sso.md +115 -0
  1134. package/skills/playwright-pro/templates/checkout/add-to-cart.md +112 -0
  1135. package/skills/playwright-pro/templates/checkout/apply-coupon.md +123 -0
  1136. package/skills/playwright-pro/templates/checkout/order-confirm.md +108 -0
  1137. package/skills/playwright-pro/templates/checkout/order-history.md +119 -0
  1138. package/skills/playwright-pro/templates/checkout/payment.md +148 -0
  1139. package/skills/playwright-pro/templates/checkout/update-quantity.md +125 -0
  1140. package/skills/playwright-pro/templates/crud/bulk-operations.md +129 -0
  1141. package/skills/playwright-pro/templates/crud/create.md +118 -0
  1142. package/skills/playwright-pro/templates/crud/delete.md +116 -0
  1143. package/skills/playwright-pro/templates/crud/read.md +117 -0
  1144. package/skills/playwright-pro/templates/crud/soft-delete.md +113 -0
  1145. package/skills/playwright-pro/templates/crud/update.md +129 -0
  1146. package/skills/playwright-pro/templates/dashboard/chart-rendering.md +131 -0
  1147. package/skills/playwright-pro/templates/dashboard/data-loading.md +128 -0
  1148. package/skills/playwright-pro/templates/dashboard/date-range-filter.md +136 -0
  1149. package/skills/playwright-pro/templates/dashboard/export.md +146 -0
  1150. package/skills/playwright-pro/templates/dashboard/realtime-updates.md +143 -0
  1151. package/skills/playwright-pro/templates/forms/autosave.md +135 -0
  1152. package/skills/playwright-pro/templates/forms/conditional-fields.md +120 -0
  1153. package/skills/playwright-pro/templates/forms/file-upload.md +136 -0
  1154. package/skills/playwright-pro/templates/forms/multi-step.md +137 -0
  1155. package/skills/playwright-pro/templates/forms/single-step.md +124 -0
  1156. package/skills/playwright-pro/templates/forms/validation.md +141 -0
  1157. package/skills/playwright-pro/templates/notifications/in-app.md +125 -0
  1158. package/skills/playwright-pro/templates/notifications/notification-center.md +128 -0
  1159. package/skills/playwright-pro/templates/notifications/toast-messages.md +139 -0
  1160. package/skills/playwright-pro/templates/onboarding/email-verification.md +118 -0
  1161. package/skills/playwright-pro/templates/onboarding/first-time-setup.md +130 -0
  1162. package/skills/playwright-pro/templates/onboarding/registration.md +131 -0
  1163. package/skills/playwright-pro/templates/onboarding/welcome-tour.md +128 -0
  1164. package/skills/playwright-pro/templates/search/basic-search.md +118 -0
  1165. package/skills/playwright-pro/templates/search/empty-state.md +109 -0
  1166. package/skills/playwright-pro/templates/search/filters.md +128 -0
  1167. package/skills/playwright-pro/templates/search/pagination.md +123 -0
  1168. package/skills/playwright-pro/templates/search/sorting.md +131 -0
  1169. package/skills/playwright-pro/templates/settings/account-delete.md +136 -0
  1170. package/skills/playwright-pro/templates/settings/notification-prefs.md +139 -0
  1171. package/skills/playwright-pro/templates/settings/password-change.md +143 -0
  1172. package/skills/playwright-pro/templates/settings/profile-update.md +130 -0
  1173. package/skills/popup-cro/SKILL.md +142 -0
  1174. package/skills/popup-cro/references/experiments.md +88 -0
  1175. package/skills/popup-cro/references/popup-cro-playbook.md +261 -0
  1176. package/skills/postman/SKILL.md +79 -0
  1177. package/skills/pptx-generator/SKILL.md +246 -0
  1178. package/skills/pptx-generator/references/design-system.md +392 -0
  1179. package/skills/pptx-generator/references/editing.md +162 -0
  1180. package/skills/pptx-generator/references/pitfalls.md +112 -0
  1181. package/skills/pptx-generator/references/pptxgenjs.md +420 -0
  1182. package/skills/pptx-generator/references/slide-types.md +413 -0
  1183. package/skills/pricing-strategy/SKILL.md +101 -0
  1184. package/skills/pricing-strategy/references/pricing-models.md +194 -0
  1185. package/skills/pricing-strategy/references/pricing-page-playbook.md +221 -0
  1186. package/skills/pricing-strategy/scripts/pricing_modeler.py +283 -0
  1187. package/skills/product-analytics/SKILL.md +151 -0
  1188. package/skills/product-analytics/references/dashboard-templates.md +66 -0
  1189. package/skills/product-analytics/references/metrics-frameworks.md +84 -0
  1190. package/skills/product-analytics/scripts/metrics_calculator.py +195 -0
  1191. package/skills/product-discovery/SKILL.md +118 -0
  1192. package/skills/product-discovery/references/discovery-frameworks.md +72 -0
  1193. package/skills/product-discovery/scripts/assumption_mapper.py +123 -0
  1194. package/skills/product-manager-toolkit/SKILL.md +121 -0
  1195. package/skills/product-manager-toolkit/assets/prd_template.md +132 -0
  1196. package/skills/product-manager-toolkit/assets/rice_input_template.csv +4 -0
  1197. package/skills/product-manager-toolkit/references/frameworks.md +559 -0
  1198. package/skills/product-manager-toolkit/references/input-output-examples.md +156 -0
  1199. package/skills/product-manager-toolkit/references/prd_templates.md +317 -0
  1200. package/skills/product-manager-toolkit/scripts/customer_interview_analyzer.py +452 -0
  1201. package/skills/product-manager-toolkit/scripts/rice_prioritizer.py +296 -0
  1202. package/skills/product-spec/SKILL.md +65 -0
  1203. package/skills/product-strategist/SKILL.md +122 -0
  1204. package/skills/product-strategist/assets/okr_template.md +106 -0
  1205. package/skills/product-strategist/references/examples/sample_growth_okrs.json +366 -0
  1206. package/skills/product-strategist/references/okr_framework.md +328 -0
  1207. package/skills/product-strategist/references/strategy_types.md +320 -0
  1208. package/skills/product-strategist/scripts/okr_cascade_generator.py +592 -0
  1209. package/skills/programmatic-seo/SKILL.md +156 -0
  1210. package/skills/programmatic-seo/references/playbooks.md +72 -0
  1211. package/skills/programmatic-seo/scripts/url_pattern_generator.py +194 -0
  1212. package/skills/prompt-engineer-toolkit/README.md +51 -0
  1213. package/skills/prompt-engineer-toolkit/SKILL.md +136 -0
  1214. package/skills/prompt-engineer-toolkit/references/evaluation-rubric.md +14 -0
  1215. package/skills/prompt-engineer-toolkit/references/prompt-templates.md +105 -0
  1216. package/skills/prompt-engineer-toolkit/references/technique-guide.md +25 -0
  1217. package/skills/prompt-engineer-toolkit/scripts/prompt_tester.py +239 -0
  1218. package/skills/prompt-engineer-toolkit/scripts/prompt_versioner.py +235 -0
  1219. package/skills/prototype/SKILL.md +54 -0
  1220. package/skills/qa-plan/SKILL.md +77 -0
  1221. package/skills/qms-audit-expert/SKILL.md +116 -0
  1222. package/skills/qms-audit-expert/references/iso13485-audit-guide.md +388 -0
  1223. package/skills/qms-audit-expert/references/nonconformity-classification.md +221 -0
  1224. package/skills/qms-audit-expert/scripts/audit_schedule_optimizer.py +420 -0
  1225. package/skills/quality-documentation-manager/SKILL.md +140 -0
  1226. package/skills/quality-documentation-manager/references/21cfr11-compliance-guide.md +398 -0
  1227. package/skills/quality-documentation-manager/references/document-control-procedures.md +340 -0
  1228. package/skills/quality-documentation-manager/scripts/document_validator.py +646 -0
  1229. package/skills/quality-documentation-manager/scripts/document_version_control.py +466 -0
  1230. package/skills/quality-manager-qmr/SKILL.md +129 -0
  1231. package/skills/quality-manager-qmr/references/management-review-guide.md +378 -0
  1232. package/skills/quality-manager-qmr/references/quality-kpi-framework.md +296 -0
  1233. package/skills/quality-manager-qmr/scripts/management_review_tracker.py +580 -0
  1234. package/skills/quality-manager-qmr/scripts/quality_effectiveness_monitor.py +481 -0
  1235. package/skills/quality-manager-qms-iso13485/SKILL.md +129 -0
  1236. package/skills/quality-manager-qms-iso13485/references/iso13485-clause-requirements.md +726 -0
  1237. package/skills/quality-manager-qms-iso13485/references/qms-process-templates.md +876 -0
  1238. package/skills/quality-manager-qms-iso13485/scripts/qms_audit_checklist.py +886 -0
  1239. package/skills/query-optimization/SKILL.md +107 -0
  1240. package/skills/quick-design/SKILL.md +47 -0
  1241. package/skills/rag-architect/SKILL.md +117 -0
  1242. package/skills/rag-architect/references/chunking_strategies_comparison.md +287 -0
  1243. package/skills/rag-architect/references/embedding_model_benchmark.md +338 -0
  1244. package/skills/rag-architect/references/rag_evaluation_framework.md +431 -0
  1245. package/skills/rag-architect/scripts/chunking_optimizer.py +787 -0
  1246. package/skills/rag-architect/scripts/rag_pipeline_designer.py +680 -0
  1247. package/skills/rag-architect/scripts/retrieval_evaluator.py +578 -0
  1248. package/skills/rate-limiting/SKILL.md +114 -0
  1249. package/skills/rbac-abac/SKILL.md +70 -0
  1250. package/skills/rbac-abac/references/anti-patterns.md +14 -0
  1251. package/skills/rbac-abac/references/checklist.md +13 -0
  1252. package/skills/rbac-abac/references/schema-jwt-cache.md +27 -0
  1253. package/skills/react-native-dev/SKILL.md +139 -0
  1254. package/skills/react-native-dev/references/animations.md +254 -0
  1255. package/skills/react-native-dev/references/components.md +124 -0
  1256. package/skills/react-native-dev/references/engineering.md +527 -0
  1257. package/skills/react-native-dev/references/forms.md +300 -0
  1258. package/skills/react-native-dev/references/native-capabilities.md +163 -0
  1259. package/skills/react-native-dev/references/navigation.md +271 -0
  1260. package/skills/react-native-dev/references/networking.md +346 -0
  1261. package/skills/react-native-dev/references/performance.md +215 -0
  1262. package/skills/react-native-dev/references/state-management.md +230 -0
  1263. package/skills/react-native-dev/references/styling.md +117 -0
  1264. package/skills/react-native-dev/references/testing.md +342 -0
  1265. package/skills/read-replicas/SKILL.md +46 -0
  1266. package/skills/read-replicas/references/anti-patterns-checklist.md +26 -0
  1267. package/skills/read-replicas/references/consistency-connection.md +24 -0
  1268. package/skills/read-replicas/references/ha-dr.md +18 -0
  1269. package/skills/red-team/SKILL.md +120 -0
  1270. package/skills/red-team/references/attack-path-methodology.md +135 -0
  1271. package/skills/red-team/scripts/engagement_planner.py +420 -0
  1272. package/skills/referral-program/SKILL.md +189 -0
  1273. package/skills/referral-program/references/loop-and-incentives.md +81 -0
  1274. package/skills/referral-program/references/measurement-framework.md +199 -0
  1275. package/skills/referral-program/references/program-mechanics.md +212 -0
  1276. package/skills/referral-program/scripts/referral_roi_calculator.py +420 -0
  1277. package/skills/regression-suite/SKILL.md +89 -0
  1278. package/skills/regulatory-affairs-head/SKILL.md +117 -0
  1279. package/skills/regulatory-affairs-head/references/eu-mdr-submission-guide.md +95 -0
  1280. package/skills/regulatory-affairs-head/references/fda-submission-guide.md +127 -0
  1281. package/skills/regulatory-affairs-head/references/global-regulatory-pathways.md +283 -0
  1282. package/skills/regulatory-affairs-head/references/iso-regulatory-requirements.md +363 -0
  1283. package/skills/regulatory-affairs-head/scripts/regulatory_pathway_analyzer.py +557 -0
  1284. package/skills/regulatory-affairs-head/scripts/regulatory_tracker.py +199 -0
  1285. package/skills/release/SKILL.md +89 -0
  1286. package/skills/release-announce/SKILL.md +64 -0
  1287. package/skills/release-checklist/SKILL.md +63 -0
  1288. package/skills/research-summarizer/SKILL.md +94 -0
  1289. package/skills/research-summarizer/references/citation-formats.md +105 -0
  1290. package/skills/research-summarizer/references/summary-templates.md +120 -0
  1291. package/skills/research-summarizer/scripts/extract_citations.py +309 -0
  1292. package/skills/research-summarizer/scripts/format_summary.py +244 -0
  1293. package/skills/retrospective/SKILL.md +72 -0
  1294. package/skills/revenue-operations/SKILL.md +101 -0
  1295. package/skills/revenue-operations/assets/expected_output.json +117 -0
  1296. package/skills/revenue-operations/assets/forecast_report_template.md +149 -0
  1297. package/skills/revenue-operations/assets/gtm_dashboard_template.md +215 -0
  1298. package/skills/revenue-operations/assets/pipeline_review_template.md +138 -0
  1299. package/skills/revenue-operations/assets/sample_forecast_data.json +23 -0
  1300. package/skills/revenue-operations/assets/sample_gtm_data.json +24 -0
  1301. package/skills/revenue-operations/assets/sample_pipeline_data.json +160 -0
  1302. package/skills/revenue-operations/references/gtm-efficiency-benchmarks.md +257 -0
  1303. package/skills/revenue-operations/references/pipeline-management-framework.md +292 -0
  1304. package/skills/revenue-operations/references/revops-metrics-guide.md +304 -0
  1305. package/skills/revenue-operations/scripts/forecast_accuracy_tracker.py +531 -0
  1306. package/skills/revenue-operations/scripts/gtm_efficiency_calculator.py +658 -0
  1307. package/skills/revenue-operations/scripts/pipeline_analyzer.py +496 -0
  1308. package/skills/reverse-document/SKILL.md +70 -0
  1309. package/skills/risk-management-specialist/SKILL.md +125 -0
  1310. package/skills/risk-management-specialist/references/iso14971-implementation-guide.md +468 -0
  1311. package/skills/risk-management-specialist/references/risk-analysis-methods.md +415 -0
  1312. package/skills/risk-management-specialist/references/risk-assessment-templates.md +77 -0
  1313. package/skills/risk-management-specialist/scripts/fmea_analyzer.py +442 -0
  1314. package/skills/risk-management-specialist/scripts/risk_matrix_calculator.py +419 -0
  1315. package/skills/roadmap-communicator/SKILL.md +96 -0
  1316. package/skills/roadmap-communicator/references/communication-templates.md +63 -0
  1317. package/skills/roadmap-communicator/references/roadmap-templates.md +44 -0
  1318. package/skills/roadmap-communicator/scripts/changelog_generator.py +151 -0
  1319. package/skills/rollback-strategy/SKILL.md +80 -0
  1320. package/skills/rollback-strategy/references/anti-patterns.md +14 -0
  1321. package/skills/rollback-strategy/references/canary-auto-rollback.md +17 -0
  1322. package/skills/rollback-strategy/references/communication-protocol.md +6 -0
  1323. package/skills/rollback-strategy/references/mobile-rollback.md +10 -0
  1324. package/skills/rollback-strategy/references/pre-deploy-checklist.md +15 -0
  1325. package/skills/rollback-strategy/references/runbook-commands.md +147 -0
  1326. package/skills/run-migrations/SKILL.md +67 -0
  1327. package/skills/runbooks/SKILL.md +57 -0
  1328. package/skills/runbooks/references/anti-patterns.md +6 -0
  1329. package/skills/runbooks/references/checklist.md +13 -0
  1330. package/skills/runbooks/references/lifecycle.md +14 -0
  1331. package/skills/runbooks/references/writing-principles.md +9 -0
  1332. package/skills/runbooks/templates/runbook.md +80 -0
  1333. package/skills/saas-metrics-coach/SKILL.md +156 -0
  1334. package/skills/saas-metrics-coach/assets/input-template.md +29 -0
  1335. package/skills/saas-metrics-coach/references/benchmarks.md +101 -0
  1336. package/skills/saas-metrics-coach/references/formulas.md +103 -0
  1337. package/skills/saas-metrics-coach/scripts/metrics_calculator.py +217 -0
  1338. package/skills/saas-metrics-coach/scripts/quick_ratio_calculator.py +173 -0
  1339. package/skills/saas-metrics-coach/scripts/unit_economics_simulator.py +205 -0
  1340. package/skills/sales-engineer/SKILL.md +104 -0
  1341. package/skills/sales-engineer/assets/demo_script_template.md +232 -0
  1342. package/skills/sales-engineer/assets/expected_output.json +474 -0
  1343. package/skills/sales-engineer/assets/poc_scorecard_template.md +213 -0
  1344. package/skills/sales-engineer/assets/sample_rfp_data.json +219 -0
  1345. package/skills/sales-engineer/assets/technical_proposal_template.md +231 -0
  1346. package/skills/sales-engineer/references/competitive-positioning-framework.md +226 -0
  1347. package/skills/sales-engineer/references/poc-best-practices.md +277 -0
  1348. package/skills/sales-engineer/references/rfp-response-guide.md +189 -0
  1349. package/skills/sales-engineer/scripts/competitive_matrix_builder.py +525 -0
  1350. package/skills/sales-engineer/scripts/poc_planner.py +765 -0
  1351. package/skills/sales-engineer/scripts/rfp_response_analyzer.py +557 -0
  1352. package/skills/scaffold-fastify-ts/SKILL.md +77 -0
  1353. package/skills/scaffold-fastify-ts/references/anti-patterns.md +10 -0
  1354. package/skills/scaffold-fastify-ts/references/key-decisions.md +27 -0
  1355. package/skills/scaffold-go/SKILL.md +77 -0
  1356. package/skills/scaffold-go/references/patterns.md +22 -0
  1357. package/skills/scaffold-go/references/project-structure.md +15 -0
  1358. package/skills/scaffold-react-native/SKILL.md +69 -0
  1359. package/skills/scaffold-react-native/references/conventions.md +26 -0
  1360. package/skills/scaffold-react-native/references/workflow-and-navigation.md +22 -0
  1361. package/skills/scaffold-react-vite/SKILL.md +76 -0
  1362. package/skills/scaffold-react-vite/references/anti-patterns.md +9 -0
  1363. package/skills/scaffold-react-vite/references/dependency-baseline.md +22 -0
  1364. package/skills/scaffold-unity/SKILL.md +52 -0
  1365. package/skills/scaffold-unity/references/folder-structure-and-files.md +43 -0
  1366. package/skills/scaffold-unity/references/naming-conventions.md +11 -0
  1367. package/skills/scenario-war-room/SKILL.md +81 -0
  1368. package/skills/scenario-war-room/references/cascade-model.md +103 -0
  1369. package/skills/scenario-war-room/references/scenario-planning.md +212 -0
  1370. package/skills/scenario-war-room/scripts/scenario_modeler.py +486 -0
  1371. package/skills/schema-markup/SKILL.md +184 -0
  1372. package/skills/schema-markup/references/implementation-patterns.md +437 -0
  1373. package/skills/schema-markup/references/schema-types-guide.md +285 -0
  1374. package/skills/schema-markup/references/testing-and-mistakes.md +43 -0
  1375. package/skills/schema-markup/scripts/schema_validator.py +442 -0
  1376. package/skills/scope-check/SKILL.md +67 -0
  1377. package/skills/scope-check/references/report-template.md +56 -0
  1378. package/skills/scrum-master/SKILL.md +128 -0
  1379. package/skills/scrum-master/assets/expected_output.json +131 -0
  1380. package/skills/scrum-master/assets/expected_velocity_output.json +85 -0
  1381. package/skills/scrum-master/assets/sample_sprint_data.json +821 -0
  1382. package/skills/scrum-master/assets/sprint_report_template.md +214 -0
  1383. package/skills/scrum-master/assets/team_health_check_template.md +380 -0
  1384. package/skills/scrum-master/references/retro-formats.md +336 -0
  1385. package/skills/scrum-master/references/team-dynamics-framework.md +561 -0
  1386. package/skills/scrum-master/references/velocity-forecasting-guide.md +386 -0
  1387. package/skills/scrum-master/scripts/retrospective_analyzer.py +914 -0
  1388. package/skills/scrum-master/scripts/sprint_health_scorer.py +744 -0
  1389. package/skills/scrum-master/scripts/velocity_analyzer.py +580 -0
  1390. package/skills/search-setup/SKILL.md +49 -0
  1391. package/skills/search-setup/references/anti-patterns-checklist.md +24 -0
  1392. package/skills/search-setup/references/engine-details.md +15 -0
  1393. package/skills/search-setup/references/indexing-pipeline.md +11 -0
  1394. package/skills/search-setup/references/observability.md +6 -0
  1395. package/skills/secret-management/SKILL.md +49 -0
  1396. package/skills/secret-management/references/anti-patterns.md +7 -0
  1397. package/skills/secret-management/references/checklist.md +13 -0
  1398. package/skills/secret-management/references/implementation-details.md +37 -0
  1399. package/skills/security-audit/SKILL.md +86 -0
  1400. package/skills/security-pen-testing/SKILL.md +114 -0
  1401. package/skills/security-pen-testing/references/attack_patterns.md +629 -0
  1402. package/skills/security-pen-testing/references/owasp_top_10_checklist.md +440 -0
  1403. package/skills/security-pen-testing/references/responsible_disclosure.md +317 -0
  1404. package/skills/security-pen-testing/scripts/dependency_auditor.py +455 -0
  1405. package/skills/security-pen-testing/scripts/pentest_report_generator.py +462 -0
  1406. package/skills/security-pen-testing/scripts/vulnerability_scanner.py +545 -0
  1407. package/skills/self-improving-agent/.claude-plugin/plugin.json +13 -0
  1408. package/skills/self-improving-agent/CLAUDE.md +79 -0
  1409. package/skills/self-improving-agent/LICENSE +21 -0
  1410. package/skills/self-improving-agent/SKILL.md +112 -0
  1411. package/skills/self-improving-agent/agents/memory-analyst.md +74 -0
  1412. package/skills/self-improving-agent/agents/skill-extractor.md +110 -0
  1413. package/skills/self-improving-agent/hooks/error-capture.sh +110 -0
  1414. package/skills/self-improving-agent/hooks/hooks.json +15 -0
  1415. package/skills/self-improving-agent/reference/memory-architecture.md +131 -0
  1416. package/skills/self-improving-agent/reference/promotion-rules.md +83 -0
  1417. package/skills/self-improving-agent/reference/rules-directory-patterns.md +137 -0
  1418. package/skills/self-improving-agent/settings.json +28 -0
  1419. package/skills/self-improving-agent/skills/extract/SKILL.md +182 -0
  1420. package/skills/self-improving-agent/skills/promote/SKILL.md +148 -0
  1421. package/skills/self-improving-agent/skills/remember/SKILL.md +102 -0
  1422. package/skills/self-improving-agent/skills/review/SKILL.md +130 -0
  1423. package/skills/self-improving-agent/skills/status/SKILL.md +107 -0
  1424. package/skills/self-improving-agent/templates/rule-template.md +17 -0
  1425. package/skills/self-improving-agent/templates/skill-template.md +53 -0
  1426. package/skills/senior-computer-vision/SKILL.md +125 -0
  1427. package/skills/senior-computer-vision/references/computer_vision_architectures.md +683 -0
  1428. package/skills/senior-computer-vision/references/object_detection_optimization.md +885 -0
  1429. package/skills/senior-computer-vision/references/production_vision_systems.md +1226 -0
  1430. package/skills/senior-computer-vision/references/reference-docs-and-commands.md +96 -0
  1431. package/skills/senior-computer-vision/scripts/dataset_pipeline_builder.py +1699 -0
  1432. package/skills/senior-computer-vision/scripts/inference_optimizer.py +557 -0
  1433. package/skills/senior-computer-vision/scripts/vision_model_trainer.py +576 -0
  1434. package/skills/senior-data-engineer/SKILL.md +198 -0
  1435. package/skills/senior-data-engineer/references/data_modeling_patterns.md +1058 -0
  1436. package/skills/senior-data-engineer/references/data_pipeline_architecture.md +1100 -0
  1437. package/skills/senior-data-engineer/references/dataops_best_practices.md +1502 -0
  1438. package/skills/senior-data-engineer/references/troubleshooting.md +183 -0
  1439. package/skills/senior-data-engineer/references/workflows.md +624 -0
  1440. package/skills/senior-data-engineer/scripts/data_quality_validator.py +1636 -0
  1441. package/skills/senior-data-engineer/scripts/etl_performance_optimizer.py +1685 -0
  1442. package/skills/senior-data-engineer/scripts/pipeline_orchestrator.py +883 -0
  1443. package/skills/senior-data-scientist/SKILL.md +117 -0
  1444. package/skills/senior-data-scientist/references/experiment_design_frameworks.md +80 -0
  1445. package/skills/senior-data-scientist/references/feature_engineering_patterns.md +80 -0
  1446. package/skills/senior-data-scientist/references/statistical_methods_advanced.md +80 -0
  1447. package/skills/senior-data-scientist/scripts/experiment_designer.py +100 -0
  1448. package/skills/senior-data-scientist/scripts/feature_engineering_pipeline.py +100 -0
  1449. package/skills/senior-data-scientist/scripts/model_evaluation_suite.py +100 -0
  1450. package/skills/senior-ml-engineer/SKILL.md +121 -0
  1451. package/skills/senior-ml-engineer/references/llm_integration_guide.md +317 -0
  1452. package/skills/senior-ml-engineer/references/mlops_production_patterns.md +265 -0
  1453. package/skills/senior-ml-engineer/references/rag_system_architecture.md +371 -0
  1454. package/skills/senior-ml-engineer/scripts/ml_monitoring_suite.py +100 -0
  1455. package/skills/senior-ml-engineer/scripts/model_deployment_pipeline.py +100 -0
  1456. package/skills/senior-ml-engineer/scripts/rag_system_builder.py +100 -0
  1457. package/skills/senior-pm/SKILL.md +109 -0
  1458. package/skills/senior-pm/assets/executive_report_template.md +267 -0
  1459. package/skills/senior-pm/assets/expected_output.json +150 -0
  1460. package/skills/senior-pm/assets/project_charter_template.md +274 -0
  1461. package/skills/senior-pm/assets/raci_matrix_template.md +265 -0
  1462. package/skills/senior-pm/assets/sample_project_data.json +458 -0
  1463. package/skills/senior-pm/references/portfolio-kpis.md +32 -0
  1464. package/skills/senior-pm/references/portfolio-prioritization-models.md +645 -0
  1465. package/skills/senior-pm/references/risk-management-framework.md +485 -0
  1466. package/skills/senior-pm/scripts/project_health_dashboard.py +814 -0
  1467. package/skills/senior-pm/scripts/resource_capacity_planner.py +846 -0
  1468. package/skills/senior-pm/scripts/risk_matrix_analyzer.py +698 -0
  1469. package/skills/senior-prompt-engineer/SKILL.md +108 -0
  1470. package/skills/senior-prompt-engineer/references/agentic_system_design.md +646 -0
  1471. package/skills/senior-prompt-engineer/references/llm_evaluation_frameworks.md +524 -0
  1472. package/skills/senior-prompt-engineer/references/prompt_engineering_patterns.md +572 -0
  1473. package/skills/senior-prompt-engineer/scripts/agent_orchestrator.py +560 -0
  1474. package/skills/senior-prompt-engineer/scripts/prompt_optimizer.py +519 -0
  1475. package/skills/senior-prompt-engineer/scripts/rag_evaluator.py +574 -0
  1476. package/skills/seo-audit/SKILL.md +150 -0
  1477. package/skills/seo-audit/references/aeo-geo-patterns.md +110 -0
  1478. package/skills/seo-audit/references/ai-writing-detection.md +63 -0
  1479. package/skills/seo-audit/references/seo-audit-reference.md +289 -0
  1480. package/skills/seo-audit/scripts/seo_checker.py +361 -0
  1481. package/skills/shader-dev/SKILL.md +299 -0
  1482. package/skills/shader-dev/reference/ambient-occlusion.md +382 -0
  1483. package/skills/shader-dev/reference/analytic-ray-tracing.md +651 -0
  1484. package/skills/shader-dev/reference/anti-aliasing.md +71 -0
  1485. package/skills/shader-dev/reference/atmospheric-scattering.md +571 -0
  1486. package/skills/shader-dev/reference/camera-effects.md +80 -0
  1487. package/skills/shader-dev/reference/cellular-automata.md +635 -0
  1488. package/skills/shader-dev/reference/color-palette.md +481 -0
  1489. package/skills/shader-dev/reference/csg-boolean-operations.md +466 -0
  1490. package/skills/shader-dev/reference/domain-repetition.md +436 -0
  1491. package/skills/shader-dev/reference/domain-warping.md +419 -0
  1492. package/skills/shader-dev/reference/fluid-simulation.md +425 -0
  1493. package/skills/shader-dev/reference/fractal-rendering.md +525 -0
  1494. package/skills/shader-dev/reference/lighting-model.md +639 -0
  1495. package/skills/shader-dev/reference/matrix-transform.md +535 -0
  1496. package/skills/shader-dev/reference/multipass-buffer.md +571 -0
  1497. package/skills/shader-dev/reference/normal-estimation.md +418 -0
  1498. package/skills/shader-dev/reference/particle-system.md +589 -0
  1499. package/skills/shader-dev/reference/path-tracing-gi.md +602 -0
  1500. package/skills/shader-dev/reference/polar-uv-manipulation.md +521 -0
  1501. package/skills/shader-dev/reference/post-processing.md +375 -0
  1502. package/skills/shader-dev/reference/procedural-2d-pattern.md +439 -0
  1503. package/skills/shader-dev/reference/procedural-noise.md +551 -0
  1504. package/skills/shader-dev/reference/ray-marching.md +396 -0
  1505. package/skills/shader-dev/reference/sdf-2d.md +724 -0
  1506. package/skills/shader-dev/reference/sdf-3d.md +805 -0
  1507. package/skills/shader-dev/reference/sdf-tricks.md +63 -0
  1508. package/skills/shader-dev/reference/shadow-techniques.md +476 -0
  1509. package/skills/shader-dev/reference/simulation-physics.md +644 -0
  1510. package/skills/shader-dev/reference/sound-synthesis.md +578 -0
  1511. package/skills/shader-dev/reference/terrain-rendering.md +839 -0
  1512. package/skills/shader-dev/reference/texture-mapping-advanced.md +87 -0
  1513. package/skills/shader-dev/reference/texture-sampling.md +553 -0
  1514. package/skills/shader-dev/reference/volumetric-rendering.md +608 -0
  1515. package/skills/shader-dev/reference/voronoi-cellular-noise.md +486 -0
  1516. package/skills/shader-dev/reference/voxel-rendering.md +701 -0
  1517. package/skills/shader-dev/reference/water-ocean.md +445 -0
  1518. package/skills/shader-dev/reference/webgl-pitfalls.md +41 -0
  1519. package/skills/shader-dev/techniques/ambient-occlusion.md +364 -0
  1520. package/skills/shader-dev/techniques/analytic-ray-tracing.md +542 -0
  1521. package/skills/shader-dev/techniques/anti-aliasing.md +124 -0
  1522. package/skills/shader-dev/techniques/atmospheric-scattering.md +522 -0
  1523. package/skills/shader-dev/techniques/camera-effects.md +115 -0
  1524. package/skills/shader-dev/techniques/cellular-automata.md +531 -0
  1525. package/skills/shader-dev/techniques/color-palette.md +380 -0
  1526. package/skills/shader-dev/techniques/csg-boolean-operations.md +491 -0
  1527. package/skills/shader-dev/techniques/domain-repetition.md +333 -0
  1528. package/skills/shader-dev/techniques/domain-warping.md +414 -0
  1529. package/skills/shader-dev/techniques/fluid-simulation.md +1175 -0
  1530. package/skills/shader-dev/techniques/fractal-rendering.md +436 -0
  1531. package/skills/shader-dev/techniques/lighting-model.md +527 -0
  1532. package/skills/shader-dev/techniques/matrix-transform.md +455 -0
  1533. package/skills/shader-dev/techniques/multipass-buffer.md +922 -0
  1534. package/skills/shader-dev/techniques/normal-estimation.md +318 -0
  1535. package/skills/shader-dev/techniques/particle-system.md +1203 -0
  1536. package/skills/shader-dev/techniques/path-tracing-gi.md +623 -0
  1537. package/skills/shader-dev/techniques/polar-uv-manipulation.md +373 -0
  1538. package/skills/shader-dev/techniques/post-processing.md +788 -0
  1539. package/skills/shader-dev/techniques/procedural-2d-pattern.md +346 -0
  1540. package/skills/shader-dev/techniques/procedural-noise.md +554 -0
  1541. package/skills/shader-dev/techniques/ray-marching.md +467 -0
  1542. package/skills/shader-dev/techniques/sdf-2d.md +631 -0
  1543. package/skills/shader-dev/techniques/sdf-3d.md +589 -0
  1544. package/skills/shader-dev/techniques/sdf-tricks.md +100 -0
  1545. package/skills/shader-dev/techniques/shadow-techniques.md +776 -0
  1546. package/skills/shader-dev/techniques/simulation-physics.md +1542 -0
  1547. package/skills/shader-dev/techniques/sound-synthesis.md +490 -0
  1548. package/skills/shader-dev/techniques/terrain-rendering.md +408 -0
  1549. package/skills/shader-dev/techniques/texture-mapping-advanced.md +121 -0
  1550. package/skills/shader-dev/techniques/texture-sampling.md +382 -0
  1551. package/skills/shader-dev/techniques/volumetric-rendering.md +375 -0
  1552. package/skills/shader-dev/techniques/voronoi-cellular-noise.md +458 -0
  1553. package/skills/shader-dev/techniques/voxel-rendering.md +985 -0
  1554. package/skills/shader-dev/techniques/water-ocean.md +490 -0
  1555. package/skills/shader-dev/techniques/webgl-pitfalls.md +170 -0
  1556. package/skills/signup-flow-cro/SKILL.md +150 -0
  1557. package/skills/signup-flow-cro/references/experiments.md +76 -0
  1558. package/skills/signup-flow-cro/references/signup-cro-playbook.md +180 -0
  1559. package/skills/signup-flow-cro/scripts/funnel_drop_analyzer.py +320 -0
  1560. package/skills/site-architecture/SKILL.md +167 -0
  1561. package/skills/site-architecture/references/internal-linking-playbook.md +216 -0
  1562. package/skills/site-architecture/references/navigation-design.md +32 -0
  1563. package/skills/site-architecture/references/silo-and-linking-guide.md +80 -0
  1564. package/skills/site-architecture/references/url-design-guide.md +220 -0
  1565. package/skills/site-architecture/scripts/sitemap_analyzer.py +375 -0
  1566. package/skills/skill-auditor/SKILL.md +159 -0
  1567. package/skills/skill-auditor/references/frontmatter-spec.md +113 -0
  1568. package/skills/skill-auditor/references/lazy-loading-guide.md +98 -0
  1569. package/skills/skill-improve/SKILL.md +59 -0
  1570. package/skills/skill-test/SKILL.md +45 -0
  1571. package/skills/skill-test/references/audit-mode-procedure.md +7 -0
  1572. package/skills/skill-test/references/category-mode-procedure.md +7 -0
  1573. package/skills/skill-test/references/next-steps-guide.md +9 -0
  1574. package/skills/skill-test/references/spec-mode-procedure.md +8 -0
  1575. package/skills/skill-test/references/static-checks.md +13 -0
  1576. package/skills/slack/SKILL.md +45 -0
  1577. package/skills/slo-sli/SKILL.md +92 -0
  1578. package/skills/slo-sli/references/alerting-burn-rate.md +22 -0
  1579. package/skills/slo-sli/references/anti-patterns.md +12 -0
  1580. package/skills/slo-sli/references/checklist.md +14 -0
  1581. package/skills/smoke-check/SKILL.md +77 -0
  1582. package/skills/snowflake-development/SKILL.md +119 -0
  1583. package/skills/snowflake-development/references/cortex_ai_and_agents.md +280 -0
  1584. package/skills/snowflake-development/references/snowflake_sql_and_pipelines.md +281 -0
  1585. package/skills/snowflake-development/references/troubleshooting.md +155 -0
  1586. package/skills/snowflake-development/scripts/snowflake_query_helper.py +233 -0
  1587. package/skills/soc2-compliance/SKILL.md +132 -0
  1588. package/skills/soc2-compliance/references/evidence_collection_guide.md +227 -0
  1589. package/skills/soc2-compliance/references/trust_service_criteria.md +273 -0
  1590. package/skills/soc2-compliance/references/type1_vs_type2.md +273 -0
  1591. package/skills/soc2-compliance/scripts/control_matrix_builder.py +679 -0
  1592. package/skills/soc2-compliance/scripts/evidence_tracker.py +240 -0
  1593. package/skills/soc2-compliance/scripts/gap_analyzer.py +479 -0
  1594. package/skills/social-content/SKILL.md +155 -0
  1595. package/skills/social-content/references/hooks-and-repurposing.md +74 -0
  1596. package/skills/social-content/references/platforms.md +163 -0
  1597. package/skills/social-content/references/post-templates.md +171 -0
  1598. package/skills/social-content/references/reverse-engineering.md +190 -0
  1599. package/skills/social-media-analyzer/HOW_TO_USE.md +39 -0
  1600. package/skills/social-media-analyzer/SKILL.md +190 -0
  1601. package/skills/social-media-analyzer/assets/expected_output.json +61 -0
  1602. package/skills/social-media-analyzer/assets/sample_input.json +42 -0
  1603. package/skills/social-media-analyzer/references/platform-benchmarks.md +226 -0
  1604. package/skills/social-media-analyzer/scripts/analyze_performance.py +180 -0
  1605. package/skills/social-media-analyzer/scripts/calculate_metrics.py +147 -0
  1606. package/skills/social-media-manager/SKILL.md +195 -0
  1607. package/skills/social-media-manager/scripts/social_calendar_generator.py +399 -0
  1608. package/skills/sprint-ceremony/SKILL.md +75 -0
  1609. package/skills/sprint-plan/SKILL.md +47 -0
  1610. package/skills/sprint-report/SKILL.md +124 -0
  1611. package/skills/standup-report/SKILL.md +51 -0
  1612. package/skills/start/SKILL.md +67 -0
  1613. package/skills/start-service/SKILL.md +45 -0
  1614. package/skills/state-management/SKILL.md +75 -0
  1615. package/skills/story-done/SKILL.md +69 -0
  1616. package/skills/story-done/references/review-gates.md +9 -0
  1617. package/skills/story-done/references/test-evidence-traceability.md +17 -0
  1618. package/skills/story-readiness/SKILL.md +57 -0
  1619. package/skills/story-readiness/references/context-loading.md +9 -0
  1620. package/skills/story-readiness/references/output-format.md +7 -0
  1621. package/skills/story-readiness/references/readiness-checklist.md +33 -0
  1622. package/skills/strategic-alignment/SKILL.md +79 -0
  1623. package/skills/strategic-alignment/references/alignment-playbook.md +205 -0
  1624. package/skills/strategic-alignment/scripts/alignment_checker.py +455 -0
  1625. package/skills/stripe-integration-expert/SKILL.md +65 -0
  1626. package/skills/stripe-integration-expert/references/stripe-code-examples.md +372 -0
  1627. package/skills/tdd-guide/HOW_TO_USE.md +313 -0
  1628. package/skills/tdd-guide/SKILL.md +114 -0
  1629. package/skills/tdd-guide/assets/expected_output.json +77 -0
  1630. package/skills/tdd-guide/assets/sample_coverage_report.lcov +56 -0
  1631. package/skills/tdd-guide/assets/sample_input_python.json +39 -0
  1632. package/skills/tdd-guide/assets/sample_input_typescript.json +36 -0
  1633. package/skills/tdd-guide/references/ci-integration.md +195 -0
  1634. package/skills/tdd-guide/references/framework-guide.md +206 -0
  1635. package/skills/tdd-guide/references/tdd-best-practices.md +128 -0
  1636. package/skills/tdd-guide/references/tdd-code-examples.md +229 -0
  1637. package/skills/tdd-guide/scripts/coverage_analyzer.py +434 -0
  1638. package/skills/tdd-guide/scripts/fixture_generator.py +440 -0
  1639. package/skills/tdd-guide/scripts/format_detector.py +384 -0
  1640. package/skills/tdd-guide/scripts/framework_adapter.py +428 -0
  1641. package/skills/tdd-guide/scripts/metrics_calculator.py +456 -0
  1642. package/skills/tdd-guide/scripts/output_formatter.py +354 -0
  1643. package/skills/tdd-guide/scripts/tdd_workflow.py +474 -0
  1644. package/skills/tdd-guide/scripts/test_generator.py +438 -0
  1645. package/skills/team-communications/SKILL.md +69 -0
  1646. package/skills/team-communications/references/3p-updates.md +47 -0
  1647. package/skills/team-communications/references/company-newsletter.md +65 -0
  1648. package/skills/team-communications/references/faq-answers.md +30 -0
  1649. package/skills/team-communications/references/general-comms.md +16 -0
  1650. package/skills/team-vn/SKILL.md +187 -0
  1651. package/skills/tech-debt/SKILL.md +91 -0
  1652. package/skills/tech-debt/references/register-format.md +20 -0
  1653. package/skills/tech-debt/references/scan-indicators.md +22 -0
  1654. package/skills/tech-stack-evaluator/SKILL.md +111 -0
  1655. package/skills/tech-stack-evaluator/assets/expected_output_comparison.json +82 -0
  1656. package/skills/tech-stack-evaluator/assets/sample_input_structured.json +39 -0
  1657. package/skills/tech-stack-evaluator/assets/sample_input_tco.json +42 -0
  1658. package/skills/tech-stack-evaluator/assets/sample_input_text.json +4 -0
  1659. package/skills/tech-stack-evaluator/references/examples.md +383 -0
  1660. package/skills/tech-stack-evaluator/references/metrics.md +242 -0
  1661. package/skills/tech-stack-evaluator/references/workflows.md +362 -0
  1662. package/skills/tech-stack-evaluator/scripts/ecosystem_analyzer.py +501 -0
  1663. package/skills/tech-stack-evaluator/scripts/format_detector.py +430 -0
  1664. package/skills/tech-stack-evaluator/scripts/migration_analyzer.py +587 -0
  1665. package/skills/tech-stack-evaluator/scripts/report_generator.py +460 -0
  1666. package/skills/tech-stack-evaluator/scripts/security_assessor.py +518 -0
  1667. package/skills/tech-stack-evaluator/scripts/stack_comparator.py +389 -0
  1668. package/skills/tech-stack-evaluator/scripts/tco_calculator.py +458 -0
  1669. package/skills/terraform-init/SKILL.md +80 -0
  1670. package/skills/terraform-init/references/anti-patterns.md +11 -0
  1671. package/skills/terraform-init/references/security-checklist.md +10 -0
  1672. package/skills/test-flakiness/SKILL.md +90 -0
  1673. package/skills/test-helpers/SKILL.md +50 -0
  1674. package/skills/test-setup/SKILL.md +58 -0
  1675. package/skills/testing/SKILL.md +32 -0
  1676. package/skills/testing/references/anti-patterns.md +11 -0
  1677. package/skills/testing/references/coverage-strategy.md +11 -0
  1678. package/skills/testing/references/framework-setup.md +25 -0
  1679. package/skills/testing/references/helper-patterns.md +9 -0
  1680. package/skills/threat-detection/SKILL.md +114 -0
  1681. package/skills/threat-detection/references/hunt-playbooks.md +131 -0
  1682. package/skills/threat-detection/scripts/threat_signal_analyzer.py +571 -0
  1683. package/skills/unity-game-architecture/SKILL.md +45 -0
  1684. package/skills/unity-game-architecture/references/anti-patterns.md +15 -0
  1685. package/skills/unity-game-architecture/references/checklist.md +16 -0
  1686. package/skills/unity-game-architecture/references/performance-and-systems.md +29 -0
  1687. package/skills/user-persona/SKILL.md +65 -0
  1688. package/skills/user-persona/references/persona-template.md +27 -0
  1689. package/skills/ux-design/SKILL.md +60 -0
  1690. package/skills/ux-design/references/cross-reference-and-routing.md +19 -0
  1691. package/skills/ux-design/references/spec-sections.md +19 -0
  1692. package/skills/ux-review/SKILL.md +70 -0
  1693. package/skills/video-content-strategist/SKILL.md +181 -0
  1694. package/skills/video-content-strategist/references/scripts-and-anti-patterns.md +48 -0
  1695. package/skills/visual-regression/SKILL.md +86 -0
  1696. package/skills/vn-asset-pipeline/SKILL.md +166 -0
  1697. package/skills/vn-character-design/SKILL.md +220 -0
  1698. package/skills/vn-comfyui-gen/SKILL.md +235 -0
  1699. package/skills/vn-comfyui-gen/references/comfyui-vn-workflows.md +197 -0
  1700. package/skills/vn-dialogue-tree/SKILL.md +126 -0
  1701. package/skills/vn-gdd/SKILL.md +133 -0
  1702. package/skills/vn-narrative-design/SKILL.md +185 -0
  1703. package/skills/vn-renpy-setup/SKILL.md +136 -0
  1704. package/skills/vn-scene-compose/SKILL.md +234 -0
  1705. package/skills/vn-script/SKILL.md +140 -0
  1706. package/skills/vn-script/references/renpy-cheatsheet.md +169 -0
  1707. package/skills/vn-testing/SKILL.md +178 -0
  1708. package/skills/vn-ui-design/SKILL.md +220 -0
  1709. package/skills/web-security/SKILL.md +92 -0
  1710. package/skills/web-security/references/csp-and-frontend.md +36 -0
  1711. package/skills/webhooks/SKILL.md +102 -0
  1712. package/skills/websocket-realtime-rooms/SKILL.md +46 -0
  1713. package/skills/websocket-realtime-rooms/references/anti-patterns-checklist.md +27 -0
  1714. package/skills/websocket-realtime-rooms/references/auth-security.md +9 -0
  1715. package/skills/websocket-realtime-rooms/references/client-implementation.md +15 -0
  1716. package/skills/websocket-realtime-rooms/references/heartbeat-reconnect-backpressure.md +17 -0
  1717. package/skills/weekly-digest/SKILL.md +51 -0
  1718. package/skills/worktree-isolation/README.md +193 -0
  1719. package/skills/worktree-isolation/SKILL.md +87 -0
  1720. package/skills/worktree-isolation/scripts/apply.py +178 -0
  1721. package/skills/worktree-isolation/scripts/lib.py +371 -0
  1722. package/skills/worktree-isolation-setup/README.md +137 -0
  1723. package/skills/worktree-isolation-setup/SKILL.md +192 -0
  1724. package/skills/worktree-isolation-setup/scripts/apply.py +178 -0
  1725. package/skills/worktree-isolation-setup/scripts/install_hook.py +118 -0
  1726. package/skills/worktree-isolation-setup/scripts/lib.py +371 -0
  1727. package/skills/x-twitter-growth/SKILL.md +91 -0
  1728. package/skills/x-twitter-growth/references/algorithm-signals.md +70 -0
  1729. package/skills/x-twitter-growth/scripts/competitor_analyzer.py +235 -0
  1730. package/skills/x-twitter-growth/scripts/content_planner.py +210 -0
  1731. package/skills/x-twitter-growth/scripts/growth_tracker.py +259 -0
  1732. package/skills/x-twitter-growth/scripts/profile_auditor.py +294 -0
  1733. package/skills/x-twitter-growth/scripts/tweet_composer.py +290 -0
  1734. package/skills/xlsx-generator/SKILL.md +135 -0
  1735. package/skills/xlsx-generator/references/create.md +691 -0
  1736. package/skills/xlsx-generator/references/edit.md +684 -0
  1737. package/skills/xlsx-generator/references/fix.md +37 -0
  1738. package/skills/xlsx-generator/references/format.md +768 -0
  1739. package/skills/xlsx-generator/references/ooxml-cheatsheet.md +231 -0
  1740. package/skills/xlsx-generator/references/read-analyze.md +97 -0
  1741. package/skills/xlsx-generator/references/validate.md +772 -0
  1742. package/skills/xlsx-generator/scripts/formula_check.py +422 -0
  1743. package/skills/xlsx-generator/scripts/libreoffice_recalc.py +248 -0
  1744. package/skills/xlsx-generator/scripts/shared_strings_builder.py +163 -0
  1745. package/skills/xlsx-generator/scripts/style_audit.py +575 -0
  1746. package/skills/xlsx-generator/scripts/xlsx_add_column.py +395 -0
  1747. package/skills/xlsx-generator/scripts/xlsx_insert_row.py +274 -0
  1748. package/skills/xlsx-generator/scripts/xlsx_pack.py +87 -0
  1749. package/skills/xlsx-generator/scripts/xlsx_reader.py +362 -0
  1750. package/skills/xlsx-generator/scripts/xlsx_shift_rows.py +396 -0
  1751. package/skills/xlsx-generator/scripts/xlsx_unpack.py +130 -0
  1752. package/skills/xlsx-generator/templates/minimal_xlsx/[Content_Types].xml +9 -0
  1753. package/skills/xlsx-generator/templates/minimal_xlsx/_rels/.rels +6 -0
  1754. package/skills/xlsx-generator/templates/minimal_xlsx/xl/_rels/workbook.xml.rels +19 -0
  1755. package/skills/xlsx-generator/templates/minimal_xlsx/xl/sharedStrings.xml +33 -0
  1756. package/skills/xlsx-generator/templates/minimal_xlsx/xl/styles.xml +160 -0
  1757. package/skills/xlsx-generator/templates/minimal_xlsx/xl/workbook.xml +30 -0
  1758. package/skills/xlsx-generator/templates/minimal_xlsx/xl/worksheets/sheet1.xml +70 -0
  1759. package/templates/gamedev/architecture-decision-record.md +176 -0
  1760. package/templates/gamedev/art-bible.md +80 -0
  1761. package/templates/gamedev/concept-doc-from-prototype.md +304 -0
  1762. package/templates/gamedev/difficulty-curve.md +330 -0
  1763. package/templates/gamedev/economy-model.md +130 -0
  1764. package/templates/gamedev/faction-design.md +166 -0
  1765. package/templates/gamedev/game-concept.md +316 -0
  1766. package/templates/gamedev/game-design-document.md +219 -0
  1767. package/templates/gamedev/game-pillars.md +313 -0
  1768. package/templates/gamedev/hud-design.md +505 -0
  1769. package/templates/gamedev/level-design-document.md +111 -0
  1770. package/templates/gamedev/narrative-character-sheet.md +111 -0
  1771. package/templates/gamedev/pitch-document.md +140 -0
  1772. package/templates/gamedev/player-journey.md +357 -0
  1773. package/templates/gamedev/project-stage-report.md +199 -0
  1774. package/templates/gamedev/sound-bible.md +130 -0
  1775. package/templates/gamedev/systems-index.md +146 -0
  1776. package/templates/gamedev/technical-design-document.md +96 -0
  1777. package/templates/gamedev/test-evidence.md +86 -0
  1778. package/templates/gamedev/test-plan.md +144 -0
@@ -0,0 +1,985 @@
1
+ ## WebGL2 Adaptation Requirements
2
+
3
+ The code templates in this document use ShaderToy GLSL style. When generating standalone HTML pages, you must adapt for WebGL2:
4
+
5
+ - Use `canvas.getContext("webgl2")` **(required! WebGL1 does not support in/out keywords)**
6
+ - Shader first line: `#version 300 es`, add `precision highp float;` to fragment shader
7
+ - **IMPORTANT: #version must be the very first line of the shader! No characters before it (including blank lines/comments/Unicode BOM)**
8
+ - Vertex shader: `attribute` → `in`, `varying` → `out`
9
+ - Fragment shader: `varying` → `in`, `gl_FragColor` → custom `out vec4 fragColor`, `texture2D()` → `texture()`
10
+ - ShaderToy's `void mainImage(out vec4 fragColor, in vec2 fragCoord)` needs to be adapted to the standard `void main()` entry point
11
+
12
+ ### WebGL2 Full Adaptation Example
13
+
14
+ ```glsl
15
+ // === Vertex Shader ===
16
+ const vertexShaderSource = `#version 300 es
17
+ in vec2 a_position;
18
+ void main() {
19
+ gl_Position = vec4(a_position, 0.0, 1.0);
20
+ }`;
21
+
22
+ // === Fragment Shader ===
23
+ const fragmentShaderSource = `#version 300 es
24
+ precision highp float;
25
+
26
+ uniform float iTime;
27
+ uniform vec2 iResolution;
28
+
29
+ // IMPORTANT: Important: WebGL2 must declare the output variable!
30
+ out vec4 fragColor;
31
+
32
+ // ... other functions ...
33
+
34
+ void main() {
35
+ // IMPORTANT: Use gl_FragCoord.xy instead of fragCoord
36
+ vec2 fragCoord = gl_FragCoord.xy;
37
+
38
+ vec3 col = vec3(0.0);
39
+
40
+ // ... rendering logic ...
41
+
42
+ // IMPORTANT: Write to fragColor, not gl_FragColor!
43
+ fragColor = vec4(col, 1.0);
44
+ }`;
45
+ ```
46
+
47
+ **IMPORTANT: Common GLSL compile errors:**
48
+ - `in/out storage qualifier supported in GLSL ES 3.00 only` → Check that you are using `getContext("webgl2")` and `#version 300 es`
49
+ - `#version directive must occur on the first line` → Check that the shader string starts with #version, with no characters before it
50
+ - **IMPORTANT: GLSL reserved words**: `cast`, `class`, `template`, `namespace`, `union`, `enum`, `typedef`, `sizeof`, `input`, `output`, `filter`, `image`, `sampler`, `fixed`, `volatile`, `public`, `static`, `extern`, `external`, `interface`, `long`, `short`, `double`, `half`, `unsigned`, `superp`, `inline`, `noinline`, etc. are all GLSL reserved words and **must never be used as variable or function names**! Common pitfall: naming a function `cast` for ray casting → compile failure. **Use compound names like `castRay`, `castShadow`, `shootRay` instead**.
51
+ - **IMPORTANT: GLSL strict typing**: float/int cannot be mixed. `if (x > 0)` for int, `if (y < 0.0)` for float. Comparing ivec3 members to float requires explicit conversion: `float(c.y) < height`. When getVoxel returns int, compare with `> 0` not `> 0.0`. Function parameter types must match exactly.
52
+ - **IMPORTANT: Vector dimension mismatch (vec2 vs vec3)**: `p.xz` returns `vec2` and **must never** be added to `vec3` or passed to functions expecting `vec3` parameters (e.g., `fbm(vec3)`, `noise(vec3)`)! Common error: `fbm(p.xz * 0.08 + vec3(...))` — `vec2 + vec3` compile failure. **Fix**: either use a `vec2` version of noise/fbm, or construct a full vec3: `fbm(vec3(p.xz * 0.08, p.y * 0.05))`. Similarly, `vec2` only has `.x`/`.y`, cannot access `.z`/`.w`.
53
+ - **IMPORTANT: length() / floating-point precision**: `length(ivec2)` must first convert to `vec2`: `length(vec2(d))`. Exact floating-point equality comparison almost never works; use range comparison: `floor(p.y) == floor(height)`
54
+
55
+ # Voxel Rendering Skill
56
+
57
+ ## Use Cases
58
+ - Rendering discrete volumetric data on regular 3D grids (Minecraft-style worlds, medical volume data, architectural voxel models)
59
+ - Pixel-accurate block/cube scenes
60
+ - "Block art", "3D pixel art", "low-poly voxel" visual styles
61
+ - Real-time voxel scenes in pure fragment shader environments like ShaderToy
62
+ - Advanced lighting effects including shadows, AO, and global illumination
63
+
64
+ ## Core Principles
65
+
66
+ The core of voxel rendering is the **DDA (Digital Differential Analyzer) ray traversal algorithm**: cast a ray from the camera through each pixel, stepping through the 3D grid cell by cell along the ray direction until hitting an occupied voxel.
67
+
68
+ For ray `P(t) = rayPos + t * rayDir`, DDA maintains:
69
+ - **`mapPos`** = `floor(rayPos)`: current grid coordinate (integer)
70
+ - **`deltaDist`** = `abs(1.0 / rayDir)`: t cost to cross one cell
71
+ - **`sideDist`** = `(sign(rayDir) * (mapPos - rayPos) + sign(rayDir) * 0.5 + 0.5) * deltaDist`: t distance to the next boundary on each axis
72
+
73
+ Each step advances along the axis with the smallest `sideDist`, updating `sideDist += deltaDist` and `mapPos += rayStep`.
74
+
75
+ Normal on hit: `normal = -mask * rayStep`
76
+
77
+ Face UV is obtained by projecting the hit point onto the two tangent axes of the hit face.
78
+
79
+ ## Implementation Steps
80
+
81
+ ### Step 1: Camera Ray Construction
82
+ ```glsl
83
+ vec2 screenPos = (fragCoord.xy / iResolution.xy) * 2.0 - 1.0;
84
+ vec3 cameraDir = vec3(0.0, 0.0, 0.8); // Focal length; larger = narrower FOV
85
+ vec3 cameraPlaneU = vec3(1.0, 0.0, 0.0);
86
+ vec3 cameraPlaneV = vec3(0.0, 1.0, 0.0) * iResolution.y / iResolution.x;
87
+ vec3 rayDir = cameraDir + screenPos.x * cameraPlaneU + screenPos.y * cameraPlaneV;
88
+ vec3 rayPos = vec3(0.0, 2.0, -12.0);
89
+ ```
90
+
91
+ ### Step 2: DDA Initialization
92
+ ```glsl
93
+ ivec3 mapPos = ivec3(floor(rayPos));
94
+ vec3 rayStep = sign(rayDir);
95
+ vec3 deltaDist = abs(1.0 / rayDir); // When ray is normalized, equivalent to abs(1.0/rd), no length() needed
96
+ vec3 sideDist = (sign(rayDir) * (vec3(mapPos) - rayPos) + (sign(rayDir) * 0.5) + 0.5) * deltaDist;
97
+ ```
98
+
99
+ ### Step 3: DDA Traversal Loop (Branchless Version)
100
+ ```glsl
101
+ #define MAX_RAY_STEPS 64
102
+
103
+ bvec3 mask;
104
+ for (int i = 0; i < MAX_RAY_STEPS; i++) {
105
+ if (getVoxel(mapPos)) break;
106
+ // Branchless axis selection
107
+ mask = lessThanEqual(sideDist.xyz, min(sideDist.yzx, sideDist.zxy));
108
+ sideDist += vec3(mask) * deltaDist;
109
+ mapPos += ivec3(vec3(mask)) * ivec3(rayStep);
110
+ }
111
+ ```
112
+
113
+ Alternative form (step version):
114
+ ```glsl
115
+ vec3 mask = step(sideDist.xyz, sideDist.yzx) * step(sideDist.xyz, sideDist.zxy);
116
+ sideDist += mask * deltaDist;
117
+ mapPos += mask * rayStep;
118
+ ```
119
+
120
+ ### Step 4: Voxel Occupancy Function
121
+ ```glsl
122
+ // Basic version: solid block (most common; use this when user asks for "voxel cube")
123
+ // IMPORTANT: Important: getVoxel receives ivec3, but all internal calculations must use float!
124
+ bool getVoxel(ivec3 c) {
125
+ vec3 p = vec3(c) + vec3(0.5); // ivec3 → vec3 conversion (required!)
126
+ float d = sdBox(p, vec3(6.0)); // Solid 12x12x12 cube
127
+ return d < 0.0;
128
+ }
129
+
130
+ // Advanced version: SDF boolean operations (sphere carved from box = only corners remain)
131
+ bool getVoxelCarved(ivec3 c) {
132
+ vec3 p = vec3(c) + vec3(0.5);
133
+ float d = max(-sdSphere(p, 7.5), sdBox(p, vec3(6.0))); // box ∩ ¬sphere
134
+ return d < 0.0;
135
+ }
136
+
137
+ // Advanced version: height map terrain with material IDs
138
+ // IMPORTANT: Key: all comparisons must use float! c.y is int and must be converted to float for comparison
139
+ // IMPORTANT: Important: must use range comparison, not exact equality (floating-point precision issues)
140
+ int getVoxelMaterial(ivec3 c) {
141
+ vec3 p = vec3(c); // ivec3 → vec3 conversion (required!)
142
+ float groundHeight = getTerrainHeight(p.xz); // p.xz is vec2, passes float parameters
143
+ if (float(c.y) < groundHeight) return 1; // int → float comparison
144
+ if (float(c.y) < groundHeight + 4.0) return 7; // int → float comparison
145
+ return 0;
146
+ }
147
+
148
+ // Pure float version (simpler, recommended):
149
+ int getVoxelMaterial(vec3 c) {
150
+ float groundHeight = getTerrainHeight(c.xz);
151
+ // IMPORTANT: Use range comparison, never exact equality!
152
+ if (c.y >= groundHeight && c.y < groundHeight + 1.0) return 1; // Grass top layer
153
+ if (c.y >= groundHeight - 3.0 && c.y < groundHeight) return 2; // Dirt layer
154
+ if (c.y < groundHeight - 3.0) return 3; // Stone layer
155
+ return 0;
156
+ }
157
+
158
+ // Advanced version: mountain terrain (height-based coloring: grass green → rock gray → snow white)
159
+ // IMPORTANT: Key 1: color thresholds must be based on heightRatio (normalized height 0~1), not absolute height!
160
+ // IMPORTANT: Key 2: maxH must match the actual maximum return value of getMountainHeight!
161
+ // If getMountainHeight returns at most 15.0, maxH must be 15.0, not arbitrarily 20.0
162
+ // IMPORTANT: Key 3: threshold spacing must be large enough (at least 0.2), otherwise color bands are too narrow to see
163
+ // IMPORTANT: Key 4: grass area typically covers the largest terrain area (low elevation); set grass threshold high (0.4) to ensure green is clearly visible
164
+ float maxH = 15.0; // IMPORTANT: Must equal the actual max value of getMountainHeight!
165
+ int getMountainVoxel(vec3 c) {
166
+ float height = getMountainHeight(c.xz); // Returns 0 ~ maxH
167
+ if (c.y > height) return 0; // Air
168
+ float heightRatio = c.y / maxH; // Normalize to 0~1
169
+ // IMPORTANT: Thresholds from low to high: grass < 0.4, rock 0.4~0.7, snow > 0.7
170
+ if (heightRatio < 0.4) return 1; // Grass (green) — largest area
171
+ if (heightRatio < 0.7) return 2; // Rock (gray)
172
+ return 3; // Snow cap (white)
173
+ }
174
+ // IMPORTANT: Corresponding material colors must have sufficient saturation and clear contrast:
175
+ // mat==1: vec3(0.25, 0.55, 0.15) Grass green (saturated green, must not be grayish!)
176
+ // mat==2: vec3(0.5, 0.45, 0.4) Rock gray-brown
177
+ // mat==3: vec3(0.92, 0.93, 0.96) Snow white
178
+ // IMPORTANT: Lighting must not be too bright or it washes out colors! Sun intensity ≤ 2.0, sky light ≤ 1.0
179
+ // IMPORTANT: Gamma correction pow(col, vec3(0.4545)) brightens dark colors and reduces saturation;
180
+ // if colors look grayish-white, make grass green more saturated: vec3(0.2, 0.5, 0.1)
181
+
182
+ // IMPORTANT: Rotating objects: to rotate a voxel object, apply inverse rotation to the sample point in getVoxel!
183
+ // Do not rotate the camera to simulate object rotation (that only changes the viewpoint)
184
+ bool getVoxelRotating(ivec3 c) {
185
+ vec3 p = vec3(c) + vec3(0.5);
186
+ // Rotate around Y axis: apply inverse rotation to sample point
187
+ float angle = -iTime; // Negative sign = inverse transform
188
+ float s = sin(angle), co = cos(angle);
189
+ p.xz = vec2(p.x * co - p.z * s, p.x * s + p.z * co);
190
+ float d = sdBox(p, vec3(6.0)); // Rotated solid cube
191
+ return d < 0.0;
192
+ }
193
+ ```
194
+
195
+ ### Step 5: Face Shading (Normal + Base Color)
196
+ ```glsl
197
+ vec3 normal = -vec3(mask) * rayStep;
198
+ vec3 color;
199
+ if (mask.x) color = vec3(0.5); // Side faces darkest
200
+ if (mask.y) color = vec3(1.0); // Top face brightest
201
+ if (mask.z) color = vec3(0.75); // Front/back faces medium
202
+ fragColor = vec4(color, 1.0);
203
+ ```
204
+
205
+ ### Step 6: Precise Hit Position and Face UV
206
+ ```glsl
207
+ float t = dot(sideDist - deltaDist, vec3(mask));
208
+ vec3 hitPos = rayPos + rayDir * t;
209
+ vec3 uvw = hitPos - vec3(mapPos);
210
+ vec2 uv = vec2(dot(vec3(mask) * uvw.yzx, vec3(1.0)),
211
+ dot(vec3(mask) * uvw.zxy, vec3(1.0)));
212
+ ```
213
+
214
+ ### Step 7: Neighbor Voxel AO
215
+ ```glsl
216
+ float vertexAo(vec2 side, float corner) {
217
+ return (side.x + side.y + max(corner, side.x * side.y)) / 3.0;
218
+ }
219
+
220
+ vec4 voxelAo(vec3 pos, vec3 d1, vec3 d2) {
221
+ vec4 side = vec4(
222
+ getVoxel(pos + d1), getVoxel(pos + d2),
223
+ getVoxel(pos - d1), getVoxel(pos - d2));
224
+ vec4 corner = vec4(
225
+ getVoxel(pos + d1 + d2), getVoxel(pos - d1 + d2),
226
+ getVoxel(pos - d1 - d2), getVoxel(pos + d1 - d2));
227
+ vec4 ao;
228
+ ao.x = vertexAo(side.xy, corner.x);
229
+ ao.y = vertexAo(side.yz, corner.y);
230
+ ao.z = vertexAo(side.zw, corner.z);
231
+ ao.w = vertexAo(side.wx, corner.w);
232
+ return 1.0 - ao;
233
+ }
234
+
235
+ // Bilinear interpolation
236
+ vec4 ambient = voxelAo(mapPos - rayStep * mask, mask.zxy, mask.yzx);
237
+ float ao = mix(mix(ambient.z, ambient.w, uv.x), mix(ambient.y, ambient.x, uv.x), uv.y);
238
+ ao = pow(ao, 1.0 / 3.0); // Gamma correction to control AO intensity
239
+ ```
240
+
241
+ ### Step 8: DDA Shadow Ray
242
+ ```glsl
243
+ // IMPORTANT: Shadow steps must be capped at 16; total main ray + shadow ray steps should not exceed 80
244
+ #define MAX_SHADOW_STEPS 16
245
+
246
+ float castShadow(vec3 ro, vec3 rd) {
247
+ vec3 pos = floor(ro);
248
+ vec3 ri = 1.0 / rd;
249
+ vec3 rs = sign(rd);
250
+ vec3 dis = (pos - ro + 0.5 + rs * 0.5) * ri;
251
+ for (int i = 0; i < MAX_SHADOW_STEPS; i++) {
252
+ if (getVoxel(ivec3(pos))) return 0.0;
253
+ vec3 mm = step(dis.xyz, dis.yzx) * step(dis.xyz, dis.zxy);
254
+ dis += mm * rs * ri;
255
+ pos += mm * rs;
256
+ }
257
+ return 1.0;
258
+ }
259
+
260
+ vec3 sundir = normalize(vec3(-0.5, 0.6, 0.7));
261
+ float shadow = castShadow(hitPos + normal * 0.01, sundir);
262
+ float diffuse = max(dot(normal, sundir), 0.0) * shadow;
263
+ ```
264
+
265
+ ## Complete Code Template
266
+
267
+ ```glsl
268
+ // === Voxel Rendering - Complete ShaderToy Template ===
269
+ // Includes: DDA traversal, face shading, neighbor AO, hard shadows
270
+
271
+ // IMPORTANT: Performance critical: SwiftShader software renderer (headless browser evaluation environment) cannot handle too many loop iterations
272
+ // Default 64+16=80 steps, suitable for most scenes. Simple scenes (single cube) can increase to 96+24
273
+ // Multi-building/character/Minecraft scenes must keep 64+16 or lower!
274
+ #define MAX_RAY_STEPS 64
275
+ #define MAX_SHADOW_STEPS 16
276
+ #define GRID_SIZE 16.0
277
+
278
+ // ---- Math Utilities ----
279
+ float sdSphere(vec3 p, float r) { return length(p) - r; }
280
+ float sdBox(vec3 p, vec3 b) {
281
+ vec3 d = abs(p) - b;
282
+ return min(max(d.x, max(d.y, d.z)), 0.0) + length(max(d, 0.0));
283
+ }
284
+ float hash31(vec3 n) { return fract(sin(dot(n, vec3(1.0, 113.0, 257.0))) * 43758.5453); }
285
+
286
+ vec2 rotate2d(vec2 v, float a) {
287
+ float s = sin(a), c = cos(a);
288
+ return vec2(v.x * c - v.y * s, v.y * c + v.x * s);
289
+ }
290
+
291
+ // ---- Voxel Scene Definition ----
292
+ // IMPORTANT: Default solid cube. Use sdBox for "voxel cube"; add SDF boolean ops for carved/sculpted shapes
293
+ int getVoxel(vec3 c) {
294
+ vec3 p = c + 0.5;
295
+ float d = sdBox(p, vec3(6.0)); // Solid 12x12x12 block
296
+ if (d < 0.0) {
297
+ if (p.y < -3.0) return 2;
298
+ return 1;
299
+ }
300
+ return 0;
301
+ }
302
+
303
+ // ---- Neighbor AO ----
304
+ float getOccupancy(vec3 c) { return float(getVoxel(c) > 0); }
305
+
306
+ float vertexAo(vec2 side, float corner) {
307
+ return (side.x + side.y + max(corner, side.x * side.y)) / 3.0;
308
+ }
309
+
310
+ vec4 voxelAo(vec3 pos, vec3 d1, vec3 d2) {
311
+ vec4 side = vec4(
312
+ getOccupancy(pos + d1), getOccupancy(pos + d2),
313
+ getOccupancy(pos - d1), getOccupancy(pos - d2));
314
+ vec4 corner = vec4(
315
+ getOccupancy(pos + d1 + d2), getOccupancy(pos - d1 + d2),
316
+ getOccupancy(pos - d1 - d2), getOccupancy(pos + d1 - d2));
317
+ vec4 ao;
318
+ ao.x = vertexAo(side.xy, corner.x);
319
+ ao.y = vertexAo(side.yz, corner.y);
320
+ ao.z = vertexAo(side.zw, corner.z);
321
+ ao.w = vertexAo(side.wx, corner.w);
322
+ return 1.0 - ao;
323
+ }
324
+
325
+ // ---- DDA Traversal Core ----
326
+ struct HitInfo {
327
+ bool hit;
328
+ float t;
329
+ vec3 pos;
330
+ vec3 normal;
331
+ vec3 mapPos;
332
+ vec2 uv;
333
+ int mat;
334
+ };
335
+
336
+ HitInfo castRay(vec3 ro, vec3 rd, int maxSteps) {
337
+ HitInfo info;
338
+ info.hit = false;
339
+ info.t = 0.0;
340
+
341
+ vec3 mapPos = floor(ro);
342
+ vec3 rayStep = sign(rd);
343
+ vec3 deltaDist = abs(1.0 / rd);
344
+ vec3 sideDist = (rayStep * (mapPos - ro) + rayStep * 0.5 + 0.5) * deltaDist;
345
+ vec3 mask = vec3(0.0);
346
+
347
+ for (int i = 0; i < maxSteps; i++) {
348
+ int vox = getVoxel(mapPos);
349
+ if (vox > 0) {
350
+ info.hit = true;
351
+ info.mat = vox;
352
+ info.normal = -mask * rayStep;
353
+ info.mapPos = mapPos;
354
+ info.t = dot(sideDist - deltaDist, mask);
355
+ info.pos = ro + rd * info.t;
356
+ vec3 uvw = info.pos - mapPos;
357
+ info.uv = vec2(dot(mask * uvw.yzx, vec3(1.0)),
358
+ dot(mask * uvw.zxy, vec3(1.0)));
359
+ return info;
360
+ }
361
+ mask = step(sideDist.xyz, sideDist.yzx) * step(sideDist.xyz, sideDist.zxy);
362
+ sideDist += mask * deltaDist;
363
+ mapPos += mask * rayStep;
364
+ }
365
+ return info;
366
+ }
367
+
368
+ // ---- Shadow Ray ----
369
+ // IMPORTANT: Shadow steps at 16 (combined with main ray 64 = 80, within SwiftShader safe range)
370
+ float castShadow(vec3 ro, vec3 rd) {
371
+ vec3 pos = floor(ro);
372
+ vec3 ri = 1.0 / rd;
373
+ vec3 rs = sign(rd);
374
+ vec3 dis = (pos - ro + 0.5 + rs * 0.5) * ri;
375
+ for (int i = 0; i < MAX_SHADOW_STEPS; i++) {
376
+ // IMPORTANT: getVoxel returns int; comparison must use int constant (0), not float (0.0)
377
+ if (getVoxel(pos) > 0) return 0.0;
378
+ vec3 mm = step(dis.xyz, dis.yzx) * step(dis.xyz, dis.zxy);
379
+ dis += mm * rs * ri;
380
+ pos += mm * rs;
381
+ }
382
+ return 1.0;
383
+ }
384
+
385
+ // ---- Material Colors ----
386
+ // IMPORTANT: Texture coloring key: "low saturation" does not mean "near white/gray"!
387
+ // Low saturation = colorful but not vivid, must retain clear hue differences (e.g., brick red 0.55,0.35,0.3 not gray-white 0.8,0.8,0.8)
388
+ // Brick/stone textures: use UV periodic patterns (mortar lines = dark lines), never use solid colors!
389
+ vec3 getMaterialColor(int mat, vec2 uv) {
390
+ vec3 col = vec3(0.6);
391
+ if (mat == 1) col = vec3(0.7, 0.7, 0.75);
392
+ if (mat == 2) col = vec3(0.4, 0.55, 0.3);
393
+ float checker = mod(floor(uv.x * 4.0) + floor(uv.y * 4.0), 2.0);
394
+ col *= 0.85 + 0.15 * checker;
395
+ return col;
396
+ }
397
+
398
+ // ---- Brick/Stone Texture Coloring (use this to replace getMaterialColor when user requests "brick texture") ----
399
+ // IMPORTANT: Key: brick texture = UV periodic pattern (staggered rows + mortar dark lines), not solid color!
400
+ vec3 getBrickColor(vec2 uv, vec3 baseColor, vec3 mortarColor) {
401
+ vec2 brickUV = uv * vec2(4.0, 8.0);
402
+ float row = floor(brickUV.y);
403
+ brickUV.x += mod(row, 2.0) * 0.5; // Staggered row offset
404
+ vec2 f = fract(brickUV);
405
+ float mortar = step(f.x, 0.06) + step(f.y, 0.08); // Mortar joints
406
+ mortar = clamp(mortar, 0.0, 1.0);
407
+ float noise = fract(sin(dot(floor(brickUV), vec2(12.9898, 78.233))) * 43758.5453);
408
+ vec3 brickVariation = baseColor * (0.85 + 0.3 * noise); // Slight color variation per brick
409
+ return mix(brickVariation, mortarColor, mortar);
410
+ }
411
+ // Usage example (maze walls):
412
+ // if (mat == 1) col = getBrickColor(uv, vec3(0.55, 0.35, 0.3), vec3(0.4, 0.38, 0.35)); // Brick red + mortar
413
+ // if (mat == 2) col = getBrickColor(uv, vec3(0.5, 0.48, 0.42), vec3(0.35, 0.33, 0.3)); // Gray stone brick
414
+
415
+ // ---- Main Function ----
416
+ void mainImage(out vec4 fragColor, in vec2 fragCoord) {
417
+ vec2 screenPos = (fragCoord.xy / iResolution.xy) * 2.0 - 1.0;
418
+ screenPos.x *= iResolution.x / iResolution.y;
419
+
420
+ vec3 ro = vec3(0.0, 2.0 * sin(iTime * 0.5), -12.0);
421
+ vec3 forward = vec3(0.0, 0.0, 0.8);
422
+ vec3 rd = normalize(forward + vec3(screenPos, 0.0));
423
+
424
+ ro.xz = rotate2d(ro.xz, iTime * 0.3);
425
+ rd.xz = rotate2d(rd.xz, iTime * 0.3);
426
+
427
+ vec3 sunDir = normalize(vec3(-0.5, 0.6, 0.7));
428
+ vec3 skyColor = vec3(0.6, 0.75, 0.9);
429
+
430
+ HitInfo hit = castRay(ro, rd, MAX_RAY_STEPS);
431
+
432
+ vec3 col;
433
+ if (hit.hit) {
434
+ vec3 matCol = getMaterialColor(hit.mat, hit.uv);
435
+
436
+ vec3 mask = abs(hit.normal);
437
+ vec4 ambient = voxelAo(hit.mapPos, mask.zxy, mask.yzx);
438
+ float ao = mix(
439
+ mix(ambient.z, ambient.w, hit.uv.x),
440
+ mix(ambient.y, ambient.x, hit.uv.x),
441
+ hit.uv.y);
442
+ ao = pow(ao, 0.5);
443
+
444
+ float shadow = castShadow(hit.pos + hit.normal * 0.01, sunDir);
445
+
446
+ float diff = max(dot(hit.normal, sunDir), 0.0);
447
+ float sky = 0.5 + 0.5 * hit.normal.y;
448
+
449
+ vec3 lighting = vec3(0.0);
450
+ // IMPORTANT: Mountain/terrain scenes: sun light ≤ 2.0, sky light ≤ 1.0; too bright washes out material color differences
451
+ lighting += 2.0 * diff * vec3(1.0, 0.95, 0.8) * shadow;
452
+ lighting += 1.0 * sky * skyColor;
453
+ lighting *= ao;
454
+
455
+ col = matCol * lighting;
456
+
457
+ // IMPORTANT: Fog: coefficient should not be too large, otherwise nearby objects get swallowed into pure sky color
458
+ // 0.0002 suits GRID_SIZE=16 scenes; use smaller coefficients for larger scenes
459
+ float fog = 1.0 - exp(-0.0002 * hit.t * hit.t);
460
+ col = mix(col, skyColor, clamp(fog, 0.0, 0.7)); // Clamp prevents objects from disappearing entirely
461
+ } else {
462
+ col = skyColor - rd.y * 0.2;
463
+ }
464
+
465
+ col = pow(clamp(col, 0.0, 1.0), vec3(0.4545));
466
+ fragColor = vec4(col, 1.0);
467
+ }
468
+ ```
469
+
470
+ ## Common Variants
471
+
472
+ ### Variant 1: Glowing Voxels (Glow Accumulation)
473
+ Accumulate distance-based glow values during DDA traversal; produces semi-transparent glow even on miss.
474
+ ```glsl
475
+ float glow = 0.0;
476
+ for (int i = 0; i < MAX_RAY_STEPS; i++) {
477
+ float d = sdSomeShape(vec3(mapPos));
478
+ glow += 0.015 / (0.01 + d * d);
479
+ if (d < 0.0) break;
480
+ // ... normal DDA stepping ...
481
+ }
482
+ vec3 col = baseColor + glow * vec3(0.4, 0.6, 1.0);
483
+ ```
484
+
485
+ ### Variant 2: Rounded Voxels (Intra-voxel SDF Refinement)
486
+ After DDA hit, perform SDF ray march inside the voxel to render rounded blocks.
487
+ ```glsl
488
+ float id = hash31(mapPos);
489
+ float w = 0.05 + 0.35 * id;
490
+
491
+ float sdRoundedBox(vec3 p, float w) {
492
+ return length(max(abs(p) - 0.5 + w, 0.0)) - w;
493
+ }
494
+
495
+ vec3 localP = hitPos - mapPos - 0.5;
496
+ for (int j = 0; j < 6; j++) {
497
+ float h = sdRoundedBox(localP, w);
498
+ if (h < 0.025) break;
499
+ localP += rd * max(0.0, h);
500
+ }
501
+ ```
502
+
503
+ ### Variant 3: Hybrid SDF-Voxel Traversal
504
+ SDF sphere-tracing with large steps at distance, switching to precise DDA near the surface.
505
+ ```glsl
506
+ #define VOXEL_SIZE 0.0625
507
+ #define SWITCH_DIST (VOXEL_SIZE * 1.732)
508
+
509
+ bool useVoxel = false;
510
+ for (int i = 0; i < MAX_STEPS; i++) {
511
+ vec3 pos = ro + rd * t;
512
+ float d = mapSDF(useVoxel ? voxelCenter : pos);
513
+ if (!useVoxel) {
514
+ t += d;
515
+ if (d < SWITCH_DIST) { useVoxel = true; voxelPos = getVoxelPos(pos); }
516
+ } else {
517
+ if (d < 0.0) break;
518
+ if (d > SWITCH_DIST) { useVoxel = false; t += d; continue; }
519
+ vec3 exitT = (voxelPos - ro * ird + ird * VOXEL_SIZE * 0.5);
520
+ // ... select minimum axis to advance ...
521
+ }
522
+ }
523
+ ```
524
+
525
+ ### Variant 4: Voxel Cone Tracing
526
+ Build multi-level mipmaps, cast cone-shaped rays from hit points for global illumination.
527
+ ```glsl
528
+ vec4 traceCone(vec3 origin, vec3 dir, float coneRatio) {
529
+ vec4 light = vec4(0.0);
530
+ float t = 1.0;
531
+ for (int i = 0; i < 58; i++) {
532
+ vec3 sp = origin + dir * t;
533
+ float diameter = max(1.0, t * coneRatio);
534
+ float lod = log2(diameter);
535
+ vec4 sample = voxelFetch(sp, lod);
536
+ light += sample * (1.0 - light.w);
537
+ t += diameter;
538
+ }
539
+ return light;
540
+ }
541
+ ```
542
+
543
+ ### Variant 5: PBR Lighting + Multi-Bounce Reflection
544
+ GGX BRDF replacing Lambert, with metallic/roughness parameters; cast a second DDA ray for reflections.
545
+ ```glsl
546
+ float ggxDiffuse(float NoL, float NoV, float LoH, float roughness) {
547
+ float FD90 = 0.5 + 2.0 * roughness * LoH * LoH;
548
+ float a = 1.0 + (FD90 - 1.0) * pow(1.0 - NoL, 5.0);
549
+ float b = 1.0 + (FD90 - 1.0) * pow(1.0 - NoV, 5.0);
550
+ return a * b / 3.14159;
551
+ }
552
+
553
+ vec3 rd2 = reflect(rd, normal);
554
+ HitInfo reflHit = castRay(hitPos + normal * 0.001, rd2, 64);
555
+ vec3 reflColor = reflHit.hit ? shade(reflHit) : skyColor;
556
+
557
+ float fresnel = 0.04 + 0.96 * pow(1.0 - max(dot(normal, -rd), 0.0), 5.0);
558
+ col += fresnel * reflColor;
559
+ ```
560
+
561
+ ### Variant 6: Voxel Water Scene (Water + Underwater Voxels)
562
+ Water surface ripple reflections, underwater refraction, sand and seaweed for a complete water scene.
563
+ ```glsl
564
+ float waterY = 0.0;
565
+
566
+ // Underwater voxel scene definition (sand + seaweed)
567
+ // IMPORTANT: All coordinate operations must use correct vector dimensions!
568
+ // c.xz returns vec2, only has .x/.y components, cannot use .z!
569
+ int getVoxel(vec3 c) {
570
+ float sandHeight = -3.0 + 0.5 * sin(c.x * 0.3) * cos(c.z * 0.4);
571
+ if (c.y < sandHeight) return 1; // Sand interior
572
+ if (c.y < sandHeight + 1.0) return 2; // Sand surface
573
+ // Seaweed: only grows underwater, above sand
574
+ float grassHash = fract(sin(dot(floor(c.xz), vec2(12.9898, 78.233))) * 43758.5453);
575
+ // IMPORTANT: floor(c.xz) is vec2; the second argument to dot() must also be vec2
576
+ if (grassHash > 0.85 && c.y >= sandHeight + 1.0 && c.y < sandHeight + 1.0 + 3.0 * grassHash) {
577
+ return 3; // Seaweed
578
+ }
579
+ return 0;
580
+ }
581
+
582
+ // Handle water surface in main rendering
583
+ float tWater = (waterY - ro.y) / rd.y;
584
+ bool hitWater = tWater > 0.0 && (tWater < hit.t || !hit.hit);
585
+
586
+ if (hitWater) {
587
+ vec3 waterPos = ro + rd * tWater;
588
+ vec3 waterNormal = vec3(0.0, 1.0, 0.0);
589
+ // IMPORTANT: waterPos.xz is vec2; access with .x/.y (not .x/.z)
590
+ vec2 waveXZ = waterPos.xz; // vec2: waveXZ.x = worldX, waveXZ.y = worldZ
591
+ waterNormal.x += 0.05 * sin(waveXZ.x * 3.0 + iTime);
592
+ waterNormal.z += 0.05 * cos(waveXZ.y * 2.0 + iTime * 0.7);
593
+ waterNormal = normalize(waterNormal);
594
+
595
+ float fresnel = 0.04 + 0.96 * pow(1.0 - max(dot(waterNormal, -rd), 0.0), 5.0);
596
+
597
+ // Reflection
598
+ vec3 reflDir = reflect(rd, waterNormal);
599
+ HitInfo reflHit = castRay(waterPos + waterNormal * 0.01, reflDir, 64);
600
+ vec3 reflCol = reflHit.hit ? getMaterialColor(reflHit.mat, reflHit.uv) : skyColor;
601
+
602
+ // Refraction (underwater voxels: sand, seaweed)
603
+ vec3 refrDir = refract(rd, waterNormal, 1.0 / 1.33);
604
+ HitInfo refrHit = castRay(waterPos - waterNormal * 0.01, refrDir, 64);
605
+ vec3 refrCol;
606
+ if (refrHit.hit) {
607
+ vec3 matCol = getMaterialColor(refrHit.mat, refrHit.uv);
608
+ float underwaterDist = length(refrHit.pos - waterPos);
609
+ refrCol = mix(matCol, vec3(0.0, 0.15, 0.3), 1.0 - exp(-0.1 * underwaterDist));
610
+ } else {
611
+ refrCol = vec3(0.0, 0.1, 0.3);
612
+ }
613
+
614
+ col = mix(refrCol, reflCol, fresnel);
615
+ col = mix(col, vec3(0.0, 0.3, 0.5), 0.2);
616
+ }
617
+ ```
618
+
619
+ ### Variant 7: Rotating Voxel Objects
620
+ Rotate voxel objects as a whole. Core: apply inverse rotation to sample points in getVoxel.
621
+ ```glsl
622
+ // IMPORTANT: Correct way to rotate objects: apply inverse rotation to sample coordinates in getVoxel
623
+ // Wrong approach: only rotate the camera (that just changes the viewpoint, not the object)
624
+ int getVoxel(vec3 c) {
625
+ vec3 p = c + 0.5;
626
+ // Rotate around Y axis
627
+ float angle = -iTime * 0.5;
628
+ float s = sin(angle), co = cos(angle);
629
+ p.xz = vec2(p.x * co - p.z * s, p.x * s + p.z * co);
630
+ // Can also rotate around multiple axes:
631
+ // p.yz = vec2(p.y * co2 - p.z * s2, p.y * s2 + p.z * co2); // X axis rotation
632
+ float d = sdBox(p, vec3(6.0));
633
+ if (d < 0.0) return 1;
634
+ return 0;
635
+ }
636
+ ```
637
+
638
+ ### Variant 8: Indoor/Cave/Enclosed Scenes (Point Lights + High Ambient Lighting)
639
+ Indoor, cave, underground, sci-fi base, and other enclosed or semi-enclosed scenes require point lights and high ambient lighting.
640
+ ```glsl
641
+ // IMPORTANT: Key points for enclosed/semi-enclosed scenes (caves, interiors, sci-fi bases, mazes, etc.):
642
+ // 1. Camera must be placed inside the cavity (a position where getVoxel returns 0)
643
+ // 2. Must use point lights, not just directional light (directional light blocked by walls/ceiling = total darkness!)
644
+ // 3. Ambient light must be high enough (at least 0.2-0.3) to prevent scene from being too dark to see details
645
+ // 4. Can use multiple point lights + emissive voxels to simulate torches/fluorescence/holographic displays
646
+ // 5. Sci-fi scene metallic walls need bright enough light sources to show reflections
647
+ // 6. Emissive elements (holographic screens, indicator lights, magic circles) use emissive materials: add emissive color directly to lighting
648
+
649
+ // Cave scene: cavity = area where getVoxel returns 0
650
+ // IMPORTANT: Cave/terrain noise functions must respect vector dimensions!
651
+ // p.xz is vec2; if noise/fbm function takes vec3, construct a full vec3:
652
+ // Correct: fbm(vec3(p.xz, p.y * 0.5)) or use vec2 version of noise
653
+ // Wrong: fbm(p.xz + vec3(...)) ← vec2 + vec3 compile failure!
654
+ int getVoxel(vec3 c) {
655
+ float cave = sdSphere(c + 0.5, 12.0);
656
+ // IMPORTANT: For noise-carved detail, use c's components directly (all float)
657
+ cave += 2.0 * sin(c.x * 0.3) * sin(c.y * 0.4) * sin(c.z * 0.35);
658
+ if (cave > 0.0) return 1; // Rock wall
659
+ return 0; // Cavity (camera goes here)
660
+ }
661
+
662
+ // Point light attenuation
663
+ vec3 pointLightPos = vec3(0.0, 3.0, 0.0);
664
+ vec3 toLight = pointLightPos - hit.pos;
665
+ float lightDist = length(toLight);
666
+ vec3 lightDir = toLight / lightDist;
667
+ float attenuation = 1.0 / (1.0 + 0.1 * lightDist + 0.01 * lightDist * lightDist);
668
+
669
+ float diff = max(dot(hit.normal, lightDir), 0.0);
670
+ float shadow = castShadow(hit.pos + hit.normal * 0.01, lightDir);
671
+
672
+ vec3 lighting = vec3(0.0);
673
+ // IMPORTANT: High ambient light to prevent total darkness (required for enclosed scenes! at least 0.2)
674
+ lighting += vec3(0.25, 0.22, 0.2); // Warm ambient light
675
+ lighting += 3.0 * diff * attenuation * vec3(1.0, 0.8, 0.5) * shadow; // Point light
676
+
677
+ // Multiple torches/emissive objects (use sin for flicker animation)
678
+ vec3 torch1 = vec3(5.0, 2.0, 3.0);
679
+ vec3 torch2 = vec3(-4.0, 1.0, -5.0);
680
+ float flicker1 = 0.8 + 0.2 * sin(iTime * 5.0 + 1.0);
681
+ float flicker2 = 0.8 + 0.2 * sin(iTime * 4.3 + 2.7);
682
+ lighting += calcPointLight(hit.pos, hit.normal, torch1, vec3(1.0, 0.6, 0.2)) * flicker1;
683
+ lighting += calcPointLight(hit.pos, hit.normal, torch2, vec3(0.2, 1.0, 0.5)) * flicker2;
684
+
685
+ // Emissive materials (holographic displays, fluorescent moss, indicator lights, magic circles, etc.)
686
+ // IMPORTANT: Emissive colors are added directly to lighting, unaffected by shadows
687
+ if (hit.mat == 2) {
688
+ lighting += vec3(0.1, 0.4, 0.15); // Fluorescent moss (faint green)
689
+ }
690
+ if (hit.mat == 3) {
691
+ float pulse = 0.7 + 0.3 * sin(iTime * 2.0);
692
+ lighting += vec3(0.2, 0.6, 1.0) * pulse; // Blue pulse light
693
+ }
694
+
695
+ col = matCol * lighting;
696
+ ```
697
+
698
+ ### Variant 9: Voxel Character Animation
699
+ Simple voxel character animation using time-driven offsets and rotations.
700
+ ```glsl
701
+ // IMPORTANT: Voxel character animation core approach:
702
+ // 1. Split the character into multiple body parts (head, torso, left arm, right arm, left leg, right leg)
703
+ // 2. Each part is an sdBox with independent offset/rotation parameters
704
+ // 3. iTime drives limb swinging (sin/cos periodic motion)
705
+ // 4. Combine all parts using SDF min()
706
+ // IMPORTANT: SwiftShader performance critical: character function is called at every DDA step!
707
+ // Must add AABB bounding box check in getVoxel: first check if c is near the character,
708
+ // skip sdBox calculations for that character if not nearby. Otherwise frame timeout → black screen
709
+ // Reduce MAX_RAY_STEPS to 64, MAX_SHADOW_STEPS to 16
710
+
711
+ int getCharacter(vec3 p, vec3 charPos, float animPhase) {
712
+ vec3 lp = p - charPos;
713
+ float limbSwing = sin(iTime * 4.0 + animPhase) * 0.5;
714
+
715
+ // Torso
716
+ float body = sdBox(lp - vec3(0, 3, 0), vec3(1.5, 2.0, 1.0));
717
+ // Head
718
+ float head = sdBox(lp - vec3(0, 6, 0), vec3(1.2, 1.2, 1.2));
719
+
720
+ // Arm swing (offset y coordinate around shoulder joint to simulate rotation)
721
+ vec3 armOffset = vec3(0, limbSwing * 2.0, limbSwing);
722
+ float leftArm = sdBox(lp - vec3(-2.5, 3, 0) - armOffset, vec3(0.5, 2.0, 0.5));
723
+ float rightArm = sdBox(lp - vec3(2.5, 3, 0) + armOffset, vec3(0.5, 2.0, 0.5));
724
+
725
+ // Alternating leg swing
726
+ vec3 legOffset = vec3(0, 0, limbSwing * 1.5);
727
+ float leftLeg = sdBox(lp - vec3(-0.7, 0, 0) - legOffset, vec3(0.5, 1.5, 0.5));
728
+ float rightLeg = sdBox(lp - vec3(0.7, 0, 0) + legOffset, vec3(0.5, 1.5, 0.5));
729
+
730
+ float d = min(body, min(head, min(leftArm, min(rightArm, min(leftLeg, rightLeg)))));
731
+ if (d < 0.0) {
732
+ if (head < 0.0) return 10; // Head (skin color)
733
+ if (leftArm < 0.0 || rightArm < 0.0) return 11; // Arms
734
+ return 12; // Torso/legs
735
+ }
736
+ return 0;
737
+ }
738
+
739
+ // Combine scene + characters in getVoxel
740
+ // IMPORTANT: Must add AABB bounding box early exit! Character sdBox calculations are expensive
741
+ int getVoxel(vec3 c) {
742
+ // Scene (floor, walls, etc.)
743
+ int scene = getSceneVoxel(c);
744
+ if (scene > 0) return scene;
745
+ // IMPORTANT: AABB check: only call getCharacter near the character
746
+ // Character 1: warrior (at position (5,0,0)), bounding box ±5 cells
747
+ if (abs(c.x - 5.0) < 5.0 && c.y >= 0.0 && c.y < 10.0 && abs(c.z) < 5.0) {
748
+ int char1 = getCharacter(c, vec3(5, 0, 0), 0.0);
749
+ if (char1 > 0) return char1;
750
+ }
751
+ // Character 2: mage (at position (-5,0,3)), bounding box ±5 cells
752
+ if (abs(c.x + 5.0) < 5.0 && c.y >= 0.0 && c.y < 10.0 && abs(c.z - 3.0) < 5.0) {
753
+ int char2 = getCharacter(c, vec3(-5, 0, 3), 3.14);
754
+ if (char2 > 0) return char2;
755
+ }
756
+ return 0;
757
+ }
758
+ ```
759
+
760
+ ### Variant 10: Waterfall / Flowing Water Particle Effects
761
+ Dynamic waterfall, splash particles, water mist effects. Core: time-offset noise simulates water flow, hashed particles simulate splashes, exponential decay simulates mist.
762
+ ```glsl
763
+ // IMPORTANT: Key points for waterfall/flowing water/particle effects:
764
+ // 1. Waterfall stream: noise + iTime vertical offset simulates water column flowing down
765
+ // 2. Splash particles: hash-distributed voxels at the bottom, positions change with iTime to simulate splashing
766
+ // 3. Water mist: semi-transparent accumulation (reduced alpha) or density field at the bottom simulates mist diffusion
767
+ // 4. Waterfall must have a clear high point (cliff/rock wall) and low point (pool), drop ≥ 10 cells
768
+ // 5. Water stream material uses light blue-white + brightness flicker to simulate flowing water feel
769
+
770
+ float hash21(vec2 p) { return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453); }
771
+
772
+ int getVoxel(vec3 c) {
773
+ // Cliff rock walls (both sides + back)
774
+ if (c.x < -5.0 || c.x > 5.0) {
775
+ if (c.y < 15.0 && c.z > -3.0 && c.z < 3.0) return 1; // Rock
776
+ }
777
+ if (c.z > 2.0 && c.y < 15.0 && abs(c.x) < 6.0) return 1; // Back wall
778
+
779
+ // Cliff top platform
780
+ if (c.y >= 13.0 && c.y < 15.0 && c.z > -1.0 && c.z < 3.0 && abs(c.x) < 5.0) return 1;
781
+
782
+ // Bottom pool floor
783
+ if (c.y < -2.0 && abs(c.x) < 8.0 && c.z > -6.0 && c.z < 3.0) return 2; // Pool bottom
784
+
785
+ // IMPORTANT: Waterfall stream: narrow band x ∈ [-2, 2], falling from y=13 to y=0
786
+ // Use iTime offset on y-coordinate noise to simulate downward water flow
787
+ if (abs(c.x) < 2.0 && c.y >= 0.0 && c.y < 13.0 && c.z > -1.0 && c.z < 1.0) {
788
+ float flowNoise = hash21(vec2(floor(c.x), floor(c.y - iTime * 8.0)));
789
+ if (flowNoise > 0.25) return 3; // Water (gaps simulate translucent water curtain)
790
+ }
791
+
792
+ // IMPORTANT: Splash particles: bottom y ∈ [-1, 3], x ∈ [-4, 4]
793
+ // Use hash + iTime to generate randomly bouncing voxel particles
794
+ if (c.y >= -1.0 && c.y < 3.0 && abs(c.x) < 4.0 && c.z > -3.0 && c.z < 2.0) {
795
+ float t = iTime * 3.0;
796
+ float particleHash = hash21(vec2(floor(c.x * 2.0), floor(c.z * 2.0) + floor(t)));
797
+ float yOffset = fract(t + particleHash) * 3.0; // Particle upward trajectory
798
+ if (abs(c.y - yOffset) < 0.6 && particleHash > 0.7) return 4; // Splash particle
799
+ }
800
+
801
+ // IMPORTANT: Water mist: bottom y ∈ [-1, 2], wider range than splashes
802
+ // Density decreases with height and distance from waterfall center
803
+ if (c.y >= -1.0 && c.y < 2.0 && abs(c.x) < 6.0 && c.z > -5.0 && c.z < 3.0) {
804
+ float distFromCenter = length(vec2(c.x, c.z));
805
+ float mistDensity = exp(-0.15 * distFromCenter) * exp(-0.5 * max(c.y, 0.0));
806
+ float mistNoise = hash21(vec2(floor(c.x * 0.5 + iTime * 0.5), floor(c.z * 0.5)));
807
+ if (mistNoise < mistDensity * 0.8) return 5; // Water mist
808
+ }
809
+
810
+ return 0;
811
+ }
812
+
813
+ // Material colors
814
+ vec3 getMaterialColor(int mat, vec2 uv) {
815
+ if (mat == 1) return vec3(0.45, 0.4, 0.35); // Rock
816
+ if (mat == 2) return vec3(0.35, 0.3, 0.25); // Pool bottom
817
+ if (mat == 3) { // Water stream (shimmering blue-white)
818
+ float shimmer = 0.8 + 0.2 * sin(uv.y * 20.0 + iTime * 10.0);
819
+ return vec3(0.6, 0.8, 1.0) * shimmer;
820
+ }
821
+ if (mat == 4) return vec3(0.85, 0.92, 1.0); // Splash (bright white)
822
+ if (mat == 5) return vec3(0.7, 0.82, 0.9); // Water mist (pale blue-white)
823
+ return vec3(0.5);
824
+ }
825
+
826
+ // IMPORTANT: Water mist material needs special lighting: high emissive + translucent feel
827
+ // During shading:
828
+ if (hit.mat == 5) {
829
+ lighting += vec3(0.4, 0.5, 0.6); // Water mist emissive (unaffected by shadows)
830
+ }
831
+
832
+ // Camera: side angle slightly elevated, showing the full waterfall (top to bottom + bottom splashes and mist)
833
+ // ro = vec3(12.0, 10.0, -10.0), lookAt = vec3(0.0, 6.0, 0.0)
834
+ ```
835
+
836
+ ### Variant 11: Multi-Building / Town / Minecraft-Style Scenes (Multi-Structure Town Composition)
837
+ Towns, villages, Minecraft-style worlds, and other scenes requiring multiple discrete structures (houses, trees, lampposts, etc.) placed on the ground.
838
+ **IMPORTANT: "Minecraft-like voxel scene" = multi-building scene; must follow the performance constraints of this template!**
839
+ ```glsl
840
+ // IMPORTANT: Key points for multi-building scenes:
841
+ // 1. Define the ground first (height map or flat plane), ensure ground getVoxel returns correct material
842
+ // 2. Each building uses an independent helper function, receiving local coordinates, returning material ID
843
+ // 3. In getVoxel, check each building sequentially (using offset coordinates), return on first hit
844
+ // 4. Camera must be outside the scene facing the center, far enough to see the full view
845
+ // 5. IMPORTANT: Building coordinate ranges must be within DDA traversal range (MAX_RAY_STEPS * cell ≈ reachable distance)
846
+ // 6. IMPORTANT: Scene range should not be too large! Concentrate all buildings within -20~20 range, camera 30-50 cells away
847
+ // 7. IMPORTANT: SwiftShader performance critical: getVoxel must have AABB bounding box early exit!
848
+ // Above ground (c.y > 0), check AABB range first; return 0 immediately if outside building area
849
+ // Otherwise every DDA step checks all buildings → frame timeout → black screen / only sky renders
850
+ // 8. IMPORTANT: MAX_RAY_STEPS reduced to 64, MAX_SHADOW_STEPS to 16 (complex getVoxel requires lower step counts)
851
+
852
+ // Single house: width w, depth d, height h, with triangular roof
853
+ int makeHouse(vec3 p, float w, float d, float h, int wallMat, int roofMat) {
854
+ // Walls
855
+ if (p.x >= 0.0 && p.x < w && p.z >= 0.0 && p.z < d && p.y >= 0.0 && p.y < h) {
856
+ return wallMat;
857
+ }
858
+ // Triangular roof: starts from wall top, x range narrows by 1 per level
859
+ float roofY = p.y - h;
860
+ float roofInset = roofY; // Inset by 1 cell per level
861
+ if (roofY >= 0.0 && roofY < w * 0.5
862
+ && p.x >= roofInset && p.x < w - roofInset
863
+ && p.z >= 0.0 && p.z < d) {
864
+ return roofMat;
865
+ }
866
+ return 0;
867
+ }
868
+
869
+ // Tree: trunk + spherical canopy
870
+ int makeTree(vec3 p, float trunkH, float crownR, int trunkMat, int leafMat) {
871
+ // Trunk (1x1 column)
872
+ if (p.x >= -0.5 && p.x < 0.5 && p.z >= -0.5 && p.z < 0.5
873
+ && p.y >= 0.0 && p.y < trunkH) {
874
+ return trunkMat;
875
+ }
876
+ // Spherical canopy
877
+ vec3 crownCenter = vec3(0.0, trunkH + crownR * 0.5, 0.0);
878
+ if (length(p - crownCenter) < crownR) {
879
+ return leafMat;
880
+ }
881
+ return 0;
882
+ }
883
+
884
+ // Lamppost: thin pole + glowing top block
885
+ int makeLamp(vec3 p, float h, int poleMat, int lightMat) {
886
+ if (p.x >= -0.3 && p.x < 0.3 && p.z >= -0.3 && p.z < 0.3
887
+ && p.y >= 0.0 && p.y < h) {
888
+ return poleMat; // Pole
889
+ }
890
+ if (p.x >= -0.5 && p.x < 0.5 && p.z >= -0.5 && p.z < 0.5
891
+ && p.y >= h && p.y < h + 1.0) {
892
+ return lightMat; // Lamp head (emissive)
893
+ }
894
+ return 0;
895
+ }
896
+
897
+ int getVoxel(vec3 c) {
898
+ // 1. Ground (y < 0 is underground, y == 0 layer is surface)
899
+ if (c.y < -1.0) return 0;
900
+ if (c.y < 0.0) return 1; // Ground (dirt/grass)
901
+
902
+ // 2. Road (along z direction, x range -2~2)
903
+ if (c.y < 1.0 && abs(c.x) < 2.0) return 2; // Road surface
904
+
905
+ // IMPORTANT: AABB bounding box early exit (required for SwiftShader!)
906
+ // All buildings are within x:-15~15, y:0~12, z:-5~15
907
+ // Return 0 immediately outside this range, avoiding per-building checks
908
+ if (c.x < -15.0 || c.x > 15.0 || c.y > 12.0 || c.z < -5.0 || c.z > 15.0) return 0;
909
+
910
+ // 3. Place buildings (each with offset coordinates)
911
+ // IMPORTANT: House width/height must be ≥ 5 cells, otherwise they look like dots from far away! Use bright material colors
912
+ int m;
913
+
914
+ // House A: position (5, 0, 3), width 6, depth 5, height 5
915
+ m = makeHouse(c - vec3(5.0, 0.0, 3.0), 6.0, 5.0, 5.0, 3, 4);
916
+ if (m > 0) return m;
917
+
918
+ // House B: position (-10, 0, 2), width 7, depth 5, height 5
919
+ m = makeHouse(c - vec3(-10.0, 0.0, 2.0), 7.0, 5.0, 5.0, 5, 4);
920
+ if (m > 0) return m;
921
+
922
+ // Tree: position (0, 0, 8)
923
+ m = makeTree(c - vec3(0.0, 0.0, 8.0), 4.0, 2.5, 6, 7);
924
+ if (m > 0) return m;
925
+
926
+ // Lamppost: position (3, 0, 0)
927
+ m = makeLamp(c - vec3(3.0, 0.0, 0.0), 5.0, 8, 9);
928
+ if (m > 0) return m;
929
+
930
+ return 0;
931
+ }
932
+
933
+ // IMPORTANT: Camera setup: must be far enough to overlook the entire town
934
+ // Recommended: ro = vec3(0, 15, -35), looking at scene center vec3(0, 3, 5)
935
+ vec3 ro = vec3(0.0, 15.0, -35.0);
936
+ vec3 lookAt = vec3(0.0, 3.0, 5.0);
937
+ vec3 forward = normalize(lookAt - ro);
938
+ vec3 right = normalize(cross(forward, vec3(0, 1, 0)));
939
+ vec3 up = cross(right, forward);
940
+ vec3 rd = normalize(forward * 0.8 + right * screenPos.x + up * screenPos.y);
941
+
942
+ // IMPORTANT: Sunset/side-lit scene key: when light comes from the side or at low angle, building fronts may be completely backlit turning into black silhouettes!
943
+ // Must satisfy all: (1) ambient light ≥ 0.3 (prevent backlit faces from going black); (2) house walls use bright materials (e.g., light yellow 0.85,0.75,0.55)
944
+ // (3) house dimensions must not be too small (width/height ≥ 5 cells), otherwise they look like dots from far away
945
+ vec3 sunDir = normalize(vec3(-0.8, 0.3, 0.5)); // Sunset low angle
946
+ vec3 sunColor = vec3(1.0, 0.6, 0.3); // Warm orange
947
+ vec3 ambientColor = vec3(0.35, 0.3, 0.4); // IMPORTANT: High ambient light (≥0.3) to prevent silhouettes
948
+ // lighting = ambientColor + diff * sunColor * shadow;
949
+ ```
950
+
951
+ ## Performance & Composition
952
+
953
+ **Performance Tips:**
954
+ - Early exit: break immediately when `mapPos` exceeds scene bounds
955
+ - Shadow ray steps of 16-24 are sufficient
956
+ - Use SDF sphere-tracing with large steps in open areas, switch to DDA near surfaces
957
+ - Material queries, AO, normals, etc. are only computed after hit
958
+ - Replace procedural voxel queries with `texelFetch` texture sampling
959
+ - Multi-frame accumulation + reprojection for low-noise results
960
+ - **IMPORTANT: MAX_RAY_STEPS defaults to 64, MAX_SHADOW_STEPS defaults to 16 (total 80)**. Only simple scenes (single cube/sphere) can increase to 96+24. Multi-building/Minecraft/character scenes with complex getVoxel must keep 64+16 or lower, otherwise SwiftShader frame timeout → only sky background renders
961
+
962
+ **Composition Tips:**
963
+ - **Procedural noise terrain**: use FBM/Perlin noise height maps inside `getVoxel()`
964
+ - **SDF procedural modeling**: use SDF boolean operations inside `getVoxel()` to define shapes
965
+ - **Texture mapping**: after hit, sample 16x16 pixel textures using face UV * 16
966
+ - **Atmospheric scattering / volumetric fog**: accumulate medium density during DDA traversal
967
+ - **Water surface rendering**: Fresnel reflection/refraction on a specific Y plane (see Variant 6 above)
968
+ - **Global illumination**: cone tracing or Monte Carlo hemisphere sampling
969
+ - **Temporal reprojection**: multi-frame accumulation + previous frame reprojection for anti-aliasing and denoising
970
+
971
+ ## Common Errors
972
+
973
+ 1. **GLSL reserved words causing compile failure**: `cast`, `class`, `template`, `namespace`, `input`, `output`, `filter`, `image`, `sampler`, `half`, `fixed`, etc. are GLSL reserved words and **must never be used as variable or function names**. Use compound names: `castRay`, `castShadow`, `shootRay`, `spellEffect` (not `cast`)
974
+ 2. **Enclosed/semi-enclosed scene total darkness**: caves, interiors, sci-fi bases, mazes, and other enclosed scenes cannot rely solely on directional light (completely blocked by walls/ceiling); must use point lights + high ambient light (≥0.2) + emissive materials (see Variant 8)
975
+ 3. **Camera inside voxel causing rendering anomalies**: cave/indoor scene camera origin must be inside the cavity (where getVoxel returns 0), otherwise the first DDA step hits immediately = scene invisible
976
+ 4. **Complex getVoxel causing SwiftShader black screen (most common with Minecraft-style/town/character/multi-building scenes!)**: getVoxel is called once per DDA step; if it contains multiple buildings/characters/terrain+trees without early exit, frame timeout → only sky background renders. **Must do all of**: (1) AABB bounding box early exit (check coordinate range first, return 0 immediately outside building area); (2) MAX_RAY_STEPS ≤ 64, MAX_SHADOW_STEPS ≤ 16; (3) scene range within ±20 cells. **Minecraft-style scene = multi-building scene**; must follow this rule (see Variant 9, 11 template code)
977
+ 5. **vec2/vec3 dimension mismatch causing compile failure**: `p.xz` returns `vec2` and cannot be passed directly to noise/fbm functions expecting `vec3` parameters or used in operations with `vec3`. Use `vec3(p.xz, val)` to construct a full vec3, or use vec2 versions of functions
978
+ 6. **Mountain/terrain height-based coloring invisible**: (1) `maxH` must equal the actual max return value of the terrain noise function (don't arbitrarily use 20.0); (2) grass threshold at 0.4 (largest area ensures green is visible), rock 0.4~0.7, snow >0.7; (3) grass green must be saturated enough `vec3(0.25, 0.55, 0.15)` not grayish; (4) sun intensity ≤2.0, sky light ≤1.0, too bright washes out colors; (5) gamma correction reduces saturation, pre-compensate material colors (see Step 4 mountain terrain template)
979
+ 7. **Waterfall/flowing water effect lacks recognizability**: waterfall must have a clear cliff drop (≥10 cells), visible water column (noise + iTime offset), bottom splash particles (hash random bouncing), and mist (exponential decay density field). Just a gradient color block is not a waterfall! See Variant 10 complete template
980
+ 8. **"Low saturation coloring" becomes pure white/gray**: low saturation ≠ near white! Low saturation means colors are not vivid but still have clear hue (e.g., brick red `vec3(0.55, 0.35, 0.3)` not gray-white `vec3(0.8, 0.8, 0.8)`). Brick/stone textures must use UV periodic patterns (staggered rows + mortar dark lines), not solid colors. See the `getBrickColor` function in the complete template
981
+ 9. **Sunset/side-lit scene buildings become black silhouettes**: when low-angle light (sunset/dawn) illuminates from the side, building fronts are completely backlit → pure black silhouettes with no visible detail. Must: (1) ambient light ≥ 0.3; (2) walls use bright materials (light yellow, off-white) not dark colors; (3) buildings large enough (width/height ≥ 5 cells). See Variant 11 sunset scene code
982
+
983
+ ## Further Reading
984
+
985
+ For full step-by-step tutorials, mathematical derivations, and advanced usage, see [reference](../reference/voxel-rendering.md)