Xgqq
Initialize, adapt, validate, or export a local-first Obsidian second brain for filesystem-capable AI agents. Use when a user wants an AI-managed Obsidian Vault, needs to configure or audit an existing Vault, wants Profile and project workflows, or enters XGQQ or /XGQQ. Work directly only when the target path is accessible and authorized; otherwise create a validated portable ZIP without embedding personal data or requiring plugins, MCP, REST APIs, or sync services.From its SKILL.md
npx -y skills add Bernie311/codex-obsidian-second-brain --skill xgqqAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.8 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
XGQQ Obsidian Second Brain
Create a portable, user-owned Obsidian knowledge system. Treat Obsidian as the Markdown interface and the active AI agent as an authorized maintainer, never as the owner of the data.
Interpret the request
- Treat
XGQQand/XGQQas explicit text triggers. - If the trigger has no path, ask only for the target Vault path or whether the user wants an exportable ZIP.
- Resolve every script path relative to the directory containing this
SKILL.md; do not depend on vendor-specific environment variables. - Use Python 3.10 or newer. Prefer
python, then use the host's available Python 3 launcher. - Use one of four modes:
- Initialize: create a new or empty accessible Vault.
- Adapt: add missing structure to an accessible existing Vault without overwriting files.
- Validate: inspect and report without writing.
- Export: create a portable ZIP when the requested local path is unavailable to the current runtime.
Read references/architecture.md before initializing, adapting, or exporting. Read references/interview.md only when collecting user context or creating the first real project.
Select direct or export execution
Use direct execution only when the current runtime can resolve and access the supplied path and the user has authorized work there.
Use export execution when the agent runs in a cloud VM, container, remote sandbox, or other environment that cannot access the user's local path. Do not reinterpret a Windows path such as D:\Notes as a relative Linux path and do not claim a local Vault was changed.
For export execution, run:
python scripts/export_vault.py <output-zip>
Return the ZIP for the user to download and extract. Report that onboarding and future edits must occur after the Vault is available to a filesystem-capable agent.
Preview before writing
- Resolve the target path to an absolute path.
- Inspect only the root and
.obsidian/; do not recursively read the whole Vault. - Distinguish an Obsidian application directory from a Vault directory. Never scaffold into a directory containing
Obsidian.exe,resources/app.asar, orContents/Resources/app.asar. - Run
scripts/init_vault.py <vault-path>without--apply. - Report files that would be created and existing files that would be preserved.
- Obtain confirmation before applying to an existing non-empty Vault. A direct request to initialize a new empty path is sufficient authorization to create the scaffold.
Do not install software, Obsidian plugins, AI-client integrations, MCP servers, REST APIs, sync services, or automation.
Apply the scaffold
Run:
python scripts/init_vault.py <vault-path> --apply
The script creates missing files only. Never add an overwrite flag or silently replace an existing file.
For an existing file that needs a user-approved merge:
- Explain the exact fields or rules that need changing.
- Save the original under
Logs/Backups/<timestamp>/<relative-path>. - Patch only the approved parts.
- Preserve unrelated content and formatting.
Do not move or delete existing notes during bootstrap. Preserve existing client configuration, plugin state, and hidden directories unless the user separately authorizes a change.
Onboard the user
After scaffolding, offer the onboarding interview. If accepted:
- Ask exactly one question per turn.
- Write only confirmed information.
- Keep unknown fields explicitly pending; never infer identity, goals, preferences, strengths, or weaknesses.
- Store stable personal context in
Profile/, not in instruction files. - Keep one current primary goal in
Profile/Goals.md. - Create the first project by copying
Projects/_template/; never modify the template to hold user-specific data. - Give the project one current primary objective and use
Inputs → Process → Outputs → Feedback.
Follow the field mapping and question order in references/interview.md.
Maintain boundaries
- Operate only inside the target Vault or the explicitly requested export path.
- Keep Markdown UTF-8 and use Obsidian
[[wikilinks]]. - Preserve original URL, author, publication date, and access date for external sources.
- Separate verified facts, existing summaries, current inferences, and open questions.
- Never place passwords, API keys, recovery codes, or tokens in the Vault.
- Search first and read the smallest relevant set; never recursively load the whole Vault for context.
- Do not publish, send messages, connect accounts, or create scheduled jobs without separate authorization.
- Do not claim this scaffold is a strict implementation of Andrej Karpathy's LLM Wiki. It is a broader local Markdown workflow inspired by local-first knowledge systems.
Validate completion
For a direct Vault, run:
python scripts/validate_vault.py <vault-path> --full
Resolve all errors before declaring completion. Treat warnings as review items rather than silently changing user-owned state.
Report:
- the execution mode and resolved accessible path, or the exported ZIP path;
- files created and existing files preserved;
- validation errors and warnings;
- whether onboarding and the first project were completed;
- the next smallest action;
- any client or sandbox limitation that prevented direct local access.
What ships with it: 26 files
34.6 KB alongside SKILL.md, 3 of them executable
agents/
- openai.yaml313 B
assets/
- vault-template/AGENTS.md3.0 KB
- vault-template/Assets/README.md173 B
- vault-template/CLAUDE.md42 B
- vault-template/Home.md1.0 KB
- vault-template/Inbox/README.md380 B
- vault-template/Knowledge/index.md589 B
- vault-template/Logs/index.md328 B
- vault-template/.obsidian/app.json191 B
- vault-template/Profile/About.md433 B
- vault-template/Profile/Goals.md317 B
- vault-template/Profile/Projects.md299 B
- vault-template/Profile/Working-Style.md649 B
- vault-template/Projects/README.md436 B
- vault-template/Projects/_template/AGENTS.md977 B
- vault-template/Projects/_template/CLAUDE.md42 B
- vault-template/Projects/_template/Feedback/README.md150 B
- vault-template/Projects/_template/Inputs/README.md169 B
- vault-template/Projects/_template/Outputs/README.md122 B
- vault-template/Projects/_template/Process/README.md143 B
- vault-template/Projects/_template/Project.md445 B
references/
- architecture.md4.5 KB
- interview.md3.4 KB
scripts/
- export_vault.pyruns3.8 KB
- init_vault.pyruns5.9 KB
- validate_vault.pyruns6.9 KB