Offline PlanResourceChange Harness
SkillCloud & infraUse 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.
Use Offline PlanResourceChange Harness in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Offline PlanResourceChange Harness and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Offline PlanResourceChange Harness skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by coralogix/terraform-provider-coralogix in .claude/skills/offline-plan-resource-change-harness/SKILL.md and read by Ahel’s review.
Trigger: You need to know what the provider plans for some attribute, and an acceptance test would need CORALOGIX_API_KEY and minutes per run. Plan-time behavior (plan modifiers, defaults, unknown marking) never calls the API, so it can be measured offline in milliseconds.
Recipe: in package provider, a _test.go file:
server, _ := testAccProtoV6ProviderFactories["coralogix"]()
schemaResp, _ := server.GetProviderSchema(ctx, &tfprotov6.GetProviderSchemaRequest{})
object := schemaResp.ResourceSchemas["coralogix_<name>"].ValueType().(tftypes.Object)
// build prior/config/proposed with tftypes.NewValue; null for every attribute you do not set
resp, _ := server.PlanResourceChange(ctx, &tfprotov6.PlanResourceChangeRequest{
TypeName: "coralogix_<name>", PriorState: enc(prior), Config: enc(config), ProposedNewState: enc(proposed),
})
planned, _ := resp.PlannedState.Unmarshal(object) // also read resp.RequiresReplace, resp.Diagnostics
Emulating core: you supply ProposedNewState yourself. Terraform's rule (plans/objchange): config value where set; for Computed attributes with a null config, the prior value — unless the prior object contains a non-computed attribute, which means it came from config.
Why: it isolates the provider from the backend, so a diff between two runs is caused by your change, not by API state. Compare variants by toggling the schema and re-running, and delete the file when done — it is a probe, not a test.
Signals
- GitHub stars
- 22
- Forks
- 14
- Last commit
- Oct 2026
Advanced
- Item type
- skill
- Key
offline-plan-resource-change-harness- Source
- github.com/coralogix/terraform-provider-coralogix
github.com/coralogix/terraform-provider-coralogix
Related picks
Skill · samber
The pick for Gogo-sdk-specialist
Skill · a5c-ai
The pick for Govigilante-issue-implementation-on-terraform
Skill · aliengiraffe
The pick for Terraforminfra-iac-terraform
Skill · agents-inc
The pick for Terraformvercel-react-best-practices
Skill · vercel-labs
More in Cloud & infraweb-design-guidelines
Skill · vercel-labs
More in Cloud & infra