start
The day-one first-run flow and the everyday home screen. On first launch, greet, run setup, then carry the operator into a real first win. On return, give a short briefing and action menu.
SKILL.mdskills/start/SKILL.md
GitHub/start: wake the operator
Use this skill on first launch and whenever the operator asks for the home screen, start menu, or orientation.
State contract
The canonical first-run state is .aigent/state.json:
{
"schemaVersion": 1,
"status": "uninitialized | setup-in-progress | ready",
"completedAt": null
}
For compatibility with installations before v0.9, .aigent/first-run-done is also recognized.
status: readyor a legacy first-run marker means returning operator.- Missing state, invalid state, or any other status means first run.
- If the legacy marker exists but the JSON state is not ready, migrate the JSON state to
readysilently.
First run
- Write
status: setup-in-progressbefore asking questions, so an interrupted setup can resume. - Give a two-line, warm, plain greeting:
I'm your AIgent operator. Let's get you one real win in the next few minutes.
- Run
/operator-setup, one question at a time. - When the operator chooses an action from the personal briefing, run
/first-winand produce a usable artifact. - Teach the operating loop once:
Later sessions pick up on their own via
/resume. When you are done, say "close up" or run/context-capsuleso the work is banked (it also autosaves as you go). Run/statuslineonce in Claude Code to show context usage. - Only after setup memory and the first artifact are successfully written:
- Set
.aigent/state.jsontostatus: readywith an ISO-8601completedAtvalue. - Write
.aigent/first-run-donefor backward compatibility.
- Set
Do not mark setup ready before the durable writes succeed.
Returning operator
- Read
memory/about-you.mdand recent session memory. - Give a short, specific briefing: what matters today, what changed, and what is blocked.
- Surface the action menu.
Action menu
Present a short numbered list and accept either the number or a plain-language request:
- Plan my day
- Draft content
- Research something
- Build an automation
- Check my numbers
- Talk it through
On first run, lead with zero-dependency actions so the first win never waits on a connector.
Rules
- Use plain English and the operator's nouns.
- Ask one setup question at a time.
- Never invent business facts.
- If an operation fails, state what failed, what was attempted, and what durable state was or was not written.
- Do not leave
status: setup-in-progressindefinitely after a successful setup.