Install and Use the IaC Code Skill
The IaC Code Skill lets a compatible agent delegate Alibaba Cloud infrastructure work to IaC Code. You can use it to plan cloud architectures, generate or review ROS and Terraform templates, estimate costs, select existing resources, operate ROS stacks, and deploy resources. The package includes its own verified IaC Code Runtime, so you do not need to install IaC Code separately.
Download
Download the latest iac-code-skill.zip
This fixed URL always points to the latest stable Skill package. Automated installers can read
latest.json
to obtain the current version, immutable download URL, file size, and SHA-256 digest. For reproducible installation,
download skill.url from that file and verify skill.sha256.
Install
Before installing, make sure that:
- Your agent supports local Skills defined by
SKILL.md. - CPython 3.8–3.14 is available. Use
python3on macOS or Linux andpy -3on Windows. - The environment can access the download URL on first use.
Official Runtime packages support macOS on Apple Silicon, Linux x86_64, and Windows x86_64. The Runtime checks the operating-system and ABI requirements before it is downloaded.
Extract the ZIP into the Skill directory documented by your agent. The archive already contains the top-level
iac-code/ directory, so the final layout must be:
<Agent Skill root>/
└── iac-code/
├── SKILL.md
├── agents/
│ └── openai.yaml
└── scripts/
└── iac_code.py
Common host locations:
- Codex: extract to
~/.agents/skills/iac-code/for all projects, or<repository>/.agents/skills/iac-code/for one repository. See the Codex Skills documentation. - Claude Code: extract to
~/.claude/skills/iac-code/for all projects, or<repository>/.claude/skills/iac-code/for one repository. See the Claude Code Skills documentation.
Restart the agent or open a new session after installation. To verify the Runtime in advance, run the following
command from the extracted iac-code directory.
macOS or Linux:
python3 scripts/iac_code.py ensure-runtime
Windows PowerShell:
py -3 scripts\iac_code.py ensure-runtime
On first use, the bridge downloads the Runtime for the current platform and verifies its size and SHA-256 digest. Later tasks reuse the verified local copy.
Configure the Model and Alibaba Cloud Identity
The Skill uses the standard IaC Code configuration directory, ~/.iac-code/ by default. If you already configured
IaC Code in the REPL, Web app, or Desktop app, the Skill reuses those settings. You can set IAC_CODE_CONFIG_DIR to
select another configuration directory.
For automated environments, inject model settings and Alibaba Cloud credentials through a secret-management
solution. Do not place credentials in SKILL.md, prompts, project files, or shell history. Prefer temporary
credentials, RAM roles, or OAuth and grant only the permissions needed by the task.
See LLM Providers and Alibaba Cloud Credentials for configuration options and supported environment variables.
Choose How to Work
The Skill chooses between two modes according to the request:
- Normal mode is the default for resource queries and changes, template work, troubleshooting, and deployment of a clear target.
- Pipeline mode is used when you explicitly request it or need candidate architectures, cost comparison, plan confirmation, and deployment as one guided process.
You normally do not need to select a mode yourself. Describe the outcome you want, and mention Pipeline mode only when you want the solution-comparison workflow.
First Use
Open a new session in the host agent and describe an Alibaba Cloud infrastructure task. For example:
Use iac-code to review the ROS template in this project. List security risks and recommended changes without modifying the file.
Use $iac-code to select the Skill explicitly in Codex, or /iac-code in Claude Code. On the first request, the agent verifies the model
and cloud configuration, prepares the Runtime, and starts the task. You do not need to start an A2A server manually.
IaC Code may pause and ask you to:
- approve or deny a tool or deployment operation (
permission); - answer a question (
ask_user_question); - choose a proposed architecture (
candidate_selection); or - review the final solution, price, and deployment parameters, then confirm, adjust, reselect, or cancel
(
deployment_confirmation).
Always review the target resources, region, impact, and quoted price before answering. A deployment request does not pre-approve the later deployment confirmation. After a task finishes, you can continue with a follow-up request in the same agent session; the Skill keeps the IaC Code conversation context.
IaC Code can return progress and questions in English, Simplified Chinese, Spanish, French, German, Japanese, or Portuguese according to the conversation language.
Update and Uninstall
To update manually, download the stable ZIP again and replace the complete iac-code/ directory. Restart the host
agent or open a new session so it reloads the Skill. Do not replace only the bridge script or edit its Runtime URL and
digest.
To uninstall, remove iac-code/ from the host agent's Skill directory. Downloaded Runtime packages remain in the IaC
Code configuration directory so other installations and active tasks are not disrupted. If you also want to remove
those packages, first run cache list, review the result, and then run cache clean ... --confirm.
Troubleshooting
Configuration is incomplete
If the model provider or API key is incomplete, the Skill returns llm_not_configured before starting a task. Both
Pipeline workflows require Alibaba Cloud credentials and return cloud_credentials_not_configured when they are
missing. Normal mode can still perform work that does not call cloud APIs and reports a warning when cloud operations
are unavailable.
The Runtime cannot start
Run ensure-runtime and check the returned error. Confirm the host Python version, operating system, architecture,
network access, and proxy settings. An incompatible_host result means the machine does not meet the Runtime
requirements; update or move to a supported host instead of installing an unrelated package or Runtime.
The task pauses or was interrupted
A pause usually means IaC Code is waiting for a question, permission, candidate selection, or deployment confirmation; it is not a failure. Answer the request shown by the agent. If the host session is still available after an interruption, ask it to continue the same task so it can recover the existing job instead of starting over.
Manage Runtime disk usage
From the installed Skill directory, use:
python3 scripts/iac_code.py cache listto inspect installed Runtime packages;python3 scripts/iac_code.py cache clean --runtime-tag <tag> --confirmto remove one historical Runtime; orpython3 scripts/iac_code.py cache clean --candidates --confirmto remove candidate packages.
The current Runtime and packages used by a live process are protected from cleanup. On Windows, replace python3
with py -3.
Security
- The Runtime listens only on a random
127.0.0.1port and uses a new Bearer token for each process. - Task artifacts and result files stay in the selected workspace, under
.iac-code-skill-results/when applicable. - Readiness and permission summaries are sanitized and do not include credential values.