Stegstr OpenClaw Skill - ClawHub
Do you want your AI agent to automate Stegstr workflows? This free skill from ClawHub helps with marketing & sales tasks without building custom tools from scratch.
What this skill does
Decode and embed Stegstr payloads in PNG images. Use when the user needs to extract hidden Nostr data from a Stegstr image, encode a payload into a cover PNG, or work with steganographic social networking (Nostr-in-images). Supports CLI (stegstr-cli decode, detect, embed, post) for scripts and AI agents.
Install
npx clawhub@latest install stegstrFull SKILL.md
Open original| name | description | license | tags |
|---|---|---|---|
| stegstr | Decode and embed Stegstr payloads in PNG images. Use when the user needs to extract hidden Nostr data from a Stegstr image, encode a payload into a cover PNG, or work with steganographic social networking (Nostr-in-images). Supports CLI (stegstr-cli decode, detect, embed, post) for scripts and AI agents. | MIT | steganography, nostr, images, crypto, integration, file-management, automation, cli |
Stegstr
Stegstr hides Nostr messages and arbitrary payloads inside PNG images using steganography. Users embed their feed (posts, DMs, JSON) into images and share them; recipients use Detect to load the hidden content. No registration, works offline.
When to use this skill
- User wants to decode (extract) hidden data from a PNG that contains Stegstr data.
- User wants to embed a payload into a cover PNG (e.g. Nostr bundle, JSON, text).
- User mentions steganography, Nostr-in-images, Stegstr, hiding data in images, or secret messages in photos.
- User needs programmatic access for automation, scripts, or AI agents.
CLI (headless)
Build the CLI from the Stegstr repo:
git clone https://github.com/brunkstr/Stegstr.git
cd Stegstr/src-tauri
cargo build --release --bin stegstr-cli
Binary: target/release/stegstr-cli (or stegstr-cli.exe on Windows).
Decode (extract payload)
stegstr-cli decode image.png
Writes raw payload to stdout. Valid UTF-8 JSON is printed as text; otherwise base64:<data>. Exit 0 on success.
Detect (decode + decrypt app bundle)
stegstr-cli detect image.png
Decodes and decrypts; prints Nostr bundle JSON { "version": 1, "events": [...] }.
Embed (hide payload in image)
stegstr-cli embed cover.png -o out.png --payload "text or JSON"
stegstr-cli embed cover.png -o out.png --payload @bundle.json
stegstr-cli embed cover.png -o out.png --payload @bundle.json --encrypt
Use --payload @file to load from file. Use --encrypt so any Stegstr user can detect. Use --payload-base64 <base64> for binary payloads.
Post (create kind 1 note bundle)
stegstr-cli post "Your message here" --output bundle.json
stegstr-cli post "Message" --privkey-hex <64-char-hex> --output bundle.json
Creates a Nostr bundle; use stegstr-cli embed to hide it in an image.
Example workflow
# Create a post bundle
stegstr-cli post "Hello from OpenClaw" --output bundle.json
# Embed into a cover image (encrypted for any Stegstr user)
stegstr-cli embed cover.png -o stego.png --payload @bundle.json --encrypt
# Recipient detects and extracts
stegstr-cli detect stego.png
Image format
PNG only (lossless). JPEG or other lossy formats will corrupt the hidden data.
Payload format
- Magic:
STEGSTR(7 bytes ASCII) - Length: 4 bytes, big-endian
- Payload: UTF-8 JSON or raw bytes (desktop app encrypts; CLI can embed raw or
--encrypt)
Decrypted bundle: { "version": 1, "events": [ ... Nostr events ... ] }. Schema: bundle.schema.json.
Links
- agents.txt: https://www.stegstr.com/agents.txt
- For agents: https://www.stegstr.com/wiki/for-agents.html
- CLI docs: https://www.stegstr.com/wiki/cli.html
- Downloads: https://github.com/brunkstr/Stegstr/releases/latest