intersystems-community/iris-agentic-dev/iris-cpf-merge
Claude Code and agent skill by intersystems-community/iris-agentic-dev
- community
Checking that the SKILL.md file is still in the repository.
Use when configuring IRIS containers via CPF merge files (ISC_CPF_MERGE_FILE). Covers CPFPreset patterns, the grongierisc template pattern, how to set a password at first boot (and why a merge line cannot do it safely), and common CPF merge mistakes. Load when: setting up IRIS Docker containers, debugging ChangePassword errors, or customizing IRIS startup configuration without docker exec.
Install
npx vskill@latest install intersystems-community/iris-agentic-dev/iris-cpf-mergeSKILL.md
IRIS CPF Merge
What it is: A merge.cpf file processed by IRIS at startup (before the superserver opens) via the ISC_CPF_MERGE_FILE environment variable. Enables zero-docker exec configuration of users, services, memory, and namespaces.
HARD GATE
- Set
ChangePassword=0orPasswordNeverExpires=1only on an account whose password you have already replaced. On a fresh container the password is the published defaultSYS, and clearing its expiry makesSYSwork, for good, for anyone who can reach the container. - A merge line cannot set a generated password. Set it with
-e IRIS_PASSWORDor with step 4 of theiris-agentic-dev-setupskill (see "Setting the \_SYSTEM password" below). - CPF merge fires before IRIS opens the superserver — this is a feature, not a limitation
- Publish container ports on
127.0.0.1only (-p 127.0.0.1:<host>:<container>), the same as every other setup path. - Ask before running a merge file against a container that already exists: it is someone's work, and the merge runs at first boot only.
Standard Presets (iris-devtester CPFPreset)
grongierisc Template Pattern
From iris-fhir-facade-and-repo-template:
CPF Actions Reference
Setting the \_SYSTEM password
A merge file is the wrong place for a password you generated. Measured on intersystemsdc/iris-community:2026.2: PasswordHash= lines built from a generated password (PBKDF2 hashes, hex and base64, with and without the algorithm and work-factor fields) either were ignored or left _SYSTEM with a password nobody knew. Security.Users has no GeneratePasswordHash method, and the hash that CPFPreset.SECURE_DEFAULTS ships is the hash of SYS. Do not copy it.
Two ways that do work, both measured on a fresh container:
- Generate a password on the host and send the change on
docker exec -istdin, as step 4 of theiris-agentic-dev-setupskill does. The password never reaches a command line or a file.
Either way the merge file keeps to services, namespaces and databases, and every other predefined account stays expired.
iris-devtester Usage
Anti-Patterns
Do not patch only SuperUser and call it done: with the default password, _SYSTEM stays blocked until it has its own new password, and that is a password change, not an expiry flag. Do not patch both accounts' expiry either. That is what SECURE_DEFAULTS does, and it leaves two %All accounts open with the published password.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/skills/iris-cpf-merge/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/intersystems-community/iris-agentic-dev/iris-cpf-merge)