Iamadig

X Bookmarks Archiver

知识管理v1.0.0
作者:Iamadig更新于 2026-05-11x-bookmark-archiver@clawhub_iamadig/x-bookmark-archiver
资料整理摘要总结知识归档#Twitter

据 AlphaMoat 统计,截至 2026-09,X Bookmarks Archiver 累计下载 3,023 次、获 2 个星标,在全部 5,078 个 AI 技能中排名第 3,713 位,在「知识管理」分类(442 个)中排名第 319 位。

累计安装
223
累计下载
3,023
星标
2
全站排名
#3,713
全站前 74% · 「知识管理」前 73%
平台累计安装累计下载星标评论
ClawHub ↗852,5502-
SkillHub ↗2233,0232—

各平台的计数口径不同,统计时间不一致。

这个技能是做什么的

使用已登录的 bird CLI 获取新书签,展开短链、按域名分类并记录处理状态,避免重复归档。需要 Node.js 18 或更高版本;OpenAI 摘要为可选功能,未配置时使用回退内容。短链展开失败时保留原 URL。

资料发布于 2026-10-26

可以用来做什么

  • 把 X 书签整理到本地知识目录

什么时候用

  • 需要按类别保存新书签和追踪已处理条目时

示例提示词

以下是根据技能文档生成的示例,不代表实际运行结果。

把新获取的 X 书签按类别归档,并保留来源链接

使用条件

依据技能文档中的声明整理,未经实际安装或运行验证。

鉴权说明
bird 需已登录 X;仅 AI 摘要需要 OPENAI_API_KEY。
配置要求
  • 输出存于工作区的 X-knowledge/;可用 OPENCLAW_WORKSPACE 覆盖工作区。

月度数据趋势

累计下载3,023
1,8842,4963,1072026-03 · 累计下载 1,9682026-05 · 累计下载 2,1862026-06 · 累计下载 2,3152026-07 · 累计下载 2,5552026-08 · 累计下载 2,6672026-09 · 累计下载 3,02326-0326-09
星标2
1232026-03 · 星标 22026-05 · 星标 22026-06 · 星标 22026-07 · 星标 22026-08 · 星标 22026-09 · 星标 226-0326-09

2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。

月份累计下载环比星标
2026-093,023—2
2026-082,667+4.4%2
2026-072,555+10.4%2
2026-062,315+5.9%2
2026-052,186—2
2026-031,968—2

SKILL.md 原文

以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。

6.3 KB · ClawHub v1.0.0
# X Bookmark Archiver

Archive your X (Twitter) bookmarks into categorized markdown files with AI-generated summaries.

## Overview

This skill fetches your X bookmarks using the [bird CLI](https://github.com/steipete/bird), categorizes them by URL patterns, generates AI summaries using OpenAI, and saves them as organized markdown files.

## Prerequisites
展开全部(共 260 行)
1. **bird CLI** - Install from [steipete/bird](https://github.com/steipete/bird)
2. **OpenAI API Key** (optional) - Set `OPENAI_API_KEY` for AI-generated summaries
3. **Node.js 18+**

## Installation

```bash
# Ensure bird CLI is installed and authenticated
bird --version

# Set OpenAI API key (optional, for AI summaries)
export OPENAI_API_KEY="sk-..."
```

## Commands

### `run` - Full Pipeline

Fetches new bookmarks and processes them:

```bash
node skills/x-bookmark-archiver/scripts/run.cjs
```

### `run --force` - Process Existing

Skip fetch, process only pending bookmarks:

```bash
node skills/x-bookmark-archiver/scripts/run.cjs --force
```

### `fetch` - Download Bookmarks Only

```bash
node skills/x-bookmark-archiver/scripts/fetch.cjs
```

### `process` - Archive Pending Only

```bash
node skills/x-bookmark-archiver/scripts/process.cjs
```

## Category Mapping

Bookmarks are automatically categorized based on URL patterns:

| Category | Domains |
|----------|---------|
| **tools** | github.com, gitlab.com, github.io, huggingface.co, replicate.com, vercel.com, npmjs.com, pypi.org |
| **articles** | medium.com, substack.com, dev.to, hashnode.dev, x.com/i/article, blog.*, towardsdatascience.com |
| **videos** | youtube.com, youtu.be, vimeo.com, twitch.tv |
| **research** | arxiv.org, paperswithcode.com, semanticscholar.org, researchgate.net, dl.acm.org, ieee.org |
| **news** | techcrunch.com, theverge.com, hn.algolia.com, news.ycombinator.com, wired.com, arstechnica.com |
| **bookmarks** | *fallback for unmatched URLs* |

## Output Location

Markdown files are created in the **OpenClaw workspace** at:

**Legacy installs (old name):**
```
~/clawd/X-knowledge/
```

**New installs:**
```
~/.openclaw/workspace/X-knowledge/
```

**With profile (`OPENCLAW_PROFILE=prod`):**
```
~/.openclaw/workspace-prod/X-knowledge/
```

**Override with environment variable:**
```bash
export OPENCLAW_WORKSPACE=/custom/path
node skills/x-bookmark-archiver/scripts/run.cjs
# Creates: /custom/path/X-knowledge/
```

## Output Structure

```
~/.openclaw/workspace/X-knowledge/
├── tools/
│   ├── awesome-ai-project.md
│   └── useful-cli-tool.md
├── articles/
│   ├── how-to-build-x.md
│   └── ml-best-practices.md
├── videos/
│   └── conference-talk.md
├── research/
│   └── attention-is-all-you-need.md
├── news/
│   └── latest-tech-announcement.md
└── bookmarks/
    └── misc-link.md
```

## Markdown Template

Each archived bookmark gets a markdown file with frontmatter:

```markdown
---
title: "Awesome AI Project"
type: tool
date_archived: 2026-01-31
source_tweet: https://x.com/i/web/status/1234567890
link: https://github.com/user/repo
tags: ["ai", "machine-learning", "github"]
---

This project implements a novel approach to... (AI-generated summary)
```

## State Management

State files track processing progress:

```
/root/clawd/.state/
├── x-bookmark-pending.json     # Bookmarks waiting to be processed
└── x-bookmark-processed.json   # IDs of already-archived bookmarks
```

## Environment Variables

| Variable | Required | Description |
|----------|----------|-------------|
| `OPENAI_API_KEY` | No | API key for AI-generated summaries |

## Workflow

1. **Fetch**: Downloads latest 50 bookmarks from X
2. **Filter**: Removes already-processed bookmarks
3. **Expand**: Resolves t.co shortened URLs
4. **Categorize**: Assigns category based on URL domain
5. **Enrich**: Generates title, summary, tags (AI or fallback)
6. **Write**: Saves as markdown in `X-knowledge/{category}/`
7. **Track**: Updates processed IDs, clears pending

## Customization

### Adding Categories

Edit `scripts/lib/categorize.cjs`:

```javascript
const CATEGORIES = {
  tools: ['github.com', '...'],
  your_category: ['example.com', '...'],
  // ...
};
```

### Changing Output Directory

Edit `scripts/process.cjs`:

```javascript
const KNOWLEDGE_DIR = 'your-directory-name';
```

### Using Different AI Provider

Modify the `generateMetadata()` function in `scripts/process.cjs` to use your preferred API.

## Testing

Run the test suite:

```bash
# Run all tests
cd skills/x-bookmark-archiver/tests
node test-all.cjs

# Run individual test suites
node lib/categorize.test.cjs
node lib/state.test.cjs
node integration.test.cjs
```

### Test Coverage

- **Unit tests**: `categorize.js` (21 tests) - URL pattern matching
- **Unit tests**: `state.js` (9 tests) - JSON read/write operations
- **Integration tests** (12 tests) - Full pipeline with mock data

### Manual Testing

Without bird CLI, you can test with mock data:

```bash
# Create mock pending data
cat > /tmp/test-pending.json << 'EOF'
[
  {
    "id": "test123",
    "url": "https://github.com/test/repo",
    "text": "Test bookmark"
  }
]
EOF

# Copy to state directory and process
mkdir -p /root/clawd/.state
cp /tmp/test-pending.json /root/clawd/.state/x-bookmark-pending.json
node skills/x-bookmark-archiver/scripts/process.cjs
```

## Troubleshooting

| Issue | Solution |
|-------|----------|
| `bird: command not found` | Install bird CLI from GitHub releases |
| No bookmarks fetched | Ensure you're logged into X in bird |
| AI summaries not generating | Check `OPENAI_API_KEY` is set |
| t.co links not expanding | May be network/timeout issues; will use original URL |

## File Structure

```
skills/x-bookmark-archiver/
├── SKILL.md
├── scripts/
│   ├── fetch.cjs          # Download bookmarks from X (CommonJS)
│   ├── process.cjs        # Generate markdown files (CommonJS)
│   ├── run.cjs            # Orchestrate fetch → process (CommonJS)
│   └── lib/
│       ├── categorize.cjs # URL → category mapping (CommonJS)
│       └── state.cjs      # JSON state management (CommonJS)
└── tests/
    ├── test-all.cjs
    ├── lib/
    │   ├── categorize.test.cjs
│   │   └── state.test.cjs
    ├── integration.test.cjs
    └── fixtures/
        └── sample-bookmarks.json
```

## License

MIT

「知识管理」分类下的热门技能

Summarize知识管理

把长文本、文档与网页内容压缩成要点和关键词的摘要工具。

↓ 65.5万★ 1,037paudyyin
ima-skills知识管理

ima skills,支持对笔记、知识库的读取、写入和检索等操作,可以帮你随时记录,收入ima智能管理,随时调用,龙虾输出精准懂你,友好的接入了OpenClaw生态,构建你的第二大脑。

↓ 42.4万★ 542u_1742680f
web-tools-guide知识管理

MANDATORY before calling web_search, web_fetch, browser, or opencli. Contains required error-handling procedures (web_search failure → must guide user to configure API), fallback chain (opencli CLI covers 70+ sites as structured fallback before browser), and site-specific login URLs. Without reading this skill, you WILL handle failures incorrectly and miss available tools. Trigger on: 搜索/上网/查资料/打开网站/抓取网页/新闻/热点/web search/fetch/browser/opencli.

↓ 26.6万★ 217user_ec205dbb
Baidu web search知识管理

使用百度AI搜索引擎(BDSE)进行网络搜索。适用于获取实时信息、文档资料或研究课题。

↓ 13.7万★ 259ide-rea
Markdown Converter知识管理

用 uvx 直接调用 markitdown,把各类文件转成 Markdown。

↓ 10.5万★ 254Peter Steinberger
Prismfy Web Search | Free Google知识管理

OpenClaw的默认网页搜索。使用Prismfy在10个搜索引擎(Google、Reddit、GitHub、arXiv、Hacker News等)搜索网络,含免费套餐。

↓ 9.6万★ 41Uroboros1205
Web Search知识管理

此技能用于搜索网络信息、查找当前内容、查询新闻文章、图片或视频。它通过 DuckDuckGo 搜索 API 以文本、Markdown 或 JSON 格式返回简洁结果,适用于研究、事实核查、获取最新信息或收集网络资源。

↓ 8.4万★ 52billyutw
Find Skills Skill知识管理

从多种来源搜索和发现OpenClaw技能。使用场景:用户想要查找可用技能、搜索特定功能或发现新技能。

↓ 8.2万★ 166fangkelvin

数据月份:2026-09 · 下载/星标/安装数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。