npx skills add ...
npx skills add exploreomni/omni-claude-skills --skill omni-content-explorer
npx skills add exploreomni/omni-claude-skills --skill omni-content-explorer
Find, browse, and organize content in Omni Analytics — dashboards, workbooks, folders, and labels — using the REST API. Use this skill whenever someone wants to find an existing dashboard, search for content, list workbooks, browse folders, see what dashboards exist, find popular reports, download a dashboard as PDF or PNG, favorite content, manage labels on documents, or any variant of "find the dashboard about", "what reports do we have", "show me our dashboards", "where is the sales report", or "download this dashboard".
Find, browse, and organize Omni content — dashboards, workbooks, and folders — through the REST API.
When unsure whether an endpoint or parameter exists, fetch the OpenAPI spec:
Use this to verify endpoints, available parameters, and request/response schemas before making calls.
Responses include pageInfo with cursor-based pagination. Fetch next page:
Each document includes: identifier, name, type, scope, owner, folder, labels, updatedAt, hasDashboard.
Important: Always use the
identifierfield for API calls, notid. Theidfield is null for workbook-type documents and will cause silent failures.
Retrieve query definitions powering a dashboard's tiles:
Useful for understanding what a dashboard computes and re-running queries via omni-query.
Formats: pdf, png
Construct direct links to content:
The identifier comes from the document's identifier field in API responses. Always provide the user a clickable link after finding content.
When scanning all documents for field references (e.g., for impact analysis), paginate with cursor and call GET /api/v1/documents/{identifier}/queries for each document. Launch multiple query-fetch calls in parallel for efficiency. For field impact analysis, prefer the content-validator approach in omni-model-explorer.
curl -L "$OMNI_BASE_URL/api/v1/content?include=_count,labels" \
-H "Authorization: Bearer $OMNI_API_KEY"# By label
curl -L "$OMNI_BASE_URL/api/v1/content?labels=finance,marketing" \
-H "Authorization: Bearer $OMNI_API_KEY"
# By scope
curl -L "$OMNI_BASE_URL/api/v1/content?scope=organization" \
-H "Authorization: Bearer $OMNI_API_KEY"
# Sort by popularity or recency
curl -L "$OMNI_BASE_URL/api/v1/content?sortField=favorites" \
-H "Authorization: Bearer $OMNI_API_KEY"
curl -L "$OMNI_BASE_URL/api/v1/content?sortField=updatedAt" \
-H "Authorization: Bearer $OMNI_API_KEY"curl -L "$OMNI_BASE_URL/api/v1/content?cursor={nextCursor}" \
-H "Authorization: Bearer $OMNI_API_KEY"curl -L "$OMNI_BASE_URL/api/v1/documents" \
-H "Authorization: Bearer $OMNI_API_KEY"
# Filter by creator
curl -L "$OMNI_BASE_URL/api/v1/documents?creatorId={userId}" \
-H "Authorization: Bearer $OMNI_API_KEY"curl -L "$OMNI_BASE_URL/api/v1/documents/{identifier}/queries" \
-H "Authorization: Bearer $OMNI_API_KEY"# List
curl -L "$OMNI_BASE_URL/api/v1/folders" \
-H "Authorization: Bearer $OMNI_API_KEY"
# Create
curl -L -X POST "$OMNI_BASE_URL/api/v1/folders" \
-H "Authorization: Bearer $OMNI_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "Q1 Reports", "scope": "organization" }'# List labels
curl -L "$OMNI_BASE_URL/api/v1/labels" \
-H "Authorization: Bearer $OMNI_API_KEY"
# Add label to document
curl -L -X PUT "$OMNI_BASE_URL/api/v1/documents/{identifier}/labels/{labelName}" \
-H "Authorization: Bearer $OMNI_API_KEY"
# Remove label
curl -L -X DELETE "$OMNI_BASE_URL/api/v1/documents/{identifier}/labels/{labelName}" \
-H "Authorization: Bearer $OMNI_API_KEY"# Favorite
curl -L -X PUT "$OMNI_BASE_URL/api/v1/documents/{identifier}/favorite" \
-H "Authorization: Bearer $OMNI_API_KEY"
# Unfavorite
curl -L -X DELETE "$OMNI_BASE_URL/api/v1/documents/{identifier}/favorite" \
-H "Authorization: Bearer $OMNI_API_KEY"# Start download (async)
curl -L -X POST "$OMNI_BASE_URL/api/v1/dashboards/{dashboardId}/download" \
-H "Authorization: Bearer $OMNI_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "format": "pdf" }'
# Poll job status
curl -L "$OMNI_BASE_URL/api/v1/dashboards/{dashboardId}/download/{jobId}/status" \
-H "Authorization: Bearer $OMNI_API_KEY"Dashboard: {OMNI_BASE_URL}/dashboards/{identifier}
Workbook: {OMNI_BASE_URL}/w/{identifier}