lov-obsidian-ensure-dev-sync · v1.0.1 · 2026-09-07 · sha256 89c46a56985278ee

lov-obsidian-ensure-dev-sync v1.0.1A

Immutable. This exact content is served forever at /api/v1/blob/89c46a56985278ee.

---
name: lov-obsidian-ensure-dev-sync
description: 诊断并修复插件构建、Vault 同步及热重载链路。支持明确输入与结果回读。Use to fix an Obsidian plugin development
  sync chain.
license: MIT
compatibility: 支持 Agent Skills 的宿主;Python 3.8+ 与 PyYAML 用于 Profile 和校验。业务工具要求见工作流。
depends_on:
- lov-branding-consistency
metadata:
  author: contributors
  version: 1.0.1
  content_class: deterministic-output
  card_standard: lovstudio/skill-card/v1
  tags:
  - obsidian-ensure-dev-sync
  - portable-skill
---

# Obsidian 开发同步

诊断并修复插件构建、Vault 同步及热重载链路。

## Triggers

### Activate when

- “诊断并修复插件构建、Vault 同步及热重载链路。”
- “Fix an Obsidian plugin development sync chain.”

### Do not activate when

- 只是查询本 Skill 的说明,或请求与上述结果无关的任务;不执行实际业务操作。
- 用户仅要预览或审查时,不进入修改、提交或发布分支。

## Execution boundary

自然语言请求即可触发;无需旧 slash 路径、参数插值或指定助手。明确解析当前请求中的
项目、目标文件、选项与输出位置;用当前宿主实际提供的文件、搜索、CLI 和浏览器能力。
项目依赖版本与外部 API 在执行时核实,不能假设示例是现行配置。随包脚本从 Skill 根解析,
业务文件从目标项目根解析。先读当前状态,保护已有未提交内容与其他任务的暂存区。
分析、预览请求保持只读;修改、提交、推送、部署和发布各依当前请求的明确范围执行。
不绕过保护、自动发送消息、强制结束用户进程或抢前台。失败保留可诊断原始错误。

## Workflow

1. 读取 manifest id、build/dev scripts、esbuild 配置和当前输出目录;确认这是 Obsidian 插件,区分 dist 构建与生产后的转换步骤。

2. 解析显式 OBSIDIAN_PLUGIN_PATH 或项目 OBSIDIAN_VAULT_PATH,项目配置优先于无关 shell 遗留值。目标路径未确定时停止写入,不写占位 Vault 路径。

3. 检查成功构建后的同步 hook、manifest/styles/main 复制与 .hotreload;只在无构建错误时同步,并保留 Vault 内 data.json 及用户设置。

4. 按实际工具增加安全的文件复制或参数化 rsync,避免 execSync 拼接路径;失败需传播并记录。开发链必须包含必要 postbuild 转换。

5. 检查 hot-reload 插件的真实 id 与资源。缺少时先按当前可信来源核验再安装到指定 Vault;不覆盖 community-plugins.json,不假称已在 UI 启用。

6. 复用运行中的 watcher 验证构建文件校验和、Vault 文件与可得运行日志;静态配置正确、文件同步和实际热重载分别报告。

## Composition

执行前读取 [能力组合](references/skill-composition.md),按明确制品交接相邻能力。

## Runtime context (shared)

运行前读取本包 `skill.yaml` 与 [Profile 合同](references/user-profile.md)。优先级为当前请求、
项目上下文、本 Skill records、共享 preferences、brand/user Profile、安全默认值。
只读取声明字段;没有专用运行时的宿主可使用 `scripts/profile_store.py` 读取共享 Profile。
配置缺失只问影响结果的一个问题。用户明确要求长期保存的值通过该脚本原子写入,
报告实际路径;不保存推断、凭据或其他任务的资料。