skills/tinyfish-social-listening/SKILL.md
Track last-24-hour TinyFish mentions across X, LinkedIn, Reddit, and Hacker News. Use when asked to find posts or comments mentioning TinyFish, tinyfish.ai, Search, Fetch, Agent, or related TinyFish product chatter while excluding official TinyFish accounts. Uses TinyFish Search and Fetch first, then Agent only as a documented fallback when Search/Fetch cannot prove completeness because a target site blocks, hides, or requires a multi-step workflow. Returns all discovered posts and comments, with optional sentiment buckets.
npx skillsauth add tinyfish-io/skills tinyfish-social-listeningInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Find TinyFish mentions across X, LinkedIn, Reddit, and Hacker News for the last 24 hours. Default output is all discovered posts/comments, not a summary.
Run:
[ -n "$TINYFISH_API_KEY" ] && echo "TINYFISH_API_KEY is set" || tinyfish auth status | jq '{authenticated, source}'
node --version
The runner uses TINYFISH_API_KEY first, then TinyFish CLI auth config execution-only. Do not inspect, print, or summarize real secret files.
Use bundled runner:
npm run listen -- --hours=24 --sentiment
Default behavior:
Run the local self-test:
npm test
JSON output:
npm run listen -- --hours=24 --sentiment --json
Enable Agent fallback after credits/auth are available:
npm run listen -- --hours=24 --sentiment --agent-fallback --max-agent-runs=2
Default Agent fallback is targeted: it opens exact unresolved X/LinkedIn URLs from Search+Fetch and tries to verify content or timestamps. If Search/Fetch fails before producing exact URLs, it can run one capped search_recovery job. It does not run broad social search otherwise unless explicitly requested:
npm run listen -- --hours=24 --sentiment --agent-fallback --agent-search-fallback --max-agent-runs=2
Use authenticated Agent fallback with TinyFish Vault credentials:
npm run listen -- --hours=24 --sentiment --agent-fallback --use-vault --linkedin-credential-item-id=cred:...:item-linkedin
If one credential should be available to every Agent fallback platform:
npm run listen -- --hours=24 --sentiment --agent-fallback --use-vault --credential-item-id=cred:...:item-shared
For deeper Search pagination, throttle Search to avoid rate limits:
npm run listen -- --hours=24 --sentiment --max-pages=10 --search-delay-ms=12500
Conservative defaults stay within the lower public free-plan limits seen on TinyFish pricing/blog pages: Search 5 req/min and Fetch 25 url/min. If your account has higher limits from the API reference or a paid plan, lower --search-delay-ms / --fetch-delay-ms or increase --fetch-batch-size.
Save a report:
mkdir -p reports
npm run listen -- --hours=24 --sentiment > reports/tinyfish-social-listening-$(date -u +%Y%m%dT%H%M%SZ).md
Needs verification with verification_type: content; do not count them as verified.published_date; still require Agent/browser verification for blocked content.twitter.com and current x.com hosts do not double-count one post.Needs verification; do not pretend they are proven last-24-hour items.needs_time_verification only for items whose timestamp cannot be proven. Do not put X snowflake-decoded timestamps there.Default exclusions:
@Tiny_Fish, x.com/Tiny_Fishtwitter.com/Tiny_Fish@sudheenairlinkedin.com/company/tinyfish-aiSudheesh Nair, linkedin.com/in/sudheenair, linkedin.com/posts/sudheenair_Override or add exclusions:
npm run listen -- --exclude-author=Tiny_Fish --exclude-url=https://www.linkedin.com/company/tinyfish-ai
Exclude known irrelevant brand collisions:
npm run listen -- --exclude-phrase="other product phrase"
Grounding from TinyFish docs:
429s.use_vault: true and credential_item_ids from GET /v1/vault/items; scoped credential IDs prevent the wrong login when multiple accounts exist on one domain.Operational strategy:
--agent-fallback for X/LinkedIn when Search/Fetch hits bot_blocked, timeout, empty_content, other fetch failures, search API failures, or timestamp/content-incomplete results that may hide comments/replies.--max-agent-runs to avoid burning steps. If Search/Fetch fails before producing exact URLs, it can run a capped search_recovery job. Broad Agent search is otherwise behind --agent-search-fallback or --force-agent-fallback.--use-vault plus platform-specific --linkedin-credential-item-id=... or --x-credential-item-id=... when public Search/Fetch cannot see logged-in comments/posts.403 when output_schema was not enabled, 403 when credits were empty, and 429 RATE_LIMIT_EXCEEDED when stale pending runs exceeded the active-run limit. These are source failures, not verified mentions.Run once or twice daily from this skill directory:
0 8,20 * * * cd /path/to/tinyfish-social-listening && /usr/bin/env bash -lc 'npm run listen -- --hours=24 --sentiment >> reports/cron-social-listening.md'
For production cron, write one timestamped report per run instead of appending if downstream tooling needs immutable artifacts.
development
Create free SSH tunnels to expose local ports to the internet using tinyfi.sh. Use when you need to share a locally running app, test webhooks, demo a prototype, or get a public HTTPS URL for any local service — no signup or authentication required.
development
Use TinyFish web agent to extract/scrape websites, extract data, and automate browser actions using natural language. Use when you need to extract/scrape data from websites, handle bot-protected sites, or automate web tasks.
testing
Create, edit, improve, or audit AgentSkills. Use when creating a new skill from scratch or when asked to improve, review, audit, tidy up, or clean up an existing skill or SKILL.md file. Also use when editing or restructuring a skill directory (moving files to references/ or scripts/, removing stale content, validating against the AgentSkills spec). Triggers on phrases like "create a skill", "author a skill", "tidy up a skill", "improve this skill", "review the skill", "clean up the skill", "audit the skill".
testing
Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, OpenClaw cron scheduling for periodic checks, or version status checks on a machine running OpenClaw (laptop, workstation, Pi, VPS).