Skip to content

JinHanAI/Github-Bookmark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Github-Bookmark

「Stars 收藏了几百个,真正能找到的没几个。」

License: Apache 2.0 Claude Code Skills

Github-Bookmark Architecture

我的 GitHub Stars 列表里有 300 多个项目。每次看到好项目就点 Star,觉得"以后用得上"。

直到有一天想找一个上周看到的开源工具。翻遍 Stars —— 找不到。不记得名字,不记得作者,只记得"大概是个 CLI 工具"。300 多条记录,按时间排序,一条条翻?算了。

后来我改用 Markdown 文件手动记。记了几天又乱了——格式不统一、分类不清晰、有人连链接都忘了贴。

Github-Bookmark 就是被这件事逼出来的。

它不是一个书签管理器——浏览器书签谁都会加。它做的是收藏之后你总忘记的那几步:自动获取项目信息、智能分类、检查安装状态、写入结构化卡片。发一个 GitHub 链接,说完一句话,剩下全自动。

翻车现场 · 安装 · 工作原理 · English


翻车现场

😱 没有 Github-Bookmark 时

用户      ❯ 我看到一个很好的项目,收藏一下
            https://github.com/xxx/awesome-tool

AI        ❯ 好的,已记录。
            (只记了个链接,没有 Stars 数、没有分类、没有功能说明)

--- 一周后 ---

用户      ❯ 帮我找一下上周那个做数据可视化的项目

AI        ❯ 您的收藏记录里只有一条链接,没有分类和描述。
            不确定是哪个项目。

用户      ❯ ……我记得我还备注了"特别好用的"

收藏了 = 丢了。因为没人分类、没人写卡片、没人记录为什么收藏。

✅ 有了 Github-Bookmark 后

用户      ❯ 收藏 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、装没装、为什么收藏,全在眼前。

使用效果

使用过程 收藏结果
Usage Result

安装

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、安装状态                          │
└──────────────────────────────────────────────────────────┘

7 步闭环检查清单

步骤 做什么 为什么重要
1. 解析 URL 提取 GitHub owner/repo 输入格式五花八门,必须先统一
2. 去重检查 grep 收藏夹文件 避免重复收藏,节省 API 调用
3. 获取信息 gh CLI 或 Scrapling 抓取 没有项目信息就没法分类和写卡片
4. 自动分类 14 种分类关键词匹配 不分类的收藏 = 垃圾堆
5. 检查安装 多包管理器逐一检测 标记安装状态,一眼区分"已用"和"围观"
6. 写入收藏夹 汇总表 + 固定卡片格式 结构化记录,随时可查可搜
7. 确认汇报 展示收藏摘要 让你知道记了什么、分到哪了

自动分类(14 种)

分类 判断关键词
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
其他 不匹配以上任何分类

铁律

  1. 去重检查必须在获取信息之前执行,不可跳过
  2. 卡片结构固定 9 行,缺失数据用 填充,不可省略
  3. 分类不确定时必须询问用户确认,不可静默归类

依赖

  • Claude Code CLI
  • gh CLI — 获取 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 — 随便用,随便改,保留署名即可。


English

"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.

Before vs After

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.

Install

cd ~/.claude/skills/
git clone https://github.com/JinHanAI/Github-Bookmark.git github-bookmark

Configure bookmark file path (required on first use):

echo "/Users/YOUR_USERNAME/Documents/GitHub项目收藏夹.md" > ~/.claude/skills/github-bookmark/config.txt

The 3 iron rules

  1. Dedup check must run before fetching info — never skip
  2. Card structure is fixed at 9 rows — fill missing fields with , never omit
  3. When category is uncertain, always ask the user — never silently assign

Author: Victor.Chen (@AIJinHan)

License: Apache 2.0

About

GitHub 项目收藏夹 Skill — 自动获取信息、智能分类、结构化记录

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors