Skip to content
cccskills
FreePublished on GitHub

[REPLACE: SKILL_NAME]

Mention/keyword sweep on social platforms for [REPLACE: KEYWORDS] — trends, sentiment, top posts

The English summary is being prepared. Showing the original description.

Works withReddit
See how to install

Files included (1)

  • SKILL.md3.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

${var} — Optional. Pass alternative keywords (comma-separated) to override the default. If empty, monitors [REPLACE: KEYWORDS].

Today is ${today}. Monitor social mentions of [REPLACE: KEYWORDS] and produce a summary.

Steps

  1. Resolve keywords — KEYWORDS="${var:-[REPLACE: KEYWORDS]}". Split on commas, trim each, lower-case. Each token becomes its own search query.

  2. Search X — for each keyword, use the X / xAI search path (project's standard pattern):

    # Uses XAI_API_KEY in-run via ./secretcurl (the key is injected via requires:).
    # Mirror the fetch-tweets skill: POST https://api.x.ai/v1/responses with
    #   ./secretcurl -H "Authorization: Bearer {XAI_API_KEY}" -d @/tmp/payload.json
    # WebFetch (or a Nitter mirror) is the last-resort fallback.
    

    Restrict to language [REPLACE: LANGUAGE] (e.g. en, fr, any). Drop posts with fewer than [REPLACE: MIN_LIKES] likes — that filter is what protects the channel from low-signal noise.

  3. Search Reddit — for each keyword:

    # Reddit's keyless JSON endpoint. WebFetch fallback if curl fails (sandbox).
    curl -sf "https://www.reddit.com/search.json?q=$KEYWORD&t=day&restrict_sr=0" \
      -H "User-Agent: aeon/1.0" > .reddit-cache.json || \
      echo "use WebFetch on https://www.reddit.com/search.json?q=$KEYWORD&t=day"
    
  4. Score and pick top 5 per platform — score on engagement (likes, comments, score) × recency (last 24h gets full marks). Drop reposts and obvious bot accounts (handles like *_bot, account age < 7 days with > 100 posts).

  5. Tag sentiment — for the top 10 posts overall, label each positive / neutral / negative based on tone of the post text. Keep this lightweight — one-token classification, no nested reasoning.

  6. Write output/articles/[REPLACE: SKILL_NAME]-${today}.md:

    # [REPLACE: KEYWORDS] — ${today}
    
    ## Volume
    - X: N posts (vs 7d avg M)
    - Reddit: N posts (vs 7d avg M)
    
    ## Sentiment
    positive: X · neutral: Y · negative: Z
    
    ## Top posts
    1. [Author · platform · timestamp]
       "Excerpt or paraphrase."
       → URL
    
    2. ...
    
  7. Notify via ./notify with a 2-3 line summary: *[REPLACE: KEYWORDS] — ${today}* · N posts · sentiment skews positive/negative · top: <one-line title>. Full digest: <url>. Silent on quiet days (volume < 25% of 7d average AND no negative-sentiment spike).

  8. Log to memory/logs/${today}.md:

    ## [REPLACE: SKILL_NAME]
    - **Volume**: x_posts=N, reddit_posts=N, vs_7d_avg=Δ%
    - **Sentiment**: pos=X, neu=Y, neg=Z
    - **Status**: SOCIAL_OK | SOCIAL_QUIET | SOCIAL_SPIKE (vol > 2x avg) | SOCIAL_DEGRADED
    

Network note

X / xAI requires XAI_API_KEY; a bare $XAI_API_KEY on a curl line is refused by the Bash analyzer, so call ./secretcurl with the {XAI_API_KEY} placeholder (the key is injected via requires:). Reddit's JSON endpoint is keyless but rate-limited per IP — WebFetch is the fallback when curl returns 429.

Constraints

  • Bot filter is critical. New accounts with high posting velocity dominate any keyword and are almost always inauthentic. Strict drop.
  • Volume is more honest than sentiment. A SPIKE (volume > 2x 7d avg) is a real signal; sentiment shifts within normal volume often aren't.
  • Engagement filters scale. MIN_LIKES = [REPLACE: MIN_LIKES] is a starting threshold — raise it as the topic gains attention so noise stays out.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Price and volume tracker for [REPLACE: TOKEN_SYMBOL] with anomaly alerts above [REPLACE: ALERT_THRESHOLD_PCT]% movement

The English summary is being prepared. Showing the original description.

aeonfun/aeon777Updated Oct 18, 2026

Watch Vercel deploys for [REPLACE: VERCEL_PROJECT] — alert on [REPLACE: ALERT_ON] in the last [REPLACE: LOOKBACK_HOURS] hours

The English summary is being prepared. Showing the original description.

aeonfun/aeon777Updated Oct 18, 2026

First-touch review of newly opened PRs on [REPLACE: WATCHED_REPO] — verdict + welcoming comment + label

The English summary is being prepared. Showing the original description.

aeonfun/aeon777Updated Oct 18, 2026

Digest of the most interesting new posts on [REPLACE: TOPIC] from RSS feeds and the open web

The English summary is being prepared. Showing the original description.

aeonfun/aeon777Updated Oct 18, 2026

Summary of the [REPLACE: CHANNEL_PLATFORM] channel [REPLACE: CHANNEL_NAME] — top [REPLACE: TOP_N_THREADS] threads + open questions

The English summary is being prepared. Showing the original description.

aeonfun/aeon777Updated Oct 18, 2026

5 concrete real-life actions, leverage-scored against open loops with specificity and anti-fluff gates

The English summary is being prepared. Showing the original description.

aeonfun/aeon777Updated Oct 18, 2026

See all skills by aeonfun

Report a problem with this skill