agentsclimarketplace

Docsend to pdf

Skill yaniv-golan/docsend-to-pdf-skill/.agents/skills/docsend-to-pdf

Download a DocSend document (docsend.com/view/... or docsend.dropbox.com/view/...) as a PDF. Use when the user pastes a DocSend link and wants it saved, downloaded, archived, exported, or converted to a PDF. Slides are per-request signed images behind email/passcode/NDA/email- verification gates — curl/wget/HTML scraping won't work, so this skill drives a headless browser and handles the gates. Not for Papermark, Google Docs, Notion, Pitch.com, pptx, or existing PDFs.From its SKILL.md

Install
npx -y skills add yaniv-golan/docsend-to-pdf-skill --skill docsend-to-pdf

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 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.

SKILL.md

3.2 KB, as published. Nobody here has run it

DocSend to PDF

Convert DocSend shared links to downloadable PDF files.

Prerequisites

Check if the CLI is installed:

python -m docsend_to_pdf --version

If not installed, install from the cli/ directory in this repository (clone first if needed: git clone https://github.com/yaniv-golan/docsend-to-pdf-skill && pipx install ./docsend-to-pdf-skill/cli/). Try in order:

  1. pipx install <path-to-repo>/cli/
  2. pip install --user <path-to-repo>/cli/
  3. pip install <path-to-repo>/cli/

Report failure clearly if all attempts fail.

Invocation

Run the CLI with --json for structured output:

python -m docsend_to_pdf "<url>" --email "<email>" --json -o "<output>.pdf"

If the user hasn't provided an email, omit --email — the CLI will report what it needs.

Response Handling

Parse the JSON output from stdout. Handle each status value:

StatusAction
completeReport success: "Downloaded <pages>-page deck to <output>". Mention the title if present.
needs_emailAsk user for their email address. Re-invoke with --email <email> --session <session>.
needs_passcodeAsk user for the passcode. Re-invoke with --passcode <code> --session <session>.
needs_ndaShow the nda_text to the user. Ask: "This document requires accepting an NDA. Shall I accept it?" If yes, re-invoke with --accept-nda --session <session>.
needs_verificationSee Verification Flow below.
errorReport the message to the user.

Always pass --session <session> (from the previous JSON output) when re-invoking to resume.

Verification Flow

When status is needs_verification:

  1. Check your available tools for any email-related MCP (tools containing "mail", "email", or "inbox" in their names).

  2. If email access is available, ask the user:

    "DocSend sent a verification code to <email>. I can either: (A) You paste the code here (B) I check your email for the code (requires your approval)"

  3. If no email access, ask the user to paste the code.

  4. Once you have the code, re-invoke: python -m docsend_to_pdf --verification-code <code> --session <session> --json -o "<output>.pdf"

Never access the user's email without explicit approval in that moment.

Error Recovery

If the CLI exits with code 1 and no JSON on stdout, report the stderr output. Common causes:

  • Network timeout — suggest retrying
  • Invalid URL — ask user to verify the link
  • Missing Python dependency — suggest pip install commands

Reference

For the full JSON contract, all CLI flags, and example invocations for each gate scenario, read references/cli-usage.md.

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.