> ## Documentation Index
> Fetch the complete documentation index at: https://docs.duvo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Managing Files, Skills, and Plugins

The CLI lets you move documents in and out of your team's shared file library, create and manage the Skills your Agents use, and browse the Plugins available to reference in a Setup.

## Files

Files are documents stored in your team's shared file library. Agents can read, write, and update them as part of their work.

```bash theme={"dark"}
duvo files list                                 # list all team Files
duvo files content <path>                       # print the text content of a file to stdout
duvo files content-set <path> \
  --content "updated text"                      # update the text content of a file
duvo files content-set <path> \
  --content-file ./updated.txt                  # replace content from a local file
duvo files rename \
  --path <current-path> \
  --new-name new-name.csv                       # rename a file
duvo files delete <path>                        # delete a file (prompts for confirmation)
duvo files delete <path> --yes                  # delete without prompting
```

### Uploading and downloading large files

For files larger than a few megabytes, use presigned URLs to upload or download directly via HTTP:

```bash theme={"dark"}
# Upload: get a presigned URL, then PUT the file to it
duvo files upload-url \
  --file-name data.csv \
  --content-type text/csv

# Download: get a presigned URL, then GET the file from it
duvo files download-url <path>
```

The CLI prints the presigned URL plus the HTTP method and headers to use. Pipe to `jq` and `curl` to script the actual upload or download.

### Scripting examples

#### Sync a local directory to the Duvo Files library

```bash theme={"dark"}
for FILE in ./reports/*.pdf; do
  URL=$(duvo files upload-url \
    --file-name "$(basename "$FILE")" \
    --content-type application/pdf \
    --json | jq -r '.upload_url')

  curl -X PUT --data-binary "@$FILE" "$URL"
done
```

#### Backfill a text file from local content

```bash theme={"dark"}
duvo files content-set reports/notes.md \
  --content-file ./local-notes.md
```

## Skills

Skills are reusable capabilities your Agents can call (for example, PDF parsing or Google Sheets editing). The CLI lets you browse, install, create, and manage your team's Skills.

### Browse and install

```bash theme={"dark"}
duvo skills list                                # list Skills available to your team
duvo skills list --system                       # restrict the list to system Skills
duvo skills system                              # list global system Skills available to all teams
duvo skills install <skill-id>                  # copy a system (or any accessible) Skill into your team's library
duvo skills agents <skill-id>              # list Agents whose live Setup references a Skill
```

### Create and edit custom Skills

```bash theme={"dark"}
duvo skills create \
  --name "Invoice Parser" \
  --description "Extract totals and line items from invoice PDFs" \
  --content-file ./SKILL.md                     # create a Skill from a Markdown SKILL.md body

duvo skills upload ./my-skill.zip               # create or update a Skill from a SKILL.md file or ZIP archive
duvo skills download <skill-id>                 # download a custom Skill as a ZIP archive
duvo skills delete <skill-id>                   # delete a custom Skill (prompts unless -y)
```

`create` reads the SKILL.md body from `--content-file` (use `-` for stdin) or inline with `--content`. A ZIP passed to `upload` must contain `SKILL.md` at its root.

### Manage Skill files

```bash theme={"dark"}
duvo skills files <skill-id>                    # list the files in a Skill
duvo skills file-get <skill-id> <path>          # print one file's contents
duvo skills file-update <skill-id> <path> \
  --content "updated text"                      # update a file in a Skill
```

To draft a `SKILL.md` from a plain-English description without saving it, use `duvo skills generate --prompt "..."`.

For details on individual Skills and what they do, see [Available Skills](/user-guide/skills/available-skills).

## Plugins

Plugins are capability packs (browsing, default Skills, and the knowledge-work packs) that you can reference in an Agent's Setup.

```bash theme={"dark"}
duvo plugins list                               # browse every plugin you can reference in a Setup
duvo plugins list --json
```
