| name | brain-init |
| description | Set up the Claude Brain Logseq graph (first-time) or add a new project page. Triggers: "init brain", "setup brain", "init brain project <name>", "add project to brain". Don't fire for loads, saves, or status checks — those are handled by brain-load, brain-save, and brain-status.
|
Brain Init
Initialize the Claude Brain Logseq graph or add a new project page to an existing graph.
Prerequisites
Resolve the graph path per skills/_shared/path-resolution.md. If the resolved folder is empty or missing core files, this skill performs first-time setup (below). Otherwise it adds a new project to the existing graph.
First-Time Graph Setup
If the graph folder is empty or missing core files, initialize it:
- Create
logseq/config.edn with minimal Logseq config:
{:meta/version 1
:preferred-format "Markdown"
:journal/page-title-format "yyyy-MM-dd"
:journal/file-name-format "yyyy_MM_dd"}
- Create
pages/Index.md — the master index page:
type:: index
description:: Master index of Claude's brain — all projects and key pages
- ## Projects
- _No projects yet. Use "init brain project [name]" to add one._
- ## Quick Links
- [[Meta]] — preferences, working style, conventions
- [[Decisions]] — cross-project decision log
- Create
pages/Meta.md — for storing user preferences and conventions:
type:: meta
last-updated:: {{today}}
- ## User Preferences
- _Add preferences as they emerge from working sessions._
- ## Conventions
- _Add naming conventions, coding style preferences, etc._
- ## Tools & Stack
- _Add commonly used tools, languages, frameworks._
- Create
pages/Decisions.md — cross-project decision log:
type:: decisions
last-updated:: {{today}}
- ## Decision Log
- _Decisions that span multiple projects or are general in nature._
- Create the
journals/ directory with a .gitkeep file to ensure it persists in version control. Use mkdir -p via Bash or create journals/.gitkeep with the Write tool. This directory must exist before brain-save can write journal entries — do not skip this step.
Replace {{today}} with the current date in yyyy-MM-dd format.
Confirm to the user that the graph is ready and they can open it in Logseq.
After confirmation, write a journey-log entry per skills/_shared/journey-log.md with the activity line: initialized graph at <graphPath>.
Adding a New Project
When the user wants to add a project (e.g., "add MyProject to brain", "init brain project GameDev"):
-
Determine the project name from the user's request.
-
Create the project page at pages/Projects___<ProjectName>.md using the template from references/templates.md. The triple underscore ___ is how Logseq represents the / namespace separator in filenames — so this page will appear as Projects/ProjectName in the Logseq sidebar.
-
Update pages/Index.md — add a link to the new project under the Projects section:
[[Projects/<ProjectName>]] — <brief description>
-
Ask the user for a brief description and any initial context for the project (tech stack, repo location, key info). Populate the Overview section.
Confirm the project page was created and remind the user they can now use "save to brain" during work sessions and "load [project]" to restore context.
After confirmation, write a journey-log entry per skills/_shared/journey-log.md with the activity line: created project [[Projects/<ProjectName>]].
Date Format
Always use yyyy-MM-dd format for dates (e.g., 2026-04-12). This matches Logseq's journal format and sorts correctly.
Important Notes
- See
CLAUDE.md "Logseq format invariants" for namespace separators, bullet format, properties, link syntax, and date format.
- When creating the
journals/ directory, use Bash (mkdir -p) or the Write tool to ensure it exists — do not skip this step.