adding-tweets

Add tweets to the Second Brain. Use when the user provides a Twitter/X URL and pasted tweet content, asking to "add a tweet", "save this tweet", or "capture this tweet".

16 stars

Best use case

adding-tweets is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Add tweets to the Second Brain. Use when the user provides a Twitter/X URL and pasted tweet content, asking to "add a tweet", "save this tweet", or "capture this tweet".

Teams using adding-tweets should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/adding-tweets/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/tools/adding-tweets/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/adding-tweets/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How adding-tweets Compares

Feature / Agentadding-tweetsStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Add tweets to the Second Brain. Use when the user provides a Twitter/X URL and pasted tweet content, asking to "add a tweet", "save this tweet", or "capture this tweet".

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Adding Tweets to Second Brain

Add tweets with author linking, tags, and personal annotations.

## Expected Input

User provides:
1. **Tweet URL** - `x.com/*/status/*` or `twitter.com/*/status/*`
2. **Pasted tweet content** - Copy-pasted from Twitter/X

Example user input:
```text
add this tweet https://x.com/naval/status/1234567890

my favorite way to use Claude Code is spec based

start with a minimal spec and ask Claude to interview you
```

## Workflow

```text
Phase 1: Parse URL → Extract tweet ID and author handle
Phase 2: Parse Content → Extract text, date, author name from paste
Phase 3: Author Resolution → Check/create author profile
Phase 4: Generate Tweet File → Write to content/tweets/
Phase 5: Suggest Editing → Tags, annotations, wiki-links
Phase 6: Quality Check → Run pnpm lint:fix && pnpm typecheck
```

### Phase 1: Parse URL

Extract from URL using regex:
- `tweetId`: The numeric ID from `/status/{id}`
- `authorHandle`: The username from `x.com/{username}/status/`

```text
Pattern: (?:x\.com|twitter\.com)/([^/]+)/status/(\d+)
Example: https://x.com/naval/status/1789234567890
         → authorHandle: "naval"
         → tweetId: "1789234567890"
```

### Phase 2: Parse Content

From the pasted text:
- **tweetText**: The main tweet content (clean up any extra whitespace)
- **tweetedAt**: If date is visible in paste, use it. Otherwise use today's date.
- **authorName**: If visible (e.g., "Naval Ravikant"), use it. Otherwise use handle.

If critical info is missing, use the `AskUserQuestion` tool to gather it:

```yaml
question: "I need some missing tweet info. What is the tweet text?"
header: "Tweet Info"
multiSelect: false
options:
  - label: "I'll provide it"
    description: "Let me paste the tweet content"
```

For optional fields like date, ask separately if needed.

### Phase 3: Author Resolution

1. Check if author exists:
   ```bash
   ls content/authors/{authorHandle}.md
   ```

2. If not exists, create minimal profile:
   ```yaml
   ---
   name: "{Display Name or Handle}"
   slug: {authorHandle}
   socials:
     twitter: "https://x.com/{authorHandle}"
   ---
   ```

3. For full author enhancement, suggest running `/enhance-author {authorHandle}`

### Phase 4: Generate Tweet File

**Slug format:** `tweet-{tweetId}`

**File path:** `content/tweets/tweet-{tweetId}.md`

**Frontmatter template:**
```yaml
---
type: tweet
title: "{First 50 chars of tweet}..."
tweetId: "{tweetId}"
tweetUrl: "{originalUrl}"
tweetText: "{full tweet text}"
author: {authorHandle}
tweetedAt: {YYYY-MM-DD}
tags:
  - {suggested tags}
---

{User's personal annotations go here}
```

### Phase 5: User Editing

After saving, inform user:
- File location
- Suggest adding tags (use `.claude/skills/adding-notes/scripts/list-existing-tags.sh` for suggestions)
- Suggest adding personal annotations in the body
- Suggest wiki-links to related notes

## Tag Suggestions

Based on tweet content, suggest from existing tags:
```bash
.claude/skills/adding-notes/scripts/list-existing-tags.sh
```

Common tweet themes → tags:
- Wisdom, advice → `mindset`, `philosophy`
- Business, startups → `startup`, `business`
- Technology → `tech`, `programming`
- Productivity → `productivity`, `habit`
- AI, Claude → `claude-code`, `ai-agents`, `prompt-engineering`

## Validation

Before saving, verify:
1. Tweet ID is unique (no duplicate file exists)
2. Author profile exists or was created
3. `tweetedAt` is valid date format
4. `tweetText` is not empty

---

## Phase 6: Quality Check

Run linter and type check to catch any issues:

```bash
pnpm lint:fix && pnpm typecheck
```

If errors are found, fix them before completing the task.

Related Skills

adding-templates

16
from diegosouzapw/awesome-omni-skill

Use when adding new stacks, libraries, or project addons to create-faster CLI tool - covers META entries, template creation, and testing for all addon types

adding-new-metric

16
from diegosouzapw/awesome-omni-skill

Guides systematic implementation of new sustainability metrics in OSS Sustain Guard using the plugin-based metric system. Use when adding metric functions to evaluate project health aspects like issue responsiveness, test coverage, or security response time.

adding-milestones

16
from diegosouzapw/awesome-omni-skill

Use this skill when adding a milestone to an existing project, starting a new milestone cycle, creating the first milestone after project init, or defining what's next after completing work. Triggers include "add milestone", "new milestone", "start milestone", "create milestone", "first milestone", "next milestone", and "milestone cycle".

adding-service-documentation

16
from diegosouzapw/awesome-omni-skill

Documents new Coolify one-click services by creating markdown pages in docs/services/, downloading logos to docs/public/images/services/, and updating List.vue catalog. Use when adding service documentation, creating service pages, onboarding services from templates/compose/, or updating the services catalog with new entries.

adding-nango-provider-support

16
from diegosouzapw/awesome-omni-skill

Use when adding support for a new Nango provider - configures provider in providers.yaml, creates documentation (main page, setup guide, connect guide), and updates docs.json following established patterns

adding-stacks

16
from diegosouzapw/awesome-omni-skill

Use when adding a new framework/stack to create-faster CLI tool - addresses copy-first mentality, incomplete implementations, and missing dependencies

adding-phases

16
from diegosouzapw/awesome-omni-skill

Use this skill to add planned work discovered during execution to the end of the current milestone in the roadmap. This skill appends sequential phases to the current milestone's phase list, automatically calculating the next phase number. Triggers include "add phase", "append phase", "new phase", and "create phase". This skill updates ROADMAP.md and STATE.md accordingly.

adding-persistent-event

16
from diegosouzapw/awesome-omni-skill

Adds a new type of event that gets persisted to the event log. Use this when adding new kinds of write operations to the system or when adding new events to existing code.

adding-localizable-strings

16
from diegosouzapw/awesome-omni-skill

Adds new human-readable strings that are translated into users' languages.

adding-a-new-app-route

16
from diegosouzapw/awesome-omni-skill

Fully wires up a new route with required boilerplate, following this repo's conventions for subapps. Use when user wants to add a new route or app or subapp or page or screen.

1k-adding-socket-events

16
from diegosouzapw/awesome-omni-skill

Adds new WebSocket event subscriptions to OneKey. Use when implementing new socket events, handling server push messages, or adding real-time data subscriptions. Socket, WebSocket, event, subscription, push, real-time.

adding-animations

16
from diegosouzapw/awesome-omni-skill

Add micro-interactions and animations using Framer Motion. Use when user asks about animations, transitions, hover effects, or motion design. MANDATORY for every component.