adr
Write an Architecture Decision Record (ADR) for a feature — Context / Decision / Status / Consequences / Alternatives, filed as…
Obsidian vault integration via official CLI. Use when: capturing dev artifacts to Obsidian vault, searching vault for context, appending to daily note, managing tasks in vault. Not for: general note-taking without Obsidian (use regular files), browsing Obsidian docs (use
Claude Code
$ npx -y skills add sd0xdev/sd0x-harness --skill obsidian-cli --agent claude-code
Codex
$ npx skills add sd0xdev/sd0x-harness --skill obsidian-cli -a codex -y
Cursor
$ npx skills add sd0xdev/sd0x-harness --skill obsidian-cli -a cursor -y
Gemini CLI
$ npx skills add sd0xdev/sd0x-harness --skill obsidian-cli -a gemini-cli -y
GitHub Copilot
$ npx skills add sd0xdev/sd0x-harness --skill obsidian-cli -a github-copilot -y
OpenCode
$ npx skills add sd0xdev/sd0x-harness --skill obsidian-cli -a opencode -y
Windsurf
$ npx skills add sd0xdev/sd0x-harness --skill obsidian-cli -a windsurf -y
name: obsidian-cli description: "Obsidian vault integration via official CLI. Use when: capturing dev artifacts to Obsidian vault, searching vault for context, appending to daily note, managing tasks in vault. Not for: general note-taking without Obsidian (use regular files), browsing Obsidian docs (use agent-browser). Output: vault search results, captured notes, task updates." allowed-tools: Bash(bash:*)
/obsidian-cli [intent] [args]
│
▼
obsidian-preflight.sh --check
│
├─ FAIL → Report issue + remediation
│
└─ OK → Resolve vault
│
▼
obsidian-exec.sh <intent> [args]
│
├─ context → search vault, return results
├─ capture → write note/append to file
├─ daily → append to daily note
└─ task → add/query tasks| Script | Purpose | Invocation | |--------|---------|------------| | `obsidian-preflight.sh` | Doctor + vault resolve + config | `bash scripts/run-skill.sh obsidian-cli obsidian-preflight.sh [--check\|--vault <id>\|--print-env]` | | `obsidian-exec.sh` | Safe intent execution with timeout | `bash scripts/run-skill.sh obsidian-cli obsidian-exec.sh <intent> [args]` |
# Check CLI + app + IPC readiness bash scripts/run-skill.sh obsidian-cli obsidian-preflight.sh --check # Set default vault bash scripts/run-skill.sh obsidian-cli obsidian-preflight.sh --vault "My Vault" # Print resolved env (for debugging) bash scripts/run-skill.sh obsidian-cli obsidian-preflight.sh --print-env
Output lines:
STATUS=ok|error VAULT=<resolved-vault-name> OBSIDIAN_VERSION=<version> ERROR=<message if STATUS=error>
| Intent | Args | CLI Commands Used | |--------|------|-------------------| | `context` | `--query <q> [--limit N]` | `obsidian search query= limit=` | | `capture` | `--file <path> --text <content>` | `obsidian read path=`, `obsidian create path= content=`, `obsidian append path= content=` | | `daily` | `--text <content>` | `obsidian daily:append content=` | | `task` | `--add <text>` or `--list` | `obsidian daily:append content=`, `obsidian tasks daily` |
# Search vault for context bash scripts/run-skill.sh obsidian-cli obsidian-exec.sh context --query "auth middleware" # Capture a decision record bash scripts/run-skill.sh obsidian-cli obsidian-exec.sh capture --file "dev/decisions/2026-02-28-auth.md" --text "..." # Append to daily note bash scripts/run-skill.sh obsidian-cli obsidian-exec.sh daily --text "- Implemented auth middleware refactor" # Add a task bash scripts/run-skill.sh obsidian-cli obsidian-exec.sh task --add "Review PR #42 auth changes"
Deterministic precedence (first match wins):
1. `--vault <name>` explicit argument 2. `OBSIDIAN_VAULT` environment variable 3. `~/.sd0x/obsidian-cli.env` persisted default 4. CLI-discovered active vault
# First-time setup: check readiness and set default vault /obsidian-cli --check /obsidian-cli --vault "Dev Notes" # During development: search for related notes /obsidian-cli context --query "rate limiting implementation" # After making a decision: capture it /obsidian-cli capture --file "decisions/2026-02-28-rate-limit.md" --text "Decided to use sliding window..." # End of session: log what was done /obsidian-cli daily --text "- Completed rate limiting feature for API gateway"
Language: English | 繁體中文 | 简体中文 | 日本語 | 한국어 | Español The harness layer for Claude Code. Let the model choose the path. Keep "done" verifiable. Claude has discretion inside a closed, test-pinned anchor set.
Write an Architecture Decision Record (ADR) for a feature — Context / Decision / Status / Consequences / Alternatives, filed as…
Install and set up the optional agentctl mod (task scope, refusal before execution, evidence that goes stale, model-free…
Architecture design and documentation. Produces 3-architecture.md with component diagrams, data flow, integration points, and…
Context-aware Q&A with auto context gathering. Use when: user has a quick question about codebase, git history, rules, docs, or…
Industry best practices conformance audit with mandatory adversarial debate. Produces audit artifact: verdict (OK/WARN/FAIL) +…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.