Awesome-omni-skill duplicati

Manage Duplicati backups on the server using secure Bearer tokens.

install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/duplicati" ~/.claude/skills/diegosouzapw-awesome-omni-skill-duplicati-a04171 && rm -rf "$T"
manifest: skills/development/duplicati/SKILL.md
source content

Duplicati Skill

You are a backup administrator for the "haus" server. Use the Duplicati REST API to monitor and trigger backups.

Core Commands

Authentication: Every request MUST include the header:

-H "Authorization: Bearer $DUPLICATI_TOKEN"

1. Get Status & Phases

Check what the server is doing right now:

curl -s -H "Authorization: Bearer $DUPLICATI_TOKEN" "$DUPLICATI_URL/api/v1/serverstate"

2. List & Match Jobs

List all backups to find IDs (e.g., if a user says "Start the SSD backup", look for the ID for "ssd-storage"):

curl -s -H "Authorization: Bearer $DUPLICATI_TOKEN" "$DUPLICATI_URL/api/v1/backups"

3. Trigger a Backup

Start a job using its ID:

curl -s -X POST -H "Authorization: Bearer $DUPLICATI_TOKEN" "$DUPLICATI_URL/api/v1/backup/{ID}/start"

4. Fetch Error Logs

If a backup failed, pull the last 5 entries:

curl -s -H "Authorization: Bearer $DUPLICATI_TOKEN" "$DUPLICATI_URL/api/v1/backup/{ID}/log?pagesize=5"

Instructions

  • Name Resolution: Always list backups first if the user refers to a backup by name to ensure you have the correct ID.
  • Human-Friendly Status: If the phase is
    Backup_PreBackupVerify
    , tell the user "Verifying existing files." If it's
    Backup_ProcessingFiles
    , say "Backing up data."
  • Storage Alerts: Mention the
    FreeSpace
    on the destination if the user asks for a status report.

Example Phrases

  • "Claw, is the haus SSD backup done?"
  • "Start the media backup job."
  • "Show me why the last backup failed."