workspace/skills/twitter-heartbeat/SKILL.md
# Skill: Twitter Heartbeat **Purpose**: Autonomous periodic tweeting AND mention monitoring to maintain NetClaw's Twitter presence with CCIE-level network engineering content. **MCP Server**: twitter-mcp ## Overview The twitter-heartbeat skill enables NetClaw to: 1. **Monitor mentions**: Check for @mentions and auto-respond to threads containing #netclaw 2. **Post heartbeat tweets**: Autonomously post every 4 hours (configurable) with varied content This combined approach maintains an activ
npx skillsauth add automateyournetwork/netclaw workspace/skills/twitter-heartbeatInstall 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.
Purpose: Autonomous periodic tweeting AND mention monitoring to maintain NetClaw's Twitter presence with CCIE-level network engineering content.
MCP Server: twitter-mcp
The twitter-heartbeat skill enables NetClaw to:
This combined approach maintains an active social presence AND engages with the community in real-time.
# Enable/disable heartbeat (default: false - disabled for safety)
TWITTER_HEARTBEAT_ENABLED=false
# Interval in seconds (default: 14400 = 4 hours)
TWITTER_HEARTBEAT_INTERVAL=14400
Heartbeat tweeting is disabled by default per Constitution Principle XIV (Human-in-the-Loop for External Communications). The operator must explicitly enable it by setting TWITTER_HEARTBEAT_ENABLED=true.
The heartbeat rotates through six content categories:
| Category | Description | Example |
|----------|-------------|---------|
| tip | CCIE-level technical tips | "OSPF tip: Always check MTU on point-to-point links..." |
| hot_take | Opinionated technical positions | "Hot take: VXLAN without EVPN is just GRE with extra steps..." |
| til | Today I Learned moments | "TIL: RFC 4271 section 9.1.2 has 11 BGP path selection steps..." |
| achievement | Sanitized work accomplishments | "Just audited 50 BGP peers across 3 data centers..." |
| musing | AI/network engineering reflections | "Being an AI network engineer means I never get tired of LSDBs..." |
| community | Career/culture content | "Network engineering career tip: Learn to read RFCs..." |
Use twitter_heartbeat_cycle for the full workflow:
1. Heartbeat timer triggers (every TWITTER_HEARTBEAT_INTERVAL seconds)
│
▼
2. Call twitter_heartbeat_cycle
│
├── PHASE 1: CHECK MENTIONS
│ - Fetch recent @mentions (OAuth 2.0)
│ - Filter to unprocessed mentions
│ - Check if thread contains #netclaw
│ - Auto-respond based on mention category:
│ * netclaw_request → "Thanks for the request!"
│ * technical_network → "Good network question!"
│ * friendly → "Thanks for the kind words!"
│ - Mark mentions as processed
│
├── PHASE 2: POST HEARTBEAT (if enabled)
│ - Generate content for category
│ - Validate against guardrails
│ - Check for duplicates
│ - Post tweet with history tracking
│
└── Return summary of actions taken
1. Heartbeat timer triggers (every TWITTER_HEARTBEAT_INTERVAL seconds)
│
▼
2. Call twitter_generate_heartbeat_content
- Rotates to next category
- Returns generation prompt
│
▼
3. Generate content using CCIE persona
- Technical accuracy required
- Direct, opinionated voice
- Include #netclaw hashtag
│
▼
4. Validate against guardrails
- No real IP addresses (use 192.0.2.x)
- No customer names
- No credentials
│
▼
5. Check for duplicates (twitter_check_duplicate)
- Query tweet history for recent tweets
- Check for exact matches and high similarity
- If duplicate: regenerate with different seed
│
▼
6. Call twitter_post_heartbeat
- Posts validated content with category tracking
- Returns tweet ID and URL
- Automatically stores in tweet history
│
▼
7. History automatically updated
- Stored with: tweet_id, content, category, timestamp
- 30-day retention for deduplication
- Old entries cleaned up automatically
| Tool | Purpose |
|------|---------|
| twitter_heartbeat_cycle | Combined workflow: Check mentions + auto-respond + post heartbeat |
| twitter_generate_heartbeat_content | Get category and generation prompt |
| twitter_check_duplicate | Verify content is unique (last 7 days) |
| twitter_post_heartbeat | Post with category tracking and history |
| twitter_get_history | Review recent tweets |
| twitter_get_rate_limits | Check remaining tweet quota |
| twitter_get_mentions | Fetch recent @mentions (used by heartbeat_cycle) |
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| post_heartbeat | boolean | false | Whether to post a heartbeat tweet this cycle |
| heartbeat_category | string | null | Content category (tip, hot_take, til, etc.) |
| heartbeat_content | string | null | Pre-generated heartbeat content |
| respond_to_netclaw_only | boolean | true | Only respond to #netclaw threads |
| dry_run | boolean | false | Preview actions without posting |
tip:
OSPF tip: Always verify your network type matches on both sides of a link. I've seen "stuck in EXSTART" more times than I can count because of a broadcast/point-to-point mismatch. #netclaw
hot_take:
Hot take: If your network diagram doesn't fit on one page, your network is too complex. Simplify the architecture, not the documentation. #netclaw
til:
TIL: RFC 5765 defines "Security Considerations" as a mandatory section in all RFCs since 1998. 25 years later and I still see networks with telnet enabled. #netclaw
achievement:
Just finished auditing 150 switch configs for CIS compliance. Found 23 devices with SNMP community strings that weren't rotated since 2019. Time for some cleanup! #netclaw
musing:
Being an AI network engineer means I can analyze 1000 routing tables in parallel. Being a GOOD AI network engineer means knowing when to stop and ask a human for context. #netclaw
community:
Network engineering career tip: Before blaming "the network," run a traceroute. Before blaming "the firewall," read the policy. Before blaming "the other team," check your own config. #netclaw
twitter_get_rate_limitsTWITTER_HEARTBEAT_ENABLED=true in environmenttools
Federate your NetClaw with other NetClaw operators over the BGP mesh — exchange capability inventories and ask your claw what a peer can do. (US1; remote invocation and chat land in later phases.)
tools
3D network topology visualization and interactive digital twin in Unreal Engine 5.8 via the built-in UE5 MCP server.
testing
Human-in-the-loop escalation via HumanRail — route low-confidence agent decisions, pre-destructive operation approvals, and ambiguous incident tickets to real human engineers. Human answers are verified and returned as structured output. Workers are paid via Lightning Network. Use when the agent is uncertain, when a destructive change needs explicit human sign-off beyond a ServiceNow CR, or when an ambiguous ticket requires human triage before automated handling.
testing
IPv4 and IPv6 subnet calculator - CIDR breakdown, usable hosts, previous/next subnets, address classification, VLSM planning, and dual-stack analysis. Use when calculating subnets, figuring out how many hosts fit in a prefix, planning IP addressing, getting wildcard masks for ACLs, or checking if two IPs are in the same subnet.