skills/algorand-python/SKILL.md
Develops Algorand smart contracts in Python using PuyaPy — covers syntax, decorators, storage, transactions, types, testing with pytest, deployment, AlgoKit Utils, ARC-4/ARC-56 standards, and error troubleshooting. Use when writing algopy contracts, using @arc4.abimethod decorators, working with GlobalState or BoxMap in Python, testing with AlgorandClient, deploying or calling contracts from Python, or diagnosing PuyaPy compiler and transaction errors.
npx skillsauth add algorand-devrel/algorand-agent-skills algorand-pythonInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Write, test, deploy, and troubleshoot Algorand Python smart contracts.
# Create Python project
algokit init -n my-project -t python --answer preset_name production --defaults
# Development cycle
cd my-project
algokit project run build # Compile contracts with PuyaPy
algokit project run test # Run pytest tests
algokit localnet start # Start local network
algokit project deploy localnet # Deploy
algorand-core skill for the foundational mental modelalgopy imports@arc4.abimethod for public ABI methods, @arc4.baremethod for bare calls.copy() mutable values — call .copy() when appending to or storing mutable types: ARC-4 (arc4.Struct, arc4.DynamicArray) and native (algopy.Array, algopy.FixedArray, algopy.Struct)Read the specific reference file for your task. Each file is self-contained.
arc4.UInt64, arc4.String, Bytes, UInt64), ARC-4 encoding, native vs ARC-4 conversionsGlobalState, LocalState, Box, BoxMap, BoxRef, MBR funding patterns@arc4.abimethod, @arc4.baremethod, @subroutine, lifecycle methods, visibility, ARC4Contract vs Contractitxn), group transactions, fee poolingAlgorandClient setup, typed client testing, box funding, multi-user testsAlgorandClient API, accounts, transactions, groups, amount helpersSearch these repositories for real-world code examples:
algorandfoundation/devportal-code-examples — Primary examples in projects/python-examples/smart_contracts/ (HelloWorld, BoxStorage, etc.)algorandfoundation/puya — Compiler examples in examples/ (hello_world_arc4, voting, amm)algorandfoundation/algokit-python-template — AlgoKit project templatealgorandfoundation/algokit-utils-py — AlgoKit Utils Python SDKalgorand-core skill first for AVM mental modelalgorand-project-setup skillalgorand-frontend skilltools
Guide for writing TypeScript code with AlgoKit Utils (`@algorandfoundation/algokit-utils`). Use this skill whenever the user is building on Algorand with TypeScript — client setup, account management, payments, asset operations, atomic transaction groups, smart contract deployment and interaction (AppFactory, AppClient, ARC-56/ARC-32 specs), raw app calls, key registration, network management, testing with algorandFixture, error handling, and the low-level crypto primitives under `@algorandfoundation/algokit-utils/crypto` (Ed25519 keygen/signing/verification, SHA-512/256 `hash`, Peikert xHD BIP44 wallets, wrapped-secret patterns). Trigger on imports from `@algorandfoundation/algokit-utils` (incl. `/crypto`, `/testing`, `/transact` subpaths), references to `AlgorandClient`, `AppFactory`, `AppClient`, `AlgoAmount`, `algorandFixture`, `ed25519Generator`, `peikertXHdWalletGenerator`, `hash`, `WrappedEd25519Seed`, or `RawEd25519Signer`. Also on any TypeScript or JavaScript code that builds on Algorand.
tools
Guide for writing Python code with AlgoKit Utils (`algokit-utils`). Use this skill whenever the user is building on Algorand with Python — client setup, account management, payments, ASA operations, atomic transaction groups, smart contract deployment and interaction (AppFactory, AppClient, ARC-56/ARC-32 specs), raw app calls, TEAL compilation, key registration, network management, error handling, and the low-level crypto primitives in `algokit_crypto` (Ed25519 keygen/signing/verification, Peikert xHD BIP44 wallets, wrapped-secret patterns) and `algokit_common` (`sha512_256`). Trigger on imports from `algokit_utils` or `algokit_crypto`, references to `AlgorandClient`, `AppFactory`, `AppClient`, `AlgoAmount`, `ed25519_generator`, `peikert_hd_wallet_generator`, `sha512_256`, `WrappedEd25519Seed`, or `RawEd25519Signer`, or any Python code that builds on Algorand.
tools
Builds x402 HTTP-native payment applications on Algorand using TypeScript. Covers clients (fetch, axios), servers (Express, Hono), facilitators, paywalls, Next.js integration, and the @x402-avm core library. Use when implementing x402 payment flows in TypeScript, creating payment-gated APIs, building x402 facilitators or paywalls, or integrating @x402-avm packages.
tools
Builds x402 HTTP-native payment applications on Algorand using Python. Covers clients (httpx, requests), servers (FastAPI, Flask), facilitators, Bazaar discovery, and the x402-avm core library. Use when implementing x402 payment flows in Python, creating payment-gated APIs, building x402 facilitators, or integrating x402-avm packages.