# Cairo Storage Vecs

> Explain Starknet storage vectors with VecTrait and MutableVecTrait, element addressing, and operations; use when a request involves Vec-based storage in Cairo contracts.

- Skill: `teddyjfpender/cairo-storage-vecs` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add teddyjfpender/cairo-storage-vecs`
- Raw SKILL.md: https://api.skillmd.com/api/skills/teddyjfpender/cairo-storage-vecs/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: teddyjfpender (https://skillmd.com/u/teddyjfpender)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/teddyjfpender/cairo-storage-vecs

---


# Cairo Storage Vecs

## Overview
Explain how storage vectors are modeled and accessed in Cairo smart contracts.

## Quick Use
- Read `references/storage-vecs.md` before answering.
- Use `Vec<T>` only inside the storage struct.
- Use `len`, `get`, `at`, `append`, and `pop` from the trait APIs.

## Response Checklist
- Mention that the length is stored at the base slot.
- Explain element slot derivation from the base address and index.
- Note that Vec types are storage-only and cannot be instantiated as normal variables.

## Example Requests
- "How do I append to a storage Vec?"
- "How is the element address computed for a storage Vec?"
- "Why can't I create Vec in a function?"

