Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/ryanzhao1011/workframe/obsidian-doc-structurenpx skills add ryanzhao1011/workframe --skill obsidian-doc-structuregit clone --depth 1 https://github.com/ryanzhao1011/workframeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ryanzhao1011/workframe/obsidian-doc-structure)<a href="https://agentmods.dev/skills/ryanzhao1011/workframe/obsidian-doc-structure"><img src="https://agentmods.dev/badge/skills/ryanzhao1011/workframe/obsidian-doc-structure.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00057 | $0.01407 |
| Opus 5 | $0.00028 | $0.00704 |
| Sonnet 5 | $0.00011 | $0.00281 |
| Haiku 4.5 | $0.00006 | $0.00141 |
Grade A, and why
obsidian-doc-structure scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 112 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Obsidian Doc Structure
定位
本 skill 只读文档结构和属性,不写正文。它帮助 agent 在精读全文前先理解文档骨架,并检查 frontmatter / Properties 是否满足项目规范。
触发场景
- 需求评估前,先读取
outline判断需要精读哪些章节。 - PRD / spec / plan / decision 发布前检查
type、status、updated等属性完整性。 - 用户问“这份文档结构完整吗”“缺哪些属性”“大概多少字”。
- 项目配备的发布器(
<platform>-publish)发布前读取status与该平台的同步状态字段。
何时不用
- 已经明确要读全文:直接
Read。 - 简单关键词搜索:直接
rg。 - 需要修改属性:调用
obsidian-safe-write。 - 需要检查坏链:调用
obsidian-link-audit。
CLI Probe
优先读取 .claude/workframe-state/obsidian-cli-status.json(schema 权威定义见下方「status.json schema」):
do_not_probe: true→ 永不重新 probe(不设 TTL、不做过期自判),直接按cli_available决定走 CLI 还是 fallback;重新启用 CLI 的唯一入口 = 用户手动删除该文件后自然触发重新检测- 缓存缺失 → 执行非执行检测(三步全程不运行任何 obsidian 命令):
- 定位命令:
Get-Command obsidian(Windows)/command -v obsidian(POSIX);不存在 → CLI 不可用 - GUI 启动器判定:命令所在目录存在
Obsidian.exe/resources.pak等桌面程序特征文件 → 是 GUI 而非 CLI shim → CLI 不可用 - 判定不可用 → 写入 status.json(
cli_available: false、do_not_probe: true、reason注明检测依据)并走 fallback
- 定位命令:
- 仅当非执行检测确认存在独立 CLI shim 时,才允许执行
obsidian version/obsidian vault info=path验证,并把验证通过的命令写入commands_verified
⚠️ 未通过非执行检测时禁止执行任何
obsidian命令——在「装了 GUI 但未启用 CLI」的机器上会误启动 Obsidian 窗口(官方行为:If Obsidian is not running, the first command you run launches Obsidian)。
失败时 fallback 到 Read + 简单解析。
status.json schema(workframe.obsidian-cli-status.v1)
| 字段 | 类型 | 说明 |
|---|---|---|
__schema__ |
string | 固定 workframe.obsidian-cli-status.v1 |
checked_at |
ISO-8601 | 最近一次检测时间 |
cli_available |
bool | CLI 是否可用 |
commands_verified |
string[] | 已实际验证可用的命令名 |
do_not_probe |
bool | true = 永不重新 probe;重置方式 = 删除本文件 |
reason / note |
string | 检测依据与人读说明(可选) |
其余 3 个 obsidian-* skill 引用本表,不重复定义。
调用前检查
执行任一 Obsidian CLI 命令前,必须依序确认:
status.json存在且do_not_probe: true且cli_available: false→ 直接 fallback,不做任何 probe。- 命令在
commands_verified数组中 → 可以使用 CLI。 - 命令不在数组中 → 直接 fallback,不尝试执行。
status.json不存在或 schema 不匹配 → 按「CLI Probe」的非执行检测流程重新检测(禁止直接执行 obsidian 命令)。
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 112 lines · 57 tokens per session scan A c752657d5b5c
obsidian-doc-structure is a skill published in the GitHub repository ryanzhao1011/workframe (4 stars, last pushed 18d ago), licensed MIT. It adds 57 tokens to every session and 1,407 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
doctor
OrchestKit doctor for health diagnostics across manifest integrity, hook configuration, skill validation, agent frontmatter, MCP server connectivity, CC version compatibility, and permission rules. Reports issues with severity levels and auto-remediation suggestions. Validates component counts, detects orphaned…
decision-ledger
Maintain an append-only decision ledger (DECISIONS.md). Use when the user confirms a decision, reverses or changes a past decision, asks what was decided and why, or at session start to load standing decisions.
pin
Turn a correction or working preference the user just expressed into a permanent ballast rule. Use when the user corrects your behavior, says "don't do X" / "always do Y" / "I told you before", or asks you to remember how they want things done.
knowledge-base
Keep verified findings in memory/knowledge/ so the same research is never done twice. Use before researching any topic, when a finding passes the verify gate, or when about to answer from something learned in an earlier session.
agent-memory-mcp
A hybrid memory system that provides persistent, searchable knowledge management for AI agents (Architecture, Patterns, Decisions).
catchup
Restore context after /clear by summarizing recent work and project state.