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 skills add fanchenggang/Davflare --skill obsidian-syncgit clone --depth 1 https://github.com/fanchenggang/DavflareWrote 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/fanchenggang/davflare/obsidian-sync)<a href="https://agentmods.dev/skills/fanchenggang/davflare/obsidian-sync"><img src="https://agentmods.dev/badge/skills/fanchenggang/davflare/obsidian-sync/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/fanchenggang/davflare/obsidian-sync"><img src="https://agentmods.dev/badge/skills/fanchenggang/davflare/obsidian-sync.svg" alt="Reviewed on agentmods" width="80" 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.00043 | $0.00937 |
| Opus 5.5 | $0.00017 | $0.00375 |
| Sonnet 5.5 | $0.00009 | $0.00187 |
| Haiku 4.5 | $0.00004 | $0.00094 |
Grade A, and why
obsidian-sync scanned grade A with 1 finding 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 9d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -s -o /dev/null -w 'OPTIONS %{http_code}\n' -X OPTIONS -H 'Origin: app://obsidian.md' \ How it starts
The opening of the file, as written. The whole thing — 62 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Obsidian sync (reproducible)
Goal: an Obsidian vault on two devices syncs through https://<drive-host>/webdav/
with the Remotely Save community plugin. No new APIs — only the existing WebDAV endpoint.
Prerequisites
- Davflare deployed;
#/settingskeeps WebDAV on (default). - Pages env has
WEBDAV_USERNAME/WEBDAV_PASSWORD. In a shell, export them asDAV_USER/DAV_PASSand the drive origin asDRIVE(never write them into files).
Steps
1. Verify the server the way the plugin does (agent, shell)
Remotely Save sends Cache-Control: no-cache on every request, lists folders with
PROPFIND Depth: 1, uploads with PUT, and its "Check Connectivity" button runs
MKCOL → PUT → PUT → GET → DELETE → DELETE:
V="$DRIVE/webdav/rs-check-$(date +%s)"
H=(-u "$DAV_USER:$DAV_PASS" -H 'Cache-Control: no-cache')
curl -s -o /dev/null -w 'OPTIONS %{http_code}\n' -X OPTIONS -H 'Origin: app://obsidian.md' \
-H 'Access-Control-Request-Method: PROPFIND' -H 'Access-Control-Request-Headers: authorization,cache-control,depth' "$DRIVE/webdav/"
curl -s -o /dev/null -w 'MKCOL %{http_code}\n' "${H[@]}" -X MKCOL "$V/"
curl -s -o /dev/null -w 'PUT %{http_code}\n' "${H[@]}" -T /dev/null "$V/%E6%B5%8B%E8%AF%95%20note.md"
curl -s -o /dev/null -w 'PROPFIND %{http_code}\n' "${H[@]}" -X PROPFIND -H 'Depth: 1' "$V/"
curl -s -o /dev/null -w 'DELETE %{http_code}\n' "${H[@]}" -X DELETE "$V/"
Expect OPTIONS 200 (with cache-control in Access-Control-Allow-Headers), MKCOL 201,
PUT 201, PROPFIND 207, DELETE 204.
2. Configure Obsidian (user, on each device)
- Drive → WebDAV → Obsidian sync card: copy the server address (
https://<drive-host>/webdav/) and username. - Obsidian → Settings → Community plugins: in a new vault click "Exit Restricted mode" first (otherwise there is no "Browse" button), then install and enable Remotely Save.
- Choose A Remote Service Webdav; Server Address / Username / Password (
WEBDAV_PASSWORD); Auth Type basic; Depth only supports depth='1' (default); Remote Base Directory empty (= vault name) or the same single-level name on every device — click "Confirm" after editing it, then "Confirm To Change" in the dialog. - "Check Connectivity" → "Check", then sync from the ribbon icon. On the first sync the plugin shows "HUGE updates on the sync algorithm": tick both boxes and click "Agree" ("Do Not Agree" disables it).
- Second device: start from an empty vault with the same name, configure as above, then sync.
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.
- 9d ago First seen · 62 lines · 43 tokens per session scan A 2f85f6e065a7
obsidian-sync is a skill published in the GitHub repository fanchenggang/Davflare (80 stars, last pushed yesterday), licensed MIT. It adds 43 tokens to every session and 937 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-07.
Other skills, from other repositories
supermemory
Supermemory is a state-of-the-art memory and context infrastructure for AI agents. Use this skill when building applications that need persistent memory, user personalization, long-term context retention, or semantic search across knowledge bases. It provides Memory API for learned user context, User Profiles for…
workspace-digest
Summarize the files saved in this assistant's shared workspace. Use when the user asks what is in their workspace, for a file inventory, or a digest of saved work.
files-sdk
Use files-sdk to add file storage to a TypeScript/JavaScript app with a unified API across 49 adapters (S3, R2, GCS, Azure, Vercel Blob, the local filesystem, and more). Triggers when the user wants to upload/download/list/search/move/delete/copy files, generate presigned URLs, do multipart or resumable uploads, range…
google-apps-script
Build Google Apps Script automation for Sheets and Workspace. Custom menus, triggers (onEdit / time-driven / form submit), dialogs, sidebars, email batches, PDF export, external API. Use whenever the user wants to automate a Google Sheet, build a Sheets menu / sidebar / dialog, hit a Sheets row from email or a…
google-chat-messages
Send Google Chat messages via incoming webhooks — text, rich cards (cardsV2), threaded replies. TypeScript types, card builder utility, widget reference inline. Use whenever the user wants to post to Google Chat from a script, build a chatbot reply, send a notification card, build a Google Chat webhook integration, or…
parcel-tracking
Track parcels and check delivery status for Australian and international couriers. Searches Gmail for dispatch/shipping emails and provides tracking links for all major Australian couriers including AusPost, StarTrack, Aramex, CouriersPlease, Sendle, Toll, Team Global Express, DHL, FedEx, TNT, Hunter Express, Border…