Henner M. Kruse 2d25e69632 Add bats test suite for git-manager and obsidian-vault-kb
Isolated per-test $HOME sandboxing via tests/helpers/common.bash.
Covers both plugins' wrapper scripts, their setup.sh, and
git-manager's two PreToolUse hooks (53 tests). Verified the suite
catches regressions by temporarily reintroducing the recently-fixed
vault_search.sh -g/-- ordering bug and confirming it fails.
2026-08-04 19:34:51 +00:00
2026-08-04 10:45:25 +02:00

skill-repo

A collection of Claude Code plugins (Agent Skills) for working with git repositories and Obsidian vaults. Each plugin does one job, ships its own setup command, and only asks for the minimum shell access it actually needs.

Looking for how this repo is structured internally, or how to add a new plugin to it? See ARCHITECTURE.md. This README is about what's in the box and how to use it.

What's in here

Plugin What it does
git-manager Runs git commands (status, log, commit, push, pull, ...) across one or more repositories through a single whitelisted script — no more permission prompts breaking on cd && git ... chains.
obsidian-vault-kb Turns an Obsidian vault into a searchable knowledge base Claude can consult and (optionally) write back to.

Click through to each plugin's own README for details, examples, and setup options.

Installing

From within Claude Code:

/plugin marketplace add /absolute/path/to/skill-repo

(or a Git URL, once this repo is hosted somewhere reachable). Then install whichever plugin(s) you want:

/plugin install git-manager
/plugin install obsidian-vault-kb

Each plugin has its own /plugin-name:setup command — run it once after installing to configure paths and permissions. See the individual plugin READMEs for what each setup asks for.

A shared design philosophy

Both plugins in this repo follow the same rules, worth knowing upfront:

  • Minimal permissions. Neither plugin whitelists generic commands like Bash(git:*), Bash(find:*), or Bash(cd:*). Each whitelists exactly one wrapper script, pinned to its exact absolute path. The wrapper script itself enforces what it's allowed to do (allowed git subcommands, vault boundaries) — the whitelist just says "this specific, self-limiting script may run without asking."
  • Nothing destructive is silent. Actions that change files — writing notes, pushing to a remote — either aren't whitelisted (so you still get a normal confirmation prompt) or are scoped tightly enough that there's nothing surprising they can do.
  • Config lives outside Claude Code, at ~/.agent-skills/<plugin-name>/config.json. Both plugins follow the open Agent Skills format for their actual skill content (SKILL.md + scripts/), so that part works the same if you ever run them from a different Agent-Skills-compatible tool — only the Claude Code-specific setup command and permissions live under vendor/claude-code/.

Updating

After pulling changes to this repo:

/plugin marketplace update skill-repo

Re-run a plugin's /plugin-name:setup if its permissions or config format changed (check that plugin's README/changelog).

S
Description
Private collection of tool-neutral Agent Skills, plus optional vendor-specific setup/integration adapters (currently: Claude Code).
Readme 218 KiB
Languages
Shell 100%