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".
Add tweets with author linking, tags, and personal annotations.
User provides:
x.com/*/status/* or twitter.com/*/status/*Example user input:
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
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 vp check && pnpm typecheck
Extract from URL using regex:
tweetId: The numeric ID from /status/{id}authorHandle: The username from x.com/{username}/status/Pattern: (?:x\.com|twitter\.com)/([^/]+)/status/(\d+)
Example: https://x.com/naval/status/1789234567890
→ authorHandle: "naval"
→ tweetId: "1789234567890"
From the pasted text:
If critical info is missing, use the AskUserQuestion tool to gather it:
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.
Check if author exists:
ls content/authors/{authorHandle}.md
If not exists, create minimal profile:
---
name: "{Display Name or Handle}"
slug: { authorHandle }
socials:
twitter: "https://x.com/{authorHandle}"
---
For full author enhancement, suggest running /enhance-author {authorHandle}
Slug format: tweet-{tweetId}
File path: content/tweets/tweet-{tweetId}.md
Frontmatter template:
---
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 }
After saving, inform user:
.claude/skills/adding-notes/scripts/list-existing-tags.sh for suggestions)Based on tweet content, suggest from existing tags:
.claude/skills/adding-notes/scripts/list-existing-tags.sh
Common tweet themes → tags:
mindset, philosophystartup, businesstech, programmingproductivity, habitclaude-code, ai-agents, prompt-engineeringBefore saving, verify:
tweetedAt is valid date formattweetText is not emptyRun linter and type check to catch any issues:
vp check && pnpm typecheck
If errors are found, fix them before completing the task.