twitter-cultivate

Twitter account health check, growth strategy, and engagement optimization

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "twitter-cultivate" with this command: npx skills add PHY041/twitter-cultivate

Twitter Account Cultivation Skill

Systematic approach to growing Twitter presence based on the open-source algorithm analysis. Check account health, find engagement opportunities, optimize content strategy.


Prerequisites

  • rnet installed (pip install "rnet>=3.0.0rc20" --pre)
  • rnet_twitter.py — lightweight GraphQL client (https://github.com/PHY041/rnet-twitter-client)
  • Twitter cookies exported to path specified by TWITTER_COOKIES_PATH env var Format: [{"name": "auth_token", "value": "..."}, {"name": "ct0", "value": "..."}]

Getting Cookies

  1. Open Chrome -> go to x.com -> log in
  2. DevTools -> Application -> Cookies -> https://x.com
  3. Copy auth_token and ct0 values
  4. Save as JSON. Cookies last ~2 weeks. Refresh when you get 403 errors.

Core Metrics to Track

MetricHealthy RangeImpact
Following/Follower Ratio< 0.6TweepCred score
Avg Views/Tweet20-40% of followersAlgorithm favor
Media Tweet %> 50%10x engagement
Link Tweet %< 20%Avoid algorithm penalty
Reply RateReply to 100% of comments+75 weight boost

Workflow: Full Health Check

Step 1: Analyze Account

import asyncio, os
from rnet_twitter import RnetTwitterClient

async def analyze(username: str):
    client = RnetTwitterClient()
    cookies_path = os.environ.get("TWITTER_COOKIES_PATH", "twitter_cookies.json")
    client.load_cookies(cookies_path)

    user = await client.get_user_by_screen_name(username)
    followers = user.get("followers_count", 0)
    following = user.get("friends_count", 0)
    ratio = following / max(followers, 1)

    tweets = await client.get_user_tweets(user["rest_id"], count=20)

    return {
        "username": username,
        "followers": followers,
        "following": following,
        "ratio": round(ratio, 2),
        "tweet_count": user.get("statuses_count", 0),
        "recent_tweets": len(tweets),
    }

Step 2: Check Shadowban Status

Manual check: shadowban.yuzurisa.com

Step 3: Analyze Following List

Recommends accounts to unfollow based on:

  • No tweets in 90+ days (inactive)
  • Never interacted with you (no value)
  • Low follower count + high following (likely bots)
  • No mutual engagement

Step 4: Find Engagement Opportunities

async def find_opportunities(niche_keywords: list[str]):
    client = RnetTwitterClient()
    cookies_path = os.environ.get("TWITTER_COOKIES_PATH", "twitter_cookies.json")
    client.load_cookies(cookies_path)

    opportunities = []
    for keyword in niche_keywords:
        tweets = await client.search_tweets(
            f"{keyword} lang:en -filter:replies",
            count=50, product="Top"
        )
        for t in tweets:
            if t["favorite_count"] >= 50 and t["reply_count"] < 20:
                opportunities.append(t)

    return sorted(opportunities, key=lambda t: t["favorite_count"], reverse=True)

Account Health Scoring (TweepCred)

Based on Twitter's open-source algorithm:

Score = PageRank x (1 / max(1, following/followers))
RatioEstimated TweepCredAlgorithm Treatment
< 0.665+ (healthy)All tweets considered
0.6 - 2.040-65Limited consideration
2.0 - 5.020-40Severe penalty
> 5.0< 20Only 3 tweets max

Unfollow Strategy

Priority Order

  1. Inactive Accounts — No tweets in 90+ days
  2. Non-Engagers — Never liked/replied to your tweets
  3. Low-Value Follows — High following/low followers (bot-like)

Execution Plan

Week 1: Unfollow 30 inactive accounts
Week 2: Unfollow 30 non-engagers
Week 3: Unfollow 30 low-value follows
Week 4: Evaluate ratio improvement

Content Strategy (Algorithm-Optimized)

Tweet Types by Algorithm Weight

TypeWeightRecommendation
Tweet that gets author reply+75ALWAYS reply to comments
Tweet with replies+13.5Ask questions
Tweet with profile clicks+12.0Be intriguing
Tweet with long dwell time+10.0Use threads
Retweet+1.0Low value
Like+0.5Lowest value

Content Mix

  • 40% Value content (insights, tips, frameworks)
  • 30% Engagement bait (questions, polls, hot takes)
  • 20% Build-in-public (progress updates, wins, losses)
  • 10% Promotion (with value attached)

Media Requirements

Every tweet should have ONE of: Image, Video (< 2:20), Poll, or Thread (7-10 tweets).


Weekly Routine

Daily (15 min)

  • Post 1-3 tweets with media
  • Reply to ALL comments on your tweets
  • Engage with 5-10 tweets in your niche
  • Check notifications and respond

Weekly (Saturday)

  • Run full health check
  • Review what content performed best
  • Unfollow 10-20 low-value accounts
  • Plan next week's content themes

Monthly

  • Full ratio review (target < 2.0)
  • Shadowban check
  • Content audit (media %, link %)
  • Milestone check (follower goals)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Twitter Auto Engage

Automated Twitter/X engagement script that scans a curated pool of target accounts, generates authentic GPT-powered replies, and posts them via the Twitter G...

Registry SourceRecently Updated
1200Profile unavailable
General

Outreach Scout

Find and engage warm leads on Reddit, X/Twitter, and forums. Monitors platforms for people asking questions your product solves, drafts helpful replies that...

Registry SourceRecently Updated
770Profile unavailable
General

Instagram

A local-first Instagram content system for hooks, captions, content structure, and draft storage. Acts as The Attention Sculptor to optimize stop-rate and re...

Registry SourceRecently Updated
2430Profile unavailable
Coding

X Growth Automation

Set up a reusable X/Twitter growth automation system with OpenClaw, Bird CLI, X API, optional source branching, optional community CTA, dry-run/live rollout,...

Registry SourceRecently Updated
862Profile unavailable