name: arize-projects description: Manage projects in Arize AI using the ax CLI. Use when users want to list projects, get project details, create new projects, delete projects, or organize work within Arize spaces. Triggers on "list projects", "create project", "ax projects", "delete project", or any request about managing Arize projects via CLI.
Arize AX Projects
Manage projects in the Arize AI platform using the ax CLI.
Prerequisites
The user must have:
- Arize AX CLI installed (
pip install arize-ax-cli) - CLI configured with valid credentials (
ax config init)
Core Project Commands
List Projects
ax projects list
Options:
--space-id <id>- Space ID to list projects from (uses config default if not set)--limit, -n <count>- Maximum number of projects to return (default: 15)--cursor <token>- Pagination cursor for next page--output, -o <format>- Output format:table(default),json,csv,parquet, or a file path--profile, -p <name>- Configuration profile to use--verbose, -v- Enable verbose logs
Examples:
# List projects (default table format)
ax projects list
# List as JSON
ax projects list --output json
# List from a specific space
ax projects list --space-id sp_abc123
# Limit results
ax projects list -n 5
# Use production profile
ax projects list --profile production
Extracting Project IDs:
# Get all project IDs and names as JSON
ax projects list --output json | jq '.[] | {id: .id, name: .name}'
# Find a project ID by name
ax projects list --output json | jq -r '.[] | select(.name == "My Project") | .id'
# Save project ID to a variable
PROJECT_ID=$(ax projects list --output json | jq -r '.[] | select(.name == "My Project") | .id')
echo "Found project: $PROJECT_ID"
Without jq (using grep):
# Find project by name
ax projects list --output json | grep -B 1 '"name": "My Project"' | grep "id" | cut -d'"' -f4
Resolving Project Names to IDs
The CLI commands (get, delete) require a project ID, not a name. When a user refers to a project by name, resolve the ID first using projects list:
- Run
ax projects list --output json - Parse the JSON to find the project matching the requested name
- Use the resolved ID for subsequent commands
If no exact match is found, check for partial or case-insensitive matches and confirm with the user before proceeding. If multiple matches exist, present the options and ask the user to choose.
# Example: user asks to "get the ML Experiments project"
PROJECT_ID=$(ax projects list --output json | jq -r '.[] | select(.name == "ML Experiments") | .id')
if [ -z "$PROJECT_ID" ]; then
echo "Project not found. Available projects:"
ax projects list --output json | jq '.[] | {id: .id, name: .name}'
else
ax projects get "$PROJECT_ID"
fi
Get Project Details
Retrieve information about a specific project:
ax projects get <project-id>
Arguments:
id(required) - The project ID
Options:
--output, -o <format>- Output format:table(default),json,csv,parquet, or a file path--profile, -p <name>- Configuration profile to use--verbose, -v- Enable verbose logs
Examples:
# Get project details
ax projects get proj_abc123
# Get as JSON
ax projects get proj_abc123 --output json
# Get from production environment
ax projects get proj_abc123 --profile production
Create a Project
Create a new project in a space:
ax projects create --name <name> --space-id <space-id>
Options:
--name, -n <name>(required) - Project name (prompted interactively if not provided)--space-id <id>(required) - Space ID to create the project in (prompted interactively if not provided)--output, -o <format>- Output format:table(default),json,csv,parquet, or a file path--profile, -p <name>- Configuration profile to use--verbose, -v- Enable verbose logs
Examples:
# Create with all options specified
ax projects create --name "ML Experiments" --space-id sp_abc123
# Create interactively (prompts for name and space-id)
ax projects create
# Create and output as JSON
ax projects create --name "Staging Tests" --space-id sp_abc123 --output json
# Create using a specific profile
ax projects create --name "Production Project" --space-id sp_abc123 --profile production
Delete a Project
Remove a project by ID:
ax projects delete <project-id>
Arguments:
id(required) - The project ID
Options:
--force, -f- Skip confirmation prompt--profile, -p <name>- Configuration profile to use--verbose, -v- Enable verbose logs
Examples:
# Delete with confirmation prompt
ax projects delete proj_abc123
# Delete without confirmation
ax projects delete proj_abc123 --force
# Delete from production
ax projects delete proj_abc123 --profile production
Warning: Deletion is permanent. Always verify the project ID before deleting.
Pagination
The projects list command uses cursor-based pagination. The response includes a cursor for fetching the next page:
# First page
ax projects list -n 10 --output json
# Use the cursor from the previous response to get the next page
ax projects list -n 10 --cursor <cursor-from-previous-response>
Common Workflows
Workflow 1: Find Project by Name and Get Details
# 1. List all projects
ax projects list --output json | jq '.[] | {id: .id, name: .name}'
# 2. Extract the project ID by name
PROJECT_ID=$(ax projects list --output json | jq -r '.[] | select(.name == "ML Experiments") | .id')
# 3. Get detailed information
ax projects get "$PROJECT_ID"
Workflow 2: Create and Verify a Project
# 1. Create the project
ax projects create --name "New Experiment" --space-id sp_abc123
# 2. Find the new project ID
PROJECT_ID=$(ax projects list --output json | jq -r '.[] | select(.name == "New Experiment") | .id')
echo "Created project: $PROJECT_ID"
# 3. Verify details
ax projects get "$PROJECT_ID"
Workflow 3: Work with Projects Across Environments
# List projects in production
ax projects list --profile production
# Create project in staging
ax projects create --name "Test Project" --space-id sp_staging_123 --profile staging
# Get project details from dev
ax projects get proj_dev_456 --profile dev
Workflow 4: Cleanup Old Projects
# 1. List all projects
ax projects list --output json | jq '.[] | {id: .id, name: .name}'
# 2. Review and identify projects to delete
# 3. Delete old projects
ax projects delete proj_old_001 --force
ax projects delete proj_old_002 --force
Output Format Examples
Table Format (Default)
Human-readable table with columns for ID, Name, Created, and other metadata.
JSON Format
Structured JSON with full project metadata:
{
"id": "proj_abc123",
"name": "ML Experiments",
"space_id": "sp_xyz789",
"created_at": "2024-01-15T10:30:00Z"
}
CSV / Parquet
Use --output csv or --output parquet for data-processing-friendly formats. You can also pass a file path to write directly to a file:
ax projects list --output projects.csv
ax projects list --output projects.parquet
Troubleshooting
"Project not found"
- Verify project ID:
ax projects list - Check you're using the correct profile:
ax config show - Ensure the project exists in the current space
"Permission denied" or "Unauthorized"
- Check API key is valid:
ax config show --expand - Verify the key has project permissions in Arize
- Try re-authenticating:
ax config init
"Space not found" when creating
- Verify the space ID is correct
- Check your profile has the right space configured:
ax config show - List available spaces or check https://app.arize.com
Cannot list projects
- Check CLI is configured:
ax config show - Verify network connectivity
- Try with
--verbosefor more detail:ax projects list --verbose
Tips
- Extract project IDs by name:
PROJECT_ID=$(ax projects list --output json | jq -r '.[] | select(.name == "My Project") | .id') - Use JSON output for scripting:
ax projects list --output json | jq '.[] | .id' - List IDs and names together:
ax projects list --output json | jq '.[] | {id, name}' - Verify before delete: Use
ax projects get "$PROJECT_ID"to confirm before deleting - Profile naming: Use descriptive names like
prod,staging,dev - Use
--forcein scripts: Skip interactive confirmation with-fwhen automating
Next Steps
- View project details in Arize UI: https://app.arize.com
- Use
/arize-datasetsto manage datasets within projects - Visit https://docs.arize.com for full documentation
When to Use This Skill
Use this skill when users want to:
- ✅ List all projects in their Arize space
- ✅ Get details about a specific project
- ✅ Create a new project
- ✅ Delete projects they no longer need
- ✅ Work with projects across multiple environments/profiles
Don't use this skill for:
- ❌ Managing datasets (use
/arize-datasetsinstead) - ❌ Installing/configuring the CLI (use
/setup-arize-cliinstead)