Incus tf
Agent AI skills developed by frua.fr: incus-doc
npx -y skills add fruafr/skills --skill incus-tfAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Ground AI responses, Terraform project generation, and infrastructure-as-code questions in offline authoritative terraform-incus provider documentation. Must be loaded before generating Terraform configurations for Incus, writing HCL that references incus_* resources/data sources, or answering questions about managing Incus with Terraform. Reduces hallucinations by routing all claims through verified reference files.
The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
10.8 KB, as published. Nobody here has run it
Skill: incus-tf
- Purpose: Ground every terraform-incus provider answer, Terraform configuration, and HCL snippet in authoritative offline documentation to eliminate hallucinations.
- Use when: The user asks to generate Terraform configurations for Incus, asks about
incus_*resources or data sources, wants to manage Incus with Terraform, or asks questions about the lxc/incus Terraform provider. - Don't use when: The question is purely about Incus CLI commands (use incus-doc skill), general Terraform concepts unrelated to the Incus provider, or non-Incus Terraform providers.
- Success looks like: Every
incus_*resource/data source name, argument, attribute, and configuration option is verified against the skill's reference files before being emitted; no fabricated resource types, arguments, or behaviors.
Inputs
This skill does not require explicit inputs — it activates on context (mentions of terraform-incus, incus_* resources, managing Incus with Terraform). The skill's own reference files serve as the input.
Assumptions:
- The
references/directory within the skill folder (incus-tf/references/) exists and is up to date. incus-tf/references/docs/index.mdcontains the authoritative documentation tree with links to all markdown files inincus-tf/references/docs/.incus-tf/references/docs/provider-index.mdcontains the provider overview including authentication, remote configuration, and environment variables.- Resource documentation files are in
incus-tf/references/docs/resources/. - Data source documentation files are in
incus-tf/references/docs/data-sources/.
Output
Format: Grounded answer / Terraform HCL configuration / corrected resource block
Every incus_* resource or data source name, argument, attribute, or configuration option must be traceable to a reference file. If the reference does not contain the claim, the claim must not be emitted.
Reasoning
- Understand — Parse the user request; identify all
incus_*resources, data sources, arguments, and provider configuration blocks. - Plan — Determine which reference files to consult:
- Provider configuration (authentication, remotes, environment variables) →
incus-tf/references/docs/provider-index.md - Resource arguments and attributes →
incus-tf/references/docs/resources/<resource>.md - Data source arguments and attributes →
incus-tf/references/docs/data-sources/<datasource>.md - Full documentation tree navigation →
incus-tf/references/docs/index.md
- Provider configuration (authentication, remotes, environment variables) →
- Generate — Produce answer with every
incus_*element verified. - Verify — Re-read relevant reference lines to confirm every resource type, argument, and attribute exists.
When uncertain: Consult reference files. If not covered, state "Not found in the terraform-incus provider reference documentation."
Decision Rules
| If | Then |
|---|---|
| User asks about provider setup/auth | Open incus-tf/references/docs/provider-index.md, answer from it |
User asks about an incus_* resource | Open incus-tf/references/docs/index.md, find resource, open linked incus-tf/references/docs/resources/<resource>.md, answer from it |
User asks about an incus_* data source | Open incus-tf/references/docs/index.md, find data source, open linked incus-tf/references/docs/data-sources/<datasource>.md, answer from it |
| User asks to generate Terraform config | Verify every resource/data source type and its arguments against its reference file |
| User asks about provider-supported features | Consult relevant resource/data source doc and provider-index.md |
| Not in references | "This is not covered in the bundled terraform-incus provider reference documentation." |
Documentation Pages
Provider
| Page | Summary |
|---|---|
| provider-index | Provider configuration, authentication, remotes, environment variables |
Resources
| Page | Summary |
|---|---|
| certificate | Manage Incus client certificates |
| cluster_group | Manage Incus cluster groups |
| image | Manage locally-stored Incus images |
| instance | Manage Incus instances (containers and VMs) |
| instance_snapshot | Manage Incus instance snapshots |
| network | Manage Incus networks |
| network_acl | Manage Incus network ACLs |
| network_address_set | Manage Incus network address sets |
| network_forward | Manage Incus network forwards |
| network_integration | Manage Incus network integrations |
| network_load_balancer | Manage Incus network load balancers |
| network_peer | Manage Incus network peers |
| network_zone | Manage Incus network zones |
| network_zone_record | Manage Incus network zone records |
| profile | Manage Incus profiles |
| project | Manage Incus projects |
| server | Manage Incus server configuration |
| storage_bucket | Manage Incus storage buckets |
| storage_bucket_key | Manage Incus storage bucket keys |
| storage_pool | Manage Incus storage pools |
| storage_volume | Manage Incus storage volumes |
Data Sources
| Page | Summary |
|---|---|
| cluster | Query Incus cluster information |
| image | Query locally-stored Incus images |
| instance | Query Incus instances |
| network | Query Incus networks |
| network_acl | Query Incus network ACLs |
| network_address_set | Query Incus network address sets |
| network_forward | Query Incus network forwards |
| network_integration | Query Incus network integrations |
| network_load_balancer | Query Incus network load balancers |
| network_peer | Query Incus network peers |
| network_zone | Query Incus network zones |
| profile | Query Incus profiles |
| project | Query Incus projects |
| storage_bucket | Query Incus storage buckets |
| storage_pool | Query Incus storage pools |
| storage_volume | Query Incus storage volumes |
Guardrails
Must: Consult references before every incus_* claim · cite reference file path · verify every resource type, argument, and attribute exists before using · open specific doc file for exact resource/data source.
Must not: Invent resource types, arguments, or configuration options · guess HCL syntax for incus resources · output unverified incus_* blocks · reference non-existent documentation paths.
Priority: [1] Exact resource/data source doc text > [2] Provider overview > [3] No answer
Edge Cases
| Situation | Response |
|---|---|
| Missing reference files | Refuse: "terraform-incus provider reference files not found." |
| Resource exists but argument not in doc | Don't use the argument |
| Feature not in docs | "Not covered in bundled terraform-incus provider reference documentation." |
| User asks about incus CLI (not Terraform) | "This skill covers the Terraform Incus provider, not the incus CLI. Use the incus-doc skill for CLI questions." |
| User asks about non-Incus Terraform provider | "This skill only covers the lxc/incus Terraform provider." |
| Complex config with many resources | Verify each resource type and its arguments independently |
Self-Check (run before returning)
- Correctness — every
incus_*resource/data source/argument verified against a reference file - Format — output contains reference file paths for traceability
- Safety — no fabricated Terraform resources or arguments
- Completeness — all incus Terraform-related parts addressed
If a check fails after 2 attempts: Refuse with "Unable to ground the answer in the terraform-incus provider reference documentation."
Examples
Good: User asks "How do I create an incus container with Terraform?" → Agent opens incus-tf/references/docs/index.md, finds instance resource → incus-tf/references/docs/resources/instance.md, reads arguments (name, image, type), answers with verified HCL.
Bad: User asks "Use incus_init resource" → Agent guesses incus_init is valid, but it doesn't exist in the reference files. Correct: use incus_instance.
Change log
- v1.0.0 — initial: Ground all terraform-incus provider AI output in bundled offline documentation to eliminate hallucinations.