# Zama agent skills (bounty pack)

Distilled **Cursor-style** agent skills for Zama **`@zama-fhe/*`** browser and Node integration. Each skill lives under `skills/<name>/SKILL.md` with YAML frontmatter (`name`, `description`).

**Canonical protocol documentation:** [https://docs.zama.org/protocol/latest](https://docs.zama.org/protocol/latest)

**Primary technical mirrors in this workspace:** [`md-files/`](../md-files/) (guides and reference pages), kept alongside this repo when you work from the parent checkout.

There are **27** skill folders under `skills/`. The static bounty site (`bounty-website/`) mirrors them via **`npm run sync:bounty-site`** so previews work from a single folder.

## CLI index

From this directory:

```bash
npm run skills:table
```

prints the same catalog as the table below.

## Skill index (27 folders)

| Track | Skill folder | Summary |
|---|---|---|
| Start / integration | [`zama-fhevm-developer-hub`](skills/zama-fhevm-developer-hub/SKILL.md) | Topic map, bounty checklist |
| Start / integration | [`zama-relayer-integration-hub`](skills/zama-relayer-integration-hub/SKILL.md) | Which SDK when (browser vs Node) |
| FHEVM core | [`zama-fhevm-architecture`](skills/zama-fhevm-architecture/SKILL.md) | Protocol mental model, coprocessor |
| FHEVM core | [`zama-fhevm-solidity-types`](skills/zama-fhevm-solidity-types/SKILL.md) | euint8…eaddress, ebool |
| FHEVM core | [`zama-fhevm-solidity-operations`](skills/zama-fhevm-solidity-operations/SKILL.md) | FHE ops, conditionals |
| FHEVM core | [`zama-fhevm-access-control`](skills/zama-fhevm-access-control/SKILL.md) | allow, allowThis, allowTransient |
| FHEVM core | [`zama-fhevm-input-proofs`](skills/zama-fhevm-input-proofs/SKILL.md) | Ciphertext handles, proofs |
| FHEVM core | [`zama-fhevm-hardhat-workflow`](skills/zama-fhevm-hardhat-workflow/SKILL.md) | Hardhat + plugin, compile, deploy |
| FHEVM core | [`zama-fhevm-foundry-workflow`](skills/zama-fhevm-foundry-workflow/SKILL.md) | Forge, soldeer, forge-fhevm, build/test/deploy |
| FHEVM core | [`zama-fhevm-testing`](skills/zama-fhevm-testing/SKILL.md) | Hardhat tests, encrypted inputs |
| FHEVM core | [`zama-fhevm-anti-patterns`](skills/zama-fhevm-anti-patterns/SKILL.md) | Views + encrypted, missing allow |
| FHEVM core | [`zama-hardhat-fhevm-contracts`](skills/zama-hardhat-fhevm-contracts/SKILL.md) | @fhevm/hardhat-plugin, wrapper vs euint64 |
| Decrypt / client | [`zama-fhevm-user-decryption-eip712`](skills/zama-fhevm-user-decryption-eip712/SKILL.md) | User decrypt flow, EIP-712 |
| Decrypt / client | [`zama-fhevm-public-decryption`](skills/zama-fhevm-public-decryption/SKILL.md) | Public decrypt, signatures |
| Decrypt / client | [`zama-fhevm-frontend-integration`](skills/zama-fhevm-frontend-integration/SKILL.md) | Package naming matrix |
| Decrypt / client | [`zama-react-zama-sdk`](skills/zama-react-zama-sdk/SKILL.md) | ZamaProvider, RelayerWeb, ViemSigner |
| Decrypt / client | [`zama-react-sdk-wagmi-viem`](skills/zama-react-sdk-wagmi-viem/SKILL.md) | wagmi/viem tree, hooks, md-files alignment |
| Decrypt / client | [`zama-relayer-sdk-browser`](skills/zama-relayer-sdk-browser/SKILL.md) | CDN Relayer SDK, Sepolia |
| Decrypt / client | [`zama-fhe-sdk-relayer-node`](skills/zama-fhe-sdk-relayer-node/SKILL.md) | @zama-fhe/sdk RelayerNode server |
| Decrypt / client | [`zama-relayer-sdk-proxy`](skills/zama-relayer-sdk-proxy/SKILL.md) | Backend HTTP encrypt/decrypt API |
| Decrypt / client | [`zama-relayer-proxy-railway-deploy`](skills/zama-relayer-proxy-railway-deploy/SKILL.md) | Railway, ZAMA_FHEVM_API_KEY |
| Decrypt / client | [`zama-relayer-web-http-proxy`](skills/zama-relayer-web-http-proxy/SKILL.md) | RelayerWeb + backend proxy, CORS, no keys in VITE |
| Decrypt / client | [`zama-sdk-dependency-versions`](skills/zama-sdk-dependency-versions/SKILL.md) | npm view pinning for @zama-fhe/* and @fhevm/* |
| Tokens / OZ | [`zama-erc7984-confidential-tokens`](skills/zama-erc7984-confidential-tokens/SKILL.md) | ERC-7984 wrap / transfer |
| Tokens / OZ | [`zama-openzeppelin-confidential-contracts`](skills/zama-openzeppelin-confidential-contracts/SKILL.md) | OZ ERC-7984, vesting, payroll patterns, voting excerpts |
| Safe / ops | [`zama-multisig-safe-fhevm`](skills/zama-multisig-safe-fhevm/SKILL.md) | Safe, multisig, ACL, explorers |
| Safe / ops | [`zama-fhevm-troubleshooting`](skills/zama-fhevm-troubleshooting/SKILL.md) | Common errors and fixes |

## Quick “which skill?”

- **“Where does the API key go?” / “CORS to my proxy fails?”** → **`zama-relayer-web-http-proxy`** (and [`md-files/guides/authentication.md`](../md-files/guides/authentication.md)).
- **“Hook order / signer / two txs on shield?”** → **`zama-react-sdk-wagmi-viem`** (plus [`md-files/guides/configuration.md`](../md-files/guides/configuration.md), [`md-files/guides/shield-tokens.md`](../md-files/guides/shield-tokens.md)).
- **“What version should I install?”** → **`zama-sdk-dependency-versions`**.

## Bounty static site

```bash
npm run sync:bounty-site
npx --yes serve bounty-website -p 4173
```

Then open `http://127.0.0.1:4173/` — skill counts and navigation in `bounty-website/index.html` track the **27** folders above.

## Installing into Cursor

Copy or symlink the desired `skills/*` folders into your project `.cursor/skills/` or personal skills directory, following [Cursor skills documentation](https://cursor.com/docs).
