Dropbox
Skill Axect/skills/dropbox
Upload files to Dropbox, download from Dropbox, and create or reuse shared links. Use when the user mentions Dropbox, asks to upload/download/share a file via Dropbox, or wants a shareable link for a file already in Dropbox. Use `~/.config/dropbox-skill/credentials.json` as the only supported credentials path.From its SKILL.md
npx -y skills add Axect/skills --skill dropboxAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- reads credentialsReads from 1 credential source: `~/.config/dropbox-skill/credentials.json`.
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 5 commands, including `test -f ~/.config/dropbox-skill/credentials.json` and 4 more.
SKILL.md
2.9 KB, 641 tokens by cl100k_base, as published. Nobody here has run it
Dropbox
Dropbox file operations via Dropbox HTTP API v2. Unifies upload, download, and shared-link operations.
Trigger conditions
Invoke this skill when the user says any of:
- "upload X to Dropbox" → use
scripts/upload.sh - "download X from Dropbox" / "get X from Dropbox" →
scripts/download.sh - "share link", "shared link", "Dropbox link", "make a link for X" →
scripts/share.sh - "set up Dropbox", "configure Dropbox", or when
~/.config/dropbox-skill/credentials.jsondoes not exist →scripts/setup.sh
Prerequisites (check before any operation)
Before running upload/download/share, verify the credentials file exists:
test -f ~/.config/dropbox-skill/credentials.json
If it does not exist, tell the user:
Dropbox is not set up yet. I can run the setup flow — it will ask for your app key, app secret, and an authorization code from a browser URL. Proceed?
Only run setup.sh after the user confirms.
Path rules
- Dropbox paths MUST start with
/(e.g./Papers/draft.pdf). Reject relative paths. - If the user gives a bare filename (e.g. "report.pdf"), ask which Dropbox folder before acting.
Script usage
All scripts live in this skill directory's scripts/ folder. If your client exposes the skill directory path, use it. Otherwise resolve the script path relative to this SKILL.md file.
setup.sh
Interactive one-time bootstrap. Takes stdin input for app key, app secret, and authorization code.
bash scripts/setup.sh
upload.sh
Upload local → Dropbox. Auto-chooses single-shot vs chunked session based on file size.
bash scripts/upload.sh <local_path> <dropbox_path>
Prints a one-line JSON summary on success: {"path":"...","size":N,"content_hash":"..."}
download.sh
Download Dropbox → local. Refuses to overwrite existing local files.
bash scripts/download.sh <dropbox_path> [<local_path>]
If <local_path> is omitted, uses basename <dropbox_path> in the current directory.
Prints the saved path on stdout.
share.sh
Create (or retrieve existing) shared link.
bash scripts/share.sh <dropbox_path>
Prints the URL on stdout.
Error handling
If any script exits non-zero, show its stderr to the user verbatim. Do not retry auth errors automatically (exit codes 2 and 3) — surface them so the user can re-run setup.
Exit code reference:
- 0 — success
- 1 — bad argument or local filesystem error
- 2 — credentials.json missing (→ user should run setup.sh)
- 3 — refresh token rejected (→ user should re-run setup.sh)
- 4 — Dropbox path not found
- 5 — other API error
- 64 — usage error
- 127 — missing dependency (curl/jq)
What ships with it: 14 files
45.0 KB alongside SKILL.md, 14 of them executable
scripts/
- auth.shruns4.1 KB
- download.shruns2.0 KB
- setup.shruns4.8 KB
- share.shruns2.3 KB
- test/integration.shruns2.0 KB
- test/lib.shruns2.9 KB
- test/run_tests.shruns1.0 KB
- test/test_auth.shruns5.0 KB
- test/test_download.shruns5.0 KB
- test/test_setup.shruns2.1 KB
- test/test_share.shruns4.7 KB
- test/test_smoke.shruns183 B
- test/test_upload.shruns4.2 KB
- upload.shruns4.8 KB