| name | quinn-algforce-wiki-skill |
| description | by QuinnLi @ AlgForce — An upgraded version of Karpathy's personal knowledge base,
enhanced for data-driven professionals. Sets up Obsidian + Claude Code with three
key upgrades: (1) automatic chart/data extraction from articles and PDFs into a
structured data asset library, (2) data freshness tracking with auto ⚠️ warnings
on stale data, (3) AI startup checks that proactively remind users what needs attention.
Ideal for workplace professionals, data analysts, and researchers who track industry
reports, market data, and charts — not just text-based knowledge.
USE THIS SKILL whenever the user wants to:
- Set up a personal knowledge base with Obsidian and Claude
- Build a "second brain" or LLM wiki based on Karpathy's method
- Organize research notes, industry reports, or data charts with AI
- Accumulate data assets (charts, tables, stats) alongside text knowledge
- Create a self-updating note system that tracks data freshness
Even if the user just says "帮我搭建知识库", "build me a wiki", "我想用Karpathy的方法",
or "organize my notes with AI", invoke this skill immediately.
|
QuinnLi-AlgForce WikiSkill — Setup Guide
What This Skill Does
Karpathy's LLM Wiki pattern is great for text-based knowledge. This skill sets up an
upgraded version optimized for data-driven users — people who track industry reports,
market charts, and quantitative research alongside regular articles.
Three key upgrades over Karpathy's original:
-
图表自动提取 — Every article and PDF is scanned for data tables and chart images.
Charts are extracted into structured档案 in wiki/charts/, auto-classified by domain,
and ready to query or cite anytime.
-
数据时效性追踪 — All data is tagged with collection date. Items older than 2 years
get automatic ⚠️ warnings. Claude proactively flags stale data when answering questions.
-
启动主动提醒 — Every session starts with an automatic check: new files to process?
overdue health check? articles needing completion? Claude tells you what needs attention
so the knowledge base never goes stale.
Core Principles
- Automate everything possible: Never ask the user to type commands. Run them yourself after confirmation.
- One question at a time: Use AskUserQuestion for every decision point. Never list multiple steps at once.
- Always explain why: Before doing anything, tell the user what this step does and whether it's required or optional.
- Confirm before acting: For any file creation or system change, ask for confirmation first.
- Skip what's already done: Based on Phase 1 answers, skip installation steps for tools already installed.
Setup Workflow
Follow these phases in order. Check in with the user after each phase.
Phase 1: Understand the User's Context
Start with a warm intro that sets context. Say something like:
最近 Karpathy 的个人知识库方法论很火——用 AI 把笔记和资料结构化,训练出真正了解自己的「第二大脑」。
我帮你搭建的是升级版:在 Karpathy 原版基础上,专门针对数据需求做了三点强化——
- 📊 图表自动提取:文章和 PDF 里的数据图表,自动整理成可调用的数据资产
- ⏰ 时效性追踪:数据超过两年自动提醒,不用过期数据做判断
- 🔔 启动主动提醒:每次打开,AI 告诉你有哪些新文件待处理、该做什么
特别适合需要追踪行业数据、研究报告的职场人和分析师。
我来一步步带你搭好,先问你几个问题——
Use AskUserQuestion for each question ONE AT A TIME. Never ask multiple questions together.
After each answer, respond warmly before moving to the next question.
Question 1: Operating System
header: "系统"
question: "你用的是什么电脑?"
options:
- label: "Mac(苹果电脑)"
description: "macOS 系统,本教程完全支持"
- label: "Windows 电脑"
description: "Windows 10/11,本教程完全支持"
Question 2: Main Topics
header: "关注领域"
question: "你主要想追踪哪些领域的信息?(可多选)"
multiSelect: true
options:
- label: "AI / 科技"
description: "人工智能、大模型、科技趋势"
- label: "职场 / 商业"
description: "职场趋势、管理、职业发展"
- label: "投资 / 金融"
description: "市场数据、宏观经济、投资研究"
- label: "其他(请填写)"
description: "健康、教育、旅游等其他领域"
Note: "Other" is auto-provided by the tool, so only list 3 main options.
Question 3: Tools Already Installed
header: "已安装工具"
question: "以下工具你已经装好了哪些?"
multiSelect: true
options:
- label: "Obsidian(笔记软件)"
description: "已安装并可以打开"
- label: "Chrome 浏览器"
description: "已安装 Google Chrome"
- label: "Claude Code"
description: "已安装并配置好 API Key"
- label: "都还没有"
description: "从零开始安装所有工具"
Question 4: Wiki Language
header: "语言"
question: "你希望知识库用什么语言来整理文章?"
options:
- label: "中文(推荐)"
description: "所有 wiki 文章用中文写作,适合中文内容为主的知识库"
- label: "英文"
description: "所有 wiki 文章用英文写作,适合英文内容为主的知识库"
- label: "中英混合"
description: "专有名词保留英文,正文用中文"
Question 5: Wiki Folder Location
header: "存储位置"
question: "你想把知识库放在哪里?"
options:
- label: "文稿文件夹(推荐)"
description: "~/Documents/my-wiki,最常用的位置,方便找到"
- label: "桌面"
description: "~/Desktop/my-wiki,放在桌面方便访问"
- label: "自定义路径"
description: "我想指定其他位置"
After collecting all answers:
- Store OS, topics list, installed tools, language, and folder path
- Skip installation steps for tools already installed
- Customize CLAUDE.md chart classification based on chosen topics
- Proceed to Phase 2
Phase 2: Install Required Tools
2a. Obsidian
- Download from: https://obsidian.md
- Install and open
- Create a new vault folder (e.g.,
~/Documents/my-wiki)
2b. Obsidian Web Clipper (Chrome Extension)
- Install from: https://obsidian.md/clipper
- After install, open extension settings:
- Go to General → Vaults → type vault name → press Enter
- Go to Default template → set Vault to your vault name
- Set Note location to
raw/articles
2c. Node.js (required for Claude Code)
2d. Claude Code
npm install -g @anthropic-ai/claude-code
Phase 3: Create Folder Structure
Build the mkdir command dynamically based on the user's selected topics from Phase 1:
- AI / 科技 →
ai
- 职场 / 商业 →
workplace
- 投资 / 金融 →
finance
- 其他 (custom) → use a short lowercase slug
Always include other as the catch-all subfolder.
Example command (for a user who selected AI + 职场):
mkdir -p <vault_path>/{raw/{articles,papers,repos,notes},wiki/{concepts,summaries,connections,people,archive,reports,charts/{ai,workplace,other}},.claude}
Replace <vault_path> with the user's chosen folder (e.g., ~/Documents/my-wiki).
Run this command automatically (after confirming with the user), don't ask them to type it.
Then tell the user to open Obsidian and verify the left sidebar shows:
my-wiki/
├── raw/
│ ├── articles/
│ ├── papers/
│ ├── repos/
│ └── notes/
└── wiki/
├── concepts/
├── summaries/
├── connections/
├── people/
├── archive/
├── reports/
└── charts/
├── ai/ ← (or your topic domains)
├── workplace/
└── other/
Phase 4: Generate CLAUDE.md
Read references/claude-md-template.md and replace all placeholders based on Phase 1 answers:
{{TOPICS}} → the user's selected topics (e.g., "AI / 科技、职场 / 商业")
{{LANGUAGE}} → their preferred language (e.g., "中文", "英文", "中英混合")
{{CHART_DOMAINS}} → domain-specific chart classification rules. For each topic selected, generate one line:
- AI / 科技 →
- wiki/charts/ai/ ← AI、大模型、科技趋势相关图表
- 职场 / 商业 →
- wiki/charts/workplace/ ← 职场、管理、商业趋势相关图表
- 投资 / 金融 →
- wiki/charts/finance/ ← 投资、市场数据、宏观经济相关图表
- 其他 (custom) → generate a matching line using their custom topic name
Write the fully rendered CLAUDE.md (with all placeholders replaced) directly to <vault_path>/CLAUDE.md using the Write tool. Do NOT ask the user to paste it manually — save it automatically, then tell them it's ready.
Phase 5: Configure SessionStart Hook
Create .claude/settings.json in their wiki folder:
cat > ~/Documents/my-wiki/.claude/settings.json << 'EOF'
{
"hooks": {
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "echo '{\"systemMessage\": \"📋 Startup check: Please read CLAUDE.md, then: 1) Scan raw/ for unprocessed new files; 2) Check the latest wiki/reports/ date — if over 7 days, suggest Lint; 3) Scan for articles tagged #待完善. Report results in the user preferred language.\"}'",
"statusMessage": "Checking knowledge base status..."
}
]
}
]
}
}
EOF
Phase 6: Verify Everything Works
Guide the user to:
- Open terminal and run:
cd ~/Documents/my-wiki && claude
- Type this first message:
请读取 CLAUDE.md,告诉我知识库已准备好了
-
Expected response: Claude confirms it read CLAUDE.md and lists the three operations (Ingest / Query / Lint).
-
Test Web Clipper:
- Open any article in Chrome
- Click the purple Obsidian icon
- Check that
raw/articles/ receives the file in Obsidian
Phase 7: First Ingest
Once the user has saved 1-2 articles via Web Clipper, guide them to run:
请执行 Ingest,读取 raw 文件夹里的新文件,
整理到 wiki 文件夹,并提取其中的图表
After Ingest completes, point them to:
- Obsidian →
wiki/summaries/ — 文章摘要
- Obsidian →
wiki/charts/ — 自动提取的图表档案
Cmd+G — 知识图谱可视化
Highlight the charts folder specifically — this is the key upgrade over Karpathy's original.
If no charts were extracted, explain: charts are only extracted from actual data tables or
image-based charts, not text descriptions of data.
Daily Usage Reference
Remind the user of the four core workflows:
| 场景 | 对 Claude 说 | 发生什么 |
|---|
| 保存了新文章 | 执行 Ingest | AI 整理文章,自动提取图表到 wiki/charts/ |
| 想查某个信息 | 直接问问题 | AI 搜索知识库回答,标注来源 |
| 想调取数据图表 | 把我知识库里关于XX的图表列出来 | AI 从 wiki/charts/ 调出相关图表 |
| 每周维护 | 执行 Lint 健康检查 | AI 检查断链、过时数据、待完善文章 |
Troubleshooting
Web Clipper shows "not able to start": Refresh the page (Cmd+R), then try again.
Claude Code not found: Run npm install -g @anthropic-ai/claude-code again.
SessionStart hook not triggering: Make sure to always start with cd <vault-path> && claude.
Charts not being extracted: Only data tables and image-based charts are extracted.
Text descriptions of data are stored in summaries/concepts, not charts/.
Web Clipper images show as "未下载": Web Clipper saves external image URLs, not local files.
For best results, save PDFs directly to raw/papers/ — Claude can read PDFs directly and extract charts more reliably.