setup
Skill1 starsChanged 51 days agoMITView on GitHub
One-command install and health check — asks where your knowledge base (Obsidian vault) should live, writes config.env, scaffolds the vault (folders, Home, Inbox, Profile, dashboards, templates), and walks you through the Obsidian plugin settings. Safe to re-run; never overwrites your notes.
- Reads credentials
191 other projects use a version of this.
Adopted by
Most recently taken up by
- hydra-db/hydradb-claude-codetheir own version, first seen Nov 8, 2026
- WALKERKILLER/Look-Tongji-Notestheir own version, first seen Nov 8, 2026
- steerlabs/opensteertheir own version, first seen Nov 8, 2026
- ansvisor/ansvisortheir own version, first seen Nov 8, 2026
- dsifry/metaswarmtheir own version, first seen Nov 8, 2026
- anombyte93/prd-taskmastertheir own version, first seen Nov 8, 2026
Used with
Projects with it also use add-voice-transcription, add-discord and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
juancruzmunozalbeloSkilladd-voice-transcription
Add voice message transcription to NanoClaw using OpenAI's Whisper API. Automatically transcribes WhatsApp voice notes so the agent can read and respond to them.
Also in 5 projects that use this
MicrosoftSkilladd-discord
Add Discord bot channel integration via Chat SDK.
Also in 11 projects that use this
MicrosoftSkilladd-slack
Add Slack channel integration via Chat SDK.
Also in 11 projects that use this
juancruzmunozalbeloSkilladd-telegram-swarm
Add Agent Swarm (Teams) support to Telegram. Each subagent gets its own bot identity in the group. Requires Telegram channel to be set up first (use /add-telegram). Triggers on "agent swarm", "agent teams telegram", "telegram swarm", "bot pool".
Also in 7 projects that use this
- +8 more from microsoft
Other versions191 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 191
- anthropics/knowledge-work-plugins★ 35ksame name
- garrytan/gbrain★ 32ksame name
- gavrielc/nanoclaw★ 31ksame name
- nanocoai/nanoclaw★ 31ksame name
- qwibitai/nanoclaw★ 31ksame name
- Q00/ouroboros★ 6.3ksame name
- pytorch/executorch★ 5.2ksame name
- agenticnotetaking/arscontexta★ 3.5ksame name
- aws/agent-toolkit-for-aws★ 3.4ksame name
- spotify/portal-ai-plugins★ 2.8ksame name
181 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 2 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 171 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 18
Read <repo>/config.env.example.
- Very specific: line 20
If config.env already has a valid VAULT_PATH and no path argument was given, show the current values and ask "keep these?".
- Distinctive: line 23
Every other variable, with its default from the example and its purpose in a few words.
- Distinctive: line 39
Use one shell command so the user approves once.
- Very specific: line 48
If <vault> is not a git repository yet: git -C "<vault>" init, then commit everything as setup: scaffold vault.
“Common” is measured: kept by at least 6 in 10 of the 171 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/setup [<vault-path>] [--check] [--sync-templates]
Goal: a new user goes from git clone to a working system with this one command and one or two answers. Keep it fast and friendly: ask one question message, batch file operations so the user sees as few permission prompts as possible, and don't lecture.
Idempotent: creates only what is missing. Never overwrites, moves, or deletes an existing vault file (template files under --sync-templates are the only exception, and only after confirmation). Never writes into .obsidian/ (CLAUDE.md hard rule 2). <repo> = git rev-parse --show-toplevel. Today = date +%F.
Modes: no flag → steps 1–6. --check → step 7 only (read-only). --sync-templates → step 8 only.
1. Collect the configuration (one message at most)
Read <repo>/config.env.example. It defines what to ask: every variable in it, together with its comment, is one setting, so variables added there later are picked up automatically. If <repo>/config.env exists, its values are the defaults.
- If
config.envalready has a validVAULT_PATHand no path argument was given, show the current values and ask "keep these?". Then continue with step 3 (the scaffolding still fills in anything missing). - Otherwise ask everything still unknown in one message, with a default for each so the user can reply "ok":
VAULT_PATH(required). Use the<vault-path>argument if one was given. Otherwise ask for the knowledge-base folder: an existing Obsidian vault, or a new folder to create (suggest~/Documents/SecondBrain).- Every other variable, with its default from the example and its purpose in a few words.
- "Keep a version history of your vault with git? (recommended: yes)"
Validate before writing. Expand ~ to an absolute path. VAULT_PATH must not be inside <repo>, and must not be / or the bare home directory. If the folder exists, is not empty, and has no .obsidian/, confirm it's the right folder. A non-empty SOURCES_PATH must exist.
2. Write the configuration
<repo>/config.env: a copy ofconfig.env.examplewith the values filled in (absolute, quoted; comments kept).<repo>/.claude/settings.local.json: merge into any existing JSON and keep every existing key and entry. AddVAULT_PATH(andSOURCES_PATH, if set) topermissions.additionalDirectories. AddEdit(//<VAULT_PATH without its leading slash>/.obsidian/**)topermissions.deny, which enforces hard rule 2 at the permission layer.
Both files are gitignored. Never write these values into tracked files.
Claude Code always asks the user before an agent writes its own settings file, so expect an approval prompt for settings.local.json. That's normal; mention it in one line. If the write is refused, never work around it: show the exact JSON, tell the user to save it as <repo>/.claude/settings.local.json, and continue with the rest of setup.
3. Scaffold the vault (batched)
Use one shell command so the user approves once. If it is refused, fall back to writing the files individually:
mkdir -pthe foldersatlas/maps,atlas/bases,concepts,courses,sources,palace,projects,log/study,log/briefs,templates.- Copy without overwriting (
cp -nor an equivalent):<repo>/scaffold/*into the vault (Home.md,Inbox.md,Profile.md,palace/_Palace Guide.md,log/inbox-archive.md,atlas/bases/*.base),scaffold/gitignore→<vault>/.gitignore(only if absent), and<repo>/templates/*.md→<vault>/templates/. - Fill
{{YYYY-MM-DD}}with today and{{repo_path}}with<repo>, only in the files just created. Never touch pre-existing files, or the placeholders insidetemplates/.
Report what was created and what already existed.
4. Version history (if the user said yes)
If <vault> is not a git repository yet: git -C "<vault>" init, then commit everything as setup: scaffold vault. Never add a remote or push. If asked, explain how to add one, and stress that it must be private.
5. Obsidian: the only manual part
Show this checklist compactly, details in docs/setup.md. You cannot change these settings, and must not try:
- Obsidian → Open folder as vault →
<vault> - Settings → Core plugins → enable Bases and Templates (template folder:
templates) - Settings → Community plugins → Browse → install and enable Spaced Repetition (by Stephen Mwangi)
- Spaced Repetition settings: flashcard tags
#flashcards· convert ==highlights== to clozes on · scheduling comment on the same line on · folders to ignoretemplates· algorithm FSRS - Open
Home.md: the dashboards should render
6. Done
End with a short summary, then:
- Restart once:
/exit, thenclaude, soconfig.envand the vault permissions load. After that,/setup --checkconfirms everything. - First steps:
/learn "<something you want to learn>",/ingest <a PDF>for existing material, jot questions intoInbox.mdfrom any device, and/studydaily. - Offer a 2-minute
Profile.mdinterview (current work & projects, interests, background), now or anytime. It's optional; answers are recorded in the user's own words.
7. --check: health check (read-only)
Report ✅/⚠️ for each item, with a one-line fix per ⚠️:
config.envpresent;VAULT_PATH(andSOURCES_PATH, if set) exist; both are listed in.claude/settings.local.json;config.envhas every variable thatconfig.env.exampledefines (new ones appear after updates → re-run/setup).- Required folders and scaffold files present in the vault.
atlas/bases/*.baseandtemplates/*.mdmatch the repo copies. List the differing files; Obsidian re-serializes.basefiles, so compare the filters and views, not the formatting.- Plugins, read-only from
.obsidian/:plugins/obsidian-spaced-repetition/manifest.jsonexists and its major version is 1 (the scheduling format indocs/vault-schema.mdwas verified against v1.15.4).core-plugins.jsonhasbasesandtemplatesenabled. - Vault git state (repo? clean? remote?) and whether it matches
VAULT_GIT_PUSH. - Schema drift: courses whose
lessons_donedoesn't match their lessons' statuses, and concept notes withmastery: 0that no quiz log mentions (older vaults stored0instead of empty). Offer to fix these only on a yes.
8. --sync-templates
Diff <repo>/templates/*.md and <repo>/scaffold/atlas/bases/*.base against the vault copies, show which files differ and how, and overwrite the vault copies only after the user confirms. These are skeletons and dashboard definitions, not notes. Never touch other vault files here.
Finish every mode that changed the vault with the vault commit (CLAUDE.md conventions).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

