This `SKILL.md` is a portable, agent-agnostic operating manual for building confidential smart contracts with Zama's FHEVM. It is designed to let AI coding agents go from a natural-language prompt to correct Solidity, tests, and frontend integration without requiring the developer to already know FH
SkillScore95Maintained
Automatic
◆Coding pack
Last verified 8/3/2026
What it changes
Passed 21 of 22 test cases with the skill, and 5 of 22 without it.
Without skill23%
With skill95%
Checks it passed that the model alone missed
calls initSDK function
inherits ERC7984 contract
calls FHE.asEuint64 function
and 33 more in the full report
16 fixed5 passed either way1 still failing0 broke
Pass-rate lift
+73 pp
Tokens
+431%
Agent turns
0%
Response time
-33%
Model gemini-3.6-flashMeasured 8/3/2026v121 of 22 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 16 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 16
Prompt
Write a Solidity statement that performs a logical right shift of 3 bits on an encrypted 32-bit integer variable encVal using FHEVM operations.
What was checked, without and with the skill
Checked
Without skill
With skill
calls FHE.shr with shift distance argument
Missed
Passed
case-22 · gemini-3.6-flash · 8/3/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md1099 linessingle file
FHEVM Agent Skill — Confidential Smart Contract Development
For AI coding agents: Claude Code, Cursor, Windsurf, GitHub Copilot
SUBMISSION SNAPSHOT
This SKILL.md is a portable, agent-agnostic operating manual for building confidential smart contracts with Zama's FHEVM. It is designed to let AI coding agents go from a natural-language prompt to correct Solidity, tests, and frontend integration without requiring the developer to already know FHE-specific patterns.
What This Skill Enables
Confidential Solidity contracts using encrypted FHEVM types such as ebool, euint64, and eaddress
Correct handling of encrypted user inputs through externalEuintXX values and input proofs
Safe encrypted branching with FHE.select instead of plaintext if / require logic
Correct ACL handling with FHE.allowThis, FHE.allow, and transient permissions
Private user decryption through the Zama Relayer SDK and EIP-712 signatures
Public asynchronous decryption through Gateway callbacks
End-to-end examples for tokens, auctions, voting, tests, and frontend flows