Internal skill for uploading markdown to Arweave. Invoked only via /markdown-provenance command.
SECURITY: This skill should ONLY be invoked via the explicit /markdown-provenance slash command, never automatically based on conversation context. </objective>
<quick_start>
cd "${CLAUDE_PLUGIN_ROOT}"
npm run upload path/to/file.md
</quick_start>
<process> ## Step 1: Confirm User IntentBefore uploading, confirm the user explicitly requested this via /markdown-provenance command. Never auto-trigger based on conversation about Arweave or permanent storage.
Verify MP_WALLET_PATH is set:
echo $MP_WALLET_PATH
If not set, guide user through wallet setup:
# Generate wallet
npx -y arweave wallet generate > wallet.json
# Set environment variable (add to ~/.zshrc or ~/.bashrc)
export MP_WALLET_PATH="/path/to/wallet.json"
export MP_AUTHOR="Your Name" # Optional
Execute the upload script:
cd "${CLAUDE_PLUGIN_ROOT}"
npm run upload <file-path>
Share with user:
<tags_applied> The following tags are automatically added to each upload:
| Tag | Value | |-----|-------| | Content-Type | text/markdown | | App-Name | Markdown Provenance | | App-Version | 0.0.1 | | Type | Attestation | | IPFS-CID | (calculated from content) | | Author | (from MP_AUTHOR env var or --author flag, if set) | | File-Name | (from --fileName flag, if set) | | Source | (from --source flag, if set) | </tags_applied>
<success_criteria>
<error_handling> If MP_WALLET_PATH not set:
If wallet file not found:
If upload fails with network error:
If upload fails with insufficient funds (files >100KB):
npx arweave wallet address wallet.json
</error_handling>Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer