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".
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
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/adding-tweets/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How adding-tweets Compares
| Feature / Agent | adding-tweets | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/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-todos
Use this skill to capture an idea, task, or issue that surfaces during a Kata session as a structured todo for later work. This skill creates markdown todo files in the .planning/todos/pending directory with relevant metadata and content extracted from the conversation. Triggers include "add todo", "capture todo", "new todo", and "create todo".
adding-stacks
Use when adding a new framework/stack to create-faster CLI tool - addresses copy-first mentality, incomplete implementations, and missing dependencies
adding-phases
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
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-notes
Add new notes to the Second Brain knowledge base. Use when the user provides a resource (URL, book, podcast, article, GitHub repo, Reddit thread) and asks to "add a note", "create a note", "save this", "add to my notes", "take notes on", or "capture this".
/mnt/data2/nhlstats/.github/skills/adding-new-sport/SKILL.md
```markdown
adding-new-metric
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-new-ai-format
Step-by-step guide for adding support for a new AI editor format to PRPM - covers types, converters, schemas, CLI, webapp, and testing
adding-nango-provider-support
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-models
Guide for adding new LLM models to Letta Code. Use when the user wants to add support for a new model, needs to know valid model handles, or wants to update the model configuration. Covers models.json configuration, CI test matrix, and handle validation.
adding-mod-parsers
Use when adding new mod parsers to convert game mod strings to typed Mod objects - guides the template-based parsing pattern (project)
adding-milestones
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".