7xuanlu/wenlan
A living personal wiki. Wenlan turns your documents, notes, and AI chats into pages with links to their sources, and updates them as sources change without overwriting your edits. Claude Code, Codex and other AI tools can build on it.
ARCHETYPE
Skill Collector
Ten-plus skills loaded on demand. A procedural-knowledge library.
Copy this rig
# review before running: this installs third-party code
$ npx degit 7xuanlu/wenlan/.claude ./rig-wenlan # inspect, then merge into .claude/ MCP servers are added to Claude Code at local scope; env vars are shown as YOUR_… placeholders — we never store values. Files are fetched with degit into a separate folder so you can review before merging.
$ npx degit 7xuanlu/wenlan/.claude/skills/prove .claude/skills/prove $ npx degit 7xuanlu/wenlan/.claude/skills/run-wenlan-app .claude/skills/run-wenlan-app $ npx degit 7xuanlu/wenlan/.claude/skills/run-wenlan .claude/skills/run-wenlan $ npx degit 7xuanlu/wenlan/.claude/skills/verify .claude/skills/verify $ npx degit 7xuanlu/wenlan/plugin-codex/skills/brief .claude/skills/brief $ npx degit 7xuanlu/wenlan/plugin-codex/skills/capture .claude/skills/capture $ npx degit 7xuanlu/wenlan/plugin-codex/skills/curate .claude/skills/curate $ npx degit 7xuanlu/wenlan/plugin-codex/skills/distill .claude/skills/distill $ npx degit 7xuanlu/wenlan/plugin-codex/skills/forget .claude/skills/forget $ npx degit 7xuanlu/wenlan/plugin-codex/skills/handoff .claude/skills/handoff $ npx degit 7xuanlu/wenlan/plugin-codex/skills/help .claude/skills/help $ npx degit 7xuanlu/wenlan/plugin-codex/skills/lint .claude/skills/lint $ npx degit 7xuanlu/wenlan/plugin-codex/skills/pages .claude/skills/pages $ npx degit 7xuanlu/wenlan/plugin-codex/skills/recall .claude/skills/recall $ npx degit 7xuanlu/wenlan/plugin-codex/skills/setup .claude/skills/setup
$ curl -fsSL --create-dirs -o .claude/agents/doc-drift-auditor.md https://raw.githubusercontent.com/7xuanlu/wenlan/main/.claude/agents/doc-drift-auditor.md $ curl -fsSL --create-dirs -o .claude/agents/eval-skew-reviewer.md https://raw.githubusercontent.com/7xuanlu/wenlan/main/.claude/agents/eval-skew-reviewer.md $ curl -fsSL --create-dirs -o .claude/agents/rust-async-safety-reviewer.md https://raw.githubusercontent.com/7xuanlu/wenlan/main/.claude/agents/rust-async-safety-reviewer.md
Merge into .claude/settings.json (project) or ~/.claude/settings.json (user). Hook commands reference scripts in the source repo — copy those too.
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "bash -c 'IN=$(cat); H=.claude/hooks/block-no-verify.sh; C=$(printf %s \"$IN\" | jq -r \".cwd // empty\"); R=\"${CLAUDE_PROJECT_DIR:-}\"; [ -f \"$R/$H\" ] || R=$(git -C \"$C\" rev-parse --show-toplevel 2>/dev/null); if [ -f \"$R/$H\" ]; then printf %s \""
}
]
},
{
"matcher": "Edit|Write|MultiEdit",
"hooks": [
{
"type": "command",
"command": "bash -c 'IN=$(cat); H=.claude/hooks/block-release-please-files.sh; C=$(printf %s \"$IN\" | jq -r \".cwd // empty\"); R=\"${CLAUDE_PROJECT_DIR:-}\"; [ -f \"$R/$H\" ] || R=$(git -C \"$C\" rev-parse --show-toplevel 2>/dev/null); if [ -f \"$R/$H\" ]; then "
}
]
}
]
}
} MCP servers (1)
| server | source | est. tokens |
|---|---|---|
| wenlan | local / custom | 2.5k |
Skills (15)
Subagents (3)
| doc-drift-auditor model: opus | Read-only audit for fuzzy drift the CI teeth (drift_guard.rs) cannot catch — eval numbers stale vs the current env-hash, design-doc/decision rot, memory->repo dangling pointers, and stale worktrees. R |
| eval-skew-reviewer model: opus | Reviews diffs that add or change a write-time enrichment feature / retrieval channel for training-serving skew — verifies the feature is wired into the ONE canonical ingest path AND the eval seed AND |
| rust-async-safety-reviewer model: opus | Reviews Rust async code for tokio + libsql + axum concurrency hazards. Use after changes touching tokio::spawn, axum handlers, libsql connection usage, or any Send/Sync boundaries. Read-only — produce |
Hooks (3)
| event | matcher | runs |
|---|---|---|
| PreToolUse | Bash | bash -c 'IN=$(cat); H=.claude/hooks/block-no-verify.sh; C=$(printf %s "$IN" | jq -r ".cwd // empty"); R="${CLAUDE_PROJECT_DIR:-}"; [ -f "$R/$H" ] || R=$(git -C "$C" rev-parse --show-toplevel 2>/dev/null); if [ -f "$R/$H" ]; then printf %s " |
| PreToolUse | Edit|Write|MultiEdit | bash -c 'IN=$(cat); H=.claude/hooks/block-release-please-files.sh; C=$(printf %s "$IN" | jq -r ".cwd // empty"); R="${CLAUDE_PROJECT_DIR:-}"; [ -f "$R/$H" ] || R=$(git -C "$C" rev-parse --show-toplevel 2>/dev/null); if [ -f "$R/$H" ]; then |
| Stop | * | bash -c 'IN=$(cat); H=.claude/hooks/pre-stop-gate.sh; C=$(printf %s "$IN" | jq -r ".cwd // empty"); R="${CLAUDE_PROJECT_DIR:-}"; [ -f "$R/$H" ] || R=$(git -C "$C" rev-parse --show-toplevel 2>/dev/null); if [ -f "$R/$H" ]; then printf %s "$I |
Similar rigs
liviaerxin/promptops-dotfiles
Personal dotfiles for AI prompts, skills, agent templates, and bootstrap workflows.
Skill Collector 1.8k tok ·
philippe-desplats/second-brain
A ready-to-use second brain for entrepreneurs, operated by Claude. Runs in Claude Code and Claude Cowork. Plain markdown, typed frontmatter, guided setup interview.
Skill Collector 3.2k tok ·
xsyetopz/dotclaude
A very opinionated Claude Code plugin designed by a Rustacean
Pragmatist 3.6k tok ·
seanjr2847/seo-miner
검색·AI 답변에서 내 위치를 재고, 손댈 것을 뽑아, 실제 코드 변경까지 잇는 Claude Code 플러그인 — 로컬 SQLite Brain + 대시보드, API 키 없이도 동작
Pragmatist 1.7k tok ·