
Skill
oli
execute OpenDAL Oli CLI data operations
Published by Apache Software Foundation Updated Jul 12
Covers Data Engineering Automation CLI
Description
Direct command playbooks for Apache OpenDAL Oli CLI data access and mutation. Use when Codex must run real `oli` commands to list, read, copy, move, delete, edit, stream, or benchmark data across local paths and `profile:/path` locations.
SKILL.md
Apache OpenDAL Oli
Command Principles
- Prefer direct command execution over abstract planning.
- Run read-only checks before mutating data.
- Use explicit paths and explicit profile source selection (config-file mode or environment mode).
Direct Command Playbooks
Inspect Data Without Mutation
oli ls 's3:/warehouse/'
oli ls -r 's3:/warehouse/2026/'
oli ls -T 's3:/warehouse/'
oli stat 's3:/warehouse/events.parquet'
oli cat 's3:/warehouse/schema.json'
Copy Local File To Remote
oli cp ./events.parquet 's3:/ingest/events.parquet'
oli stat 's3:/ingest/events.parquet'
Copy Remote File To Local
oli cp 's3:/ingest/events.parquet' ./events.parquet
Copy Across Profiles
oli cp 's3:/warehouse/events.parquet' 'r2:/backup/events.parquet'
oli stat 'r2:/backup/events.parquet'
Recursive Directory Copy
oli ls -r 's3:/warehouse/2026/'
oli cp -r 's3:/warehouse/2026/' 'r2:/backup/2026/'
oli ls -r 'r2:/backup/2026/'
Move File Or Directory
oli mv 's3:/staging/events.parquet' 's3:/warehouse/events.parquet'
oli mv -r 's3:/staging/old-batch/' 's3:/archive/old-batch/'
Safe Recursive Delete
oli ls -r 's3:/staging/to-delete/'
oli rm -r 's3:/staging/to-delete/'
oli ls 's3:/staging/'
Stream Input To Object
printf '%s\n' '{"status":"ok"}' | oli tee 's3:/logs/healthcheck.json'
Edit Remote File
EDITOR=vim oli edit 's3:/docs/README.md'
Run Benchmark Suite
oli bench --config ./config.toml s3 ./suite.toml
Hard Rules
- Always use
profile:/pathsyntax and avoid://. - Use
profile:/pathfor remote targets and plain paths for local filesystem targets. - For directory-level mutations, explicitly use
-rand inspect scope first. - For delete operations, list first, delete second, verify third.
- For cross-profile copy and move, verify source and destination with
statorls. - In config-file mode, pass
--config <path>explicitly. - In environment-variable mode, do not pass
--config.
Failure Triage
unknown profile: check profile name andconfig.toml.missing 'type' in profile: add profiletype.Host part in a location is not supported: replace://with:/.- Recursive command errors: confirm
-rand target kind (file vs directory).
Resource Navigation
- Read
references/profile-setup.mdfor config-file mode vs environment-variable mode. - Read
references/commands.mdfor command semantics and flags. - Read
references/safety-troubleshooting.mdfor risk control and debugging.
More from Apache Software Foundation
View publisherSkillTagsUpdated
datafusion-python
write Apache DataFusion Python code
datafusion-python
Jul 12Data AnalysisPythonSQLbydbql
generate and execute BanyanDB BydbQL queries
skywalking-banyandb
Jul 12AnalyticsDatabaseSQLcompiling
compile and build BanyanDB projects
skywalking-banyandb
Jul 12BuildEngineeringgh-pull-request
create GitHub pull requests for BanyanDB
skywalking-banyandb
Jul 12GitHubPull Requestsvendor-update
update Go and Node.js vendor dependencies
skywalking-banyandb
Jul 12GoNode.jscayenne-cgen
generate Cayenne entity Java classes
cayenne
Jul 12Data ModelingJavaORM