clip-tweetlisted
Install: claude install-skill rillmd/rill
# /clip-tweet — Tweet Ingestion
> **Tool references in this skill** (`shell`, `WebFetch`) describe **intent**, not Claude-specific tool calls. Each harness should map them to its native equivalent — Claude Code uses its built-in tools as named; Codex CLI uses `apply_patch` / shell / `--search` etc. as appropriate.
Ingests a Twitter/X tweet URL into `inbox/tweets/`, fetches the content via `fetch-tweet.sh`, and generates an organized version in `_organized/`. A skill that runs `rill clip` + `/distill` Phase 2 (tweet) in one shot.
## Arguments
$ARGUMENTS — Tweet URL (e.g. `https://x.com/user/status/12345`)
## Steps
### Step 1: URL Validation and Normalization
1. If the argument is empty, display "Please specify a tweet URL" and exit
2. Confirm the URL matches the pattern `https://(x.com|twitter.com)/*/status/*`
3. Strip tracking parameters (`?s=`, `&t=`, `&ref_src=`, etc.)
4. Extract `screen_name` and `tweet_id` from the URL
### Step 2: Create File in inbox/tweets/
1. If a file with the same `tweet-id` already exists in `inbox/tweets/`, report the duplicate and skip
2. Create the file with `rill mkfile` (to guarantee timestamp accuracy):
```bash
rill mkfile inbox/tweets --slug {screen_name} --field "source-type=tweet" --field 'url="{normalized URL}"' --field 'tweet-id="{tweet_id}"'
```
3. Use the output path in subsequent steps
### Step 3: Fetch Tweet Data (Script Execution)
Run the following in a shell:
```
bash plugins/twitter/fetch-tweet.sh "{normalized URL}"
`