---
name: start
description: First-time initialization of the booklet — scaffold the memory/journal/task tree, seed me.md, decode shorthand from the user's task list, and onboard the user's *first* company (which delegates to the onboard-company skill). Run only once, when the vault is empty and CLAUDE.md doesn't exist yet. For onboarding additional companies later (job change, side job, contracting client), use [[onboard-company/SKILL.md|/onboard-company]] instead.
type: skill
updated: 2026-04-30
tags:
  - skill
  - graph
  - bootstrap
  - spine
---

# Start Command

> If you see unfamiliar placeholders or need to check which tools are connected, see [[CONNECTORS.md|CONNECTORS]].

Initialize the task and memory systems, then open the unified dashboard. **Run this once, the first time the vault is set up.** For onboarding additional companies after the vault exists (job change, new contracting client, side job), use [[onboard-company/SKILL.md|/onboard-company]] — that skill is factored out from this one and shares the same wiki-scrape mechanics.

> **Graph convention.** Every file written by this skill follows the vault's Obsidian-style graph convention: YAML frontmatter at top, path-based wiki-links for cross-references, `## Linked from` footer regenerated by the transform script. Full spec in [[memory/README.md|Memory README]] § "Graph convention".

> **Every file creation, edit, or move in this flow goes through preview → confirm → write**, per [[memory-management/SKILL.md|Memory Management Skill]] § Universal preview rule. Scaffolding (creating empty directories + placeholder `README.md`, `CLAUDE.md`, `TASKS.md`, `dashboard.html`) runs without per-file prompting since it's pure structural setup, but any content-bearing write (memory files, task files, wiki-scrape output) is batched into a preview and applied only on `y`.

## Idempotency / re-running `/start`

If `CLAUDE.md` already exists, `/start` is **not** the right entry point — it should detect the initialized state in step 1 and stop. In that case:

- Onboarding a new employer / client → [[onboard-company/SKILL.md|/onboard-company <slug>]]
- Weekly task sync → [[update/SKILL.md|/update]]
- Daily ritual → [[journal/SKILL.md|/journal]]
- Adding people / projects / glossary terms ad-hoc → covered by [[memory-management/SKILL.md|Memory Management Skill]]

The dashboard / scaffold check below runs every time, but the bootstrap-memory and first-company-onboarding paths are first-run-only.

## Instructions

### 1. Check What Exists

Check the working directory for:
- `TASKS.md` — task list
- `CLAUDE.md` — working memory
- `memory/` — curated knowledge base (with `README.md` as the map)
- `journal/` — immutable daily log
- `dashboard.html` — the visual UI

### 2. Create What's Missing

**If `TASKS.md` doesn't exist:** Create it with the standard template (see [[task-management/SKILL.md|Task Management Skill]]). Place it in the current working directory.

**If `dashboard.html` doesn't exist:** Create it in the current working directory.

**If `memory/README.md` doesn't exist:** That file is the authoritative architecture map. Ensure it exists — it should be shipped with the plugin. If missing, stop and surface the issue; don't invent a substitute layout.

**If `memory/` sub-tree is missing:** Create the directory scaffold described in [[memory/README.md|Memory README]]:
- `memory/me.md`, `memory/glossary.md`, `memory/all-entities.md`, `memory/preferences.md`
- `memory/work/companies/`, `memory/work/_current.md` (stub)
- Per-company scaffold (when a company is first referenced): `memory/work/companies/{slug}/{people,projects,tasks/{active,waiting,done}}/`, `memory/work/companies/{slug}/{<slug>.md,glossary.md}  # company entity uses its slug as filename`
- `memory/life/{people/{family,friends,flatmates,teachers},places,orgs,topics,events,health/{providers,conditions,log.md},home}/`

Create empty directories; only create files when they're first needed (lazy). Do **not** create `memory/context/` — that structure was flattened; `preferences.md` lives at `memory/preferences.md` and timeline lives in `me.md`.

**If `journal/` is missing:** Create `journal/`, `journal/<current-year>/`, `journal/<current-year>/<current-month>/`. Do not create an entry file yet — that happens on first `/journal` call.

**If `CLAUDE.md` doesn't exist:** After scaffolding, begin the memory bootstrap workflow (see below).

### 3. Open the Dashboard

Do NOT use `open` or `xdg-open` — in Cowork, the agent runs in a VM and shell open commands won't reach the user's browser. Instead, tell the user: "Dashboard is ready at `dashboard.html`. Open it from your file browser to get started."

### 4. Orient the User

If everything was already initialized (i.e. `CLAUDE.md` exists), **stop here**:

```
Vault already initialized. Dashboard open at dashboard.html.

For your day-to-day:
- /journal — daily log
- /update  — weekly task + memory sync
- /update --comprehensive — monthly deeper scan + chat people-discovery

For lifecycle changes:
- /onboard-company <slug> --job-change    new employer
- /onboard-company <slug> --side-job      contracting / side gig
- /onboard-company <slug> --client        client engagement
```

Do **not** re-run the bootstrap (steps 5–6 below). They overwrite first-run choices.

If memory hasn't been bootstrapped yet (no `CLAUDE.md`), continue to step 5.

### 5. Bootstrap Memory (First Run Only)

Only do this if `CLAUDE.md` doesn't exist yet.

**First, seed `memory/me.md`** with three short questions:
```
Quick setup:
1. Your name?
2. City you live in?
3. Current employer + role? (if applicable)

I'll seed me.md and your current company folder.
```

From the answers:
- Write `memory/me.md` with the basics.
- If employed: create `memory/work/companies/{slug}/{slug}.md` with role + start date, and point `memory/work/_current.md` at it.

**Then decode workplace shorthand from the task list.** The best source of workplace language is the user's actual task list. Real tasks = real shorthand.

**Ask the user:**
```
Where do you keep your todos or task list? This could be:
- A local file (e.g., TASKS.md, todo.txt)
- An app (e.g. Asana, Linear, Jira, Notion, Todoist)
- A notes file

I'll use your tasks to learn your workplace shorthand.
```

**Once you have access to the task list:**

For each task item, analyze it for potential shorthand:
- Names that might be nicknames
- Acronyms or abbreviations
- Project references or codenames
- Internal terms or jargon

**For each item, decode it interactively:**

```
Task: "Send PSR to Todd re: Phoenix blockers"

I see some terms I want to make sure I understand:

1. **PSR** - What does this stand for?
2. **Todd** - Who is Todd? (full name, role)
3. **Phoenix** - Is this a project codename? What's it about?
```

Continue through each task, asking only about terms you haven't already decoded.

### 5b. Bootstrap education institutions (optional)

After seeding `me.md`, if the user has mentioned their educational background (university, master's program, prior schools), offer to create institution files:

```
I noticed you mentioned {school/university}. I can create institution files for:
- {current school} (current)
- {prior bachelor's} (graduated YYYY)
- {prior high school}
- {International student network, exchange program, etc.}

Each will live in `life/orgs/{slug}.md` and be linked from your education topic.
This creates an anchor point for location, dates, and people you knew there.

Create them now, or fill organically? [y / n]
```

If approved:
- Create one `life/orgs/{slug}.md` stub per institution with `type: org`, `country:`, `city:`, `dates:` (your enrollment period), and a Summary.
- Create or update `life/topics/education.md` — an aggregating topic file that lists all schools as a timeline with wiki-links.

If the user skips this, these files will be created organically on first journal mention.

### 6. First-company onboarding (delegate to `/onboard-company`)

> External sources are ephemeral inputs. Nothing from the wiki is stored on disk as a link, ID, or "last synced" field. See [[memory/README.md|Memory README]] → "External sources — ephemeral inputs". Every file written by the onboarding flow is plain prose.

The mechanics of onboarding a company — wiki scrape, two-pass graph-aware write, optional chat people-discovery — are defined once, in [[onboard-company/SKILL.md|onboard-company/SKILL.md]]. `/start` runs that flow exactly the same way the user would when adding a future employer; the only difference is that it's chained directly into the bootstrap diff.

If the user has a current employer, hand off to onboarding now:

```
Now I'll onboard your current employer ({slug}) into the work tree.
This is the same /onboard-company flow you'd run for any future job —
wiki scrape (optional), people + projects + glossary scaffolding, two-pass
graph-aware write, then transform + audit.
```

Then follow [[onboard-company/SKILL.md|onboard-company]] § 4 (wiki scrape) → § 5 (minimum viable company file) → § 8 (all-entities update). Mode = `--job-change` (this *is* the user's first job in the system, so `_current.md` is being set, not flipped from a previous one — the skill handles the empty-previous case as a no-op on the old-company side).

Skip the me.md / `_current.md` updates from `/onboard-company` § 6 — those are owned here in `/start` step 7 instead, since me.md is being seeded fresh.

**Side jobs / contracting clients** mentioned during step 5's task decoding get their own follow-up onboarding pass at the end of bootstrap:

```
You also mentioned {side-co}. Onboard it now as --side-job, or skip
and run /onboard-company {side-co} --side-job later?
```

Default: skip. The user can always run `/onboard-company` later when they have time.

### 7. Write Memory Files

**Preview before write.** Build the full list of proposed files (CLAUDE.md contents + every memory file + task file + index.md) and show a batched diff with `Apply? [y / n / edit]`. On `y`, write everything in one pass. On `edit`, the user can drop files, tweak descriptions, or reclassify before applying.

From everything gathered, create:

**CLAUDE.md** — see the Working Memory Format in [[memory-management/SKILL.md|Memory Management Skill]] for the full template. It has a Work section (current company) and a Life section. Target ~100 lines.

**memory/** files (lazy — only create the ones you actually have content for):
- `memory/glossary.md` — cross-domain decoder ring
- `memory/work/companies/{co}/{co}.md` — company overview, role, team, tools, rituals
- `memory/work/companies/{co}/people/{name}.md` — teammates
- `memory/work/companies/{co}/projects/{name}.md` — products / projects (well-summarized if from wiki scrape)
- `memory/work/companies/{co}/glossary.md` — company-specific jargon
- `memory/work/companies/{co}/tasks/{active,waiting,done}/{slug}.md` — task files (see [[task-management/SKILL.md|Task Management Skill]])
- Life files only when the user mentions them or confirms during bootstrap

**memory/all-entities.md** — list every entity file created, alphabetized, with a one-line summary. Fast-lookup TOC.

> Full tree and decision rules: [[memory/README.md|Memory README]].

### 8. Report Results

```
Productivity + journal system ready:
- Tasks: TASKS.md dashboard; task files in work/companies/{co}/tasks/
- Memory: X projects, Y people, Z glossary terms, N past tasks
- Journal: journal/ scaffolded, no entries yet
- Dashboard: open in browser

Next steps:
- /productivity:journal to log today (2–10 lines of free text)
- /productivity:update weekly — pulls this week's tasks from the wiki
- /productivity:update --comprehensive monthly — chat people-discovery sweep
```

### 9. Transform Script

After a batch of writes, run `python3 system/scripts/transform.py` from the workspace root to normalize frontmatter, refresh wiki-links, and regenerate the `## Linked from` sections across the vault. The script is idempotent — safe to run anytime.

## Notes

- If memory is already initialized (i.e. `CLAUDE.md` exists), `/start` just opens the dashboard and points the user at `/journal` / `/update` / `/onboard-company`. It does **not** re-bootstrap.
- Nicknames are critical — always capture how people are actually referred to.
- If a source isn't available, skip it and note the gap.
- The wiki scrape during first-company onboarding is a one-time operation per company. After it runs, weekly `/update` only pulls the tasks page. Adding additional companies later (job change, side gig) reuses the same flow via [[onboard-company/SKILL.md|/onboard-company]].
- Nothing external is ever stored on disk (no URLs, no IDs, no index files) — if you leave a company, the local memory loses nothing.
- Memory grows organically through natural conversation and `/journal` after bootstrap.

## Linked from

- [[CLAUDE.md|Working Memory]]
- [[journal/SKILL.md|Journal Skill]]
- [[memory-management/SKILL.md|Memory Management Skill]]
- [[memory/README.md|Memory README]]
- [[onboard-company/SKILL.md|Onboard Company Skill]]
- [[task-management/SKILL.md|Task Management Skill]]
- [[update/SKILL.md|Update Skill]]
