start · git:20260718.f4a5714 · 2026-07-18 · sha256 33329ec07eb31cb7
start git:20260718.f4a5714A
Immutable. This exact content is served forever at /api/v1/blob/33329ec07eb31cb7.
---
name: start
description: Use when the user first opens organic-os, says "get started", "start organic-os", "what do I do first", "guide me through this", or runs /organic-os:start. The branded front door - health-checks the environment, then routes to first-run quick setup or, for a returning user, a compact status view and menu. Always ends by naming the three commands used most.
---
# organic-os start (guided front door)
This is the first thing a new or returning user should run. It never writes
anything itself - it health-checks, then hands off to `setup` or to whatever
the user picks from the menu.
## Step 1: greet
One sentence, no hype: organic-os observes a site's search and AI-answer-
engine performance, proposes changes, and only ships them once a human
approves - the loop is the product.
## Step 2: health check
Run each check in order and report plainly what passed and what did not.
Do not stop at the first failure - collect all three results, then act.
1. `python3` on PATH: `python3 --version`. If missing, tell the user
organic-os needs Python 3.9+ and stop here - nothing else in this skill
works without it.
2. PyYAML importable: `python3 -c "import yaml"`. If this fails, show the
fix and stop: `python3 -m pip install --user pyyaml`. Offer to run it for
them.
3. Registry readable:
`PYTHONPATH="$CLAUDE_PLUGIN_ROOT/lib" python3 -c "from core import registry; print(registry.load())"`.
A clean `{'active': None, 'sites': {}}` or a populated registry both count
as a pass - this check is about `core.registry` importing and running,
not about whether any site exists yet.
If all three pass, say so in one line and move to Step 3.
## Step 3: route
Use the Step 2 registry read to decide which branch applies.
### Registry empty (no sites)
Offer two paths, AskUserQuestion with options:
- **Quick start** - 3 questions, sensible defaults, about 2 minutes.
- **Full setup** - the complete interview (site, brand, audience, keywords,
competitors, operator knowledge, connectors, Google Ads, WordPress,
approval channel, runtime, brain location and mode).
Then invoke the `setup` skill in the chosen mode - quick-start mode or the
full first-run interview - and let it run to completion (scaffold, register,
summary). Do not duplicate its questions here.
### Registry has sites
Resolve the active site's brain path, then run
`core.contracts.check_schema(brain_path)` before anything else in this
branch:
- `action: "stamp"` - tell the user this brain predates schema versioning
and that running `/organic-os:setup` in update mode will stamp
`schema_version: 1` into it; continue to the status view below (stamping
is informational, not blocking).
- `action` anything else with `compatible: false` - relay the action string
verbatim and stop. Do not show status or the menu, and do not route into
a routine, until the user has resolved it.
- `compatible: true` with `action: "none"` - continue silently.
Show a compact status, read-only, no writes:
1. Active site: name + url (`core.registry.get_active()`).
2. Pending approvals: count lines under a `status: proposed` (or similar
pending) heading in `<brain>/approvals/queue.md`.
3. Last signal date: the filename (or latest entry date) of the most recent
file in `<brain>/signals/`. If the directory is empty, say "no signals
yet".
Then offer a menu, AskUserQuestion with options:
- **Run daily** - invoke `hoo-daily` (the daily signal pull).
- **Review approvals** - open `<brain>/approvals/queue.md` and walk the user
through pending items.
- **Update settings** - invoke `setup` in update mode.
- **Add a site** - invoke `setup` in add mode.
- **Docs** - point at `docs/getting-started.md` and `README.md`'s
Quickstart-by-persona section.
## Step 4: always close with the three commands
Regardless of which branch ran, end every `/organic-os:start` session by
naming the three commands a user reaches for most:
- `/organic-os:daily` - the daily signal pull.
- `/organic-os:onsite-audit` - a credential-free on-page audit of any URL.
- `/organic-os:weekly` - the weekly reflection pass.
## Rules
- This skill never writes to the registry, a brain repo, or any config file
itself - every write happens inside `setup`, `hoo-daily`, or whichever
skill the menu hands off to.
- Never skip the health check, even for a returning user with sites already
registered - a broken PyYAML install fails silently deep inside `setup` or
a routine otherwise.
- If the registry read in Step 2 fails for a reason other than "no sites yet"
(a corrupt YAML file, a permissions error), show the raw error and stop -
do not guess a fix.