Agent skill

Fax Send

by HybridAIOne in HybridAIOne/hybridclaw

Send outbound faxes through a guarded provider adapter and route inbound fax-to-email attachments into downstream document workflows.

MITAuto-check passed

Install Fax Send

skills CLI
$ npx skills add HybridAIOne/hybridclaw --skill fax-send -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install HybridAIOne/hybridclaw fax-send --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/HybridAIOne/hybridclaw.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/fax-send .claude/skills/fax-send && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
fax-send
GitHub stars
159
Token cost
~2.9k tokens
SKILL.md length
1,156 words
Files
4
Skills in repo
72
Repo updated
First seen
Licence
MIT

At a glance

Send outbound faxes through a guarded provider adapter and route inbound fax-to-email attachments into downstream document workflows.

  • Works in 3 steps: Browser admin: open the active… → Browser /chat or TUI fallback → Local console fallback
  • SKILL.md covers Response Contract, Scope, Credential Rules and Default Workflow, plus 3 more sections
  • Runs JavaScript scripts from its folder; calls node; needs SINCH_FAX_OAUTH_TOKEN

What it does

Fax Send is an agent skill from HybridAIOne/hybridclaw. Send outbound faxes through a guarded provider adapter and route inbound fax-to-email attachments into downstream document workflows.

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files (for example `evals/scenarios.json`).

The repository describes itself as: Enterprise-ready self-hosted AI assistant runtime with sandboxed execution, secure credentials, approvals, and memory. The licence is MIT.

Example prompts

  • “/fax-send”

Requirements

  • A credential in SINCH_FAX_OAUTH_TOKEN

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Browser admin: open the active HybridClaw admin URL ending in /admin/secrets and set
  2. Browser /chat or TUI fallback
  3. Local console fallback

What it can do on your machine

Read from SKILL.md and the folder at commit 8162701. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (JavaScript), which the agent can run.

    Shell commands in SKILL.md call:

    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • SINCH_FAX_OAUTH_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Fax Send loads about 2.9k tokens when it runs. Until then it costs about 36 tokens; SKILL.md has 1,156 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~36
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from HybridAIOne/hybridclaw at commit 8162701, republished under its MIT licence (© HybridAIOne). 1,156 words, ~2,916 tokens.

Download SKILL.mdSave it as .claude/skills/fax-send/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
fax-send
description
Send outbound faxes through a guarded provider adapter and route inbound fax-to-email attachments into downstream document workflows.
user-invocable
true
requires.bins
node

Fax Send

Use this skill when a user asks to fax a supported file, web page, text note, or PDF to an external fax number, or when an inbound fax arrives as an email PDF and needs routing to a document workflow such as DATEV Belegtransfer, file storage, or client records.

Response Contract

  • Return exactly one user-facing summary per fax request. Do not restate the same plan, missing-input list, or no-send notice in a second format.
  • For provider results, write the status sentence once. Do not emit both a markdown-styled version and a plain-text duplicate of the same sentence.
  • Do not use decorative emoji, checkmarks, sign-off text, or "ready to proceed" filler in fax responses.
  • If setup is blocked by missing secrets, report each missing secret exactly once and only if it is actually required: SINCH_FAX_PROJECT_ID plus either SINCH_FAX_BASIC_AUTH or SINCH_FAX_OAUTH_TOKEN. Never claim a Sinch service ID secret is required for normal outbound sending.
  • When the user provides text content such as "Hallo Welt", use the helper's helper-generated PDF upload path after the recipient fax number, stored Sinch project ID, stored credential, and explicit approval are available. Omit from when the user wants to use the Sinch Fax service default sender. Do not ask the user for a service ID for a normal outbound send; Sinch uses the product's default Fax service when serviceId is omitted.
  • A live http_request to Sinch is terminal for that send attempt. After it returns, stop and report the provider result. Do not use web_search, web_fetch, the PDF skill, local PDF scripts, helper source inspection, or ad hoc replacement requests, and do not ask to retry in the same response, unless the user explicitly asks for debugging in a new turn.

Scope

  • outbound fax send from a content URL or direct generated-PDF text upload
  • outbound fax send from a local generated PDF file
  • Sinch Fax API request construction for EU-resident Sinch projects/services
  • delivery status lookup and status-to-audit-event classification
  • fax-page cost measurement in helper output
  • inbound fax-to-email operating recipe through the existing email channel
  • eval scenarios for successful send, busy/retry, failed delivery, and inbound PDF handoff flows

Direct modem control, T.38/SIP live transmission, binary local file upload, and cover-page templating are outside this skill slice.

Credential Rules

Store credentials in HybridClaw encrypted runtime secrets. Never paste them into chat or helper arguments.

For Sinch Basic auth, set the base64 value of username:password in this order:

  1. Browser admin: open the active HybridClaw admin URL ending in /admin/secrets and set SINCH_FAX_BASIC_AUTH.
  2. Browser /chat or TUI fallback: /secret set SINCH_FAX_BASIC_AUTH "<base64-username-password>".
  3. Local console fallback:
bash
hybridclaw secret set SINCH_FAX_BASIC_AUTH "<base64-username-password>"

For Sinch OAuth, set a bearer token only if the operator has a token minting process, using the same setup order:

  1. Browser admin: open the active HybridClaw admin URL ending in /admin/secrets and set SINCH_FAX_OAUTH_TOKEN.
  2. Browser /chat or TUI fallback: /secret set SINCH_FAX_OAUTH_TOKEN "<access-token>".
  3. Local console fallback:
bash
hybridclaw secret set SINCH_FAX_OAUTH_TOKEN "<access-token>"

The helper emits either secretHeaders: [{ name: "Authorization", secretName: "SINCH_FAX_BASIC_AUTH", prefix: "Basic" }] or bearerSecretName: "SINCH_FAX_OAUTH_TOKEN" so the gateway injects the secret server-side.

Set the Sinch project default once so normal sends do not need provider account arguments:

  1. Browser admin: open the active HybridClaw admin URL ending in /admin/secrets and set SINCH_FAX_PROJECT_ID.
  2. Browser /chat or TUI fallback: /secret set SINCH_FAX_PROJECT_ID "<sinch-project-id>".
  3. Local console fallback:
bash
hybridclaw secret set SINCH_FAX_PROJECT_ID "<sinch-project-id>"

Default Workflow

  1. Confirm the recipient fax number in E.164 format and the content URL, local PDF file, or text upload content. Use stored SINCH_FAX_PROJECT_ID by default. Include --from only when the user explicitly supplies a sender fax number; otherwise omit it so Sinch uses the Fax service default sender. Omit serviceId unless the user explicitly provides a non-default Fax service ID in the same request.
  2. Run plan for natural-language requests when details are incomplete.
  3. Require explicit operator approval before fax.send; faxing is an external document delivery action and can incur per-page cost.
  4. Build the request with fax_send.cjs http-request send. Do not hand-author Sinch API JSON or secret references.
  5. Pass only the emitted httpRequest object to http_request for live sends.
  6. After the http_request returns, stop tool use for that send attempt and summarize the returned status/body. If Sinch returns 4xx/5xx, report it as the provider response; do not search the web, inspect PDF tooling, or retry with a different payload shape in the same turn.
  7. Record/inspect audit intent or call the runtime accounting helper:
    • fax.send.start before dispatch
    • fax.send.delivered when status is COMPLETED
    • fax.send.failed when status is FAILURE
  8. Use classify-status after status polling or webhook payloads to turn provider states into the expected audit event and retry decision.
Show full SKILL.md (399 more words)Show less

Command Contract

Run the helper:

bash
node skills/fax-send/fax_send.cjs --help

Plan a request without contacting a provider:

bash
node skills/fax-send/fax_send.cjs --format json plan "Fax the signed contract to +49 89 1234567"

Build a guarded Sinch outbound request:

bash
node skills/fax-send/fax_send.cjs --format json http-request send \
  --provider sinch \
  --auth basic \
  --content-url https://example.com/signed-contract.pdf \
  --to +49891234567 \
  --page-count 3 \
  --label costCenter=legal \
  --operator-grant

Look up delivery status:

bash
node skills/fax-send/fax_send.cjs --format json http-request status \
  --fax-id 01F3J0G1M4WQR6HGY6HCF6JA0K

Classify a provider status into audit and retry handling:

bash
node skills/fax-send/fax_send.cjs --format json classify-status \
  --fax-id 01F3J0G1M4WQR6HGY6HCF6JA0K \
  --provider sinch \
  --status FAILURE \
  --error-type CALL_ERROR \
  --error-message "BUSY"

List provider reference support:

bash
node skills/fax-send/fax_send.cjs --format json providers

List eval scenarios:

bash
node skills/fax-send/fax_send.cjs --format json eval-scenarios

Inbound Fax-To-Email

Inbound fax is handled by the existing email channel. Configure the fax provider or telco portal to forward inbound faxes as PDF attachments to a dedicated mailbox, then configure HybridClaw email polling for that mailbox.

Use a narrow sender allowlist when the provider uses stable sender domains, and route attachment PDFs with normal document skills. See docs/content/channels/fax.md for the operator recipe and reference YAML.

Build a guarded Sinch generated-PDF text upload request:

bash
node skills/fax-send/fax_send.cjs --format json http-request send \
  --provider sinch \
  --auth basic \
  --text "Hallo Welt" \
  --filename hallo-welt.pdf \
  --to +498920931098 \
  --page-count 1 \
  --operator-grant

For generated PDFs, including requests that combine text with an image, first create the PDF with the bundled PDF script and then send that file. Do not write ad hoc PDF or multipart scripts.

bash
node skills/pdf/scripts/create_pdf.mjs fax.pdf \
  --image-url https://github.com/HybridAIOne/hybridclaw/blob/main/docs/hero.png?raw=true \
  --text "Hello World! This Claw can fax!"

node skills/fax-send/fax_send.cjs --format json http-request send \
  --provider sinch \
  --auth basic \
  --file fax.pdf \
  --to +498920931098 \
  --page-count 1 \
  --operator-grant

Working Rules

  • For URL-based sends, use a public HTTP(S) contentUrl for a Sinch-supported file type or web page. Do not send local paths or private intranet URLs to a fax provider.
  • For generated PDF files, use --file path/to/file.pdf so the helper emits a secret-backed multipart/form-data request with the PDF as the file part. Do not write custom multipart builders.
  • For short user-provided text, use --text so the helper emits a secret-backed multipart/form-data request with a generated PDF file upload. Do not invoke skills/pdf, create_pdf.mjs, web_search, or web_fetch to convert or verify this path; the fax helper owns the PDF payload shape.
  • For plan responses, give one concise no-send summary only. Do not repeat the same plan in a second format, do not mirror raw helper JSON after a human summary, and do not add decorative emoji, sign-off text, or readiness filler.
  • Normalize German numbers to E.164 before dispatch, for example +49 89 1234567 becomes +49891234567.
  • Treat SUPERFINE as higher cost/risk than the default FINE; use it only when the user needs small text or detailed scans.
  • Preserve provider fax IDs in all handoffs and audit notes.
  • If a live send returns 401 or 403, stop after the first failure and ask the operator to verify the stored Sinch credential.
  • If delivery fails with a line/busy/call error and retries remain, report the retry plan instead of resending manually in parallel.
  • Cost per fax is page-based. Helper output includes costMeasurement.system = "UsageTotals" plus unit = "fax-page" and the provided pageCount so evals can verify the accounting contract.

© HybridAIOne, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files in skills/fax-send of HybridAIOne/hybridclaw.

  • SKILL.md
  • evals/scenarios.json
  • fax_send.cjs
  • index.cjs

Open the folder on GitHubat commit 8162701

Compare with similar skills

Fax Send next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Fax Send compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Fax Send this skillHybridAIOne/hybridclaw159—~2.9kAutomated safety check: PassMIT
Nv Endpoint Routed Tool Providernovuhq/novu40k—~2.8kAutomated safety check: PassCustom licence
Routing Outbound API CallsPostHog/posthog40k—~2.7kAutomated safety check: PassCustom licence
OmniRoute Providers CLIdiegosouzapw/OmniRoute75k—~2.2kAutomated safety check: PassMIT
Safety Guardaffaan-m/ECC277k2 repos~554Automated safety check: NotesMIT
OmniRoute Routing CLIdiegosouzapw/OmniRoute75k—~342Automated safety check: PassMIT

Similar skills

  • Build or refactor a Tool-channel provider (PagerDuty, Opsgenie, future incident/alerting tools) to be endpoint-routed: per-subscriber secrets encrypted on the channel endpoint resource, a stateless…

    40k GitHub stars~2.8k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Official

    Use before adding or changing Python code that calls a third-party HTTP API from PostHog (a vendor REST call, a vendor SDK client, a scraping or enrichment service), and before adding or changing a…

    40k GitHub stars~2.7k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • OmniRoute Providers CLI

    diegosouzapw/OmniRoute

    Command reference for managing provider connections in the omniroute gateway: browse the catalog, test and validate connections, rotate API keys and read per-provider metrics.

    75k GitHub stars~2.2k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Safety Guard

    affaan-m/ECC

    Guard against destructive operations with three modes: Careful intercepts dangerous commands (rm -rf, git push --force, DROP TABLE) for confirmation, Freeze locks writes to one directory, and Guard…

    277k GitHub starsUsed in 2 repos~554 tokens
    DevelopmentAuto-check: notes
  • OmniRoute Routing CLI

    diegosouzapw/OmniRoute

    Creates, switches, and inspects OmniRoute model-routing combos, plus a suggestion command with cost and latency constraints.

    75k GitHub stars~342 tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Guard Mode

    garrytan/gstack

    Switches on full safety by combining warnings before destructive commands with a block on edits outside one directory you choose, for work on production or live systems.

    136k GitHub stars~1k tokensUpdated today
    Agent WorkflowsAuto-check: notes

More from HybridAIOne/hybridclaw

All 72 skills in this repo
  • Hermes3000 Writing

    HybridAIOne/hybridclaw

    Use Hermes3000 to plan, draft, revise, save, check consistency, and export long-form manuscripts through the Hermes3000 AI writing portal API.

    159 GitHub stars~2.7k tokensUpdated today
    Auto-check passed
  • Manim Video

    HybridAIOne/hybridclaw

    Plan, script, render, and stitch Manim Community Edition videos in Python.

    159 GitHub stars~4.7k tokensUpdated today
    Auto-check: notes
  • Skill Creator

    HybridAIOne/hybridclaw

    Create and update SKILL.md-based skills with strong trigger metadata, lean docs, and reliable init, validate, package, and publish workflows.

    159 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • XLSX

    HybridAIOne/hybridclaw

    Create, edit, inspect, and analyze .xlsx spreadsheets and Excel workbooks.

    159 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Excalidraw

    HybridAIOne/hybridclaw

    Create and revise editable .excalidraw diagrams as Excalidraw JSON for architecture diagrams, flowcharts, sequence diagrams, concept maps, and other hand-drawn explainers.

    159 GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Google Ads

    HybridAIOne/hybridclaw

    Manage Google Ads accounts with safe GAQL reporting, campaign planning, guarded mutations, and gateway-proxied REST API calls.

    159 GitHub stars~4k tokensUpdated today
    Auto-check passed

Questions about Fax Send

What does Fax Send do?

Send outbound faxes through a guarded provider adapter and route inbound fax-to-email attachments into downstream document workflows. Fax Send is an agent skill from HybridAIOne/hybridclaw. Send outbound faxes through a guarded provider adapter and route inbound fax-to-email attachments into downstream document workflows.

How do I install Fax Send in Claude Code?

Run `npx skills add HybridAIOne/hybridclaw --skill fax-send -a claude-code`. Or copy the skill folder (skills/fax-send in HybridAIOne/hybridclaw) into .claude/skills/fax-send in your project. Claude Code loads it when a task matches its description.

How do I install Fax Send in Codex?

Run `npx skills add HybridAIOne/hybridclaw --skill fax-send -a codex`. Or copy the skill folder (skills/fax-send in HybridAIOne/hybridclaw) into .agents/skills/fax-send in your project. Codex loads it when a task matches its description.

Can I use Fax Send in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add HybridAIOne/hybridclaw --skill fax-send -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/fax-send, .gemini/skills/fax-send, .github/skills/fax-send and .opencode/skills/fax-send in your project.

What does Fax Send need to run?

Going by SKILL.md and its folder, Fax Send needs JavaScript for the scripts in its folder, the command-line tools its instructions call (node) and credentials named SINCH_FAX_OAUTH_TOKEN. Our summary lists: A credential in SINCH_FAX_OAUTH_TOKEN.

Does Fax Send access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Fax Send safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Fax Send use?

Fax Send is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Fax Send use?

About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Fax Send?

Skills that share tags, products or a category with Fax Send: Nv Endpoint Routed Tool Provider (novuhq/novu, 40k stars), Routing Outbound API Calls (PostHog/posthog, 40k stars), OmniRoute Providers CLI (diegosouzapw/OmniRoute, 75k stars) and Safety Guard (affaan-m/ECC, 277k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Fax Send?

HybridAIOne (a GitHub organization) maintains it in HybridAIOne/hybridclaw, which has 159 GitHub stars. The repository holds 72 skills in this directory. The repository was last updated on October 9, 2026.

Source: HybridAIOne/hybridclaw on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.