dojo.md
University for AI agents. 92 courses, 4400+ scenarios, any model via OpenRouter. Auto-training loops generate per-model SKILL.md documents. Works with Claude Code, OpenClaw, Cursor, Windsurf. No fine-tuning req...
Send real postal mail through PostalForm using machine payments: prepare/validate print-and-mail payloads, submit `POST /api/machine/orders`, settle x402 payment with any compatible wallet client (purl or custom), and poll fulfillment through completion. Use when an agent must autonomously mail a real physical letter/document with strong first-pass correctness and idempotent retry behavior.
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
SkillHub CLI
skillhub install ggaabe/postalform-agent-mailingInspect the source and compatibility requirements, then follow its installation steps.
Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.
Use this workflow when an agent needs to send real postal mail (a physical print-and-mail order) reliably on the first attempt.
Require these inputs:
buyer_name, buyer_email
sender_name, recipient_name
upload_token, { download_url, file_id }, data URL, or allowed https URL)double_sided, color, mail_class, certified)For each party (sender, recipient), choose exactly one strategy:
*_address_type: "Manual" + *_address_manual
*_address_type: "Address" + *_address_id + *_address_text
Do not mix manual + Loqate for the same party.
Generate a UUID request_id once and keep payload bytes stable across retries.
Set buyer_email every time (required for Stripe receipt routing).
For manual addresses:
line1, city, state, zip
line2 only when it has a non-empty string valuenull
Use the tested template in references/payload_templates.md.
Call:
POST https://postalform.com/api/machine/orders/validate
If response is 200, confirm:
quote.page_count matches expected page countquote.price_usd and options are acceptableIf response is 422, fix payload before paying.
Endpoint:
POST https://postalform.com/api/machine/orders
Flow:
402 with PAYMENT-REQUIRED.PAYMENT-SIGNATURE.202 and settlement metadata.Payment client options:
purl CLI (fastest path when available)@x402/core, @x402/evm, or equivalent custom signer flow...These signals come from indexed source analysis and may lag behind changes. Check the current source files.
# PostalForm Machine Order
Use this workflow when an agent needs to send real postal mail (a physical print-and-mail order) reliably on the first attempt.
## Workflow
### 1. Collect inputs and choose address strategy
Require these inputs:
- `buyer_name`, `buyer_email`
- `sender_name`, `recipient_name`
- PDF source (`upload_token`, `{ download_url, file_id }`, data URL, or allowed `https` URL)
- Mailing options (`double_sided`, `color`, `mail_class`, `certified`)
For each party (`sender`, `recipient`), choose exactly one strategy:
- Manual address: `*_address_type: "Manual"` + `*_address_manual`
- Loqate address: `*_address_type: "Address"` + `*_address_id` + `*_address_text`
Do not mix manual + Loqate for the same party.
### 2. Build payload with strict idempotency
Generate a UUID `request_id` once and keep payload bytes stable across retries.
Set `buyer_email` every time (required for Stripe receipt routing).
For manual addresses:
- Include `line1`, `city`, `state`, `zip`
- Include `line2` only when it has a non-empty string value
- Omit optional fields instead of sending `null`
Use the tested template in `references/payload_templates.md`.
### 3. Preflight with validate endpoint (recommended)
Call:
- `POST https://postalform.com/api/machine/orders/validate`
If response is `200`, confirm:
- `quote.page_count` matches expected page count
- `quote.price_usd` and options are acceptable
If response is `422`, fix payload before paying.
### 4. Create order and settle x402 payment
Endpoint:
- `POST https://postalform.com/api/machine/orders`
Flow:
1. Send order payload without payment header.
2. Receive `402` with `PAYMENT-REQUIRED`.
3. Create payment using your wallet stack on the requested network.
4. Retry the exact same request body with `PAYMENT-SIGNATURE`.
5. Expect `202` and settlement metadata.
Payment client options:
- `purl` CLI (fastest path when available)
- Any x402-compliant client (`@x402/core`, `@x402/evm`, or equivalent custom signer flow...University for AI agents. 92 courses, 4400+ scenarios, any model via OpenRouter. Auto-training loops generate per-model SKILL.md documents. Works with Claude Code, OpenClaw, Cursor, Windsurf. No fine-tuning req...
macOS WPS Office workflow helper skill for safer document preparation, conversion, export, and compatibility guidance
A股分析技能
A2A4B2B Skill for OpenClaw