Skill: caqlayan/tweet-processor (version 1.0.1)

# Tweet Processor Skill Extract and categorize insights from tweet links into structured notes. ## Usage When user sends a tweet URL, automatically: 1. Navigate to the tweet 2. Extract key insights (tools, tech, people, learnings) 3. Categorize into tweet-notes/ files 4. Append with proper formatting ## Input - Tweet URL (any x.com or twitter.com link) ## Output Appends to: - `tweet-notes/tools.md` — Software, services, APIs discovered - `tweet-notes/tech.md` — Development techniques, workflows - `tweet-notes/design.md` — UI/UX insights - `tweet-notes/people.md` — Accounts to follow - `tweet-notes/misc.md` — Other valuable insights ## Format ```markdown ## [Brief Title] **Date:** YYYY-MM-DD **URL:** [tweet URL] **Key takeaway:** [What matters] **Why it matters:** [Brief context] --- ``` ## Rules - Be selective — only genuinely useful insights - Skip fluff and noise - One insight can go into multiple files if relevant - Always include the source URL - Use today's date

path: README.md
content: # Tweet Processor Skill

Automated tweet analysis and categorization for the tweet-notes system.

## What It Does

When you send a tweet link to the agent with this skill active, it will:

1. **Navigate** to the tweet using browser automation
2. **Extract** key insights (tools, techniques, people, learnings)
3. **Categorize** into appropriate files:
   - `tools.md` — Software, APIs, services
   - `tech.md` — Development techniques, workflows  
   - `design.md` — UI/UX insights
   - `people.md` — Worthwhile accounts
   - `misc.md` — Other valuable insights
4. **Append** with consistent formatting including date and URL

## How to Use

Simply send a tweet URL:
```
https://x.com/username/status/1234567890
```

The agent will automatically:
- Detect it's a tweet link
- Navigate and extract content
- Categorize insights
- Update the files
- Report what was added

## Output Format

Each entry follows this structure:

```markdown
## [Brief Descriptive Title]
**Date:** 2025-02-20
**URL:** https://x.com/...
**Key takeaway:** [The core insight or tool/technique]
**Why it matters:** [Context on why this is valuable]

---
```

## Files Managed

- `/tweet-notes/tools.md` — Tools and services discovered
- `/tweet-notes/tech.md` — Technical insights and workflows
- `/tweet-notes/design.md` — Design resources and patterns
- `/tweet-notes/people.md` — Accounts to follow
- `/tweet-notes/misc.md` — Everything else

## Philosophy

- **Be selective** — Only capture genuinely useful insights
- **Skip the fluff** — Ignore hype and noise
- **Actionable > Interesting** — Focus on things that can be used
- **Link everything** — Always include source URLs


path: _meta.json
content: ownerId: kn768ws26ddj1h6na3d750dvtx81ggj1
slug: tweet-processor
version: 1.0.0
publishedAt: 1771598970509

path: process.js
content: #!/usr/bin/env node

/**
 * Tweet Processor Skill
 * Extracts and categorizes insights from tweets
 */

const fs = require('fs');
const path = require('path');

const TWEET_NOTES_DIR = '/home/mediauser/.openclaw/workspace/tweet-notes';
const TODAY = new Date().toISOString().split('T')[0];

// Main entry point
async function processTweet(url) {
  console.log(`Processing tweet: ${url}`);
  
  // This is a template - the actual implementation would:
  // 1. Use browser tool to navigate and extract content
  // 2. Use AI to analyze and categorize
  // 3. Append to appropriate files
  
  console.log('Navigate to tweet URL...');
  console.log('Extract content...');
  console.log('Categorize insights...');
  console.log('Append to files...');
  
  return {
    status: 'success',
    url: url,
    processed: true
  };
}

// CLI usage
if (require.main === module) {
  const url = process.argv[2];
  if (!url) {
    console.error('Usage: node process.js <tweet-url>');
    process.exit(1);
  }
  
  processTweet(url).then(result => {
    console.log('Done:', result);
  }).catch(err => {
    console.error('Error:', err);
    process.exit(1);
  });
}

module.exports = { processTweet };


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)