Rego is the declarative policy language used by Open Policy Agent (OPA). This tile covers writing and testing Rego policies for Kubernetes admission control, Terraform and infrastructure-as-code plan validation, Docker container authorization, HTTP API authorization, RBAC and role-based access control, data filtering, metadata annotations with opa inspect, and OPA policy testing with opa test.
99
Quality
Pending
Does it follow best practices?
Impact
99%
1.19xAverage score across 31 eval scenarios
Pending
The risk profile of this skill
{
"context": "Evaluates whether the agent writes a _test.rego file alongside an IaC policy, using the correct OPA test conventions: _test package suffix, with input as mocking with realistic Terraform plan JSON, both positive and negative test cases, and passing tests. These testing criteria are extracted here so they are not duplicated across every individual IaC scenario.",
"type": "weighted_checklist",
"checklist": [
{
"name": "_test.rego filename suffix",
"description": "The test file is named with a `_test.rego` suffix (e.g. `terraform_test.rego`) per the Regal file-missing-test-suffix convention, and the package ends in `_test` (e.g. `package terraform.analysis_test`)",
"max_score": 25
},
{
"name": "mocks Terraform plan input with `with input as`",
"description": "Test rules supply mock Terraform plan JSON using `with input as { \"resource_changes\": [...] }` (or the HCP Terraform nested form) rather than relying on real input",
"max_score": 25
},
{
"name": "includes both positive and negative test cases",
"description": "Tests cover both the compliant case (deny is empty when bucket_prefix is set) and the violating case (deny contains a message when bucket_prefix is absent)",
"max_score": 25
},
{
"name": "tests pass",
"description": "All tests pass when running `opa test . -v`",
"max_score": 25
}
]
}docs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
scenario-11
scenario-12
scenario-13
scenario-14
scenario-15
scenario-16
scenario-17
scenario-18
scenario-19
scenario-20
scenario-21
scenario-22
scenario-23
scenario-24
scenario-25
scenario-26
scenario-27
scenario-28
scenario-29
scenario-30
scenario-31