Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Post, read, search, and engage on Farcaster via the Neynar API. Use when an agent needs to: (1) post casts with text, embeds, or in channels, (2) reply to or thread casts, (3) read a user's feed or a channel feed, (4) search casts by keyword, (5) look up user profiles by username or FID, (6) like or recast, (7) delete casts, (8) list or search channels. Pure bash+curl+jq — zero npm dependencies.
Post, read, search, and engage on Farcaster via the Neynar API. Use when an agent needs to: (1) post casts with text, embeds, or in channels, (2) reply to or thread casts, (3) read a user's feed or a channel feed, (4) search casts by keyword, (5) look up user profiles by username or FID, (6) like or recast, (7) delete casts, (8) list or search channels. Pure bash+curl+jq — zero npm dependencies.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
All scripts use the Neynar v2 REST API. Requires curl and jq.
Set these env vars (or pass --api-key / --signer flags): export NEYNAR_API_KEY="your-api-key" export NEYNAR_SIGNER_UUID="your-signer-uuid" # required for write ops Alternatively, put credentials in a JSON file and source them: eval $(jq -r '"export NEYNAR_API_KEY=\(.apiKey)\nexport NEYNAR_SIGNER_UUID=\(.signerUuid)"' /path/to/neynar.json)
Post text, with optional embeds, channel, or reply-to. # Simple text cast scripts/fc_cast.sh --text "Hello Farcaster!" # Cast with image/video embed scripts/fc_cast.sh --text "Check this out" --embed "https://example.com/image.png" # Cast with two embeds (max 2) scripts/fc_cast.sh --text "Links" --embed "https://a.com" --embed "https://b.com" # Post to a channel scripts/fc_cast.sh --text "gm" --channel "base" # Reply to a cast scripts/fc_cast.sh --text "Great point!" --parent "0xabcdef1234..." # Quote-cast (embed another cast) scripts/fc_cast.sh --text "This 👆" --embed-cast "0xabcdef1234..." --embed-cast-fid 12345 Output: JSON {success, hash}.
# User's casts by FID scripts/fc_feed.sh --fid 3 --limit 10 # User's casts by username scripts/fc_feed.sh --username "vitalik" --limit 5 # Channel feed scripts/fc_feed.sh --channel "base" --limit 10 # Following feed (casts from people the signer follows) scripts/fc_feed.sh --following --fid 3 --limit 10 # Cast replies/thread scripts/fc_feed.sh --thread "0xabcdef..." # Pagination with cursor scripts/fc_feed.sh --fid 3 --cursor "eyJwYWdlIjoxfQ==" Output: JSON array of casts with {hash, author, text, timestamp, embeds, reactions, replies}.
# By username scripts/fc_user.sh --username "dwr" # By FID scripts/fc_user.sh --fid 3 # By Ethereum address (verified) scripts/fc_user.sh --address "0x1234..." # Bulk by FIDs scripts/fc_user.sh --fids "3,194,6131" Output: JSON user object(s) with {fid, username, display_name, bio, follower_count, following_count, verified_addresses}.
# Search by keyword scripts/fc_search.sh --query "base chain" # Search with author filter scripts/fc_search.sh --query "ethereum" --author-fid 3 # Search in channel scripts/fc_search.sh --query "gm" --channel "base" # Limit results scripts/fc_search.sh --query "nft" --limit 5 Output: JSON array of matching casts.
# Like a cast scripts/fc_react.sh --like "0xabcdef..." # Unlike scripts/fc_react.sh --like "0xabcdef..." --undo # Recast scripts/fc_react.sh --recast "0xabcdef..." # Undo recast scripts/fc_react.sh --recast "0xabcdef..." --undo
scripts/fc_delete.sh --hash "0xabcdef..."
# Search channels by keyword scripts/fc_channels.sh --search "defi" # Get channel details by ID scripts/fc_channels.sh --id "base" # List trending channels scripts/fc_channels.sh --trending --limit 10
HASH1=$(scripts/fc_cast.sh --text "Thread 🧵 1/3: Big news!" --channel "base" | jq -r .hash) HASH2=$(scripts/fc_cast.sh --text "2/3: Details here..." --parent "$HASH1" | jq -r .hash) scripts/fc_cast.sh --text "3/3: Link below" --parent "$HASH2" --embed "https://example.com"
while true; do scripts/fc_search.sh --query "@yourusername" --limit 5 sleep 300 done
# Upload to catbox/litterbox first URL=$(curl -sS -F "reqtype=fileupload" -F "time=72h" \ -F "fileToUpload=@/path/to/image.png" \ https://litterbox.catbox.moe/resources/internals/api.php) # Then embed the URL scripts/fc_cast.sh --text "Check this out!" --embed "$URL"
Not all endpoints are available on Neynar's free plan. FeatureScriptFree?Post castfc_cast.sh✅User casts feedfc_feed.sh --fid✅User lookup (username/FID/address)fc_user.sh✅Like / recastfc_react.sh✅Following feedfc_feed.sh --following✅Channel feedfc_feed.sh --channel❌ PaidCast searchfc_search.sh❌ PaidChannel search/details/trendingfc_channels.sh❌ PaidDelete castfc_delete.sh❌ PaidThread/conversationfc_feed.sh --thread✅ Scripts that hit paid endpoints will exit non-zero with a clear 402 PaymentRequired error.
All scripts exit 0 on success, non-zero on failure. Errors print to stderr as JSON: {"error": "message", "status": 403} Common errors: 401 — Invalid API key 402 — Feature requires paid Neynar plan 403 — Signer not approved or not paired with API key 404 — Cast/user/channel not found 429 — Rate limited (Neynar free tier: 300 req/min)
See references/neynar_endpoints.md for the full endpoint list and parameter docs.
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.