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,434 @@
1
+ ---
2
+ name: policy-as-code
3
+ description: Implement policy as code with OPA, Sentinel, and Kyverno. Automate policy
4
+ enforcement in CI/CD and infrastructure. Use when enforcing compliance through automation.
5
+ category: security
6
+ risk: safe
7
+ source: https://github.com/BagelHole/DevOps-Security-Agent-Skills
8
+ source_repo: BagelHole/DevOps-Security-Agent-Skills
9
+ source_type: community
10
+ date_added: '2026-09-20'
11
+ license: MIT
12
+ license_source: https://github.com/BagelHole/DevOps-Security-Agent-Skills/blob/main/LICENSE
13
+ compatibility: Checklist and framework guidance; no privileged tooling required. Apply
14
+ controls through your own change process.
15
+ metadata:
16
+ author: devops-skills
17
+ version: '1.0'
18
+ ---
19
+
20
+ # Policy as Code
21
+
22
+ Automate policy enforcement through code using OPA/Rego, Kyverno, Checkov, and CI/CD integration to prevent compliance violations before they reach production.
23
+
24
+ ## Open Policy Agent (OPA) Rego Policies
25
+
26
+ ```rego
27
+ # deny_public_s3.rego - Deny S3 buckets with public access
28
+ package terraform.aws.s3
29
+
30
+ import rego.v1
31
+
32
+ deny contains msg if {
33
+ resource := input.resource_changes[_]
34
+ resource.type == "aws_s3_bucket"
35
+ resource.change.after.acl == "public-read"
36
+ msg := sprintf(
37
+ "S3 bucket '%s' has public-read ACL. All buckets must be private. [Policy: no-public-s3]",
38
+ [resource.address]
39
+ )
40
+ }
41
+
42
+ deny contains msg if {
43
+ resource := input.resource_changes[_]
44
+ resource.type == "aws_s3_bucket"
45
+ resource.change.after.acl == "public-read-write"
46
+ msg := sprintf(
47
+ "S3 bucket '%s' has public-read-write ACL. This is strictly prohibited. [Policy: no-public-s3]",
48
+ [resource.address]
49
+ )
50
+ }
51
+ ```
52
+
53
+ ```rego
54
+ # require_encryption.rego - Require encryption on data stores
55
+ package terraform.aws.encryption
56
+
57
+ import rego.v1
58
+
59
+ deny contains msg if {
60
+ resource := input.resource_changes[_]
61
+ resource.type == "aws_db_instance"
62
+ not resource.change.after.storage_encrypted
63
+ msg := sprintf(
64
+ "RDS instance '%s' does not have storage encryption enabled. [Policy: require-rds-encryption]",
65
+ [resource.address]
66
+ )
67
+ }
68
+
69
+ deny contains msg if {
70
+ resource := input.resource_changes[_]
71
+ resource.type == "aws_ebs_volume"
72
+ not resource.change.after.encrypted
73
+ msg := sprintf(
74
+ "EBS volume '%s' is not encrypted. [Policy: require-ebs-encryption]",
75
+ [resource.address]
76
+ )
77
+ }
78
+
79
+ deny contains msg if {
80
+ resource := input.resource_changes[_]
81
+ resource.type == "aws_s3_bucket"
82
+ not has_encryption(resource)
83
+ msg := sprintf(
84
+ "S3 bucket '%s' does not have default encryption configured. [Policy: require-s3-encryption]",
85
+ [resource.address]
86
+ )
87
+ }
88
+
89
+ has_encryption(resource) if {
90
+ resource.change.after.server_side_encryption_configuration[_]
91
+ }
92
+ ```
93
+
94
+ ```rego
95
+ # require_tags.rego - Enforce mandatory tagging
96
+ package terraform.aws.tags
97
+
98
+ import rego.v1
99
+
100
+ required_tags := {"Environment", "Owner", "CostCenter", "DataClassification"}
101
+
102
+ deny contains msg if {
103
+ resource := input.resource_changes[_]
104
+ tags := object.get(resource.change.after, "tags", {})
105
+ missing := required_tags - {key | tags[key]}
106
+ count(missing) > 0
107
+ msg := sprintf(
108
+ "Resource '%s' is missing required tags: %v. [Policy: required-tags]",
109
+ [resource.address, missing]
110
+ )
111
+ }
112
+ ```
113
+
114
+ ```rego
115
+ # restrict_regions.rego - Limit resource deployment to approved regions
116
+ package terraform.aws.regions
117
+
118
+ import rego.v1
119
+
120
+ approved_regions := {"us-east-1", "us-west-2", "eu-west-1"}
121
+
122
+ deny contains msg if {
123
+ resource := input.resource_changes[_]
124
+ provider_config := input.configuration.provider_config.aws
125
+ region := provider_config.expressions.region.constant_value
126
+ not region in approved_regions
127
+ msg := sprintf(
128
+ "Resource '%s' is in region '%s'. Approved regions: %v. [Policy: approved-regions]",
129
+ [resource.address, region, approved_regions]
130
+ )
131
+ }
132
+ ```
133
+
134
+ ```bash
135
+ # Evaluate OPA policies against Terraform plan
136
+ terraform plan -out=tfplan
137
+ terraform show -json tfplan > tfplan.json
138
+
139
+ # Run OPA evaluation
140
+ opa eval \
141
+ --data policies/ \
142
+ --input tfplan.json \
143
+ "data.terraform.aws.s3.deny" \
144
+ --format pretty
145
+
146
+ # Use conftest for easier CI integration
147
+ conftest test tfplan.json --policy policies/ --output table
148
+ ```
149
+
150
+ ## Kyverno Kubernetes Policies
151
+
152
+ ```yaml
153
+ # require-labels.yaml - Enforce required labels on all pods
154
+ apiVersion: kyverno.io/v1
155
+ kind: ClusterPolicy
156
+ metadata:
157
+ name: require-labels
158
+ annotations:
159
+ policies.kyverno.io/title: Require Labels
160
+ policies.kyverno.io/category: Best Practices
161
+ policies.kyverno.io/severity: medium
162
+ spec:
163
+ validationFailureAction: Enforce
164
+ background: true
165
+ rules:
166
+ - name: check-required-labels
167
+ match:
168
+ any:
169
+ - resources:
170
+ kinds:
171
+ - Pod
172
+ validate:
173
+ message: >-
174
+ Labels 'app.kubernetes.io/name', 'app.kubernetes.io/version',
175
+ and 'team' are required on all Pods.
176
+ pattern:
177
+ metadata:
178
+ labels:
179
+ app.kubernetes.io/name: "?*"
180
+ app.kubernetes.io/version: "?*"
181
+ team: "?*"
182
+ ---
183
+ # disallow-privileged.yaml - Block privileged containers
184
+ apiVersion: kyverno.io/v1
185
+ kind: ClusterPolicy
186
+ metadata:
187
+ name: disallow-privileged-containers
188
+ annotations:
189
+ policies.kyverno.io/title: Disallow Privileged Containers
190
+ policies.kyverno.io/category: Pod Security
191
+ policies.kyverno.io/severity: high
192
+ spec:
193
+ validationFailureAction: Enforce
194
+ background: true
195
+ rules:
196
+ - name: deny-privileged
197
+ match:
198
+ any:
199
+ - resources:
200
+ kinds:
201
+ - Pod
202
+ validate:
203
+ message: "Privileged containers are not allowed."
204
+ pattern:
205
+ spec:
206
+ containers:
207
+ - securityContext:
208
+ privileged: "false"
209
+ =(initContainers):
210
+ - securityContext:
211
+ privileged: "false"
212
+ ---
213
+ # require-resource-limits.yaml - Enforce resource limits
214
+ apiVersion: kyverno.io/v1
215
+ kind: ClusterPolicy
216
+ metadata:
217
+ name: require-resource-limits
218
+ annotations:
219
+ policies.kyverno.io/title: Require Resource Limits
220
+ policies.kyverno.io/severity: medium
221
+ spec:
222
+ validationFailureAction: Enforce
223
+ background: true
224
+ rules:
225
+ - name: check-resource-limits
226
+ match:
227
+ any:
228
+ - resources:
229
+ kinds:
230
+ - Pod
231
+ validate:
232
+ message: "All containers must have CPU and memory limits defined."
233
+ pattern:
234
+ spec:
235
+ containers:
236
+ - resources:
237
+ limits:
238
+ memory: "?*"
239
+ cpu: "?*"
240
+ ---
241
+ # disallow-latest-tag.yaml - Block usage of 'latest' image tag
242
+ apiVersion: kyverno.io/v1
243
+ kind: ClusterPolicy
244
+ metadata:
245
+ name: disallow-latest-tag
246
+ annotations:
247
+ policies.kyverno.io/title: Disallow Latest Tag
248
+ policies.kyverno.io/severity: medium
249
+ spec:
250
+ validationFailureAction: Enforce
251
+ background: true
252
+ rules:
253
+ - name: validate-image-tag
254
+ match:
255
+ any:
256
+ - resources:
257
+ kinds:
258
+ - Pod
259
+ validate:
260
+ message: "Images must use a specific tag, not 'latest'."
261
+ pattern:
262
+ spec:
263
+ containers:
264
+ - image: "!*:latest & *:*"
265
+ ---
266
+ # restrict-image-registries.yaml - Allow only approved registries
267
+ apiVersion: kyverno.io/v1
268
+ kind: ClusterPolicy
269
+ metadata:
270
+ name: restrict-image-registries
271
+ annotations:
272
+ policies.kyverno.io/title: Restrict Image Registries
273
+ policies.kyverno.io/severity: high
274
+ spec:
275
+ validationFailureAction: Enforce
276
+ background: true
277
+ rules:
278
+ - name: validate-registries
279
+ match:
280
+ any:
281
+ - resources:
282
+ kinds:
283
+ - Pod
284
+ validate:
285
+ message: >-
286
+ Images must come from approved registries:
287
+ 123456789012.dkr.ecr.us-east-1.amazonaws.com or ghcr.io/your-org.
288
+ pattern:
289
+ spec:
290
+ containers:
291
+ - image: "123456789012.dkr.ecr.*.amazonaws.com/* | ghcr.io/your-org/*"
292
+ ---
293
+ # require-networkpolicy.yaml - Ensure namespaces have NetworkPolicies
294
+ apiVersion: kyverno.io/v1
295
+ kind: ClusterPolicy
296
+ metadata:
297
+ name: require-networkpolicy
298
+ annotations:
299
+ policies.kyverno.io/title: Require Network Policy
300
+ policies.kyverno.io/severity: high
301
+ spec:
302
+ validationFailureAction: Audit
303
+ background: true
304
+ rules:
305
+ - name: check-networkpolicy
306
+ match:
307
+ any:
308
+ - resources:
309
+ kinds:
310
+ - Deployment
311
+ preconditions:
312
+ all:
313
+ - key: "{{request.object.metadata.namespace}}"
314
+ operator: NotIn
315
+ value: ["kube-system", "kube-public"]
316
+ validate:
317
+ message: "A NetworkPolicy must exist in namespace '{{request.object.metadata.namespace}}' before deploying workloads."
318
+ deny:
319
+ conditions:
320
+ all:
321
+ - key: "{{request.object.metadata.namespace}}"
322
+ operator: AnyNotIn
323
+ value: "{{request.object.metadata.namespace}}"
324
+ ```
325
+
326
+ ## Checkov Custom Checks
327
+
328
+ ```python
329
+ # custom_checks/require_s3_versioning.py
330
+ from checkov.terraform.checks.resource.base_resource_check import BaseResourceCheck
331
+ from checkov.common.models.enums import CheckResult, CheckCategories
332
+
333
+
334
+ class S3Versioning(BaseResourceCheck):
335
+ def __init__(self):
336
+ name = "Ensure S3 bucket has versioning enabled"
337
+ id = "CUSTOM_S3_001"
338
+ supported_resources = ["aws_s3_bucket_versioning"]
339
+ categories = [CheckCategories.BACKUP_AND_RECOVERY]
340
+ super().__init__(name=name, id=id,
341
+ categories=categories,
342
+ supported_resources=supported_resources)
343
+
344
+ def scan_resource_conf(self, conf):
345
+ versioning = conf.get("versioning_configuration", [{}])
346
+ if isinstance(versioning, list):
347
+ versioning = versioning[0] if versioning else {}
348
+ status = versioning.get("status", ["Disabled"])
349
+ if isinstance(status, list):
350
+ status = status[0]
351
+ return CheckResult.PASSED if status == "Enabled" else CheckResult.FAILED
352
+
353
+
354
+ check = S3Versioning()
355
+ ```
356
+
357
+ ```python
358
+ # custom_checks/require_rds_backup.py
359
+ from checkov.terraform.checks.resource.base_resource_check import BaseResourceCheck
360
+ from checkov.common.models.enums import CheckResult, CheckCategories
361
+
362
+
363
+ class RDSBackupRetention(BaseResourceCheck):
364
+ def __init__(self):
365
+ name = "Ensure RDS has backup retention of at least 7 days"
366
+ id = "CUSTOM_RDS_001"
367
+ supported_resources = ["aws_db_instance"]
368
+ categories = [CheckCategories.BACKUP_AND_RECOVERY]
369
+ super().__init__(name=name, id=id,
370
+ categories=categories,
371
+ supported_resources=supported_resources)
372
+
373
+ def scan_resource_conf(self, conf):
374
+ retention = conf.get("backup_retention_period", [0])
375
+ if isinstance(retention, list):
376
+ retention = retention[0]
377
+ return CheckResult.PASSED if int(retention) >= 7 else CheckResult.FAILED
378
+
379
+
380
+ check = RDSBackupRetention()
381
+ ```
382
+
383
+ ```bash
384
+ # Run Checkov with custom checks
385
+ checkov -d ./terraform \
386
+ --framework terraform \
387
+ --external-checks-dir ./custom_checks \
388
+ --output cli \
389
+ --compact
390
+
391
+ # Run specific check IDs
392
+ checkov -d ./terraform \
393
+ --check CUSTOM_S3_001,CUSTOM_RDS_001,CKV_AWS_18,CKV_AWS_19
394
+
395
+ # Generate SARIF output for GitHub Advanced Security integration
396
+ checkov -d ./terraform \
397
+ --framework terraform \
398
+ --output sarif \
399
+ --output-file checkov-results.sarif
400
+
401
+ # Skip specific checks with documented justification
402
+ checkov -d ./terraform \
403
+ --skip-check CKV_AWS_145 \
404
+ --skip-check CKV_AWS_79
405
+ ```
406
+
407
+
408
+ ## Contents
409
+
410
+ - [CI/CD Pipeline Integration](references/details.md)
411
+ - [Policy Exception Management](references/details.md)
412
+ - [Policy Testing](references/details.md)
413
+ - [Best Practices](references/details.md)
414
+
415
+ ## When to Use
416
+
417
+ - Enforcing security and compliance policies on infrastructure-as-code changes
418
+ - Preventing misconfigured Kubernetes workloads from deploying
419
+ - Automating guardrails in CI/CD pipelines for Terraform, CloudFormation, or Helm
420
+ - Implementing organizational standards that must be consistently applied
421
+ - Replacing manual approval gates with automated policy checks
422
+
423
+ ## Limitations
424
+
425
+ - Guidance and checklists only; not legal advice and not a substitute for a qualified auditor.
426
+ - Docs-only import: upstream templates and scripts not bundled.
427
+
428
+ ### Example
429
+
430
+ ```markdown
431
+ Map this skill's control checklist to our current evidence and list gaps.
432
+ ```
433
+
434
+ > Adapted from [BagelHole/DevOps-Security-Agent-Skills](https://github.com/BagelHole/DevOps-Security-Agent-Skills) (MIT); frontmatter, When to Use/Limitations, and safety boundaries added for upstream compliance. Docs-only import: helper scripts and templates not bundled.
@@ -0,0 +1,204 @@
1
+ # Details (moved from SKILL.md)
2
+
3
+ > Extended reference content for `policy-as-code`, kept under `references/` so the entrypoint stays within the audit budget.
4
+
5
+ ## CI/CD Pipeline Integration
6
+
7
+ ```yaml
8
+ # GitHub Actions - Policy enforcement in PR workflow
9
+ name: Policy Checks
10
+ on:
11
+ pull_request:
12
+ paths:
13
+ - 'terraform/**'
14
+ - 'kubernetes/**'
15
+
16
+ jobs:
17
+ terraform-policy:
18
+ runs-on: ubuntu-latest
19
+ steps:
20
+ - uses: actions/checkout@v4
21
+
22
+ - name: Setup Terraform
23
+ uses: hashicorp/setup-terraform@v3
24
+
25
+ - name: Terraform Init and Plan
26
+ working-directory: terraform/
27
+ run: |
28
+ terraform init -backend=false
29
+ terraform plan -out=tfplan
30
+ terraform show -json tfplan > tfplan.json
31
+
32
+ - name: OPA Policy Check
33
+ uses: open-policy-agent/setup-opa@v2
34
+ with:
35
+ version: latest
36
+ - run: |
37
+ RESULTS=$(opa eval \
38
+ --data policies/ \
39
+ --input terraform/tfplan.json \
40
+ --format json \
41
+ "data.terraform" | jq '.result[0].expressions[0].value')
42
+ DENY_COUNT=$(echo "$RESULTS" | jq '[.. | .deny? // empty | .[] ] | length')
43
+ if [ "$DENY_COUNT" -gt 0 ]; then
44
+ echo "::error::Policy violations found:"
45
+ echo "$RESULTS" | jq '.. | .deny? // empty | .[]'
46
+ exit 1
47
+ fi
48
+
49
+ - name: Checkov Scan
50
+ uses: bridgecrewio/checkov-action@v12
51
+ with:
52
+ directory: terraform/
53
+ framework: terraform
54
+ output_format: cli,sarif
55
+ output_file_path: console,checkov-results.sarif
56
+ soft_fail: false
57
+ external_checks_dirs: custom_checks/
58
+
59
+ - name: Upload SARIF
60
+ if: always()
61
+ uses: github/codeql-action/upload-sarif@v3
62
+ with:
63
+ sarif_file: checkov-results.sarif
64
+
65
+ kubernetes-policy:
66
+ runs-on: ubuntu-latest
67
+ steps:
68
+ - uses: actions/checkout@v4
69
+
70
+ - name: Install Kyverno CLI
71
+ run: |
72
+ curl -LO https://github.com/kyverno/kyverno/releases/latest/download/kyverno-cli_linux_amd64.tar.gz
73
+ tar -xzf kyverno-cli_linux_amd64.tar.gz
74
+ sudo mv kyverno /usr/local/bin/
75
+
76
+ - name: Test Kyverno Policies
77
+ run: |
78
+ kyverno apply policies/kyverno/ \
79
+ --resource kubernetes/manifests/ \
80
+ --detailed-results \
81
+ --output-format table
82
+
83
+ - name: Conftest Kubernetes Manifests
84
+ uses: open-policy-agent/conftest-action@v2
85
+ with:
86
+ files: kubernetes/manifests/
87
+ policy: policies/kubernetes/
88
+ ```
89
+
90
+
91
+ ## Policy Exception Management
92
+
93
+ ```yaml
94
+ exception_workflow:
95
+ request:
96
+ fields:
97
+ - policy_id: "Which policy needs an exception"
98
+ - resource: "Specific resource requiring exception"
99
+ - justification: "Business reason for the exception"
100
+ - compensating_controls: "Alternative mitigations in place"
101
+ - duration: "Temporary (with expiry) or permanent"
102
+ - requestor: "Person requesting"
103
+ - approver: "Security team member who approved"
104
+
105
+ approval_process:
106
+ 1: "Requestor submits exception with justification"
107
+ 2: "Security team reviews and assesses risk"
108
+ 3: "Compensating controls verified"
109
+ 4: "Exception approved or denied with rationale"
110
+ 5: "Exception documented in registry"
111
+ 6: "Automated enforcement updated to allow exception"
112
+
113
+ enforcement:
114
+ opa: |
115
+ # Exception list loaded as data
116
+ # policies/exceptions.json
117
+ # {"exceptions": [{"resource": "aws_s3_bucket.public_website", "policy": "no-public-s3", "expires": "2025-06-01"}]}
118
+ kyverno: |
119
+ # Use Kyverno PolicyException resource
120
+ apiVersion: kyverno.io/v2beta1
121
+ kind: PolicyException
122
+ metadata:
123
+ name: allow-public-website
124
+ namespace: web
125
+ spec:
126
+ exceptions:
127
+ - policyName: disallow-privileged-containers
128
+ ruleNames:
129
+ - deny-privileged
130
+ match:
131
+ any:
132
+ - resources:
133
+ kinds:
134
+ - Pod
135
+ names:
136
+ - legacy-app-*
137
+
138
+ review_schedule:
139
+ - Review all active exceptions quarterly
140
+ - Expire temporary exceptions automatically
141
+ - Re-justify permanent exceptions annually
142
+ - Track exception count trends as a security metric
143
+ ```
144
+
145
+
146
+ ## Policy Testing
147
+
148
+ ```bash
149
+ # Test OPA policies with mock input
150
+ mkdir -p policies/tests
151
+
152
+ # Create test input
153
+ cat > policies/tests/public_bucket_test.json <<'EOF'
154
+ {
155
+ "resource_changes": [{
156
+ "address": "aws_s3_bucket.test",
157
+ "type": "aws_s3_bucket",
158
+ "change": {
159
+ "after": {"acl": "public-read"}
160
+ }
161
+ }]
162
+ }
163
+ EOF
164
+
165
+ # Run test
166
+ opa eval --data policies/ --input policies/tests/public_bucket_test.json \
167
+ "data.terraform.aws.s3.deny" --format pretty
168
+ # Should output the deny message
169
+
170
+ # OPA unit tests
171
+ cat > policies/tests/s3_test.rego <<'EOF'
172
+ package terraform.aws.s3_test
173
+
174
+ import rego.v1
175
+ import data.terraform.aws.s3
176
+
177
+ test_deny_public_bucket if {
178
+ result := s3.deny with input as {"resource_changes": [{"address": "test", "type": "aws_s3_bucket", "change": {"after": {"acl": "public-read"}}}]}
179
+ count(result) > 0
180
+ }
181
+
182
+ test_allow_private_bucket if {
183
+ result := s3.deny with input as {"resource_changes": [{"address": "test", "type": "aws_s3_bucket", "change": {"after": {"acl": "private"}}}]}
184
+ count(result) == 0
185
+ }
186
+ EOF
187
+
188
+ opa test policies/ -v
189
+ ```
190
+
191
+
192
+ ## Best Practices
193
+
194
+ - Version control all policies alongside the infrastructure code they govern
195
+ - Start in audit/warn mode and transition to enforce after verifying no false positives
196
+ - Write unit tests for every policy to catch regressions and verify intended behavior
197
+ - Implement a formal exception process: never disable policies to bypass legitimate checks
198
+ - Use policy results as PR status checks to block non-compliant merges
199
+ - Layer policies: Checkov for static analysis, OPA for Terraform plan evaluation, Kyverno for runtime
200
+ - Tag policies with compliance framework references (e.g., SOC 2 CC6.1, PCI Req 2.2)
201
+ - Monitor policy violation trends over time to identify systemic issues
202
+ - Provide clear, actionable error messages that explain how to fix violations
203
+ - Roll out new policies gradually: inform teams, give a remediation window, then enforce
204
+