Skip to content
cccskills
FreePublished on GitHub

docsend

Retrieve standalone DocSend documents or files in a DocSend Space for inspection, summarization, or download. The workflow handles email verification, passcodes, resumable sessions, and folder traversal, while reporting files that could not be fetched.

OriginalShow the original description

Use the DocSend CLI to recover and download standalone DocSend documents or files from DocSend Spaces, including email or passcode gates, resumable verification, folder traversal, and returning files. Trigger whenever a user shares a DocSend URL or asks to access, inspect, summarize, download, or recover a DocSend document or Space.

paradigmxyz/centaur1,405 stars(GitHub 1,405 + cccskills 0)
Works withGmail

Run score Not tested

See how to install

Good for

  • Download a standalone DocSend document
  • Retrieve files from a DocSend Space
  • Resume a document request after email verification
  • Browse folders and collect available files

Files included (1)

  • SKILL.md6.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

DocSend

Use the docsend CLI to download standalone documents and files from DocSend Spaces. Progress goes to stderr and every command prints JSON to stdout.

Before starting, check whether the thread already contains the requested file, an attachment_ref, or a usable upload. If it does, use that file instead of opening DocSend again.

Choose The Command From The URL

  • If the URL path contains /view/s/, it is a DocSend Space. Start with docsend login.
  • For any other DocSend view URL, it is a standalone document. Start with docsend download.

Do not run download first for a Space. Do not run login for a standalone document.

Standalone Documents

Use download for a regular DocSend URL:

docsend download '<docsend-url>' \
  --email '<email>' \
  --output '<output.pdf>'

Add --passcode '<passcode>' only when the user supplied the document passcode. Use --session-timeout 1800 on the initial command when the verification handoff may need the maximum supported time.

On status: ok, use the file at the returned output path.

Email Verification

When download or login returns status: verification_link_required:

  1. Preserve resume_session_id and expires_at from the JSON response.
  2. Obtain the newest matching DocSend verification URL using the Gmail workflow below or another authorized email tool. Extract it without opening it.
  3. Resume the same session before it expires:
DOCSEND_VERIFICATION_LINK='<full-verification-url>' \
  docsend resume '<resume-session-id>' \
  --output '<output.pdf>'

Omit --output when resuming a Space. A successful Space resume returns status: deal_room_ready and its root inventory.

If the link is invalid, retry resume with the correct link and the same session ID. If the session expired, start one new download or login command. Never open a verification URL outside docsend resume and never start duplicate sessions while one is active.

Find The Link In Gmail

When gsuite is available, search the Gmail account connected to the current Centaur user. Gmail operations use userId=me; never search another mailbox or ask for Gmail credentials.

  1. Search for recent DocSend mail and inspect results newest first:
centaur-tools call gsuite gmail_search \
  '{"query":"newer_than:1d from:docsend.com","max_results":5}'
  1. Read the newest candidate received after the current verification request:
centaur-tools call gsuite gmail_get '{"message_id":"<message-id>"}'
  1. Extract the full HTTPS DocSend verification URL from the message body or HTML. Confirm the hostname is docsend.com or a subdomain. Do not click it, request it, preview it, or pass it to any browser or HTTP tool.
  2. If no matching message has arrived, repeat the search up to three times at roughly 10-second intervals, always checking the newest results first. Do not submit the DocSend email gate again while polling.
  3. Pass the extracted URL through DOCSEND_VERIFICATION_LINK to docsend resume, as shown above. Do not put verification URLs in command arguments or logs. The resume command is the only operation allowed to open it.

If Gmail is unavailable, unauthorized, or still has no message after the bounded polling, preserve the session details and use another authorized email tool or ask the user for the link. Do not start another Browserbase session while the existing one remains valid.

Spaces

Start a /view/s/ URL with login:

docsend login '<docsend-space-url>' --email '<email>'

For a larger bulk download, add --session-timeout 1800 to the initial login command so the agent has time to traverse folders and fetch each document.

After login or verification returns deal_room_ready, keep its session_id for every following command.

List the Space root:

docsend list '<session-id>'

Open a folder using its item ID:

docsend open-folder '<session-id>' --folder-id '<folder-item-id>'

Both commands return only one directory level. Read each folder's ID from the preceding JSON response and call open-folder again to traverse deeper.

For bulk downloads, inspect the returned items, traverse any folders, and call fetch once for each item whose type is file. Fetch files sequentially so the agent can choose output paths and report an individual failure without losing the rest of the inventory. Treat every fetch as independent: if one item does not return status: ok, record its path, status, and error, then move on to the next file. Do not stop the bulk download because one item failed. This is common for unsupported file types such as videos.

docsend fetch '<session-id>' \
  --item-id '<file-item-id>' \
  --output '<output-path>'

When the owner enabled downloads, fetch uses DocSend's regular download button and returns the original file with download_method: original. When the button is disabled, fetch opens the document viewer in the authenticated Space session and uses the standalone rendered-page recovery to return a PDF with download_method: rendered_pdf. The downloaded filename may differ from the visible Space title. Do not pass folder or external URL item IDs to fetch.

Close the session when finished:

docsend close '<session-id>'

Handling Results

  • Parse stdout as JSON even when the command exits nonzero.
  • For email_required, ask for an email unless the user already supplied one.
  • For passcode_required, ask only for the document passcode.
  • Preserve session fields on verification and failure responses.
  • During a bulk download, continue to the next file after any per-item failure and summarize all skipped or failed items after attempting the full inventory.
  • Report statuses such as blocked, expired, item_not_found, not_downloadable, and download_unavailable exactly. Only recover pages that the authenticated DocSend viewer renders; do not bypass access controls.
  • Do not expose email addresses, passcodes, verification URLs, API keys, or downloaded file data in the final response.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Investigate authentication, permission, credential, OAuth, token, secret, and API proxy failures by checking live VictoriaLogs evidence first. Summarize relevant status codes and error details, and distinguish upstream denials from local proxy or secret resolution problems.

  • Investigate a 401, 403, or 503 response
  • Trace an integration authentication failure
  • Check why a credential or secret is not resolving
paradigmxyz/centaur1.4KUpdated Oct 26, 2026

centaur

FreeSummary

Use an authenticated Centaur MCP deployment to find and call team-approved tools. It checks identity when permissions matter, follows the deployment’s current CLI help, and summarizes consequential changes with relevant identifiers or links.

  • Finding the right approved Centaur tool
  • Running an unfamiliar Centaur CLI command
  • Checking the signed-in user's permissions
paradigmxyz/centaur1.4KUpdated Oct 26, 2026

Use this skill to translate a Console administrator’s request into Centaur permission changes. It can create supported principals and secrets, grant or revoke access, adjust Slack and sandbox permissions, and manage Slack Connect allowlists while checking for unsafe personal credential sharing.

  • Grant a Slack channel access to a shared tool credential
  • Create a principal for a Slack channel, user, or workflow
  • Adjust a channel’s access to another Slack channel
paradigmxyz/centaur1.4KUpdated Oct 26, 2026

Investigate Centaur incidents using VictoriaLogs for runtime logs and VictoriaMetrics for deployment and health metrics. The skill correlates a narrow time window with relevant code and workflow status, then reports a supported cause or bounded hypotheses and the evidence still needed.

  • Investigating a stalled workflow or missing post
  • Checking thread and execution evidence
  • Reviewing tool-call or sandbox activity
paradigmxyz/centaur1.4KUpdated Oct 26, 2026

company-context

FreeSummary

Answer internal history and project context questions by searching indexed company information and checking relevant live sources such as Slack, Linear, Google Docs, Drive, Calendar, or Granola. Reconcile the evidence and cite dates or source links when available.

  • Find what was discussed or decided internally
  • Check a project's prior context or current status
  • Search meeting notes and calendar events
paradigmxyz/centaur1.4KUpdated Oct 26, 2026

creating-tools

FreeSummary

Build a new external service integration as a packaged Python CLI. The skill guides the project layout, API client, command-line interface, credential declarations, health check, and tests so the tool can be installed and used by agents.

  • Create a tool for a new external API
  • Build a Python client for a service
  • Add a CLI command for an integration
paradigmxyz/centaur1.4KUpdated Oct 26, 2026

See all skills by paradigmxyz

Report a problem with this skill