github-sync

A workflow for syncing a local Obsidian vault with GitHub, including updating its README file and pushing changes. GitHub is a service for storing and collaborating on code and other files.

In plain words
What is it for?
Use it to check the repository, update README.md, and push local vault changes with the sync command.
Why use it?
It avoids repeating the repository checks and update steps needed to publish vault changes.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/howie126313/obsidian-vault-kit/github-sync
Any agent
npx skills add Howie126313/obsidian-vault-kit --skill github-sync
Clone the repo
git clone --depth 1 https://github.com/Howie126313/obsidian-vault-kit

Made for: Claude Code, Codex.

Per session 40 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 737 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00040 $0.00737
Opus 5 $0.00020 $0.00368
Sonnet 5 $0.00008 $0.00147
Haiku 4.5 $0.00004 $0.00074

Measured 2d ago against content hash 39d7a18ca23b, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

github-sync 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 2d 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.

skills/github-sync/SKILL.md · 96 lines

How it starts

The opening of the file, as written. The whole thing — 96 lines — stays where its author put it; the contents beside it link to each section on GitHub.

GitHub Sync — Subagent Dispatcher

When this skill is triggered, do not execute sync steps yourself. Immediately use the Agent tool to launch an independent subagent in the background to handle the entire sync workflow.

Dispatch

Call the Agent tool with the following parameters:

Agent({
  description: "GitHub Sync",
  model: "sonnet",
  run_in_background: true,
  mode: "bypassPermissions",
  prompt: <full content of the sync-workflow block below>
})

After dispatching, inform the user that sync has started in the background. They can continue other work and will be notified on completion.


sync-workflow

Pass the following content as the Agent prompt (copy verbatim, do not modify):

Step 1: Environment Detection & Status Check

1a. Detect project root and remote (run in parallel):

git rev-parse --show-toplevel    # project root
git remote get-url origin        # remote URL
git branch --show-current        # current branch

1b. Check Git status:

git status
git diff --stat

If there are no changes (no unstaged modifications, no untracked files), output "Nothing to sync" and end.

Step 2: Analyze Changes and Update README.md

2a. Categorize all changed files into three groups:

  • Added: new articles or directories
  • Modified: updated content
  • Deleted: removed content

2b. Update README.md:

  1. Read current README.md content
  2. Use Glob("**/*.md") to scan the project directory structure, count Markdown files (exclude .claude/ directory)
  3. Update knowledge base sections based on added/deleted articles and directories
  4. Update statistics (Markdown file count, directory categories) and custom Skills list (if changed)
  5. Preserve existing README.md format and style

Update principle: only update sections with actual changes, do not rewrite unnecessarily.

Step 3: Commit and Push

Read the full file on GitHub · 96 lines

Changes

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.

  1. 2d ago First seen · 96 lines · 40 tokens per session scan A 39d7a18ca23b

Subscribe to this mod's changes

github-sync is a skill published in the GitHub repository Howie126313/obsidian-vault-kit (3 stars, last pushed 4mo ago), licensed Apache-2.0. It adds 40 tokens to every session and 737 once invoked, about $0.0002 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.

Related

Other skills, from other repositories

llm-wiki

Build and maintain an LLM-curated personal knowledge base — the "LLM Wiki" pattern from Andrej Karpathy's April 2026 gist. Use this skill whenever the user wants to ingest a source (paper, article, transcript, PDF, notes) into a persistent compounding knowledge base, ask a question against accumulated notes, lint or…

praneybehl/llm-wiki-plugin · 221 tokens

librarian

Orchestrate vault knowledge workflows using the Librarian MCP server. Ingest solutions, search prior art, explore the knowledge graph, log daily learnings.

ngmeyer/librarian-mcp · 35 tokens

auto-mode

Set the wiki auto-enrichment mode for the current session — ClaudeAsk (default, propose + always confirm), Hybrid (auto-save type-safe items, ask on high-stakes), FullAuto (auto-save everything with safety nets), or off (no proactive suggestions). Pass "persist" to write OBSIDIANROUTERAUTOENRICH= to the workspace…

tboome33/obsidian-mcp-router · 146 tokens

llm-wiki-kb

Build and maintain personal knowledge bases as LLM-compiled markdown wikis, inspired by Andrej Karpathy's LLM Wiki pattern. The LLM incrementally ingests raw sources (articles, papers, repos, images) into a structured, interlinked wiki of .md files — with summaries, entity pages, concept pages, cross-references, and a…

chengjialu8888/LLM-Wiki-KB · 219 tokens

validate

Check that an Open Knowledge Format (OKF) bundle is conformant with the v0.2 spec (§11). Use when asked to validate, lint, or check an OKF bundle, or before committing changes to one. Runs a deterministic Python checker — not an eyeball pass. Also migrates a v0.1 bundle to v0.2 in place with --migrate.

scaccogatto/okf-skills · 82 tokens

council

Multi-persona debate for founder decisions. 4 personas argue a topic across structured rounds.

assafkip/kipi-system · 22 tokens