
Upload And Share
- 11 installs
- 3 repo stars
- Updated March 7, 2026
- merit-systems/x402scan-skills
Helps with ai & agent building tasks.
About
upload-and-share is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.
- upload-and-share
- AI & Agent Building
- AI-coding skill
Upload And Share by the numbers
- 11 all-time installs (skills.sh)
- Ranked #11,769 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/merit-systems/x402scan-skills --skill upload-and-shareAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 11 |
|---|---|
| repo stars | ★ 3 |
| Last updated | March 7, 2026 |
| Repository | merit-systems/x402scan-skills ↗ |
What it does
Helps with ai & agent building tasks.
Files
Upload and Share via agentupload.dev
Upload any local file to S3-backed cloud storage via x402 micropayments. Returns a permanent public URL. No API keys needed.
Workflow
1. Check wallet balance
x402.get_wallet_info()Ensure sufficient USDC balance for the chosen tier. If balance is low, show the deposit link.
2. Determine the tier
Pick the smallest tier that fits the file. Check file size first with ls -la or wc -c.
| Tier | Max Size | Cost |
|---|---|---|
10mb | 10 MB | $0.10 |
100mb | 100 MB | $1.00 |
1gb | 1 GB | $10.00 |
3. Buy the upload slot
x402.fetch(
url: "https://agentupload.dev/api/x402/upload",
method: "POST",
headers: {"Content-Type": "application/json"},
body: {"filename": "<name>", "contentType": "<mime>", "tier": "<tier>"}
)Content type guidance: Use the correct MIME type for the file. Common types:
text/csv,application/json,text/plainfor data filesapplication/pdffor PDFsimage/png,image/jpegfor imagesapplication/zipfor archivesapplication/octet-streamas a fallback for unknown types
The response contains uploadUrl (temporary, 1hr TTL) and publicUrl (permanent for 6 months).
4. Upload the file via curl
Use Bash to PUT the file to the returned uploadUrl:
curl -s -X PUT "<uploadUrl>" -H "Content-Type: <mime>" --data-binary @/absolute/path/to/fileCritical: Use --data-binary (not -d) to preserve binary content. Use the absolute path.
5. Share the public URL
Present the publicUrl to the user. This URL is publicly accessible immediately and remains live for 6 months.
Listing Previous Uploads
To list uploads for the current wallet:
x402.fetch_with_auth(
url: "https://agentupload.dev/api/x402/uploads",
method: "GET"
)This uses SIWX (Sign-In With X) authentication, not x402 payment.
Key Details
- No API keys required - payment is the authentication
- Upload URLs expire in 1 hour - upload promptly after buying the slot
- Public URLs last 6 months from purchase date
- Any file type accepted - contentType is advisory for the browser, not a restriction
- Discovery endpoint:
x402.discover_api_endpoints(url: "https://agentupload.dev")if you need to verify endpoints
Common Patterns
Upload a file the user just created: Skip discovery, go straight to wallet check + buy slot + upload.
Upload multiple files: Buy separate slots for each file. Slots can be purchased in parallel but uploads must use the correct uploadUrl for each.
User asks to "share" or "send" a file: Upload it and present the public URL. The URL can be shared anywhere.
Error Handling
- Insufficient balance: Show the deposit link from
get_wallet_info - File too large for tier: Suggest the next tier up
- Upload URL expired: Buy a new slot (the previous payment is non-refundable)
- curl fails: Verify the file path exists and the uploadUrl is correctly quoted