SkillHub

envelope-sender

v1.0.2

Guide agent to send a user-specified local PDF document for signature through eSignGlobal by calling the eSignGlobal CLI tool.eSignGlobal CLI is an agent-friendly CLI — all output is JSON by default, making it easy to parse and chain.

Sourced from ClawHub, Authored by Wesley

Installation

Please help me install the skill `envelope-sender` from SkillHub official store. npx skills add weipengcopyright/envelope-sender

Envelope Sender

Use this skill to send a single local PDF document for signature with eSignGlobal through an external CLI.

Installation

Use the external CLI through npx:

npx @esignglobal/envelope-cli <command>

Setup

Before calling any send action, set ESIGNGLOBAL_APIKEY in the shell environment.

# Windows PowerShell
$env:ESIGNGLOBAL_APIKEY="your_api_key"

# macOS / Linux
export ESIGNGLOBAL_APIKEY="your_api_key"

# Verify connectivity
npx @esignglobal/envelope-cli config health

Credential handling rules:

  • The CLI reads credentials only from ESIGNGLOBAL_APIKEY
  • Do not implement local credential storage inside this skill
  • Do not print or persist secrets

Workflow

  1. Collect a single absolute filePath, signer list, and optional subject
  2. Confirm the file is a .pdf and the signer data is complete
  3. Set ESIGNGLOBAL_APIKEY in the current shell session
  4. Run the external CLI command to send the envelope
  5. Return the CLI result to the user

Safety Rules

  • Only use a file path the user explicitly provided for this task
  • Only handle one local PDF file per run
  • Refuse relative paths; require an absolute path to a .pdf file
  • Reject any non-PDF file before invoking the CLI
  • Never print or persist secrets
  • Do not scan directories, expand globs, or discover files on the user's behalf
  • Only call the trusted eSignGlobal CLI configured for this environment

Required Inputs

  • filePath: absolute path to an existing local PDF file
  • signers: JSON array of signer objects
  • subject: optional email or envelope subject

Each signer must include: - userName - userEmail

Optional field: - signOrder as an integer >= 1

Input Format

filePath

filePath must be an absolute path to an existing local PDF file.

Example:

/tmp/contract.pdf

signers

Each signer must include:

  • userName
  • userEmail

Optional field:

  • signOrder (integer, minimum 1)

Single signer example:

[
  {
    "userName": "Bob Smith",
    "userEmail": "[email protected]"
  }
]

Sequential signing example:

[
  {
    "userName": "Bob Smith",
    "userEmail": "[email protected]",
    "signOrder": 1
  },
  {
    "userName": "Alice Jones",
    "userEmail": "[email protected]",
    "signOrder": 2
  }
]

Parallel signing example:

[
  {
    "userName": "Bob Smith",
    "userEmail": "[email protected]",
    "signOrder": 1
  },
  {
    "userName": "Alice Jones",
    "userEmail": "[email protected]",
    "signOrder": 1
  }
]

External CLI Pattern

Use the external command-line tool instead of bundled scripts:

npx @esignglobal/envelope-cli send-envelope --file <filePath> --signers '<signersJson>' [--subject <subject>] --confirm

Check available commands if needed:

npx @esignglobal/envelope-cli help

Example:

npx @esignglobal/envelope-cli send-envelope --file "C:\docs\contract.pdf" --signers '[{"userName":"Bob Smith","userEmail":"[email protected]"}]' --subject "Please sign this contract" --confirm

Required Configuration

  • Node.js 18 or later
  • Access to the trusted external CLI, either preinstalled or available through npx
  • ESIGNGLOBAL_APIKEY must already be configured in the shell environment

Output

Return the external CLI result. Do not bundle or implement upload logic inside this skill.