{"id":"f192248b-03c7-4d6e-a436-0fb88820ce92","shortId":"YFXaWZ","kind":"skill","title":"second-brain","tagline":"Set up a new Obsidian knowledge base with the LLM Wiki pattern. Use when the user wants to create a second brain, initialize a vault, set up a personal knowledge base, or says \"onboard\". Guides through an interactive wizard to configure vault name, location, domain, agent support","description":"# Second Brain — Onboarding Wizard\n\nSet up a new Obsidian knowledge base using the LLM Wiki pattern. The LLM acts as librarian — reading raw sources, compiling them into a structured interlinked wiki, and maintaining it over time.\n\n## Wizard Flow\n\nGuide the user through these 5 steps. Ask ONE question at a time. Each step has a sensible default — the user can accept it or provide their own value.\n\n### Step 1: Vault Name\n\nAsk:\n> \"What would you like to name your knowledge base? This will be the folder name.\"\n> Default: `second-brain`\n\nAccept any user-provided name. This becomes the folder name and the title in the agent config.\n\n### Step 2: Vault Location\n\nAsk:\n> \"Where should I create it? Give me a path, or I'll use the default.\"\n> Default: `~/Documents/`\n\nAccept any absolute or relative path. Resolve `~` to the user's home directory. The final vault path is `{location}/{vault-name}/`.\n\n### Step 3: Domain / Topic\n\nAsk:\n> \"What's this knowledge base about? This helps me set up relevant tags and describe the vault's purpose.\"\n>\n> Examples: \"AI research\", \"competitive intelligence on fintech startups\", \"personal health and fitness\"\n\nAccept free text. Use this to:\n- Write a one-line domain description for the agent config\n- Generate 5-8 suggested domain-specific tags\n\n### Step 4: Agent Config\n\nAuto-detect which agent is running this skill. State it clearly:\n> \"I'm running in **[Agent Name]**, so I'll generate a **[config file]** for this vault.\"\n\nThen ask:\n> \"Do you use any other AI agents you'd like config files for? Options: Claude Code, Codex, Cursor, Gemini CLI — or skip.\"\n\nSkip the agent that was auto-detected. Generate configs for all selected agents.\n\n**Agent detection logic:**\n- If the `CLAUDE.md` convention is being used or the Skill tool is Claude Code's → Claude Code\n- If the environment indicates Codex → Codex\n- If `.cursor/` exists in the working directory → Cursor\n- If `GEMINI.md` convention is being used → Gemini CLI\n- If unsure, ask the user which agent they're using\n\n### Step 5: Optional CLI Tools\n\nAsk:\n> \"These tools extend what the LLM can do with your vault. All optional but recommended:\"\n>\n> 1. **summarize** — summarize links, files, and media from the CLI\n> 2. **qmd** — local search engine for your wiki (helpful as it grows)\n> 3. **agent-browser** — browser automation for web research\n>\n> \"Install all, pick specific ones (e.g. '1 and 3'), or skip?\"\n\n## Post-Wizard: Scaffold the Vault\n\nAfter collecting all answers, execute these steps in order:\n\n### 1. Create directory structure\n\nRun the onboarding script, passing the full vault path:\n\n```\nbash <skill-directory>/scripts/onboarding.sh <vault-path>\n```\n\nThis creates all directories and the initial `wiki/index.md` and `wiki/log.md` files.\n\n### 2. Generate agent config file(s)\n\nFor each selected agent, read the corresponding template from `<skill-directory>/references/agent-configs/`:\n\n| Agent | Template | Output File | Output Location |\n|---|---|---|---|\n| Claude Code | `claude-code.md` | `CLAUDE.md` | Vault root |\n| Codex | `codex.md` | `AGENTS.md` | Vault root |\n| Cursor | `cursor.md` | `second-brain.mdc` | `<vault>/.cursor/rules/` |\n| Gemini CLI | `gemini.md` | `GEMINI.md` | Vault root |\n\nFor each template, replace the placeholders:\n\n- `{{VAULT_NAME}}` → the vault name from Step 1\n- `{{DOMAIN_DESCRIPTION}}` → a one-line description derived from Step 3\n- `{{DOMAIN_TAGS}}` → generate 5-8 domain-relevant tags as a bullet list based on the domain from Step 3\n- `{{WIKI_SCHEMA}}` → read `<skill-directory>/references/wiki-schema.md` and insert everything from `## Architecture` onward\n\nWrite the generated config to the vault.\n\n### 3. Update wiki/log.md\n\nAppend the setup entry:\n\n```\n## [YYYY-MM-DD] setup | Vault initialized\nCreated vault \"{{VAULT_NAME}}\" for {{DOMAIN_DESCRIPTION}}.\nAgent configs: {{list of generated config files}}.\n```\n\n### 4. Install CLI tools (if selected)\n\nFor each tool the user selected in Step 5, run the install command:\n\n- summarize: `npm i -g @steipete/summarize`\n- qmd: `npm i -g @tobilu/qmd`\n- agent-browser: `npm i -g agent-browser && agent-browser install`\n\nAfter each install, verify with `<tool> --version`. Report success or failure for each.\n\n### 5. Print summary\n\nShow the user:\n\n1. **What was created** — directory tree and config files\n2. **Required next step** — install the Obsidian Web Clipper browser extension:\n   > Install the Obsidian Web Clipper to easily save web articles into your vault:\n   > https://chromewebstore.google.com/detail/obsidian-web-clipper/cnjifjpddelmedmihgijeibhnjfabmlf\n3. **How to start** — open the vault folder in Obsidian, clip an article to `raw/`, then run `/second-brain-ingest`\n\n## Reference Files\n\nThese files are bundled with this skill and available at `<skill-directory>/references/`:\n\n- `wiki-schema.md` — canonical wiki rules (single source of truth for all agent configs)\n- `tooling.md` — CLI tool details, install commands, and verification steps\n- `agent-configs/claude-code.md` — CLAUDE.md template\n- `agent-configs/codex.md` — AGENTS.md template\n- `agent-configs/cursor.md` — Cursor rules template\n- `agent-configs/gemini.md` — GEMINI.md template\n\n## Next Steps\n\nAfter setup is complete, the user's workflow is:\n\n1. **Clip articles** to `raw/` using the Obsidian Web Clipper\n2. **Ingest sources** with `/second-brain-ingest` — processes raw files into wiki pages\n3. **Ask questions** with `/second-brain-query` — searches and synthesizes from the wiki\n4. **Health-check** with `/second-brain-lint` — run after every 10 ingests or monthly","tags":["second","brain","nicholasspisak","agent-skills","knowledge-base","llm","markdown","obsidian","personal-wiki","second-brain"],"capabilities":["skill","source-nicholasspisak","skill-second-brain","topic-agent-skills","topic-knowledge-base","topic-llm","topic-markdown","topic-obsidian","topic-personal-wiki","topic-second-brain"],"categories":["second-brain"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/NicholasSpisak/second-brain/second-brain","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add NicholasSpisak/second-brain","source_repo":"https://github.com/NicholasSpisak/second-brain","install_from":"skills.sh"}},"qualityScore":"0.581","qualityRationale":"deterministic score 0.58 from registry signals: · indexed on github topic:agent-skills · 261 github stars · SKILL.md body (5,551 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-02T18:54:08.898Z","embedding":null,"createdAt":"2026-04-18T22:05:30.837Z","updatedAt":"2026-05-02T18:54:08.898Z","lastSeenAt":"2026-05-02T18:54:08.898Z","tsv":"'-8':259,563 '/.cursor/rules':527 '/claude-code.md':775 '/codex.md':781 '/cursor.md':787 '/detail/obsidian-web-clipper/cnjifjpddelmedmihgijeibhnjfabmlf':719 '/documents':181 '/gemini.md':794 '/references':750 '/references/agent-configs':506 '/references/wiki-schema.md':582 '/scripts/onboarding.sh':479 '/second-brain-ingest':737,822 '/second-brain-lint':845 '/second-brain-query':833 '1':119,408,445,465,547,684,808 '10':849 '2':161,418,491,693,818 '3':205,430,447,558,578,596,720,829 '4':266,624,840 '5':94,258,388,562,638,678 'absolut':184 'accept':111,142,182,240 'act':69 'agent':49,158,255,267,273,285,305,323,334,335,383,432,493,500,507,617,654,660,663,761,773,779,785,792 'agent-brows':431,653,659,662 'agent-config':772,778,784,791 'agents.md':521,782 'ai':229,304 'answer':459 'append':599 'architectur':587 'articl':713,732,810 'ask':96,122,164,208,298,379,392,830 'auto':270,327 'auto-detect':269,326 'autom':435 'avail':748 'base':10,34,61,131,213,572 'bash':478 'becom':149 'brain':3,25,52,141 'browser':433,434,655,661,664,702 'bullet':570 'bundl':743 'canon':752 'check':843 'chromewebstore.google.com':718 'chromewebstore.google.com/detail/obsidian-web-clipper/cnjifjpddelmedmihgijeibhnjfabmlf':717 'claud':313,350,353,513 'claude-code.md':515 'claude.md':340,516,776 'clear':280 'cli':318,376,390,417,529,626,764 'clip':730,809 'clipper':701,708,817 'code':314,351,354,514 'codex':315,359,360,519 'codex.md':520 'collect':457 'command':642,768 'competit':231 'compil':75 'complet':802 'config':159,256,268,292,309,330,494,592,618,622,691,762,774,780,786,793 'configur':44 'convent':341,371 'correspond':503 'creat':22,168,466,481,610,687 'cursor':316,362,368,524,788 'cursor.md':525 'd':307 'dd':606 'default':107,138,179,180 'deriv':555 'describ':223 'descript':252,549,554,616 'detail':766 'detect':271,328,336 'directori':194,367,467,483,688 'domain':48,206,251,262,548,559,565,575,615 'domain-relev':564 'domain-specif':261 'e.g':444 'easili':710 'engin':422 'entri':602 'environ':357 'everi':848 'everyth':585 'exampl':228 'execut':460 'exist':363 'extend':395 'extens':703 'failur':675 'file':293,310,412,490,495,510,623,692,739,741,825 'final':196 'fintech':234 'fit':239 'flow':88 'folder':136,151,727 'free':241 'full':475 'g':646,651,658 'gemini':317,375,528 'gemini.md':370,530,531,795 'generat':257,290,329,492,561,591,621 'give':170 'grow':429 'guid':38,89 'health':237,842 'health-check':841 'help':216,426 'home':193 'indic':358 'ingest':819,850 'initi':26,486,609 'insert':584 'instal':439,625,641,665,668,697,704,767 'intellig':232 'interact':41 'interlink':80 'knowledg':9,33,60,130,212 'librarian':71 'like':126,308 'line':250,553 'link':411 'list':571,619 'll':176,289 'llm':13,64,68,398 'local':420 'locat':47,163,200,512 'logic':337 'm':282 'maintain':83 'media':414 'mm':605 'month':852 'name':46,121,128,137,147,152,203,286,541,544,613 'new':7,58 'next':695,797 'npm':644,649,656 'obsidian':8,59,699,706,729,815 'onboard':37,53,471 'one':97,249,443,552 'one-lin':248,551 'onward':588 'open':724 'option':312,389,405 'order':464 'output':509,511 'page':828 'pass':473 'path':173,187,198,477 'pattern':15,66 'person':32,236 'pick':441 'placehold':539 'post':451 'post-wizard':450 'print':679 'process':823 'provid':114,146 'purpos':227 'qmd':419,648 'question':98,831 'raw':73,734,812,824 're':385 'read':72,501,581 'recommend':407 'refer':738 'relat':186 'relev':220,566 'replac':537 'report':672 'requir':694 'research':230,438 'resolv':188 'root':518,523,533 'rule':754,789 'run':275,283,469,639,736,846 'save':711 'say':36 'scaffold':453 'schema':580 'script':472 'search':421,834 'second':2,24,51,140 'second-brain':1,139 'second-brain.mdc':526 'select':333,499,629,635 'sensibl':106 'set':4,29,55,218 'setup':601,607,800 'show':681 'singl':755 'skill':277,347,746 'skill-second-brain' 'skip':320,321,449 'sourc':74,756,820 'source-nicholasspisak' 'specif':263,442 'start':723 'startup':235 'state':278 'steipete/summarize':647 'step':95,103,118,160,204,265,387,462,546,557,577,637,696,771,798 'structur':79,468 'success':673 'suggest':260 'summar':409,410,643 'summari':680 'support':50 'synthes':836 'tag':221,264,560,567 'templat':504,508,536,777,783,790,796 'text':242 'time':86,101 'titl':155 'tobilu/qmd':652 'tool':348,391,394,627,632,765 'tooling.md':763 'topic':207 'topic-agent-skills' 'topic-knowledge-base' 'topic-llm' 'topic-markdown' 'topic-obsidian' 'topic-personal-wiki' 'topic-second-brain' 'tree':689 'truth':758 'unsur':378 'updat':597 'use':16,62,177,243,301,344,374,386,813 'user':19,91,109,145,191,381,634,683,804 'user-provid':144 'valu':117 'vault':28,45,120,162,197,202,225,296,403,455,476,517,522,532,540,543,595,608,611,612,716,726 'vault-nam':201 'verif':770 'verifi':669 'version':671 'want':20 'web':437,700,707,712,816 'wiki':14,65,81,425,579,753,827,839 'wiki-schema.md':751 'wiki/index.md':487 'wiki/log.md':489,598 'wizard':42,54,87,452 'work':366 'workflow':806 'would':124 'write':246,589 'yyyi':604 'yyyy-mm-dd':603","prices":[{"id":"4b858902-02d6-43de-abff-893e2704837f","listingId":"f192248b-03c7-4d6e-a436-0fb88820ce92","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"NicholasSpisak","category":"second-brain","install_from":"skills.sh"},"createdAt":"2026-04-18T22:05:30.837Z"}],"sources":[{"listingId":"f192248b-03c7-4d6e-a436-0fb88820ce92","source":"github","sourceId":"NicholasSpisak/second-brain/second-brain","sourceUrl":"https://github.com/NicholasSpisak/second-brain/tree/main/skills/second-brain","isPrimary":false,"firstSeenAt":"2026-04-18T22:05:30.837Z","lastSeenAt":"2026-05-02T18:54:08.898Z"}],"details":{"listingId":"f192248b-03c7-4d6e-a436-0fb88820ce92","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"NicholasSpisak","slug":"second-brain","github":{"repo":"NicholasSpisak/second-brain","stars":261,"topics":["agent-skills","ai","knowledge-base","llm","markdown","obsidian","personal-wiki","second-brain"],"license":null,"html_url":"https://github.com/NicholasSpisak/second-brain","pushed_at":"2026-04-07T03:16:20Z","description":"LLM-maintained personal knowledge base for Obsidian. Based on Andrej Karpathy's LLM Wiki pattern.","skill_md_sha":"7f3b91abe6acc9f90fd62de13167e1422fb47654","skill_md_path":"skills/second-brain/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/NicholasSpisak/second-brain/tree/main/skills/second-brain"},"layout":"multi","source":"github","category":"second-brain","frontmatter":{"name":"second-brain","description":"Set up a new Obsidian knowledge base with the LLM Wiki pattern. Use when the user wants to create a second brain, initialize a vault, set up a personal knowledge base, or says \"onboard\". Guides through an interactive wizard to configure vault name, location, domain, agent support, and tooling."},"skills_sh_url":"https://skills.sh/NicholasSpisak/second-brain/second-brain"},"updatedAt":"2026-05-02T18:54:08.898Z"}}