Dailypaper-skills generate-mocs

install
source · Clone the upstream repo
git clone https://github.com/huangkiki/dailypaper-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/huangkiki/dailypaper-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/generate-mocs" ~/.claude/skills/huangkiki-dailypaper-skills-generate-mocs && rm -rf "$T"
manifest: skills/generate-mocs/SKILL.md
source content

更新目录页

这个 skill 用于手动补刷 Obsidian 里的目录页 / 导航页(MOC)。

Step 0: 读取共享配置

先读取

../_shared/user-config.json
,如果
../_shared/user-config.local.json
存在,再用它覆盖默认值。

显式生成并在后续统一使用这些变量:

  • VAULT_PATH
  • NOTES_PATH
  • CONCEPTS_PATH
  • AUTO_REFRESH_INDEXES
  • GIT_COMMIT_ENABLED
  • GIT_PUSH_ENABLED

其中:

  • NOTES_PATH = {VAULT_PATH}/{paper_notes_folder}
  • CONCEPTS_PATH = {NOTES_PATH}/{concepts_folder}
  • GIT_PUSH_ENABLED
    只有在
    GIT_COMMIT_ENABLED=true
    时才可能为真

后续步骤统一使用上面的变量。

执行步骤

  1. 运行概念目录页脚本:
python3 ../_shared/generate_concept_mocs.py
  1. 运行论文目录页脚本:
python3 ../_shared/generate_paper_mocs.py
  1. 汇报:
    • 扫描了多少个目录
    • 新建 / 更新了多少个目录页
    • 目录页文件写到了哪里

git 自动化

默认配置下:

  • AUTO_REFRESH_INDEXES=true
  • GIT_COMMIT_ENABLED=false
  • GIT_PUSH_ENABLED=false

只有在

GIT_COMMIT_ENABLED=true
时才做 git 操作,并且必须先检查:

  1. VAULT_PATH/.git
    是否存在
  2. git add
    之后是否真的有 staged changes

只有在上面两项都满足时才 commit。

只有在

GIT_PUSH_ENABLED=true
且仓库已配置远端时才 push。

结果要求

  • 目录页生成逻辑必须来自仓库自带脚本,不依赖
    VAULT_PATH/scripts/*
  • 重复运行应保持幂等
  • 用户手动运行这个 skill 时,不受
    AUTO_REFRESH_INDEXES
    开关影响