Co-create a personal investment-research LLM Wiki (Andrej Karpathy's pattern) where the user's OWN analysis framework becomes a living CLAUDE.md — by interviewing them, NOT by handing them a template. Use whenever the user wants to build a compounding research knowledge base, 投研第二大脑, 投研知识库, or 个人投研 wiki; instantiate Karpathy's LLM Wiki gist for finance/investing; turn their stock-picking, analyst-tracking, or earnings-watching workflow into a structured markdown vault; or build a wiki tracking companies / industries / macro / analysts over time. Pure markdown + wikilinks, NO RAG / vector DB (Karpathy's core idea — do not over-engineer). Also triggers for ingesting research reports / earnings calls / expert notes into an existing wiki, and for post-earnings prediction→fulfillment reviews. Core value = extracting the user's personal investment preferences into THEIR OWN schema, never imposing a standard one.
npx skills add https://github.com/daymade/claude-code-skills --skill llm-wiki-setup
帮用户搭一个金融投研专用 LLM Wiki(Karpathy 模式):纯 markdown 文件 + [[wikilink]] 互联 + LLM 维护,知识随用复利。
但核心不是给一份投研模板——是引导用户把他自己的投资判断方式,提炼成他专属的 CLAUDE.md。
每个人用自己的语言、自己的投资偏好,建自己的 CLAUDE.md。
两个投资者看同一家公司,关注点可能完全不同——一个看「下季度订单能否超市场预期」,另一个看「管理层电话会上的语气和信心」。给他们同一份模板,就抹掉了让 wiki 有用的那个东西。
examples/examples/investment-research-CLAUDE.md 是一个人长成的样子,给用户看可能性,禁止照抄。它像模板一样被搬走,这个 skill 就失败了。
纯 markdown + wikilink + grep。不加 RAG / 向量库 / embedding。 知识靠预编译进结构化页「复利」,不是每次 query 重新检索原始文档——这是本模式相对 RAG 的根本区别,也是 Karpathy 的核心 idea。别加回任何检索层,别加 knowledge graph / 自动 health-check 之类机制(社区有些版本加了,那是 over-engineer)。
| | 内容 | 处置 |
|---|---|---|
| 机制层 | 三层目录 + wikilink + lint + git hook | ✅ 通用工程结构,scripts/init_vault.py 直接装 |
| 规则层 | 看哪些维度 / 怎么记观点 / 要不要分析师归属 / 怎么复盘 / 要长报告还是三行 | ❌ 用户的投资大脑,访谈长出来,绝不给模板 |
机制层照抄没问题(它是 Karpathy 模式的工程卫生,跟「你怎么投资」无关)。规则层照抄 = 背叛方法论。
references/ingest_sop.mdreferences/fulfillment_sop.mdindex.md + 相关页,带 citation 综合答;好答案回填 synthesispython scripts/init_vault.py <目标目录>
建空骨架(三层目录 + lint + hook 占位 + 空 index/log + CLAUDE 骨架)。这一步只装机制层,不写任何 schema。
读 references/interview.md,按它的 8 个维度一条条访谈用户,把回答用他自己的话写进 <vault>/CLAUDE.md 规则层的占位。
examples/ 给灵感,明说「别抄,挑你戳中的」cd <vault> && git init
git config core.hooksPath .githooks # local 配置,换机/重 clone 要重设
PYTHONUTF8=1 uv run --no-project --with pyyaml python3 scripts/lint-vault.py wiki # 确认绿灯
更新本 skill 后,显式刷新已复制进 vault 的 linter 与 hook:
python scripts/init_vault.py --refresh-tools <vault>
只更新 scripts/lint-vault.py 与 .githooks/pre-commit,不碰 wiki/、raw/ 或用户的 CLAUDE.md。文件有变化时先保留 .before-refresh 备份;若备份已存在则 fail-fast,先审阅并移走旧备份再重跑。
拿用户一份真实的源(研报 / 电话会 / 纪要),按 references/ingest_sop.md 走一遍 HITL 5 卡点,让他亲眼看到 wiki 怎么从源长出来。用用户自己的素材,不要用 examples。
| 场景 | 读 |
|---|---|
| ingest 新源 | references/ingest_sop.md(doc_type 用用户自己定的分类) |
| 财报后复盘 | references/fulfillment_sop.md(分析师回测调 analyst-track-record skill,别重造) |
| vault 卫生(派生值漂移) | references/prune_discipline.md |
| 复盘页对抗审查 | references/counter_review.md |
| 怎么访谈提炼用户的投资大脑 | references/interview.md(Phase 2 的完整方法) |
它要调 analyst-track-record skill(复盘回测)、跑 Bash(scaffold / lint)、可能并行 Task 取财报数据——subagent 不能调 skill 或 spawn subagent,所以必须 inline。
vault 搭好、用户开始 ingest 卖方研报后,如果他想回测某分析师过去准不准 → 建议接 analyst-track-record skill(双维度命中率,有 validated 脚本)。
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
Access NCBI GEO for gene expression/genomics data. Search/download microarray and RNA-seq datasets (GSE, GSM, GPL), retrieve SOFT/Matrix files, for transcriptomics and expression analysis.
Bayesian modeling with PyMC. Build hierarchical models, MCMC (NUTS), variational inference, LOO/WAIC comparison, posterior checks, for probabilistic programming and inference.
Multi-objective optimization framework. NSGA-II, NSGA-III, MOEA/D, Pareto fronts, constraint handling, benchmarks (ZDT, DTLZ), for engineering design and optimization problems.
Statistical modeling toolkit. OLS, GLM, logistic, ARIMA, time series, hypothesis tests, diagnostics, AIC/BIC, for rigorous statistical inference and econometric analysis.
Add unsigned integer (uint) type support to PyTorch operators by updating AT_DISPATCH macros. Use when adding support for uint16, uint32, uint64 types to operators, kernels, or when user mentions enabling unsigned types, barebones unsigned types, or uint support.
Convert PyTorch AT_DISPATCH macros to AT_DISPATCH_V2 format in ATen C++ code. Use when porting AT_DISPATCH_ALL_TYPES_AND*, AT_DISPATCH_FLOATING_TYPES*, or other dispatch macros to the new v2 API. For ATen kernel files, CUDA kernels, and native operator implementations.
Write docstrings for PyTorch functions and methods following PyTorch conventions. Use when writing or updating docstrings in PyTorch code.
Take daymade/llm-wiki-setup from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.