opencode-skills-collection 4.0.68 → 4.0.70

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 (491) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +304 -1
  2. package/bundled-skills/access-review/SKILL.md +394 -0
  3. package/bundled-skills/access-review/references/details.md +121 -0
  4. package/bundled-skills/agent-evals/SKILL.md +420 -0
  5. package/bundled-skills/agent-observability/SKILL.md +346 -0
  6. package/bundled-skills/agent-observability/references/details.md +786 -0
  7. package/bundled-skills/ai-agent-security/SKILL.md +393 -0
  8. package/bundled-skills/ai-agent-security/references/details.md +912 -0
  9. package/bundled-skills/ai-coding-agent-guardrails/SKILL.md +442 -0
  10. package/bundled-skills/ai-coding-agent-guardrails/references/details.md +753 -0
  11. package/bundled-skills/ai-inference-service-mesh/SKILL.md +449 -0
  12. package/bundled-skills/ai-pipeline-orchestration/SKILL.md +287 -0
  13. package/bundled-skills/ai-red-teaming/SKILL.md +409 -0
  14. package/bundled-skills/ai-security-hardening/SKILL.md +343 -0
  15. package/bundled-skills/ai-sre-incident-response/SKILL.md +336 -0
  16. package/bundled-skills/alerting-oncall/SKILL.md +458 -0
  17. package/bundled-skills/alerting-oncall/references/details.md +84 -0
  18. package/bundled-skills/api-integration-architect/SKILL.md +241 -0
  19. package/bundled-skills/apify-generate-output-schema/SKILL.md +438 -0
  20. package/bundled-skills/apify-integration-development/SKILL.md +168 -0
  21. package/bundled-skills/apify-integration-development/references/ai-framework-package.md +158 -0
  22. package/bundled-skills/apify-integration-development/references/ai-harness-plugin.md +192 -0
  23. package/bundled-skills/apify-integration-development/references/sdk-integration.md +236 -0
  24. package/bundled-skills/apify-integration-development/references/workflow-automation.md +163 -0
  25. package/bundled-skills/apk-redteam-pipeline/SKILL.md +446 -0
  26. package/bundled-skills/architecture-review/README.md +42 -0
  27. package/bundled-skills/architecture-review/SKILL.md +77 -0
  28. package/bundled-skills/architecture-review/examples.md +11 -0
  29. package/bundled-skills/architecture-review/reference/best-practices.md +7 -0
  30. package/bundled-skills/architecture-review/reference/capabilities.md +20 -0
  31. package/bundled-skills/architecture-review/reference/fallbacks.md +11 -0
  32. package/bundled-skills/architecture-review/reference/graph.md +15 -0
  33. package/bundled-skills/architecture-review/reference/mcp.md +14 -0
  34. package/bundled-skills/architecture-review/reference/workflow.md +15 -0
  35. package/bundled-skills/architecture-review/templates/architecture-review.md +21 -0
  36. package/bundled-skills/argocd-gitops/SKILL.md +469 -0
  37. package/bundled-skills/arm-templates/SKILL.md +438 -0
  38. package/bundled-skills/arm-templates/references/details.md +64 -0
  39. package/bundled-skills/asset-inventory/SKILL.md +412 -0
  40. package/bundled-skills/asset-inventory/references/details.md +127 -0
  41. package/bundled-skills/audit-logging/SKILL.md +476 -0
  42. package/bundled-skills/aws-cloudtrail/SKILL.md +486 -0
  43. package/bundled-skills/aws-cost-optimization/SKILL.md +331 -0
  44. package/bundled-skills/aws-ec2/SKILL.md +426 -0
  45. package/bundled-skills/aws-ecs-fargate/SKILL.md +388 -0
  46. package/bundled-skills/aws-iam/SKILL.md +463 -0
  47. package/bundled-skills/aws-lambda/SKILL.md +428 -0
  48. package/bundled-skills/aws-rds/SKILL.md +380 -0
  49. package/bundled-skills/aws-s3/SKILL.md +434 -0
  50. package/bundled-skills/aws-secrets-manager/SKILL.md +486 -0
  51. package/bundled-skills/aws-vpc/SKILL.md +436 -0
  52. package/bundled-skills/azure-ai-document-intelligence-ts/SKILL.md +1 -1
  53. package/bundled-skills/azure-aks/SKILL.md +423 -0
  54. package/bundled-skills/azure-devops/SKILL.md +457 -0
  55. package/bundled-skills/azure-functions-devsec/SKILL.md +436 -0
  56. package/bundled-skills/azure-keyvault/SKILL.md +455 -0
  57. package/bundled-skills/azure-keyvault/references/details.md +83 -0
  58. package/bundled-skills/azure-monitor-audit/SKILL.md +379 -0
  59. package/bundled-skills/azure-networking/SKILL.md +448 -0
  60. package/bundled-skills/azure-networking/references/details.md +135 -0
  61. package/bundled-skills/azure-sql/SKILL.md +413 -0
  62. package/bundled-skills/azure-sql/references/details.md +113 -0
  63. package/bundled-skills/azure-vms/SKILL.md +402 -0
  64. package/bundled-skills/azure-vms/references/details.md +134 -0
  65. package/bundled-skills/backup-recovery/SKILL.md +388 -0
  66. package/bundled-skills/bb-methodology/SKILL.md +451 -0
  67. package/bundled-skills/bb-methodology/references/details.md +120 -0
  68. package/bundled-skills/block-storage/SKILL.md +371 -0
  69. package/bundled-skills/blue-green-deploy/SKILL.md +453 -0
  70. package/bundled-skills/blue-green-deploy/references/details.md +90 -0
  71. package/bundled-skills/bug-bounty/SKILL.md +447 -0
  72. package/bundled-skills/bug-bounty/references/details.md +1316 -0
  73. package/bundled-skills/bugcrowd-reporting/SKILL.md +351 -0
  74. package/bundled-skills/business-continuity/SKILL.md +463 -0
  75. package/bundled-skills/career-ops/SKILL.md +186 -0
  76. package/bundled-skills/cdn-setup/SKILL.md +374 -0
  77. package/bundled-skills/change-management/SKILL.md +438 -0
  78. package/bundled-skills/change-management/references/details.md +105 -0
  79. package/bundled-skills/circleci/SKILL.md +475 -0
  80. package/bundled-skills/cis-benchmarks/SKILL.md +150 -0
  81. package/bundled-skills/cloudflare-pages/SKILL.md +318 -0
  82. package/bundled-skills/cloudflare-r2/SKILL.md +353 -0
  83. package/bundled-skills/cloudflare-workers/SKILL.md +415 -0
  84. package/bundled-skills/cloudflare-zero-trust/SKILL.md +361 -0
  85. package/bundled-skills/cloudformation/SKILL.md +461 -0
  86. package/bundled-skills/code-review-sensei/SKILL.md +177 -0
  87. package/bundled-skills/codebase-onboarding/README.md +42 -0
  88. package/bundled-skills/codebase-onboarding/SKILL.md +77 -0
  89. package/bundled-skills/codebase-onboarding/examples.md +11 -0
  90. package/bundled-skills/codebase-onboarding/reference/best-practices.md +7 -0
  91. package/bundled-skills/codebase-onboarding/reference/capabilities.md +20 -0
  92. package/bundled-skills/codebase-onboarding/reference/fallbacks.md +11 -0
  93. package/bundled-skills/codebase-onboarding/reference/graph.md +15 -0
  94. package/bundled-skills/codebase-onboarding/reference/mcp.md +14 -0
  95. package/bundled-skills/codebase-onboarding/reference/workflow.md +15 -0
  96. package/bundled-skills/codebase-onboarding/templates/repository-onboarding.md +21 -0
  97. package/bundled-skills/connection-auth-rules/SKILL.md +199 -0
  98. package/bundled-skills/connection-auth-rules/fetch_schema.py +320 -0
  99. package/bundled-skills/constraint-driven-development/SKILL.md +335 -0
  100. package/bundled-skills/constraint-driven-development/references/floor-guard.md +99 -0
  101. package/bundled-skills/container-hardening/SKILL.md +126 -0
  102. package/bundled-skills/container-registries/SKILL.md +435 -0
  103. package/bundled-skills/container-scanning/SKILL.md +416 -0
  104. package/bundled-skills/convex-backend/SKILL.md +338 -0
  105. package/bundled-skills/dast-scanning/SKILL.md +437 -0
  106. package/bundled-skills/database-backups/SKILL.md +425 -0
  107. package/bundled-skills/datadog/SKILL.md +487 -0
  108. package/bundled-skills/dependency-analysis/README.md +42 -0
  109. package/bundled-skills/dependency-analysis/SKILL.md +76 -0
  110. package/bundled-skills/dependency-analysis/examples.md +11 -0
  111. package/bundled-skills/dependency-analysis/reference/best-practices.md +7 -0
  112. package/bundled-skills/dependency-analysis/reference/capabilities.md +20 -0
  113. package/bundled-skills/dependency-analysis/reference/fallbacks.md +11 -0
  114. package/bundled-skills/dependency-analysis/reference/graph.md +15 -0
  115. package/bundled-skills/dependency-analysis/reference/mcp.md +14 -0
  116. package/bundled-skills/dependency-analysis/reference/workflow.md +15 -0
  117. package/bundled-skills/dependency-analysis/templates/dependency-review.md +21 -0
  118. package/bundled-skills/dependency-scanning/SKILL.md +457 -0
  119. package/bundled-skills/devcontainers-nix/SKILL.md +416 -0
  120. package/bundled-skills/devops-pipeline-builder/SKILL.md +200 -0
  121. package/bundled-skills/disaster-recovery/SKILL.md +374 -0
  122. package/bundled-skills/disaster-recovery/references/details.md +219 -0
  123. package/bundled-skills/dns-management/SKILL.md +375 -0
  124. package/bundled-skills/docker-compose/SKILL.md +482 -0
  125. package/bundled-skills/docker-management/SKILL.md +426 -0
  126. package/bundled-skills/eas-app-stores/SKILL.md +197 -0
  127. package/bundled-skills/eas-app-stores/agents/openai.yaml +4 -0
  128. package/bundled-skills/eas-app-stores/references/app-store-metadata.md +497 -0
  129. package/bundled-skills/eas-app-stores/references/ios-app-store.md +376 -0
  130. package/bundled-skills/eas-app-stores/references/native-ios.md +167 -0
  131. package/bundled-skills/eas-app-stores/references/play-store.md +244 -0
  132. package/bundled-skills/eas-app-stores/references/testflight.md +62 -0
  133. package/bundled-skills/eas-app-stores/references/workflows.md +120 -0
  134. package/bundled-skills/eas-hosting/SKILL.md +448 -0
  135. package/bundled-skills/eas-hosting/agents/openai.yaml +4 -0
  136. package/bundled-skills/eas-observe/SKILL.md +75 -0
  137. package/bundled-skills/eas-observe/agents/openai.yaml +4 -0
  138. package/bundled-skills/eas-observe/references/metrics.md +98 -0
  139. package/bundled-skills/eas-observe/references/queries.md +403 -0
  140. package/bundled-skills/eas-observe/references/setup.md +476 -0
  141. package/bundled-skills/eas-observe/references/third-party.md +136 -0
  142. package/bundled-skills/eas-simulator/SKILL.md +251 -0
  143. package/bundled-skills/eas-simulator/agents/openai.yaml +4 -0
  144. package/bundled-skills/eas-simulator/references/controllers.md +135 -0
  145. package/bundled-skills/eas-simulator/references/run-your-app.md +240 -0
  146. package/bundled-skills/eas-simulator/references/troubleshooting.md +47 -0
  147. package/bundled-skills/eas-workflows/SKILL.md +119 -0
  148. package/bundled-skills/eas-workflows/agents/openai.yaml +4 -0
  149. package/bundled-skills/eas-workflows/scripts/fetch.js +109 -0
  150. package/bundled-skills/ebpf-observability/SKILL.md +436 -0
  151. package/bundled-skills/ebpf-observability/references/details.md +542 -0
  152. package/bundled-skills/elk-stack/SKILL.md +487 -0
  153. package/bundled-skills/enterprise-vpn-attack/SKILL.md +395 -0
  154. package/bundled-skills/evidence-hygiene/SKILL.md +404 -0
  155. package/bundled-skills/expo-animation/LICENSE +21 -0
  156. package/bundled-skills/expo-animation/RECIPES.md +385 -0
  157. package/bundled-skills/expo-animation/SKILL.md +295 -0
  158. package/bundled-skills/expo-animation/agents/openai.yaml +4 -0
  159. package/bundled-skills/fact-check-x-unified/SKILL.md +178 -0
  160. package/bundled-skills/fact-check-x-unified/agents/openai.yaml +4 -0
  161. package/bundled-skills/fact-check-x-unified/references/acceptance-criteria.md +44 -0
  162. package/bundled-skills/fact-check-x-unified/references/contracts.md +39 -0
  163. package/bundled-skills/fact-check-x-unified/scripts/common.py +31 -0
  164. package/bundled-skills/fact-check-x-unified/scripts/fact_check_x.py +1832 -0
  165. package/bundled-skills/fact-check-x-unified/scripts/trusted_search_config.py +324 -0
  166. package/bundled-skills/fact-check-x-unified/tests/anchor_downgrade_test.py +90 -0
  167. package/bundled-skills/fact-check-x-unified/tests/multi_platform_test.py +369 -0
  168. package/bundled-skills/fact-check-x-unified/tests/smoke_test.py +740 -0
  169. package/bundled-skills/fact-check-x-unified/tests/stage_checkpoint_test.py +103 -0
  170. package/bundled-skills/fact-check-x-unified/tests/trusted_search_config_test.py +156 -0
  171. package/bundled-skills/feature-flags/SKILL.md +426 -0
  172. package/bundled-skills/feature-flags/references/details.md +86 -0
  173. package/bundled-skills/fedramp-compliance/SKILL.md +453 -0
  174. package/bundled-skills/firebase-app-platform/SKILL.md +381 -0
  175. package/bundled-skills/firewall-config/SKILL.md +479 -0
  176. package/bundled-skills/gcp-audit-logs/SKILL.md +452 -0
  177. package/bundled-skills/gcp-audit-logs/references/details.md +56 -0
  178. package/bundled-skills/gcp-cloud-functions/SKILL.md +284 -0
  179. package/bundled-skills/gcp-cloud-sql/SKILL.md +277 -0
  180. package/bundled-skills/gcp-compute/SKILL.md +319 -0
  181. package/bundled-skills/gcp-gke/SKILL.md +307 -0
  182. package/bundled-skills/gcp-networking/SKILL.md +293 -0
  183. package/bundled-skills/gcp-secret-manager/SKILL.md +421 -0
  184. package/bundled-skills/gcp-secret-manager/references/details.md +131 -0
  185. package/bundled-skills/gdpr-compliance/SKILL.md +451 -0
  186. package/bundled-skills/gdpr-compliance/references/details.md +145 -0
  187. package/bundled-skills/geo-audit/SKILL.md +368 -0
  188. package/bundled-skills/geo-brand-mentions/SKILL.md +68 -0
  189. package/bundled-skills/geo-brand-mentions/references/details.md +471 -0
  190. package/bundled-skills/geo-citability/SKILL.md +350 -0
  191. package/bundled-skills/geo-compare/SKILL.md +340 -0
  192. package/bundled-skills/geo-content/SKILL.md +383 -0
  193. package/bundled-skills/geo-crawlers/SKILL.md +408 -0
  194. package/bundled-skills/geo-llmstxt/SKILL.md +464 -0
  195. package/bundled-skills/geo-platform-optimizer/SKILL.md +314 -0
  196. package/bundled-skills/geo-proposal/SKILL.md +378 -0
  197. package/bundled-skills/geo-prospect/SKILL.md +225 -0
  198. package/bundled-skills/geo-report/SKILL.md +436 -0
  199. package/bundled-skills/geo-report-pdf/SKILL.md +157 -0
  200. package/bundled-skills/geo-schema/SKILL.md +408 -0
  201. package/bundled-skills/geo-technical/SKILL.md +78 -0
  202. package/bundled-skills/geo-technical/references/details.md +543 -0
  203. package/bundled-skills/git-workflow/SKILL.md +460 -0
  204. package/bundled-skills/github-actions/SKILL.md +368 -0
  205. package/bundled-skills/gitlab-ci/SKILL.md +340 -0
  206. package/bundled-skills/gpt-taste/SKILL.md +8 -1
  207. package/bundled-skills/gpu-kubernetes-operations/SKILL.md +468 -0
  208. package/bundled-skills/gpu-server-management/SKILL.md +236 -0
  209. package/bundled-skills/hashicorp-vault/SKILL.md +408 -0
  210. package/bundled-skills/helm-charts/SKILL.md +469 -0
  211. package/bundled-skills/hf-cli/SKILL.md +263 -0
  212. package/bundled-skills/hipaa-compliance/SKILL.md +451 -0
  213. package/bundled-skills/huggingface-community-evals/SKILL.md +228 -0
  214. package/bundled-skills/huggingface-community-evals/examples/.env.example +3 -0
  215. package/bundled-skills/huggingface-community-evals/examples/USAGE_EXAMPLES.md +101 -0
  216. package/bundled-skills/huggingface-community-evals/scripts/inspect_eval_uv.py +104 -0
  217. package/bundled-skills/huggingface-community-evals/scripts/inspect_vllm_uv.py +306 -0
  218. package/bundled-skills/huggingface-community-evals/scripts/lighteval_vllm_uv.py +297 -0
  219. package/bundled-skills/huggingface-datasets/SKILL.md +130 -0
  220. package/bundled-skills/hunt-aspnet/SKILL.md +321 -0
  221. package/bundled-skills/hunt-ato/SKILL.md +184 -0
  222. package/bundled-skills/hunt-auth-bypass/SKILL.md +426 -0
  223. package/bundled-skills/hunt-auth-bypass/references/details.md +80 -0
  224. package/bundled-skills/hunt-brute-force/SKILL.md +341 -0
  225. package/bundled-skills/hunt-business-logic/SKILL.md +281 -0
  226. package/bundled-skills/hunt-cache-poison/SKILL.md +382 -0
  227. package/bundled-skills/hunt-captcha-bypass/SKILL.md +136 -0
  228. package/bundled-skills/hunt-cicd/SKILL.md +311 -0
  229. package/bundled-skills/hunt-clickjacking/SKILL.md +110 -0
  230. package/bundled-skills/hunt-cors/SKILL.md +335 -0
  231. package/bundled-skills/hunt-dom/SKILL.md +323 -0
  232. package/bundled-skills/hunt-exceptional-conditions/SKILL.md +111 -0
  233. package/bundled-skills/hunt-file-upload/SKILL.md +202 -0
  234. package/bundled-skills/hunt-fintech-graphql/SKILL.md +289 -0
  235. package/bundled-skills/hunt-forgot-password/SKILL.md +114 -0
  236. package/bundled-skills/hunt-grpc/SKILL.md +317 -0
  237. package/bundled-skills/hunt-host-header/SKILL.md +309 -0
  238. package/bundled-skills/hunt-html-injection/SKILL.md +106 -0
  239. package/bundled-skills/hunt-http-smuggling/SKILL.md +129 -0
  240. package/bundled-skills/hunt-http-smuggling/references/phase2h-smuggling-cachepoison.md +177 -0
  241. package/bundled-skills/hunt-idor/SKILL.md +434 -0
  242. package/bundled-skills/hunt-jwt-crypto/SKILL.md +221 -0
  243. package/bundled-skills/hunt-k8s/SKILL.md +337 -0
  244. package/bundled-skills/hunt-laravel/SKILL.md +255 -0
  245. package/bundled-skills/hunt-ldap/SKILL.md +351 -0
  246. package/bundled-skills/hunt-lfi/SKILL.md +311 -0
  247. package/bundled-skills/hunt-llm-ai/SKILL.md +289 -0
  248. package/bundled-skills/hunt-mfa-bypass/SKILL.md +177 -0
  249. package/bundled-skills/hunt-misc/SKILL.md +378 -0
  250. package/bundled-skills/hunt-nextjs/SKILL.md +299 -0
  251. package/bundled-skills/hunt-nodejs/SKILL.md +263 -0
  252. package/bundled-skills/hunt-nosqli/SKILL.md +210 -0
  253. package/bundled-skills/hunt-ntlm-info/SKILL.md +314 -0
  254. package/bundled-skills/hunt-oauth/SKILL.md +459 -0
  255. package/bundled-skills/hunt-open-redirect/SKILL.md +223 -0
  256. package/bundled-skills/hunt-race-condition/SKILL.md +381 -0
  257. package/bundled-skills/hunt-race-condition/references/details.md +159 -0
  258. package/bundled-skills/hunt-rag-vector/SKILL.md +212 -0
  259. package/bundled-skills/hunt-rce/SKILL.md +444 -0
  260. package/bundled-skills/hunt-rce/references/details.md +110 -0
  261. package/bundled-skills/hunt-saml/SKILL.md +156 -0
  262. package/bundled-skills/hunt-session/SKILL.md +342 -0
  263. package/bundled-skills/hunt-shadow-api/SKILL.md +198 -0
  264. package/bundled-skills/hunt-source-leak/SKILL.md +345 -0
  265. package/bundled-skills/hunt-spa-api/SKILL.md +163 -0
  266. package/bundled-skills/hunt-springboot/SKILL.md +285 -0
  267. package/bundled-skills/hunt-sqli/SKILL.md +466 -0
  268. package/bundled-skills/hunt-ssrf/SKILL.md +396 -0
  269. package/bundled-skills/hunt-ssrf/references/details.md +179 -0
  270. package/bundled-skills/hunt-ssti/SKILL.md +163 -0
  271. package/bundled-skills/hunt-subdomain/SKILL.md +379 -0
  272. package/bundled-skills/hunt-tls-network/SKILL.md +399 -0
  273. package/bundled-skills/hunt-xxe/SKILL.md +466 -0
  274. package/bundled-skills/i-have-adhd/SKILL.md +170 -0
  275. package/bundled-skills/identity-access-management/SKILL.md +382 -0
  276. package/bundled-skills/identity-access-management/references/details.md +524 -0
  277. package/bundled-skills/incident-management/SKILL.md +484 -0
  278. package/bundled-skills/incident-response/SKILL.md +448 -0
  279. package/bundled-skills/incident-response/references/details.md +113 -0
  280. package/bundled-skills/interview-me/SKILL.md +248 -0
  281. package/bundled-skills/iso27001-compliance/SKILL.md +460 -0
  282. package/bundled-skills/jenkins/SKILL.md +462 -0
  283. package/bundled-skills/jev-social/SKILL.md +182 -0
  284. package/bundled-skills/jev-use/SKILL.md +158 -0
  285. package/bundled-skills/kubernetes-hardening/SKILL.md +154 -0
  286. package/bundled-skills/kubernetes-ops/SKILL.md +449 -0
  287. package/bundled-skills/kubernetes-ops/references/details.md +108 -0
  288. package/bundled-skills/kustomize/SKILL.md +478 -0
  289. package/bundled-skills/linux-administration/SKILL.md +367 -0
  290. package/bundled-skills/linux-hardening/SKILL.md +154 -0
  291. package/bundled-skills/llm-app-security/SKILL.md +389 -0
  292. package/bundled-skills/llm-app-security/references/details.md +674 -0
  293. package/bundled-skills/llm-caching/SKILL.md +334 -0
  294. package/bundled-skills/llm-cost-optimization/SKILL.md +311 -0
  295. package/bundled-skills/llm-fine-tuning/SKILL.md +329 -0
  296. package/bundled-skills/llm-gateway/SKILL.md +282 -0
  297. package/bundled-skills/llm-inference-scaling/SKILL.md +286 -0
  298. package/bundled-skills/llmops-platform-engineering/SKILL.md +472 -0
  299. package/bundled-skills/load-balancing/SKILL.md +403 -0
  300. package/bundled-skills/loki-logging/SKILL.md +479 -0
  301. package/bundled-skills/longbridge-derivatives/SKILL.md +117 -0
  302. package/bundled-skills/longbridge-derivatives/references/option.md +36 -0
  303. package/bundled-skills/longbridge-derivatives/references/options-advanced.md +101 -0
  304. package/bundled-skills/longbridge-derivatives/references/options-pnl.md +74 -0
  305. package/bundled-skills/longbridge-derivatives/references/options-strategy.md +82 -0
  306. package/bundled-skills/longbridge-derivatives/references/options-volatility.md +70 -0
  307. package/bundled-skills/longbridge-derivatives/references/warrant.md +12 -0
  308. package/bundled-skills/longbridge-quant/SKILL.md +151 -0
  309. package/bundled-skills/longbridge-quant/references/correlation.md +51 -0
  310. package/bundled-skills/longbridge-quant/references/execution-model.md +68 -0
  311. package/bundled-skills/longbridge-quant/references/factor-research.md +95 -0
  312. package/bundled-skills/longbridge-quant/references/factor-screen.md +101 -0
  313. package/bundled-skills/longbridge-quant/references/hedging.md +136 -0
  314. package/bundled-skills/longbridge-quant/references/ml-strategy.md +77 -0
  315. package/bundled-skills/longbridge-quant/references/multifactor.md +68 -0
  316. package/bundled-skills/longbridge-quant/references/pairs-trading.md +61 -0
  317. package/bundled-skills/longbridge-quant/references/quant-cli.md +133 -0
  318. package/bundled-skills/longbridge-quant/references/quant-stats.md +150 -0
  319. package/bundled-skills/longbridge-quant/references/seasonality.md +50 -0
  320. package/bundled-skills/longbridge-quant/references/strategy-optimizer.md +68 -0
  321. package/bundled-skills/longbridge-quant/references/volatility-strategy.md +52 -0
  322. package/bundled-skills/longbridge-research/SKILL.md +187 -0
  323. package/bundled-skills/longbridge-research/references/company-profile.md +96 -0
  324. package/bundled-skills/longbridge-research/references/company-tearsheet.md +82 -0
  325. package/bundled-skills/longbridge-research/references/competitive-analysis.md +81 -0
  326. package/bundled-skills/longbridge-research/references/consensus.md +92 -0
  327. package/bundled-skills/longbridge-research/references/coverage-initiation.md +76 -0
  328. package/bundled-skills/longbridge-research/references/defi-yield.md +60 -0
  329. package/bundled-skills/longbridge-research/references/finance-calendar.md +165 -0
  330. package/bundled-skills/longbridge-research/references/financial-planning.md +77 -0
  331. package/bundled-skills/longbridge-research/references/forecast-eps.md +39 -0
  332. package/bundled-skills/longbridge-research/references/fund-holder.md +44 -0
  333. package/bundled-skills/longbridge-research/references/hkipo-analysis.md +101 -0
  334. package/bundled-skills/longbridge-research/references/industry-peers.md +46 -0
  335. package/bundled-skills/longbridge-research/references/industry-rank.md +62 -0
  336. package/bundled-skills/longbridge-research/references/insider-trades.md +48 -0
  337. package/bundled-skills/longbridge-research/references/institution-rating.md +62 -0
  338. package/bundled-skills/longbridge-research/references/investment-ideas.md +69 -0
  339. package/bundled-skills/longbridge-research/references/investment-proposal.md +95 -0
  340. package/bundled-skills/longbridge-research/references/investors.md +87 -0
  341. package/bundled-skills/longbridge-research/references/onchain.md +70 -0
  342. package/bundled-skills/longbridge-research/references/post-investment.md +76 -0
  343. package/bundled-skills/longbridge-research/references/shareholder.md +72 -0
  344. package/bundled-skills/longbridge-research/references/short-positions.md +50 -0
  345. package/bundled-skills/longbridge-research/references/short-trades.md +50 -0
  346. package/bundled-skills/longbridge-research/references/stock-research.md +61 -0
  347. package/bundled-skills/longbridge-research/references/thesis-tracker.md +64 -0
  348. package/bundled-skills/m365-entra-attack/SKILL.md +423 -0
  349. package/bundled-skills/mac-mini-llm-lab/SKILL.md +350 -0
  350. package/bundled-skills/makepad-2-0-animation/SKILL.md +318 -0
  351. package/bundled-skills/makepad-2-0-animation/references/animator-reference.md +433 -0
  352. package/bundled-skills/makepad-2-0-dsl/SKILL.md +492 -0
  353. package/bundled-skills/makepad-2-0-dsl/references/dsl-syntax-reference.md +511 -0
  354. package/bundled-skills/makepad-2-0-dsl/references/extended-guide.md +56 -0
  355. package/bundled-skills/makepad-2-0-dsl/references/property-system.md +757 -0
  356. package/bundled-skills/makepad-2-0-events/SKILL.md +497 -0
  357. package/bundled-skills/makepad-2-0-events/references/event-patterns.md +802 -0
  358. package/bundled-skills/makepad-2-0-events/references/extended-guide.md +590 -0
  359. package/bundled-skills/makepad-2-0-layout/SKILL.md +499 -0
  360. package/bundled-skills/makepad-2-0-layout/references/extended-guide.md +243 -0
  361. package/bundled-skills/makepad-2-0-layout/references/layout-patterns.md +881 -0
  362. package/bundled-skills/makepad-2-0-widgets/SKILL.md +261 -0
  363. package/bundled-skills/makepad-2-0-widgets/references/widget-advanced.md +648 -0
  364. package/bundled-skills/makepad-2-0-widgets/references/widget-catalog.md +547 -0
  365. package/bundled-skills/mcp-server-security/SKILL.md +356 -0
  366. package/bundled-skills/mcp-server-security/references/details.md +745 -0
  367. package/bundled-skills/mdm-device-management/SKILL.md +404 -0
  368. package/bundled-skills/mdm-device-management/references/details.md +410 -0
  369. package/bundled-skills/meeting-distiller-pro/SKILL.md +120 -0
  370. package/bundled-skills/meme-coin-audit/SKILL.md +402 -0
  371. package/bundled-skills/mid-engagement-ir-detection/SKILL.md +377 -0
  372. package/bundled-skills/model-registry-governance/SKILL.md +452 -0
  373. package/bundled-skills/model-serving-kubernetes/SKILL.md +339 -0
  374. package/bundled-skills/model-supply-chain-security/SKILL.md +427 -0
  375. package/bundled-skills/mongodb/SKILL.md +436 -0
  376. package/bundled-skills/monte-carlo-analyze-root-cause/SKILL.md +12 -1
  377. package/bundled-skills/monte-carlo-asset-health/SKILL.md +12 -1
  378. package/bundled-skills/monte-carlo-context-detection/SKILL.md +170 -0
  379. package/bundled-skills/monte-carlo-context-detection/references/signal-definitions.md +46 -0
  380. package/bundled-skills/multi-tenant-llm-hosting/SKILL.md +435 -0
  381. package/bundled-skills/multi-tenant-llm-hosting/references/details.md +211 -0
  382. package/bundled-skills/mysql/SKILL.md +390 -0
  383. package/bundled-skills/new-relic/SKILL.md +472 -0
  384. package/bundled-skills/nfs-storage/SKILL.md +356 -0
  385. package/bundled-skills/object-storage/SKILL.md +378 -0
  386. package/bundled-skills/offensive-osint/SKILL.md +443 -0
  387. package/bundled-skills/okta-attack/SKILL.md +436 -0
  388. package/bundled-skills/ollama-stack/SKILL.md +379 -0
  389. package/bundled-skills/openclaw-deployment-hardening/SKILL.md +135 -0
  390. package/bundled-skills/openclaw-local-mac-mini/SKILL.md +426 -0
  391. package/bundled-skills/openclaw-local-mac-mini/references/details.md +221 -0
  392. package/bundled-skills/openclaw-security-hardening/SKILL.md +135 -0
  393. package/bundled-skills/openshift/SKILL.md +485 -0
  394. package/bundled-skills/opentelemetry/SKILL.md +438 -0
  395. package/bundled-skills/opentelemetry/references/details.md +78 -0
  396. package/bundled-skills/opentofu-migration/SKILL.md +349 -0
  397. package/bundled-skills/osint-methodology/SKILL.md +460 -0
  398. package/bundled-skills/osint-methodology/references/details.md +1350 -0
  399. package/bundled-skills/pci-dss-compliance/SKILL.md +446 -0
  400. package/bundled-skills/penetration-testing/SKILL.md +152 -0
  401. package/bundled-skills/performance-tuning/SKILL.md +381 -0
  402. package/bundled-skills/planetscale/SKILL.md +297 -0
  403. package/bundled-skills/platform-engineering/SKILL.md +348 -0
  404. package/bundled-skills/platform-engineering/references/details.md +944 -0
  405. package/bundled-skills/podman/SKILL.md +405 -0
  406. package/bundled-skills/policy-as-code/SKILL.md +434 -0
  407. package/bundled-skills/policy-as-code/references/details.md +204 -0
  408. package/bundled-skills/postgresql-devsec/SKILL.md +378 -0
  409. package/bundled-skills/prometheus-grafana/SKILL.md +469 -0
  410. package/bundled-skills/prompt-injection-defense/SKILL.md +483 -0
  411. package/bundled-skills/rag-infrastructure/SKILL.md +269 -0
  412. package/bundled-skills/rag-observability-evals/SKILL.md +444 -0
  413. package/bundled-skills/rag-observability-evals/references/details.md +92 -0
  414. package/bundled-skills/recon-scope-triage/SKILL.md +128 -0
  415. package/bundled-skills/redis/SKILL.md +421 -0
  416. package/bundled-skills/redteam-report-template/SKILL.md +370 -0
  417. package/bundled-skills/remotion-captions/SKILL.md +57 -0
  418. package/bundled-skills/remotion-captions/agents/openai.yaml +7 -0
  419. package/bundled-skills/remotion-captions/assets/remotion-icon.svg +4 -0
  420. package/bundled-skills/remotion-captions/display-captions.md +190 -0
  421. package/bundled-skills/remotion-captions/import-srt-captions.md +73 -0
  422. package/bundled-skills/remotion-captions/transcribe-captions.md +70 -0
  423. package/bundled-skills/remotion-create/SKILL.md +106 -0
  424. package/bundled-skills/remotion-create/agents/openai.yaml +7 -0
  425. package/bundled-skills/remotion-create/assets/remotion-icon.svg +4 -0
  426. package/bundled-skills/remotion-create/tailwind.md +11 -0
  427. package/bundled-skills/remotion-create/video-layout.md +9 -0
  428. package/bundled-skills/remotion-docs/SKILL.md +67 -0
  429. package/bundled-skills/remotion-docs/agents/openai.yaml +7 -0
  430. package/bundled-skills/remotion-docs/assets/remotion-icon.svg +4 -0
  431. package/bundled-skills/remotion-interactivity/SKILL.md +270 -0
  432. package/bundled-skills/remotion-interactivity/agents/openai.yaml +7 -0
  433. package/bundled-skills/remotion-interactivity/assets/remotion-icon.svg +4 -0
  434. package/bundled-skills/remotion-render/SKILL.md +48 -0
  435. package/bundled-skills/remotion-render/agents/openai.yaml +7 -0
  436. package/bundled-skills/remotion-render/assets/remotion-icon.svg +4 -0
  437. package/bundled-skills/remotion-render/transparent-videos.md +106 -0
  438. package/bundled-skills/report-writing/SKILL.md +426 -0
  439. package/bundled-skills/report-writing/references/details.md +187 -0
  440. package/bundled-skills/reverse-proxy/SKILL.md +420 -0
  441. package/bundled-skills/runbook-creation/SKILL.md +438 -0
  442. package/bundled-skills/runbook-creation/references/details.md +71 -0
  443. package/bundled-skills/saas-pricing-strategist/SKILL.md +169 -0
  444. package/bundled-skills/saas-security-posture/SKILL.md +415 -0
  445. package/bundled-skills/sast-scanning/SKILL.md +444 -0
  446. package/bundled-skills/sbom-supply-chain/SKILL.md +433 -0
  447. package/bundled-skills/score-eval/SKILL.md +35 -0
  448. package/bundled-skills/security-arsenal/SKILL.md +446 -0
  449. package/bundled-skills/security-arsenal/references/details.md +540 -0
  450. package/bundled-skills/security-automation/SKILL.md +146 -0
  451. package/bundled-skills/semantic-versioning/SKILL.md +434 -0
  452. package/bundled-skills/semantic-versioning/references/details.md +83 -0
  453. package/bundled-skills/service-mesh/SKILL.md +422 -0
  454. package/bundled-skills/soc2-compliance/SKILL.md +409 -0
  455. package/bundled-skills/sops-encryption/SKILL.md +124 -0
  456. package/bundled-skills/sre-dashboards/SKILL.md +143 -0
  457. package/bundled-skills/ssh-configuration/SKILL.md +324 -0
  458. package/bundled-skills/ssl-tls-management/SKILL.md +428 -0
  459. package/bundled-skills/ssl-tls-management/references/details.md +99 -0
  460. package/bundled-skills/startup-it-troubleshooting/SKILL.md +415 -0
  461. package/bundled-skills/supply-chain-attack-recon/SKILL.md +453 -0
  462. package/bundled-skills/supply-chain-attack-recon/references/details.md +258 -0
  463. package/bundled-skills/systemd-services/SKILL.md +379 -0
  464. package/bundled-skills/terraform-aws/SKILL.md +125 -0
  465. package/bundled-skills/terraform-azure/SKILL.md +415 -0
  466. package/bundled-skills/terraform-azure/references/details.md +231 -0
  467. package/bundled-skills/terraform-gcp/SKILL.md +369 -0
  468. package/bundled-skills/threat-modeling/SKILL.md +487 -0
  469. package/bundled-skills/user-management/SKILL.md +383 -0
  470. package/bundled-skills/using-agent-skills/SKILL.md +220 -0
  471. package/bundled-skills/vector-database-ops/SKILL.md +300 -0
  472. package/bundled-skills/vendor-management/SKILL.md +439 -0
  473. package/bundled-skills/vendor-management/references/details.md +109 -0
  474. package/bundled-skills/vercel-deployments/SKILL.md +296 -0
  475. package/bundled-skills/vllm-server/SKILL.md +236 -0
  476. package/bundled-skills/vmware-vcenter-attack/SKILL.md +412 -0
  477. package/bundled-skills/vpn-setup/SKILL.md +452 -0
  478. package/bundled-skills/vulnerability-scanning/SKILL.md +448 -0
  479. package/bundled-skills/waf-setup/SKILL.md +354 -0
  480. package/bundled-skills/waf-setup/references/details.md +211 -0
  481. package/bundled-skills/web2-recon/SKILL.md +440 -0
  482. package/bundled-skills/web2-recon/references/details.md +319 -0
  483. package/bundled-skills/web3-audit/SKILL.md +445 -0
  484. package/bundled-skills/web3-audit/references/details.md +224 -0
  485. package/bundled-skills/windows-hardening/SKILL.md +454 -0
  486. package/bundled-skills/windows-hardening/references/details.md +204 -0
  487. package/bundled-skills/windows-server/SKILL.md +318 -0
  488. package/bundled-skills/writing-guidelines/SKILL.md +60 -0
  489. package/bundled-skills/zero-trust/SKILL.md +461 -0
  490. package/package.json +1 -1
  491. package/skills_index.json +7874 -277
@@ -0,0 +1,881 @@
1
+ # Makepad 2.0 Layout Patterns Reference
2
+
3
+ Complete, working layout examples using Makepad 2.0 Splash syntax. Every example
4
+ starts with `use mod.prelude.widgets.*` and uses correct syntax (no commas, no semicolons,
5
+ colon for property assignment).
6
+
7
+ ---
8
+
9
+ ## 1. Simple Vertical Stack
10
+
11
+ A basic top-to-bottom layout with spacing between items.
12
+
13
+ ```
14
+ use mod.prelude.widgets.*
15
+
16
+ View{
17
+ width: Fill height: Fit
18
+ flow: Down spacing: 8 padding: 16
19
+
20
+ Label{text: "First item" draw_text.color: #fff}
21
+ Label{text: "Second item" draw_text.color: #ddd}
22
+ Label{text: "Third item" draw_text.color: #bbb}
23
+ }
24
+ ```
25
+
26
+ **Key points:**
27
+ - `flow: Down` stacks children vertically
28
+ - `spacing: 8` adds 8px between each child
29
+ - `height: Fit` makes the container shrink to its content
30
+
31
+ ---
32
+
33
+ ## 2. Horizontal Row with Spacing
34
+
35
+ Items laid out left-to-right with vertical centering.
36
+
37
+ ```
38
+ use mod.prelude.widgets.*
39
+
40
+ View{
41
+ width: Fill height: Fit
42
+ flow: Right spacing: 12 padding: 10
43
+ align: Align{y: 0.5}
44
+
45
+ RoundedView{
46
+ width: 40 height: 40
47
+ draw_bg.color: #4a9eff
48
+ draw_bg.border_radius: 20.0
49
+ align: Center
50
+ Label{text: "A" draw_text.color: #fff}
51
+ }
52
+ View{
53
+ width: Fit height: Fit
54
+ flow: Down spacing: 2
55
+ Label{text: "Alice Johnson" draw_text.color: #fff draw_text.text_style.font_size: 12}
56
+ Label{text: "Online" draw_text.color: #6f6 draw_text.text_style.font_size: 9}
57
+ }
58
+ Filler{}
59
+ ButtonFlatter{text: "Message"}
60
+ }
61
+ ```
62
+
63
+ **Key points:**
64
+ - `flow: Right` lays children out horizontally
65
+ - `align: Align{y: 0.5}` vertically centers all children
66
+ - `Filler{}` pushes the button to the far right (used between Fit siblings)
67
+
68
+ ---
69
+
70
+ ## 3. Card Layout (RoundedView with Padding)
71
+
72
+ A styled card container with title and body text.
73
+
74
+ ```
75
+ use mod.prelude.widgets.*
76
+
77
+ let InfoCard = RoundedView{
78
+ width: Fill height: Fit
79
+ padding: 16 flow: Down spacing: 8
80
+ draw_bg.color: #2a2a3d
81
+ draw_bg.border_radius: 10.0
82
+ new_batch: true
83
+ title := Label{text: "Title" draw_text.color: #fff draw_text.text_style.font_size: 14}
84
+ body := Label{text: "Body" draw_text.color: #aaa draw_text.text_style.font_size: 11}
85
+ }
86
+
87
+ View{
88
+ width: Fill height: Fit
89
+ flow: Down spacing: 12 padding: 20
90
+ InfoCard{title.text: "Getting Started" body.text: "Learn how to build your first Makepad app."}
91
+ InfoCard{title.text: "Components" body.text: "Explore the built-in widget library."}
92
+ InfoCard{title.text: "Deployment" body.text: "Ship to desktop, mobile, and web."}
93
+ }
94
+ ```
95
+
96
+ **Key points:**
97
+ - `let InfoCard` defines a reusable template
98
+ - `title :=` and `body :=` create named children that can be overridden
99
+ - `new_batch: true` ensures text renders on top of the background
100
+ - Override children with `InfoCard{title.text: "New Title"}`
101
+
102
+ ---
103
+
104
+ ## 4. Responsive Wrap Layout
105
+
106
+ A tag cloud or card grid that wraps to the next line when the container is full.
107
+
108
+ ```
109
+ use mod.prelude.widgets.*
110
+
111
+ let Tag = RoundedView{
112
+ width: Fit height: Fit
113
+ padding: Inset{top: 4 bottom: 4 left: 10 right: 10}
114
+ draw_bg.color: #335
115
+ draw_bg.border_radius: 12.0
116
+ new_batch: true
117
+ label := Label{text: "tag" draw_text.color: #8af draw_text.text_style.font_size: 10}
118
+ }
119
+
120
+ View{
121
+ width: Fill height: Fit
122
+ flow: Flow.Right{wrap: true}
123
+ spacing: 8 padding: 12
124
+
125
+ Tag{label.text: "Rust"}
126
+ Tag{label.text: "Makepad"}
127
+ Tag{label.text: "UI"}
128
+ Tag{label.text: "Layout"}
129
+ Tag{label.text: "Splash"}
130
+ Tag{label.text: "GPU"}
131
+ Tag{label.text: "Shaders"}
132
+ Tag{label.text: "Cross-platform"}
133
+ Tag{label.text: "Hot reload"}
134
+ Tag{label.text: "Streaming"}
135
+ }
136
+ ```
137
+
138
+ **Key points:**
139
+ - `flow: Flow.Right{wrap: true}` wraps children to the next line
140
+ - Each tag uses `width: Fit` so it sizes to its content
141
+ - Tags automatically wrap when the row is full
142
+
143
+ ---
144
+
145
+ ## 5. Sidebar + Main Content
146
+
147
+ A two-column layout with a fixed-width sidebar and a flexible main area.
148
+
149
+ ```
150
+ use mod.prelude.widgets.*
151
+
152
+ let NavItem = View{
153
+ width: Fill height: Fit
154
+ padding: Inset{top: 8 bottom: 8 left: 16 right: 16}
155
+ label := Label{text: "Item" draw_text.color: #aaa draw_text.text_style.font_size: 11}
156
+ }
157
+
158
+ View{
159
+ width: Fill height: Fill
160
+ flow: Right
161
+
162
+ // Sidebar: fixed width, fills height
163
+ SolidView{
164
+ width: 220 height: Fill
165
+ draw_bg.color: #1a1a2e
166
+ flow: Down spacing: 2 padding: Inset{top: 16 bottom: 16}
167
+
168
+ Label{
169
+ text: "Navigation"
170
+ draw_text.color: #fff
171
+ draw_text.text_style.font_size: 13
172
+ margin: Inset{left: 16 bottom: 12}
173
+ }
174
+ Hr{}
175
+ NavItem{label.text: "Dashboard"}
176
+ NavItem{label.text: "Projects"}
177
+ NavItem{label.text: "Settings"}
178
+ NavItem{label.text: "Help"}
179
+ }
180
+
181
+ // Main content: fills remaining width
182
+ ScrollYView{
183
+ width: Fill height: Fill
184
+ flow: Down padding: 24 spacing: 16
185
+
186
+ Label{text: "Dashboard" draw_text.color: #fff draw_text.text_style.font_size: 20}
187
+ Label{text: "Welcome to your workspace." draw_text.color: #aaa draw_text.text_style.font_size: 12}
188
+
189
+ RoundedView{
190
+ width: Fill height: Fit
191
+ padding: 16 flow: Down spacing: 8
192
+ draw_bg.color: #2a2a3d
193
+ draw_bg.border_radius: 8.0
194
+ new_batch: true
195
+ Label{text: "Recent Activity" draw_text.color: #fff draw_text.text_style.font_size: 14}
196
+ Label{text: "No recent activity." draw_text.color: #888}
197
+ }
198
+ }
199
+ }
200
+ ```
201
+
202
+ **Key points:**
203
+ - Sidebar has `width: 220` (fixed) and `height: Fill`
204
+ - Main content has `width: Fill` to take remaining space
205
+ - ScrollYView wraps the main content for scrolling
206
+
207
+ ---
208
+
209
+ ## 6. Header / Body / Footer with ScrollYView
210
+
211
+ A common app layout: fixed header, scrollable body, fixed footer.
212
+
213
+ ```
214
+ use mod.prelude.widgets.*
215
+
216
+ let ListItem = RoundedView{
217
+ width: Fill height: Fit
218
+ padding: Inset{top: 10 bottom: 10 left: 14 right: 14}
219
+ margin: Inset{top: 2 bottom: 2 left: 8 right: 8}
220
+ draw_bg.color: #2a2a3d
221
+ draw_bg.border_radius: 6.0
222
+ flow: Right spacing: 10
223
+ align: Align{y: 0.5}
224
+ new_batch: true
225
+ label := Label{text: "Item" draw_text.color: #ddd draw_text.text_style.font_size: 11}
226
+ Filler{}
227
+ tag := Label{text: "" draw_text.color: #888 draw_text.text_style.font_size: 9}
228
+ }
229
+
230
+ View{
231
+ width: Fill height: Fill
232
+ flow: Down
233
+
234
+ // Header (fixed)
235
+ SolidView{
236
+ width: Fill height: Fit
237
+ padding: Inset{top: 14 bottom: 14 left: 20 right: 20}
238
+ draw_bg.color: #1e1e2e
239
+ flow: Right
240
+ align: Align{y: 0.5}
241
+ new_batch: true
242
+ Label{text: "My App" draw_text.color: #fff draw_text.text_style.font_size: 16}
243
+ Filler{}
244
+ ButtonFlatter{text: "Help"}
245
+ }
246
+
247
+ // Body (scrollable, fills remaining space)
248
+ ScrollYView{
249
+ width: Fill height: Fill
250
+ flow: Down spacing: 4 padding: Inset{top: 8 bottom: 8}
251
+
252
+ ListItem{label.text: "Set up development environment" tag.text: "dev"}
253
+ ListItem{label.text: "Design landing page" tag.text: "design"}
254
+ ListItem{label.text: "Write documentation" tag.text: "docs"}
255
+ ListItem{label.text: "Review pull requests" tag.text: "dev"}
256
+ ListItem{label.text: "Plan sprint retrospective" tag.text: "team"}
257
+ ListItem{label.text: "Update dependencies" tag.text: "maintenance"}
258
+ ListItem{label.text: "Deploy to staging" tag.text: "ops"}
259
+ ListItem{label.text: "User interview prep" tag.text: "research"}
260
+ }
261
+
262
+ // Footer (fixed)
263
+ SolidView{
264
+ width: Fill height: Fit
265
+ padding: Inset{top: 8 bottom: 8 left: 20 right: 20}
266
+ draw_bg.color: #1a1a28
267
+ new_batch: true
268
+ Label{text: "8 items" draw_text.color: #666 draw_text.text_style.font_size: 9}
269
+ }
270
+ }
271
+ ```
272
+
273
+ **Key points:**
274
+ - Header and footer use `height: Fit` to shrink to content
275
+ - ScrollYView uses `height: Fill` to take all remaining vertical space
276
+ - The scroll viewport is automatically the space between header and footer
277
+
278
+ ---
279
+
280
+ ## 7. Centered Dialog
281
+
282
+ A dialog box centered in the viewport with a dimmed background.
283
+
284
+ ```
285
+ use mod.prelude.widgets.*
286
+
287
+ View{
288
+ width: Fill height: Fill
289
+ flow: Overlay
290
+
291
+ // Dimmed background layer
292
+ SolidView{
293
+ width: Fill height: Fill
294
+ draw_bg.color: #0008
295
+ }
296
+
297
+ // Centered dialog
298
+ View{
299
+ width: Fill height: Fill
300
+ align: Center
301
+
302
+ RoundedView{
303
+ width: 360 height: Fit
304
+ padding: 24 flow: Down spacing: 16
305
+ draw_bg.color: #2c2c40
306
+ draw_bg.border_radius: 12.0
307
+ new_batch: true
308
+
309
+ Label{text: "Delete Project?" draw_text.color: #fff draw_text.text_style.font_size: 16}
310
+ Label{
311
+ width: Fill
312
+ text: "This action cannot be undone. All project data will be permanently removed."
313
+ draw_text.color: #aaa draw_text.text_style.font_size: 11
314
+ }
315
+ Hr{}
316
+ View{
317
+ width: Fill height: Fit
318
+ flow: Right spacing: 8
319
+ align: Align{x: 1.0 y: 0.5}
320
+ ButtonFlat{text: "Cancel"}
321
+ Button{text: "Delete"}
322
+ }
323
+ }
324
+ }
325
+ }
326
+ ```
327
+
328
+ **Key points:**
329
+ - `flow: Overlay` stacks the dim background behind the dialog
330
+ - The inner View with `align: Center` positions the dialog in the center
331
+ - Dialog itself uses `width: 360` (fixed) with `height: Fit`
332
+
333
+ ---
334
+
335
+ ## 8. Grid-like Layout Using Nested Flows
336
+
337
+ Makepad has no CSS grid. Simulate a grid with nested flow: Right rows inside a flow: Down column.
338
+
339
+ ```
340
+ use mod.prelude.widgets.*
341
+
342
+ let Cell = RoundedView{
343
+ width: Fill height: 80
344
+ padding: 10 flow: Down spacing: 4
345
+ draw_bg.color: #334
346
+ draw_bg.border_radius: 6.0
347
+ align: Center
348
+ new_batch: true
349
+ value := Label{text: "0" draw_text.color: #fff draw_text.text_style.font_size: 20}
350
+ label := Label{text: "Metric" draw_text.color: #888 draw_text.text_style.font_size: 9}
351
+ }
352
+
353
+ View{
354
+ width: Fill height: Fit
355
+ flow: Down spacing: 8 padding: 16
356
+
357
+ // Row 1
358
+ View{
359
+ width: Fill height: Fit
360
+ flow: Right spacing: 8
361
+ Cell{value.text: "142" label.text: "Users"}
362
+ Cell{value.text: "38" label.text: "Active"}
363
+ Cell{value.text: "97%" label.text: "Uptime"}
364
+ }
365
+
366
+ // Row 2
367
+ View{
368
+ width: Fill height: Fit
369
+ flow: Right spacing: 8
370
+ Cell{value.text: "2.4k" label.text: "Requests"}
371
+ Cell{value.text: "12ms" label.text: "Latency"}
372
+ Cell{value.text: "0" label.text: "Errors"}
373
+ }
374
+ }
375
+ ```
376
+
377
+ **Key points:**
378
+ - Each row is a `flow: Right` container
379
+ - Cells use `width: Fill` to distribute evenly across the row
380
+ - Rows are stacked vertically with `flow: Down`
381
+ - This gives a 3-column, 2-row grid appearance
382
+
383
+ ---
384
+
385
+ ## 9. Navigation Bar Pattern
386
+
387
+ A horizontal navigation bar with logo, links, and action button.
388
+
389
+ ```
390
+ use mod.prelude.widgets.*
391
+
392
+ SolidView{
393
+ width: Fill height: 48
394
+ flow: Right spacing: 0
395
+ padding: Inset{left: 16 right: 16}
396
+ align: Align{y: 0.5}
397
+ draw_bg.color: #1a1a2e
398
+ new_batch: true
399
+
400
+ // Logo / brand
401
+ Label{
402
+ text: "Makepad"
403
+ draw_text.color: #4a9eff
404
+ draw_text.text_style.font_size: 15
405
+ margin: Inset{right: 24}
406
+ }
407
+
408
+ // Navigation links
409
+ ButtonFlatter{text: "Home" margin: Inset{left: 4 right: 4}}
410
+ ButtonFlatter{text: "Docs" margin: Inset{left: 4 right: 4}}
411
+ ButtonFlatter{text: "Examples" margin: Inset{left: 4 right: 4}}
412
+ ButtonFlatter{text: "Community" margin: Inset{left: 4 right: 4}}
413
+
414
+ Filler{}
415
+
416
+ // Right-side action
417
+ Button{text: "Sign In"}
418
+ }
419
+ ```
420
+
421
+ **Key points:**
422
+ - `height: 48` gives a fixed nav bar height
423
+ - `align: Align{y: 0.5}` vertically centers all children
424
+ - `Filler{}` pushes the Sign In button to the right
425
+ - All nav items use `width: Fit` (default for ButtonFlatter)
426
+
427
+ ---
428
+
429
+ ## 10. Tab-style Layout with PageFlip
430
+
431
+ PageFlip shows one page at a time based on `active_page`. Combine with buttons
432
+ for tab-style navigation.
433
+
434
+ ```
435
+ use mod.prelude.widgets.*
436
+
437
+ View{
438
+ width: Fill height: Fill
439
+ flow: Down
440
+
441
+ // Tab bar
442
+ SolidView{
443
+ width: Fill height: Fit
444
+ flow: Right spacing: 0
445
+ draw_bg.color: #222
446
+ padding: Inset{left: 8 right: 8 top: 4 bottom: 0}
447
+
448
+ tab_home := ButtonFlatter{text: "Home" margin: Inset{right: 4}}
449
+ tab_settings := ButtonFlatter{text: "Settings" margin: Inset{right: 4}}
450
+ tab_about := ButtonFlatter{text: "About"}
451
+ }
452
+
453
+ // Page content
454
+ pages := PageFlip{
455
+ active_page := home_page
456
+ width: Fill height: Fill
457
+
458
+ home_page := ScrollYView{
459
+ width: Fill height: Fill
460
+ flow: Down padding: 20 spacing: 12
461
+ Label{text: "Home Page" draw_text.color: #fff draw_text.text_style.font_size: 18}
462
+ Label{text: "Welcome to the home page content." draw_text.color: #aaa}
463
+ }
464
+
465
+ settings_page := ScrollYView{
466
+ width: Fill height: Fill
467
+ flow: Down padding: 20 spacing: 12
468
+ Label{text: "Settings" draw_text.color: #fff draw_text.text_style.font_size: 18}
469
+ Label{text: "Configure your preferences here." draw_text.color: #aaa}
470
+ }
471
+
472
+ about_page := View{
473
+ width: Fill height: Fill
474
+ flow: Down padding: 20 spacing: 12
475
+ Label{text: "About" draw_text.color: #fff draw_text.text_style.font_size: 18}
476
+ Label{text: "Version 2.0" draw_text.color: #aaa}
477
+ }
478
+ }
479
+ }
480
+ ```
481
+
482
+ **Key points:**
483
+ - `PageFlip` shows only one child at a time
484
+ - `active_page := home_page` sets the initially visible page
485
+ - Each page is a named child with `:=`
486
+ - Tab switching is done programmatically by changing `active_page`
487
+
488
+ ---
489
+
490
+ ## 11. Todo-style List Item with Right-aligned Tag
491
+
492
+ A pattern from the official Makepad Todo example: horizontal row with label, filler, and tag.
493
+
494
+ ```
495
+ use mod.prelude.widgets.*
496
+
497
+ let TodoItem = RoundedView{
498
+ width: Fill height: Fit
499
+ padding: Inset{top: 8 bottom: 8 left: 12 right: 12}
500
+ flow: Right spacing: 10
501
+ align: Align{y: 0.5}
502
+ draw_bg.color: #2a2a3d
503
+ draw_bg.border_radius: 8.0
504
+ new_batch: true
505
+
506
+ check := CheckBox{text: ""}
507
+ label := Label{
508
+ width: Fill
509
+ text: "task"
510
+ draw_text.color: #ddd
511
+ draw_text.text_style.font_size: 11
512
+ }
513
+ tag := RoundedView{
514
+ width: Fit height: Fit
515
+ padding: Inset{top: 2 bottom: 2 left: 8 right: 8}
516
+ draw_bg.color: #335
517
+ draw_bg.border_radius: 4.0
518
+ new_batch: true
519
+ tag_label := Label{text: "" draw_text.color: #8af draw_text.text_style.font_size: 9}
520
+ }
521
+ }
522
+
523
+ View{
524
+ width: Fill height: Fit
525
+ flow: Down spacing: 4 padding: 12
526
+ TodoItem{label.text: "Walk the dog" tag.tag_label.text: "personal"}
527
+ TodoItem{label.text: "Fix login bug" tag.tag_label.text: "urgent"}
528
+ TodoItem{label.text: "Write unit tests" tag.tag_label.text: "dev"}
529
+ }
530
+ ```
531
+
532
+ **Key points:**
533
+ - Label uses `width: Fill` to take remaining space, pushing tag to the right
534
+ - No Filler needed because `width: Fill` on the label does the job
535
+ - Tag has `width: Fit` so it shrinks to its content
536
+ - Nested override path: `tag.tag_label.text` reaches into the tag's inner label
537
+
538
+ ---
539
+
540
+ ## 12. Profile Card with Avatar and Stats Row
541
+
542
+ Combining horizontal and vertical layouts in a card.
543
+
544
+ ```
545
+ use mod.prelude.widgets.*
546
+
547
+ let StatItem = View{
548
+ width: Fill height: Fit
549
+ flow: Down spacing: 2
550
+ align: HCenter
551
+ value := Label{text: "0" draw_text.color: #fff draw_text.text_style.font_size: 16}
552
+ label := Label{text: "Stat" draw_text.color: #888 draw_text.text_style.font_size: 9}
553
+ }
554
+
555
+ RoundedView{
556
+ width: Fill height: Fit
557
+ padding: 20 flow: Down spacing: 16
558
+ draw_bg.color: #2a2a3d
559
+ draw_bg.border_radius: 12.0
560
+ align: HCenter
561
+ new_batch: true
562
+
563
+ // Avatar placeholder
564
+ CircleView{
565
+ width: 64 height: 64
566
+ draw_bg.color: #4a9eff
567
+ align: Center
568
+ Label{text: "JD" draw_text.color: #fff draw_text.text_style.font_size: 18}
569
+ }
570
+
571
+ Label{text: "Jane Doe" draw_text.color: #fff draw_text.text_style.font_size: 16}
572
+ Label{text: "Software Engineer" draw_text.color: #888 draw_text.text_style.font_size: 11}
573
+
574
+ Hr{}
575
+
576
+ // Stats row
577
+ View{
578
+ width: Fill height: Fit
579
+ flow: Right spacing: 0
580
+ StatItem{value.text: "142" label.text: "Posts"}
581
+ StatItem{value.text: "1.2k" label.text: "Followers"}
582
+ StatItem{value.text: "89" label.text: "Following"}
583
+ }
584
+ }
585
+ ```
586
+
587
+ ---
588
+
589
+ ## 13. Form Layout with Labels and Inputs
590
+
591
+ A vertical form with left-aligned labels and full-width inputs.
592
+
593
+ ```
594
+ use mod.prelude.widgets.*
595
+
596
+ let FormField = View{
597
+ width: Fill height: Fit
598
+ flow: Down spacing: 4
599
+ label := Label{text: "Label" draw_text.color: #aaa draw_text.text_style.font_size: 10}
600
+ input := TextInput{width: Fill height: Fit empty_text: "Enter value"}
601
+ }
602
+
603
+ RoundedView{
604
+ width: Fill height: Fit
605
+ padding: 24 flow: Down spacing: 16
606
+ draw_bg.color: #2a2a3d
607
+ draw_bg.border_radius: 10.0
608
+ new_batch: true
609
+
610
+ Label{text: "Create Account" draw_text.color: #fff draw_text.text_style.font_size: 18}
611
+
612
+ FormField{label.text: "Full Name" input.empty_text: "John Doe"}
613
+ FormField{label.text: "Email" input.empty_text: "john@example.com"}
614
+ FormField{label.text: "Password" input.empty_text: "********" input.is_password: true}
615
+
616
+ View{
617
+ width: Fill height: Fit
618
+ flow: Right spacing: 10
619
+ align: Align{x: 1.0}
620
+ ButtonFlat{text: "Cancel"}
621
+ Button{text: "Sign Up"}
622
+ }
623
+ }
624
+ ```
625
+
626
+ ---
627
+
628
+ ## Sizing Cheat Sheet
629
+
630
+ Quick reference for all sizing values.
631
+
632
+ ### Width / Height Values
633
+
634
+ | Value | Behavior | Use When |
635
+ |-------|----------|----------|
636
+ | `Fill` | Take all remaining space | Main content areas, stretchy containers |
637
+ | `Fit` | Shrink to content size | Buttons, labels, cards, most containers |
638
+ | `200` | Fixed 200 pixels | Avatars, icons, sidebars, known dimensions |
639
+ | `Fill{min: 100 max: 500}` | Fill with constraints | Responsive containers |
640
+ | `Fit{max: Abs(300)}` | Fit with max cap | Text that should not exceed a width |
641
+
642
+ ### Container Defaults
643
+
644
+ | Scenario | width | height |
645
+ |----------|-------|--------|
646
+ | Root container | `Fill` | `Fit` |
647
+ | Inner card | `Fill` | `Fit` |
648
+ | Sidebar | `220` (fixed) | `Fill` |
649
+ | ScrollYView | `Fill` | `Fill` |
650
+ | Button | `Fit` (default) | `Fit` (default) |
651
+ | Label | `Fit` (default) | `Fit` (default) |
652
+ | Avatar / Icon | fixed px | fixed px |
653
+ | Grid cell | `Fill` | fixed px or `Fit` |
654
+
655
+ ### Flow Quick Reference
656
+
657
+ | Flow | Direction | Wrap | CSS Equivalent |
658
+ |------|-----------|------|----------------|
659
+ | `Right` | Horizontal | No | `flex-direction: row` |
660
+ | `Down` | Vertical | No | `flex-direction: column` |
661
+ | `Overlay` | Stacked (z-axis) | N/A | `position: absolute` stacking |
662
+ | `Flow.Right{wrap: true}` | Horizontal | Yes | `flex-direction: row; flex-wrap: wrap` |
663
+ | `Flow.Down{wrap: true}` | Vertical | Yes | Column wrap |
664
+
665
+ ### Alignment Quick Reference
666
+
667
+ | Shorthand | x | y | CSS Equivalent |
668
+ |-----------|---|---|----------------|
669
+ | `Center` | 0.5 | 0.5 | `justify-content: center; align-items: center` |
670
+ | `HCenter` | 0.5 | 0.0 | `justify-content: center; align-items: flex-start` |
671
+ | `VCenter` | 0.0 | 0.5 | `justify-content: flex-start; align-items: center` |
672
+ | `TopLeft` | 0.0 | 0.0 | Default (no alignment) |
673
+ | `Align{x: 1.0 y: 0.0}` | 1.0 | 0.0 | Top-right |
674
+ | `Align{x: 1.0 y: 1.0}` | 1.0 | 1.0 | Bottom-right |
675
+ | `Align{x: 0.5 y: 1.0}` | 0.5 | 1.0 | Bottom-center |
676
+
677
+ ---
678
+
679
+ ## Troubleshooting
680
+
681
+ ### UI is completely invisible (0px height)
682
+
683
+ **Cause:** Container is missing `height: Fit`.
684
+
685
+ **Fix:** Add `height: Fit` to every View, SolidView, RoundedView.
686
+
687
+ ```
688
+ // BEFORE (invisible)
689
+ View{
690
+ width: Fill
691
+ flow: Down
692
+ Label{text: "Cannot see me"}
693
+ }
694
+
695
+ // AFTER (visible)
696
+ View{
697
+ width: Fill height: Fit
698
+ flow: Down
699
+ Label{text: "Now visible"}
700
+ }
701
+ ```
702
+
703
+ ### Text is invisible on a colored background
704
+
705
+ **Cause:** Missing `new_batch: true`. Text is drawn behind the background due to GPU draw batching.
706
+
707
+ **Fix:** Add `new_batch: true` to any container with `show_bg: true` (SolidView, RoundedView, etc.) that has text children.
708
+
709
+ ```
710
+ // BEFORE (text behind background)
711
+ RoundedView{
712
+ width: Fill height: Fit
713
+ draw_bg.color: #334
714
+ Label{text: "Hidden" draw_text.color: #fff}
715
+ }
716
+
717
+ // AFTER (text on top)
718
+ RoundedView{
719
+ width: Fill height: Fit
720
+ draw_bg.color: #334
721
+ new_batch: true
722
+ Label{text: "Visible" draw_text.color: #fff}
723
+ }
724
+ ```
725
+
726
+ ### Text is clipped halfway in a horizontal row
727
+
728
+ **Cause:** Using `Filler{}` next to a `width: Fill` sibling. They split remaining space 50/50.
729
+
730
+ **Fix:** Remove the Filler. Use `width: Fill` on the text container instead -- it naturally takes remaining space.
731
+
732
+ ```
733
+ // BEFORE (text clipped at 50%)
734
+ View{
735
+ flow: Right height: Fit
736
+ Label{width: Fill text: "Long title text"}
737
+ Filler{}
738
+ Label{text: "tag"}
739
+ }
740
+
741
+ // AFTER (text takes all remaining space)
742
+ View{
743
+ flow: Right height: Fit
744
+ Label{width: Fill text: "Long title text"}
745
+ Label{text: "tag"}
746
+ }
747
+ ```
748
+
749
+ ### Scrollable area does not scroll
750
+
751
+ **Cause:** ScrollYView has `height: Fit` instead of `height: Fill`. It expands to fit
752
+ all content, so there is nothing to scroll.
753
+
754
+ **Fix:** Use `height: Fill` on ScrollYView so it has a fixed viewport.
755
+
756
+ ```
757
+ // BEFORE (no scrolling, expands to full content height)
758
+ ScrollYView{
759
+ width: Fill height: Fit
760
+ flow: Down
761
+ Label{text: "Item 1"}
762
+ Label{text: "Item 2"}
763
+ }
764
+
765
+ // AFTER (scrolls within the available space)
766
+ ScrollYView{
767
+ width: Fill height: Fill
768
+ flow: Down
769
+ Label{text: "Item 1"}
770
+ Label{text: "Item 2"}
771
+ }
772
+ ```
773
+
774
+ ### Root container is too narrow / does not fill the window
775
+
776
+ **Cause:** Using a fixed pixel width on the root container (e.g., `width: 400`).
777
+
778
+ **Fix:** Always use `width: Fill` on the outermost container.
779
+
780
+ ```
781
+ // BEFORE (400px sliver)
782
+ RoundedView{
783
+ width: 400 height: Fit
784
+ Label{text: "Narrow"}
785
+ }
786
+
787
+ // AFTER (fills available width)
788
+ RoundedView{
789
+ width: Fill height: Fit
790
+ Label{text: "Full width"}
791
+ }
792
+ ```
793
+
794
+ ### Children are all stacked on top of each other
795
+
796
+ **Cause:** Using `flow: Overlay` unintentionally, or forgetting to set `flow` at all
797
+ and having children with `width: Fill height: Fill`.
798
+
799
+ **Fix:** Set `flow: Down` for vertical stacking or `flow: Right` for horizontal layout.
800
+
801
+ ```
802
+ // Children stacked on top (Overlay behavior)
803
+ View{
804
+ width: Fill height: Fit
805
+ flow: Overlay
806
+ Label{text: "First"}
807
+ Label{text: "Second"}
808
+ }
809
+
810
+ // Children stacked vertically (correct)
811
+ View{
812
+ width: Fill height: Fit
813
+ flow: Down spacing: 8
814
+ Label{text: "First"}
815
+ Label{text: "Second"}
816
+ }
817
+ ```
818
+
819
+ ### Override text on a template child does not work
820
+
821
+ **Cause:** The child was declared with `:` instead of `:=`, or it is inside an
822
+ anonymous (unnamed) container.
823
+
824
+ **Fix:** Use `:=` for named children. Ensure every container in the override path
825
+ has a `:=` name.
826
+
827
+ ```
828
+ // WRONG: label is unreachable (inside anonymous View)
829
+ let Item = View{
830
+ flow: Right
831
+ View{
832
+ flow: Down
833
+ label := Label{text: "default"}
834
+ }
835
+ }
836
+ Item{label.text: "new"} // Fails silently
837
+
838
+ // CORRECT: all containers in path are named with :=
839
+ let Item = View{
840
+ flow: Right
841
+ texts := View{
842
+ flow: Down
843
+ label := Label{text: "default"}
844
+ }
845
+ }
846
+ Item{texts.label.text: "new"} // Works
847
+ ```
848
+
849
+ ### Spacing appears between container edge and first child
850
+
851
+ **Cause:** `spacing` applies between ALL children, but you may be seeing `padding` issues.
852
+
853
+ **Fix:** `spacing` only creates gaps between siblings, not before the first or after the
854
+ last. If you see unwanted space at edges, check `padding` values.
855
+
856
+ ```
857
+ // padding: 0 removes edge space, spacing: 10 only between children
858
+ View{
859
+ width: Fill height: Fit
860
+ flow: Down spacing: 10 padding: 0.
861
+ Label{text: "First (flush with container edge)"}
862
+ Label{text: "Second (10px gap above)"}
863
+ }
864
+ ```
865
+
866
+ ---
867
+
868
+ ## Layout Decision Tree
869
+
870
+ Use this to pick the right layout approach:
871
+
872
+ 1. **Need vertical stacking?** -> `flow: Down`
873
+ 2. **Need horizontal row?** -> `flow: Right`
874
+ 3. **Need children stacked on z-axis?** -> `flow: Overlay`
875
+ 4. **Need wrapping tags/cards?** -> `flow: Flow.Right{wrap: true}`
876
+ 5. **Need scrolling?** -> Wrap in `ScrollYView` (vertical) or `ScrollXView` (horizontal)
877
+ 6. **Need resizable panels?** -> Use `Splitter` with `a :=` and `b :=`
878
+ 7. **Need tab switching?** -> Use `PageFlip` with `active_page :=`
879
+ 8. **Need grid?** -> Nest `flow: Right` rows inside a `flow: Down` container
880
+ 9. **Need centering?** -> `align: Center` on the parent
881
+ 10. **Need push-to-opposite-ends?** -> `Filler{}` between `width: Fit` siblings