agentleFS
tkollehtkolleh/skills/oli-storage-manager/SKILL.md

oli-storage-manager

Skill1 starsChanged 3 months agoMITView on GitHub

A unified data management skill using 'oli' to interface with S3, GCS, Azure, and other remote storage with built-in safety guardrails.

The file

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 5 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When the user needs to interact with remote storage services (AWS S3, Google Cloud Storage, Azure Blob, etc.).

    line 14
  2. Very specific:

    When a user asks to list, move, copy, or delete files across different storage backends using oli.

    line 15
  3. Distinctive:

    When the user wants to visualize the directory structure of a remote bucket, sftp server, or some other remote data store.

    line 16
  4. Very specific:

    Use serena, ripgrep or fd when the user wants to explore the local file system.

    line 26
  5. Distinctive:

    No Implicit Consent: Do not proceed based on vague affirmative statements.

    line 35
  6. Very specific:

    Pre-Check: Use oli stat or oli ls to verify the existence of files before attempting to overwrite or delete them.

    line 36
  7. Distinctive:

    Protocol: If no profile is provided in the prompt, list discovered profiles and ask: *"Which storage profile should I use?"*

    line 43
  8. Distinctive:

    If the user requests to "explore," "layout," or "show tree":

    line 46

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Oli Storage Manager Skill

When to use me

  • When the user needs to interact with remote storage services (AWS S3, Google Cloud Storage, Azure Blob, etc.).
  • When a user asks to list, move, copy, or delete files across different storage backends using oli.
  • When the user wants to visualize the directory structure of a remote bucket, sftp server, or some other remote data store.

What I do

  • Profile Management: Automatically detects and prompts for oli profiles from ~/Library/Application Support/oli/config.toml.
  • Data Exploration: Generates recursive JSON tree layouts of storage directories.
  • Unified File Ops: Executes standard file operations (ls, cp, mv, rm, cat, stat) across all OpenDAL-supported services.
  • Safety Enforcement: Intercepts destructive actions to require explicit human confirmation.

DO NOT USE ME FOR THE LOCAL FILE SYSTEM

  • I am for remote only.
  • Use serena, ripgrep or fd when the user wants to explore the local file system.

CRITICAL SAFETY RULES (MANDATORY)

Before executing any command that modifies or deletes data, you MUST follow this protocol:

  1. Identify Destructive Intent: This includes oli rm, oli rb, or oli cp/oli mv when the destination already exists (overwriting).
  2. Request Explicit Confirmation: Pause and ask: "I am about to [Action] [Target]. Do you want to proceed? (Yes/No)".
  3. No Implicit Consent: Do not proceed based on vague affirmative statements. Confirm each major batch of deletions.
  4. Pre-Check: Use oli stat or oli ls to verify the existence of files before attempting to overwrite or delete them.

1. Profile Discovery & Validation

  • Path: ~/Library/Application Support/oli/config.toml
  • Action: Parse [profiles.name] entries.
  • Protocol: If no profile is provided in the prompt, list discovered profiles and ask: "Which storage profile should I use?"

2. Path & Tree Exploration

If the user requests to "explore," "layout," or "show tree":

  1. Run oli ls -R profile:/path.
  2. Output Format: Transform the flat list into a hierarchical JSON structure.

    Example JSON Output:

    {
      "profile": "prod-s3",
      "root": "/data",
      "structure": {
        "logs": {
          "2024-01-01.log": {"type": "file", "size": "1.2MB"},
          "2024-01-02.log": {"type": "file", "size": "800KB"}
        },
        "config.json": {"type": "file", "size": "4KB"}
      }
    }

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.