twitter-brief

📁 theaayushstha1/agentic-skills 📅 1 day ago
2
总安装量
1
周安装量
#75114
全站排名
安装命令
npx skills add https://github.com/theaayushstha1/agentic-skills --skill twitter-brief

Agent 安装分布

mcpjam 1
claude-code 1
replit 1
junie 1
windsurf 1
zencoder 1

Skill 文档

Twitter/X Brief

Scrape and summarize Twitter/X feed and bookmarks using Playwright MCP. Generate NotebookLM podcasts from individual bookmarks.

Prerequisites

  1. Playwright MCP must be configured
  2. Twitter credentials stored at references/credentials.md (auto-login)
  3. NotebookLM MCP for podcast generation

Auto-Login Flow

Credentials are saved in references/credentials.md. If not logged in:

  1. Navigate to https://x.com/i/flow/login
  2. Read credentials from references/credentials.md
  3. Type username into “Phone, email, or username” field
  4. Click “Next”
  5. Type password into “Password” field
  6. Click “Log in”
  7. Wait for redirect

Command Routing

User Says Action
“twitter brief” / “check twitter” Summarize home feed
“twitter bookmarks” / “check my bookmarks” Review bookmarks
“podcast from bookmarks” / “make podcast from twitter” Bookmarks to NotebookLM podcasts

Workflow: Feed Summary

  1. Navigate to https://x.com/home (auto-login if needed)
  2. Snapshot feed, scroll 2-3 times
  3. Extract top 10-15 posts (author, content, engagement)
  4. Summarize by topics: trending, tech/AI, worth reading

Workflow: Bookmarks Review

  1. Navigate to https://x.com/i/bookmarks (auto-login if needed)
  2. Snapshot bookmarks, scroll to capture all
  3. Extract each bookmark: author, text, date, links
  4. Present categorized summary

Workflow: Bookmarks to NotebookLM Podcasts

Key rule: 1 bookmark = 1 podcast. Generate up to 3 per session.

Each podcast should be:

  • ~5 minutes (use audio_length: "short")
  • Brief, conversational, easy to understand
  • Well-prompted with context about the bookmark content

Steps per bookmark:

  1. Create a new NotebookLM notebook with a good descriptive title (not generic)
    • Title format: Topic or key insight from the post (e.g., “Agent Swarm Architecture with OpenClaw”)
    • Keep title short and descriptive, no fluff
  2. Add the bookmark URL as a source:
    source_add(notebook_id=..., source_type="url", url="[tweet URL]", wait=True)
    
  3. For text-only posts (no article link), add as text source:
    source_add(notebook_id=..., source_type="text", text="[full post content]", title="@author - [topic]")
    
  4. Generate audio with a focused prompt:
    studio_create(
      notebook_id=...,
      artifact_type="audio",
      audio_format="brief",
      audio_length="short",
      focus_prompt="Explain this topic in simple, easy-to-understand terms. Cover: what it is, why it matters, and key takeaways. Keep it conversational like you're explaining to a smart friend who hasn't seen this yet.",
      confirm=True
    )
    
  5. Do NOT wait/poll for audio generation (takes ~10 min). Move on.
  6. After ~10 minutes, check studio_status for all 3 notebooks.
  7. Once complete, send an email via gmail skill with:
    • Subject: “Your Podcasts Are Ready”
    • List of podcast titles with NotebookLM links
    • Keep it short and clean

Podcast Prompt Template:

Customize the focus_prompt based on bookmark content:

  • For articles: “Break down this article’s key points in simple terms. What’s the main idea, what are the practical takeaways, and why should someone care about this?”
  • For tools/products: “Explain what this tool does, how it works, and who it’s useful for. Keep it simple and practical.”
  • For opinions/takes: “Discuss this perspective. What’s the argument being made, is it valid, and what are the implications?”
  • For tutorials: “Summarize the key techniques and steps from this tutorial. What can someone learn from this?”

Troubleshooting

Issue Solution
Not logged in Auto-login using saved credentials
Login fails Check credentials in references/credentials.md
Feed is empty Refresh page, check internet
Bookmarks page empty User may not have bookmarks
Audio generation slow Takes 3-5 min; poll studio_status periodically