mcpField
G
generate-mocs

generate-mocs

github.com/huangkikiProductivity1.3k75 installsUpdated today
Repository

About generate-mocs

A skill for manually refreshing concept and paper Maps of Content in Obsidian, for people maintaining note navigation. It runs repository-provided scripts and can perform Git commits or pushes according to configuration.

Key features

  1. 01Generate concept MOCs
  2. 02Generate paper MOCs
  3. 03Keep repeated runs idempotent
  4. 04Commit and push according to configuration

Use cases

  1. 01Manually refresh concept navigation in Obsidian
  2. 02Update indexes for paper notes
  3. 03Commit generated MOCs to a Git repository

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/huangkiki/dailypaper-skills --skill generate-mocs

After installing, type/generate-mocsin Claude Code to confirm it loaded.

Details

From the project README

更新目录页

这个 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 开关影响

Comments

Markdown supported