skills/cli/filesets/SKILL.md
Use community-domo-cli to create, discover, browse, upload, download, and query files in Domo FileSets from the command line. Use this whenever the user needs to interact with Domo FileSets via CLI or automation — including listing filesets, browsing file directories, pulling files locally, pushing binary files, or running AI queries over file content.
npx skillsauth add stahura/domo-ai-vibe-rules fileset-cliInstall 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.
FileSets are Domo's managed file storage containers. Each fileset holds files organized in directory paths with metadata, access controls, and optional AI-powered search.
Prerequisites: Set up a profile once with community-domo-cli config set-profile — see the community-cli-howto skill for the full setup. After that, all commands below work without any extra flags.
|---------|-------------|
| filesets search | List/search filesets; filter by name |
| filesets get <fileset_id> | Fetch fileset metadata |
| filesets create --name <name> | Create a new fileset container |
| Command | What it does |
|---------|-------------|
| filesets files-search <fileset_id> | List/search files; filter by name, directory, pagination |
| filesets file-get <fileset_id> <file_id> | Fetch a single file's metadata by UUID |
| filesets file-get-by-path <fileset_id> --path <path> | Fetch a file's metadata by its path |
| filesets download <fileset_id> <file_id> --output <path> | Download file bytes to a local path |
| filesets upload <fileset_id> --file-path <path> | Upload a binary file into a fileset directory |
| filesets query <fileset_id> --query <text> | AI semantic search over file content |
All IDs are UUIDs. Delete operations are intentionally excluded.
# List all (sorted by most recently updated)
community-domo-cli filesets search
# Filter by name
community-domo-cli filesets search --name "Monthly Reports"
# Paginate
community-domo-cli filesets search --limit 25 --offset 25
Response includes an array of fileset objects:
[
{
"id": "abc123-fileset-id",
"name": "Monthly Reports",
"description": "Automated PDF outputs",
"created": "2024-01-15T10:00:00Z",
"createdBy": 12345
}
]
community-domo-cli filesets get abc123-fileset-id
community-domo-cli filesets create --name "Q1 Reports" --description "Quarterly output files"
Prompts for confirmation unless --yes is passed. Returns the new fileset object including its ID.
This is the primary way to discover file IDs before downloading:
# List all files in a fileset
community-domo-cli filesets files-search abc123-fileset-id
# Browse a specific directory
community-domo-cli filesets files-search abc123-fileset-id \
--directory-path /reports/2024
# List only direct children (non-recursive)
community-domo-cli filesets files-search abc123-fileset-id \
--directory-path /reports --immediate-children
# Filter by filename
community-domo-cli filesets files-search abc123-fileset-id --name ".pdf"
# Paginate using the next token from a previous response
community-domo-cli filesets files-search abc123-fileset-id \
--next-token <token-from-pageContext.next>
Response shape:
{
"files": [
{
"id": "xyz789-file-id",
"path": "/reports/2024/march.pdf",
"name": "march.pdf",
"contentType": "application/pdf",
"size": 204800,
"created": "2024-03-01T08:00:00Z",
"createdBy": 12345
}
],
"pageContext": {
"next": "pagination-token-or-null",
"offset": 0,
"limit": 100,
"total": 42
}
}
# By UUID
community-domo-cli filesets file-get abc123-fileset-id xyz789-file-id
# By path (useful when you know the directory structure)
community-domo-cli filesets file-get-by-path abc123-fileset-id \
--path /reports/2024/march.pdf
community-domo-cli filesets download abc123-fileset-id xyz789-file-id \
--output ./downloads/march.pdf
Preview without writing:
community-domo-cli --dry-run filesets download abc123-fileset-id xyz789-file-id \
--output ./march.pdf
# Upload to root of fileset
community-domo-cli filesets upload abc123-fileset-id \
--file-path ./report.xlsx
# Upload to a specific directory
community-domo-cli filesets upload abc123-fileset-id \
--file-path ./report.xlsx \
--directory-path /reports/2024
Always dry-run first on unfamiliar filesets:
community-domo-cli --dry-run filesets upload abc123-fileset-id \
--file-path ./report.xlsx \
--directory-path /reports/2024
Dry-run shows filename, byte size, and target directory without uploading. Prompts for confirmation on live runs unless --yes is passed.
Requires the fileset to have aiEnabled: true. Runs a natural-language question against the file content:
community-domo-cli filesets query abc123-fileset-id \
--query "What were the key revenue drivers last quarter?"
# Restrict to a directory and return more matches
community-domo-cli filesets query abc123-fileset-id \
--query "Any mentions of churn risk?" \
--directory-path /reports/2024 \
--top-k 10
Response:
{
"matches": [
{
"id": "xyz789-file-id",
"node": { "id": "...", "name": "q4-analysis.pdf", "path": "/reports/2024/q4-analysis.pdf" },
"score": 0.89
}
]
}
# 1. Find the right fileset
community-domo-cli filesets search --name "Monthly Reports"
# 2. Browse its files
community-domo-cli filesets files-search abc123-fileset-id --directory-path /reports/2024
# 3. Download the file you want
community-domo-cli filesets download abc123-fileset-id xyz789-file-id \
--output ./march.pdf
All commands support --output-format (default: json):
community-domo-cli --output-format yaml filesets search
community-domo-cli --output-format table filesets files-search abc123-fileset-id
For interacting with FileSets from within a Domo custom app (upload/download from the browser, AI query, etc.), see the fileset-api skill.
tools
Step-by-step orchestrator for building Domo App Studio apps with native KPI cards via community-domo-cli. Sequences app creation, pages, theme, hero metrics, native charts, filter cards, layout assembly, and navigation. CLI-first — no raw API calls.
tools
Create, update, and execute Magic ETL dataflows programmatically via API and CLI. Covers DAG-based JSON dataflow definitions, input/transform/output node wiring, join operations, and execution lifecycle.
tools
Magic ETL dataflows via community-domo-cli — list, get-definition, create, update, run, execution status; JSON DAG actions, transforms, joins. Use when automating dataflows with the community Domo CLI end-to-end. For REST/Java-CLI–first flows or mixed API patterns, use magic-etl instead.
development
Clean, professional dashboard theme for Domo custom apps. CSS custom properties, layout patterns, typography, and design polish that feel native to the Domo platform. Includes OKLCH color palette, layered shadows, concentric border radius, tabular numbers, and micro-interaction patterns.