╔═╗╔═╗╦═╗╔╦╗╔═╗╦ ╦╔═╗╔╗ ╔═╗╦╔═╦╦ ╦ ╔═╗
╠═╝║╣ ╠╦╝║║║╠═╣║║║║╣ ╠╩╗ ╚═╗╠╩╗║║ ║ ╚═╗
╩ ╚═╝╩╚═╩ ╩╩ ╩╚╩╝╚═╝╚═╝ ╚═╝╩ ╩╩╩═╝╩═╝╚═╝
A collection of Permaweb CLI skills for Claude Code and OpenCode.
| Skill | Description | Docs |
|---|---|---|
arweave |
Upload files/sites to Arweave + manage ArNS records | skills/arweave/SKILL.md |
monitor |
AO Task Monitor client (summaries, alerts, logs) | skills/monitor/SKILL.md |
Install skills into your project using the skills CLI:
# Install the Arweave skill
npx skills add https://github.com/permaweb/skills --skill arweave
# Install the Monitor skill
npx skills add https://github.com/permaweb/skills --skill monitorThis adds the skill to your project's .claude/skills/ or .opencode/skills/ directory.
Once installed, invoke skills by asking Claude Code naturally:
use arweave to upload ./my-document.md
use arweave to upload ./dist
use arweave to attach <txId> to myname
Claude Code will prompt for your wallet path if not configured.
Full docs: skills/arweave/SKILL.md
use monitor to get a summary
use monitor to check alerts
use monitor to show logs for ao-token-info
Requires AO_MONITOR_KEY environment variable (see skill docs for setup).
Full docs: skills/monitor/SKILL.md
You can also run the CLIs directly:
# Upload a file
node skills/arweave/index.mjs upload ./file.md --wallet ./wallet.json
# Upload a website
node skills/arweave/index.mjs upload-site ./dist --wallet ./wallet.json
# Attach to ArNS name
node skills/arweave/index.mjs attach <txId> myname --wallet ./wallet.json --yes
# Query transactions (with automatic endpoint fallback for reliability)
node skills/arweave/index.mjs query --tag "Content-Type:text/html" --limit 10
node skills/arweave/index.mjs query --owner <address> --limit 50
node skills/arweave/index.mjs query --block-min 587540 --block-max 587550
# Use a custom GraphQL endpoint
node skills/arweave/index.mjs query --tag "App-Name:MyApp" --limit 10 \
--graphql-endpoint "https://custom-gateway.com/graphql"The query command supports automatic endpoint fallback for reliability. If the primary Arweave gateway is unavailable, it will automatically try alternative endpoints.
Full docs: skills/arweave/SKILL.md
# System summary
node skills/monitor/index.mjs summary
# Check alerts
node skills/monitor/index.mjs alerts
# View logs
node skills/monitor/index.mjs logs --limit 50Full docs: skills/monitor/SKILL.md
- Node.js 18+
- Internet access
- Arweave wallet (JWK format) for
arweaveskill AO_MONITOR_KEYenv var formonitorskill
The arweave skill requires a build step (bundles dependencies):
npm ci
npm run build
node skills/arweave/index.mjs --helpThe monitor skill is dependency-free and runs directly:
node skills/monitor/index.mjs --helpMIT