Skills DirectorySearch all skills ↗

AI agent skill · by @huangkiki

Generate Mocs

重新生成 Obsidian 里的目录页 / 导航页(MOC)。 当用户说“更新索引”“更新论文和概念目录”“刷新论文和概念目录”“刷新MOC”时使用。

Archived 2026-10-23 · Source updated 2026-09-15 · License: Apache-2.0. Check the original repository for the latest version.

SKILL.md instructions

# 更新目录页

这个 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. 运行概念目录页脚本:

```bash
python3 ../_shared/generate_concept_mocs.py
```

2. 运行论文目录页脚本:

```bash
python3 ../_shared/generate_paper_mocs.py
```

3. 汇报:
   - 扫描了多少个目录
   - 新建 / 更新了多少个目录页
   - 目录页文件写到了哪里

## 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` 开关影响

Related skills