# Onboard

Onboard a new user OR curate a single piece of the assistant's inner state.

- Repository: https://github.com/clacky-ai/openclacky (1209 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-10-30
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add clacky-ai/openclacky --skill onboard -g -a claude-code -y`
Codex: `npx skills add clacky-ai/openclacky --skill onboard -g -a codex -y`
Cursor: `npx skills add clacky-ai/openclacky --skill onboard -g -a cursor -y`
Gemini CLI: `npx skills add clacky-ai/openclacky --skill onboard -g -a gemini-cli -y`

## Description

Onboard a new user OR curate a single piece of the assistant's inner state. Without arguments, runs the full first-run ceremony (AI name, personality, user profile, SOUL.md + USER.md, optional browser + personal website). With `scope:soul` or `scope:user`, runs a quick chat to update just that one profile file. With `path:<abs>`, runs a quick chat to update / keep / delete one memory file under ~/.clacky/memories/.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Skill: onboard

## Purpose

"Onboard" here means the whole life of getting the assistant and user to know each other.
That includes both the first-run ceremony AND every small course-correction later on.
This single skill covers three modes, dispatched by the invocation arguments:

| Args                      | Mode                | What it does                                               |
|---------------------------|---------------------|------------------------------------------------------------|
| *(none)*                  | **first-run**       | Full intro: name the AI, pick personality, learn user, write SOUL.md + USER.md, optional browser + personal website, closing moment. |
| `scope:soul`              | **curate SOUL**     | Short chat to tweak `~/.clacky/agents/SOUL.md` only.       |
| `scope:user`              | **curate USER**     | Short chat to tweak `~/.clacky/agents/USER.md` only.       |
| `path:<abs>`              | **curate memory**   | Short chat to update / keep / delete one memory file at the given path. |

`lang:zh` or `lang:en` may be combined with any mode to pin the language.
Missing `lang:` → infer from the user's first reply, or from the existing file's language for curate modes, defaulting to English.

## Dispatch

Parse the invocation message **first**, before greeting:

1. Look for `path:<something>`. If present → **curate memory** mode, skip to section **C**.
2. Otherwise look for `scope:soul` or `scope:user`. If present → **curate profile** mode, skip to section **B**.
3. Otherwise → **first-run** mode, start at section **A**.

Look for `lang:zh` / `lang:en` anywhere in the same line and use it to set the language.

---

## A. First-run mode (no arguments)

### A.1. Detect language

Check for `lang:zh` or `lang:en` in the invocation:
- `lang:zh` → conduct the **entire** onboard in **Chinese**, write SOUL.md & USER.md in Chinese.
- Otherwise (or if missing) → use **English** throughout.

The rest: https://github.com/clacky-ai/openclacky/blob/HEAD/lib/clacky/default_skills/onboard/SKILL.md
