aztecprotocol/aztec-private-escrow-skills/scaffold-escrow-project
Claude Code and agent skill by aztecprotocol/aztec-private-escrow-skills
- community
Checking that the SKILL.md file is still in the repository.
Scaffold generalized Aztec private escrow projects from scratch: secret contracts, contract-owned shared private state, Noir contracts, TypeScript SDK, and Bun localnet tests. Use for private escrow systems, atomic swaps, or escrow protocol prototypes.
Install
npx vskill@latest install aztecprotocol/aztec-private-escrow-skills/scaffold-escrow-projectSKILL.md
Scaffold Aztec Private Escrow Project
Create a contracts + TypeScript SDK project for Aztec private escrows. The default preset is an OTC atomic onchain settlement, but adapt it for other escrow shapes while preserving secret deployment, contract-owned shared private state, explicit roles, and phase-driven lifecycle state.
Prerequisites
- Aztec CLI
5.1.0 - Bun
- Localnet on
http://localhost:8080for tests:aztec start --local-network
Load References As Needed
references/design-intake.md- phase/timing/config-state questions for fresh or ambiguous designs.references/private-state-and-handoff.md- contract secret key, shared private notes, role-secret boundary.references/secret-contracts.md- deploying with thepublicKeysinstantiation option, secret key registration, participant handoff.references/lifecycle-phases.md-OPEN,VOID,ACCEPTED,SETTLEMENT_IN_PROGRESS,FILLED.references/manifest-schema.md- minimal escrow manifest and encrypted transport.references/testing-strategy.md- Bun/localnet test layout and required cases.references/escrow-design-space.md- choosing a non-OTC escrow shape.
For Noir/Aztec behavior, use the Aztec developer and Noir developer companion skills when available.
Intake Rule
Before scaffolding a fresh project or changing lifecycle/config/state shape, load references/design-intake.md. A project is fresh when the target directory is missing, or it lacks packages/contracts/Nargo.toml and packages/contracts/src/main.nr.
For a fresh project, say once: This skill is best used in Plan mode first. If the user declines Plan mode, continue with explicit conservative assumptions.
Scaffold Workflow
- Create the target directory. If
.gitis missing, rungit initbefore dependency install becausedeps/aztec-standardsis a submodule. - Copy
templates/project/into the target, including dotfiles. - Register the submodule with git, not by writing
.gitmodulesalone. The pin is a tag, so add the submodule on the default branch and letscripts/token.tscheck out the pinned tag:
- Adapt package names and imports. Use a scoped contracts package such as
@aztec-otc-desk/contracts; update bothpackages/contracts/package.jsonandpackages/contracts/tsconfig.jsonpaths. - Adapt Noir files in
templates/project/packages/contracts/src/and TS SDK files intemplates/project/packages/contracts/ts/src/for the requested escrow. - Run
bun install; the rootpostinstallbuilds/copies the aztec-standards token artifact. - Build from
packages/contractswithbun run build.
Do not scaffold an API, CLI, orderflow service, frontend, or runnable demo app for now.
Template Map
templates/project/- canonical scaffold files, including package files, scripts, Noir source, TS SDK, and Bun setup shim.../write-escrow-contract/templates/contract-template.md- how to adapt the real Noir contract files.../write-escrow-contract/templates/config-note-template.md- immutable config rules.../write-escrow-contract/templates/state-note-template.md- required mutable lifecycle state rules.../write-escrow-contract/templates/order-filled-event-template.md- required fill receipt event.../write-escrow-contract/references/role-restriction-patterns.md- caller-sampled role secrets andRoleAddedrecovery events.../write-escrow-contract/references/token-primitive-adapters.md- selected-token private transfer/commitment mapping.
Testing Scope
Generated projects use TypeScript/Bun tests only. Keep package.json free of Aztec.nr/TXE scripts.
The contracts package test script must stay targeted:
Do not let Bun recursively discover deps/aztec-standards tests. Do not add escrow.test.ts from this skill until the user provides the current generated example.
When generating tests, keep the test cases in packages/contracts/ts/test/escrow.test.ts, but put reusable helpers in packages/contracts/ts/test/utils/utils.ts. If utilities grow large, split additional files under packages/contracts/ts/test/utils/ and re-export them from utils.ts.
Documentation Style
Document generated code aggressively. Above every generated function, class method, exported type helper, and test utility, use full JSDoc with a description, blank line, @param for each parameter, and @returns for non-void returns:
Inside longer functions/tests, mark each logical phase with step comments, for example // Step 1: Fund maker asset into escrow during construction. Comments should explain protocol intent, privacy assumptions, and why the step exists, not restate single-line syntax.
Non-Negotiables
- Target Aztec
5.1.0, Bun,EmbeddedWallet, workspace catalog pinning, package imports, and NodeNext.jssuffixes. - Generate contracts, TypeScript SDK, and TypeScript/Bun tests only.
- Use secret contract handoff through
EscrowManifest: address, serialized instance, required contract secret key, creation block, optional tx hash. - Use contract-owned
ConfigNote/StateNotewith storage ownerself.address; do not add manual noteowneror randomness fields. - Use caller-sampled role secrets and caller-bound pseudonyms; emit
RoleAdded { secret }to the caller only. - Use constructor funding plus
StateNotefor all phase/cancel/fill state and avoid custom fill/funding nullifiers by default. - Emit
OrderFilled { filled: true }on every fill; add extra payload fields only when intake explicitly confirms event-carried data.
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/scaffold-escrow-project/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/aztecprotocol/aztec-private-escrow-skills/scaffold-escrow-project)