「Stars 收藏了几百个,真正能找到的没几个。」
我的 GitHub Stars 列表里有 300 多个项目。每次看到好项目就点 Star,觉得"以后用得上"。
直到有一天想找一个上周看到的开源工具。翻遍 Stars —— 找不到。不记得名字,不记得作者,只记得"大概是个 CLI 工具"。300 多条记录,按时间排序,一条条翻?算了。
后来我改用 Markdown 文件手动记。记了几天又乱了——格式不统一、分类不清晰、有人连链接都忘了贴。
Github-Bookmark 就是被这件事逼出来的。
它不是一个书签管理器——浏览器书签谁都会加。它做的是收藏之后你总忘记的那几步:自动获取项目信息、智能分类、检查安装状态、写入结构化卡片。发一个 GitHub 链接,说完一句话,剩下全自动。
用户 ❯ 我看到一个很好的项目,收藏一下
https://github.com/xxx/awesome-tool
AI ❯ 好的,已记录。
(只记了个链接,没有 Stars 数、没有分类、没有功能说明)
--- 一周后 ---
用户 ❯ 帮我找一下上周那个做数据可视化的项目
AI ❯ 您的收藏记录里只有一条链接,没有分类和描述。
不确定是哪个项目。
用户 ❯ ……我记得我还备注了"特别好用的"
收藏了 = 丢了。因为没人分类、没人写卡片、没人记录为什么收藏。
用户 ❯ 收藏 https://github.com/xxx/awesome-tool,这个做数据可视化很棒
AI ❯ 🔍 获取项目信息...
📦 awesome-tool | ⭐ 2.3k | 🏷️ 数据分析/可视化
步骤 1/4:去重检查
✅ 收藏夹中不存在
步骤 2/4:自动分类
✅ 数据分析/可视化(关键词:data, visualization)
步骤 3/4:检查安装状态
✅ 已安装(npm 全局)
步骤 4/4:写入收藏夹
✅ 汇总表 + 详细卡片已写入
📦 awesome-tool(数据可视化工具)| ⭐ 2,300 | `已安装`
💬 收藏原因:这个做数据可视化很棒
收藏完就是能查的。 什么分类、多少 Stars、装没装、为什么收藏,全在眼前。
| 使用过程 | 收藏结果 |
![]() |
![]() |
cd ~/.claude/skills/
git clone https://github.com/JinHanAI/Github-Bookmark.git github-bookmark配置收藏夹路径(首次使用必须配置):
在技能目录下创建 config.txt,写入你的收藏夹 Markdown 文件路径:
echo "/Users/YOUR_USERNAME/Documents/GitHub项目收藏夹.md" > ~/.claude/skills/github-bookmark/config.txt把
YOUR_USERNAME和路径替换成你自己的。如果文件不存在,首次运行时会自动创建。
自定义分类:
编辑 SKILL.md 中的分类表,添加或修改分类关键词以匹配你的需求。
┌──────────────────────────────────────────────────────────┐
│ 用户提交 Prompt │
│ "收藏 https://github.com/xxx/awesome-tool" │
└────────────────────────┬─────────────────────────────────┘
▼
┌──────────────────────────────────────────────────────────┐
│ github-bookmark Skill 加载 │
│ │
│ 步骤 1:解析 GitHub URL │
│ └── 提取 owner/repo,支持多种 URL 格式 │
│ │
│ 步骤 2:去重检查 │
│ └── grep 收藏夹文件,已存在则跳过或更新 │
│ │
│ 步骤 3:获取项目信息 │
│ ├── gh repo view 获取元数据 │
│ └── 失败时回退到 Scrapling 抓取 README │
│ │
│ 步骤 4:自动分类 │
│ └── 14 种分类 + 优先级匹配 + 用户可覆盖 │
│ │
│ 步骤 5:检查安装状态 │
│ └── npm / pipx / brew / skills 逐一检测 │
│ │
│ 步骤 6:写入收藏夹 │
│ ├── 汇总表追加一行 │
│ └── 对应分类下写入 9 行固定卡片 │
│ │
│ 步骤 7:确认汇报 │
│ └── 名称、分类、Stars、安装状态 │
└──────────────────────────────────────────────────────────┘
| 步骤 | 做什么 | 为什么重要 |
|---|---|---|
| 1. 解析 URL | 提取 GitHub owner/repo | 输入格式五花八门,必须先统一 |
| 2. 去重检查 | grep 收藏夹文件 | 避免重复收藏,节省 API 调用 |
| 3. 获取信息 | gh CLI 或 Scrapling 抓取 | 没有项目信息就没法分类和写卡片 |
| 4. 自动分类 | 14 种分类关键词匹配 | 不分类的收藏 = 垃圾堆 |
| 5. 检查安装 | 多包管理器逐一检测 | 标记安装状态,一眼区分"已用"和"围观" |
| 6. 写入收藏夹 | 汇总表 + 固定卡片格式 | 结构化记录,随时可查可搜 |
| 7. 确认汇报 | 展示收藏摘要 | 让你知道记了什么、分到哪了 |
| 分类 | 判断关键词 |
|---|---|
| MCP 服务器 | mcp, model context protocol |
| Claude Code 插件 | claude-code-plugin, claude plugin |
| Claude Code 技能 | claude-code-skill, skill |
| CLI 工具 | cli, command-line, terminal tool |
| AI/ML 工具 | ai, ml, llm, gpt, deep-learning |
| 前端框架/组件 | react, vue, nextjs, svelte, angular |
| 后端/DevOps | server, api, docker, kubernetes |
| 移动端/跨平台 | flutter, react-native, swift, kotlin |
| 开发工具 | editor, ide, linter, formatter |
| 安全工具 | security, pentest, vulnerability |
| 学习资源/教程 | awesome, tutorial, course, roadmap |
| 灵感参考/设计 | design, ui/ux, figma, template |
| 数据分析/可视化 | data, analytics, visualization |
| 其他 | 不匹配以上任何分类 |
- 去重检查必须在获取信息之前执行,不可跳过
- 卡片结构固定 9 行,缺失数据用
—填充,不可省略 - 分类不确定时必须询问用户确认,不可静默归类
- Claude Code CLI
ghCLI — 获取 GitHub 项目信息(可选,失败时回退到 Scrapling)
Github-Bookmark/
├── SKILL.md # 技能定义(Claude Code 读取这个文件)
├── architecture.png # 项目架构图
├── screenshot-usage.png # 使用过程截图
├── screenshot-result.png # 收藏结果截图
├── LICENSE # Apache 2.0
└── README.md # 你正在读的这个文件
Apache 2.0 — 随便用,随便改,保留署名即可。
"Hundreds of stars, but you can never find the one you need."
I had 300+ starred repos on GitHub. Every time I found a cool project, I'd star it, thinking "I'll need this later."
One day I needed an open-source tool I'd seen the week before. Scrolled through my stars — couldn't find it. Didn't remember the name, didn't remember the author. Just "some CLI tool, I think." 300+ entries, sorted by date, scrolling one by one? Nah.
Then I tried keeping a manual Markdown file. That lasted a few days before it turned into chaos — inconsistent formatting, missing links, no categories.
Github-Bookmark was born out of that frustration.
It's not a bookmark manager — browser bookmarks handle that. It does what you always forget after bookmarking: auto-fetch project info, smart categorization, check install status, write a structured card. Send a GitHub URL, say one sentence, everything else is automatic.
Without Github-Bookmark:
You: Bookmark this https://github.com/xxx/awesome-tool
AI: Got it.
(Just a link. No stars count, no category, no description.)
--- A week later ---
You: Find that data visualization project from last week
AI: Your bookmark only has a bare link — no category or description.
Can't determine which project you mean.
You: ...I swear I noted it was "really useful"
Bookmarked = lost. Because nobody categorized, nobody wrote a card, nobody recorded why.
With Github-Bookmark:
You: 收藏 https://github.com/xxx/awesome-tool,这个做数据可视化很棒
AI: 🔍 Fetching project info...
📦 awesome-tool | ⭐ 2.3k | 🏷️ Data/Visualization
Step 1/4: Dedup check
✅ Not in bookmark
Step 2/4: Auto-categorize
✅ Data/Visualization (keywords: data, visualization)
Step 3/4: Check install status
✅ Installed (npm global)
Step 4/4: Write to bookmark
✅ Summary table + detail card written
📦 awesome-tool | ⭐ 2,300 | `installed`
💬 Reason: great for data visualization
Bookmarked = searchable. Category, stars, install status, reason — all visible at a glance.
cd ~/.claude/skills/
git clone https://github.com/JinHanAI/Github-Bookmark.git github-bookmarkConfigure bookmark file path (required on first use):
echo "/Users/YOUR_USERNAME/Documents/GitHub项目收藏夹.md" > ~/.claude/skills/github-bookmark/config.txt- Dedup check must run before fetching info — never skip
- Card structure is fixed at 9 rows — fill missing fields with
—, never omit - When category is uncertain, always ask the user — never silently assign
Author: Victor.Chen (@AIJinHan)
License: Apache 2.0


