using-asset-folderslisted
Install: claude install-skill Nagellabs/libi
# Using Asset Folders
Every uploaded or generated file is its own **asset**. There is no "options" slot and no "default file" — that model is gone. To keep related assets together, group them into **folders**.
## Core principles
1. **One asset = one file.** Each generated or uploaded file is a standalone asset. Never try to recreate "options" or a "default file" — those concepts no longer exist.
2. **A single standalone asset stays at the scope root** (no folder). Don't create a folder for a lone file.
3. **Group related assets into a folder** whenever you produce MULTIPLE related assets in one flow — an extend chain, several concept/style variations of one image or video, a batch of takes. Create the folder ONCE, then upload each file with that `folderId`.
## Workflow: producing multiple related assets
When a flow will generate more than one related asset (an extend chain, 2–3 style variants, a batch of takes):
1. Create the folder once:
```
libi.create_asset_folder({ pieceId, name: "<beat / product / concept name>" })
→ returns { folderId }
```
2. Upload each produced file into it:
```
libi.upload_file({ pieceId, filePath, folderId, aiGeneration, ... })
```
(`folderId` replaces the old `attachToAssetId` argument.)
The folder is just an organizational container — the composition still references whichever individual file you chose, by `fileId`.
## Browsing & reorganizing
- **List one level:** `libi.list_assets({ pieceId, folderId? })` → `{