CtrlK
BlogDocsLog inGet started
Tessl Logo

terraform-provider-coralogix

github.com/coralogix/terraform-provider-coralogix

SkillAddedReview
acc-test-helper-client-without-provider-meta

.claude/skills/acc-test-helper-client-without-provider-meta/SKILL.md

Use when an acceptance test panics with 'interface {} is nil, not *clientset.ClientSet' in a CheckDestroy or check helper, or a helper calls testAccProvider.Meta().

68

api-reorders-unordered-list

.claude/skills/api-reorders-unordered-list/SKILL.md

Use when apply fails with 'inconsistent result' where list items swap places (targets[0] now holds targets[1]'s value), or a plan shows reorder-only diffs. Keep prior order when the items match as a set.

72

classic-vs-dynamic-decimal-precision

.claude/skills/classic-vs-dynamic-decimal-precision/SKILL.md

Use when wiring decimalPrecision on a coralogix_dashboard widget. It is a bool on classic widgets and an int32 on dynamic ones, so copying either side's code silently produces the wrong type.

77

create-pr

.claude/skills/create-pr/SKILL.md

Use when creating a PR for a non-trivial bug fix in this repo. Assembles a structured PR description following .github/PULL_REQUEST_TEMPLATE.md with expanded sections for root cause, risks, and test plan. Do NOT use for trivial one-liner fixes.

76

dashboard-variables-v2-wire-shape

.claude/skills/dashboard-variables-v2-wire-shape/SKILL.md

Use when expanding/flattening coralogix_dashboard variables_v2, or editing static values[].label defaults. Build typed SDK VariableV2 structs from flat TF models; wrap value/label, promql, dataprime, scope, and spans shapes.

66

data-enrichments-scoped-replace

.claude/skills/data-enrichments-scoped-replace/SKILL.md

Use when changing coralogix_data_enrichments update semantics or drift tests. Prefer state-ID delete plus add over partial atomic overwrite for scoped replaces.

67

framework-import-dynamic-attributes

.claude/skills/framework-import-dynamic-attributes/SKILL.md

Use when a Terraform Plugin Framework resource import reads required DynamicAttribute values. Handle imported partial state before converting dynamic values.

68

framework-nested-optional-computed-plan-modifier

.claude/skills/framework-nested-optional-computed-plan-modifier/SKILL.md

Use when adding a nested Optional+Computed list/set element fails after apply with null→known. Use UseNonNullStateForUnknown for provider- or backend-generated ids, not configurable defaults.

71

framework-optional-computed-nested-object

.claude/skills/framework-optional-computed-nested-object/SKILL.md

Use when Create fails with 'Received unknown value' on an Optional+Computed SingleNestedAttribute Path targeting a Go struct pointer. Model that field as types.Object.

69

frozen-prior-schema-must-not-share-helpers

.claude/skills/frozen-prior-schema-must-not-share-helpers/SKILL.md

Use when widening a shared coralogix_dashboard widget schema helper like LineChartSchema(). Checks whether dashboard_schema/v1..v3 also use it; prior schemas must stay frozen.

69

manual-validation-harness

.claude/skills/manual-validation-harness/SKILL.md

Use when validating a Coralogix terraform-provider bug fix end-to-end against a real Coralogix environment. Builds the provider locally, runs multi-step Terraform apply/plan scenarios to verify idempotency, and catches perpetual-diff regressions before merge.

75

new-enum-attribute-must-not-default-to-unspecified

.claude/skills/new-enum-attribute-must-not-default-to-unspecified/SKILL.md

Use when adding an Optional+Computed enum to a released resource, or a Provider migration job fails with 'expected NoOp, got action(s): [update]'. A static unspecified default breaks upgrades.

66

normalizing-modifier-marks-computed-unknown

.claude/skills/normalizing-modifier-marks-computed-unknown/SKILL.md

Use when a plan is never empty and an attribute the user never configured shows (known after apply) forever, next to a JSON/normalized attribute that shows as unchanged. Explains the framework rule and the two fixes.

68

offline-plan-resource-change-harness

.claude/skills/offline-plan-resource-change-harness/SKILL.md

Use when diagnosing why a Terraform plan is not empty, an attribute is unknown, or a plan modifier misbehaves, without Coralogix credentials. Drives PlanResourceChange directly in a unit test.

71

proto-size-impl-budget

.claude/skills/proto-size-impl-budget/SKILL.md

Use when reviewing or adding a Terraform resource. Estimate size from pinned SDK fields vs all non-test Go; flag 3x overruns. Do NOT use for small schema tweaks or dashboard/alert widget edits.

69

rest-client-not-found-detection

.claude/skills/rest-client-not-found-detection/SKILL.md

Use when a REST-backed resource (SCIM group/user, Grafana) fails to soft-delete on 404, or when cxsdk.Code returns Unknown for a status.Error from rest/client.go.

67

schema-attribute-needs-matching-attr-type-map

.claude/skills/schema-attribute-needs-matching-attr-type-map/SKILL.md

Use when a coralogix_dashboard apply or state upgrade fails with 'Value Conversion Error' at 'Path: layout' after adding a widget attribute. Widen the hand-written attr.Type map too.

71