skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
beclab/olares197 installs

olares-files

Olares Files via olares-cli files — browse known paths; upload or download file bytes; edit, share, mount SMB/NFS, compress/extract archives, and manage Seafile sync across Drive/cache/external/cloud. Use for Olares Files and LarePass Files operations, not URL/yt-dlp/torrent download tasks (olares-knowledge).

How do I install this agent skill?

npx skills add https://github.com/beclab/olares --skill olares-files
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    The olares-files skill provides an interface for an AI agent to manage files and storage on the Olares platform using the olares-cli tool. It covers a variety of tasks such as browsing, uploading, downloading, editing, sharing, and mounting external SMB/NFS storage. The skill is designed with several security best practices, including path traversal validation, secure credential input, and confirmation prompts for destructive actions. A low-level risk of indirect prompt injection is present due to the agent's ability to read and process data from the filesystem.

  • Socketpass

    No alerts

  • Snykpass

    Risk: LOW · No issues

What does this agent skill do?

files (per-user files-backend)

Shared front door: load ../olares-shared/SKILL.md for suite routing, active-profile selection, platform entry points, and the auth proceed/stop gate. Load its auth reference only when login, profile switching, token storage, or auth recovery is actually needed.

Load the shared platform model when the task depends on userspace backends, durability, uid 1000, or system-managed Home directories. Use olares-cli files <verb> --help for syntax.

When to use

  • Address, read, write, move, delete, share, or transfer known Olares file paths.
  • Compress/extract or manage their asynchronous task queue.
  • Mount SMB/NFS servers or manage Seafile repositories.

Finding files by name/content (and what the index covers — filenames everywhere vs. full-text only in /Documents/) lives in olares-search; configure which directories get full-text indexing via settings search dirs in olares-settings.

Fast paths

TaskReadFirst command
Put a local file in the user's Drivecollision decisions and cloud transferolares-cli files upload ./report.pdf drive/Home/Documents/
See what is in a directorythis fileolares-cli files ls drive/Home/ -o json
Read one file's bytesthis fileolares-cli files cat drive/Home/Documents/report.pdf
Address anything outside drive/Homepath grammar and namespace rulesolares-cli files ls sync/<repo_id>/

Paths and namespace support

Every resource is fileType/extend[/subPath], where fileType is one of drive, cache, sync, external, awss3, dropbox, google, tencent, share, internal, and extend is the volume, repo or account inside it — drive/Home, drive/Data, drive/Common, a node name, a Seafile repo id, a cloud account key. That much covers an ordinary Drive path.

Load path grammar and namespace rules when the target is outside drive/, or when you need to know whether the verb you are about to run supports that namespace at all — support is per verb, and several verbs refuse namespaces their neighbours accept.

Backend quirks that change decisions

  • Directory creation may auto-rename on collision instead of returning conflict. Upload does not pre-create destination directories. If exact naming matters, inspect the parent and create it deliberately.
  • Direct raw GET of a file resource may return HTTP 500. Use files cat or files download; do not retry the raw resource URL.
  • external/<node>/ is a virtual volume picker, not a write destination. Writes need external/<node>/<volume>/....
  • Eleven reserved names are system-managed at the first level under drive/Home/. rename, rm, and mv as a source are refused before any request goes out; cp and everything nested stay editable. The refusal enumerates all eleven and is a platform invariant, not a permission error to retry — act on a child instead. The names are matched exactly, so a name that merely looks similar is not protected.
  • cache/<node>/ is valid storage but not a concrete dataset for share creation; share cache/<node>/<sub>/.

Async task queue (compress / extract)

  • compress and extract enqueue server-side work and return a task id unless waiting.
  • Ctrl-C stops only the local poll. Cancel the server task explicitly if that is the user's intent.
  • Tasks are per-node; retain the node printed when the task was queued.
  • task cancel --all affects every task on the node, including work started elsewhere.

Version gate (Olares >= 1.12.6)

Archives, NFS, and drive/Common require Olares 1.12.6+. Treat daily builds by their major.minor.patch base. Follow the shared auth/version gate when the backend version cannot be established.

Verb index

VerbRead when triggered
lslisting and cloud shapes
catRaw bytes to stdout, and the supported way to read one: a direct GET of the file resource answers 500
downloadresume, overwrite, directory downloads
uploadcollision decisions, resume, concurrency; the second stage a cloud destination adds
edittext/size guards and writeback
mkdirparents, auto-rename, external depth
rmexistence, directory intent, protected paths
renamein-place rename and protected paths
cp, mvdestination and overwrite semantics
chownUID and namespace decisions
compressformats, conflicts, passwords, async task
extractdestination, conflicts, passwords, async task
archiveread-only archive inspection
taskper-node cancel/pause/resume
shareinternal/public/SMB sharing
smbdiscovery, mount, history
nfsexport discovery and mount
reposSync (Seafile) libraries by id; the repo id is what a sync/ path is built from

Safety and escalation

  • Treat the user's requested file operation and named paths as task-scope authorisation. Ask again only when a target is ambiguous, bytes may be overwritten without explicit intent, deletion expands beyond the named target, or the action leaves that scope.
  • For upload, first decide whether collision should overwrite, fail, or create a distinct name; backend auto-renaming is not an acceptable implicit decision.
  • Do not retry a missing-path preflight by weakening safety flags.
  • Confirm task cancel --all separately because it affects unrelated work on that node.
  • Never expose tokens or passwords. Use stdin-based secret input where available.
  • Stop on ambiguous frontend paths, node/volume identity, overwrite intent, or concurrent deletion; re-list the parent and ask the user.

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/beclab/olares/olares-files">View olares-files on skillZs</a>