setup
Skill1 starsChanged 4 months agoMITView on GitHub
Guided onboarding for a fresh clone. Use when a new adopter says "/setup", "help me set this up", "make this mine", "I just cloned this", or asks to personalize anything while the repo still carries Alex's sample identity. Walks docs/setup.md interactively — privacy gate first, then identity, domains, channels, first run — verifying each step against the live system before moving on. Idempotent: re-running detects what's already wired and resumes at the first unfinished step.
- Reads credentials
191 other projects use a version of this.
Adopted by
Most recently taken up by
- hydra-db/hydradb-claude-codetheir own version, first seen Nov 8, 2026
- WALKERKILLER/Look-Tongji-Notestheir own version, first seen Nov 8, 2026
- steerlabs/opensteertheir own version, first seen Nov 8, 2026
- ansvisor/ansvisortheir own version, first seen Nov 8, 2026
- dsifry/metaswarmtheir own version, first seen Nov 8, 2026
- anombyte93/prd-taskmastertheir own version, first seen Nov 8, 2026
Used with
Projects with it also use add-voice-transcription, add-discord and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
juancruzmunozalbeloSkilladd-voice-transcription
Add voice message transcription to NanoClaw using OpenAI's Whisper API. Automatically transcribes WhatsApp voice notes so the agent can read and respond to them.
Also in 5 projects that use this
MicrosoftSkilladd-discord
Add Discord bot channel integration via Chat SDK.
Also in 11 projects that use this
MicrosoftSkilladd-slack
Add Slack channel integration via Chat SDK.
Also in 11 projects that use this
juancruzmunozalbeloSkilladd-telegram-swarm
Add Agent Swarm (Teams) support to Telegram. Each subagent gets its own bot identity in the group. Requires Telegram channel to be set up first (use /add-telegram). Triggers on "agent swarm", "agent teams telegram", "telegram swarm", "bot pool".
Also in 7 projects that use this
- +8 more from microsoft
Other versions191 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 191
- anthropics/knowledge-work-plugins★ 35ksame name
- garrytan/gbrain★ 32ksame name
- gavrielc/nanoclaw★ 31ksame name
- nanocoai/nanoclaw★ 31ksame name
- qwibitai/nanoclaw★ 31ksame name
- Q00/ouroboros★ 6.3ksame name
- pytorch/executorch★ 5.2ksame name
- agenticnotetaking/arscontexta★ 3.5ksame name
- aws/agent-toolkit-for-aws★ 3.4ksame name
- spotify/portal-ai-plugins★ 2.8ksame name
181 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository22 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- commsSkill
- composeSkill
- daily-briefSkill
- domain-hygieneSkill
- grill-meSkill
- idea-deep-diveSkill
- laila-headless-conductSkill
- laila-judgmentSkill
- laila-ops-debuggingSkill
- level-upSkill
- new-domainSkill
- os-auditSkill
- personaSkill
- quarterly-refreshSkill
- roastSkill
- running-briefSkill
- session-wrapSkill
- specSkill
- validate-ideaSkill
- whats-nextSkill
The file
We split this skill into the rules it gives an agent
8 rules. 0 are common, 5 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 171 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 15
One question at a time: Never present a wall of questions or a form to fill out.
- Distinctive: line 18
All writes in this skill are local file edits — reversible, invisible to others, Tier 1.
- Very specific: line 68
Verify: ask the agent in a fresh context "who am I?" and "what are my active domains?" — the answers must be the user's facts.
- Distinctive: line 72
Ask: "What are the 3 life areas you actually work in weekly?" Start with 3 — a domain is added when a real workload demands one, not …
- Very specific: line 95
Daily brief, dry run: run the daily-brief workflow manually in this session.
- Distinctive: line 104
Before declaring this skill done (and again after edits):
- Very specific: line 112
If a probe in Step 0 misfires (marks a done step as unfinished, or vice versa), the probe is wrong, not the user.
- Distinctive: line 113
If the same correction happens twice, the fix is MANDATORY before the next run.
“Common” is measured: kept by at least 6 in 10 of the 171 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Setup
Turn a clone of Laila into YOUR system. This skill orchestrates docs/setup.md — the doc holds the wiring mechanics; this session holds your hand through them, one step at a time, and refuses to advance until each step's verification passes against the live system. "Done" means verified, not claimed (skills/laila-judgment §1).
Setup note: the only hard dependencies are git and a shell — everything else (Telegram, mail servers, healthchecks.io, the CRM) is introduced by the steps themselves and each is skippable. If a
/new-domainskill is installed, Step 3 can hand off to it; otherwise the checklist indocs/adding-domains.mdis followed by hand.
Conduct
- One question at a time. Never present a wall of questions or a form to fill out. Ask, wait, record, move on.
- Each step ends with its verification command from
docs/setup.md. Run it (or have the user run it) and WAIT for it to pass before starting the next step. A step that "should work" is not done. - Never print secrets. Checks against
.envare presence-only (grep -c '^TELEGRAM_BOT_TOKEN=.'style). Never echo token values, chat IDs, or ping URLs into the chat. - All writes in this skill are local file edits — reversible, invisible to others, Tier 1. Nothing here sends anything. If the user asks you to send a test message to a third party, that is Tier 3: propose and wait.
/setup statusprints the resume table (below) and stops.
Step 0 — Resume detection (always run first)
Re-invocation must not repeat finished work. Probe, then jump to the first unfinished step:
| Probe | What it tells you |
git remote -v still points at the public example repo | Step 1 not done |
.git/hooks/pre-push missing, or .env missing / perms not 600 (ls -l .env) | Step 1 not done |
state/security-audit-last.json missing, or its audited_base doesn't resolve to a real commit (git cat-file -e <sha>) | Step 1 not done |
Root AGENTS.md still names Alex as the user (grep -c 'Alex' AGENTS.md) | Step 2 not done |
config/domain-triggers.json still lists only the sample domains | Step 3 not done |
.env has no non-empty TELEGRAM_BOT_TOKEN / TELEGRAM_CHAT_ID | Step 4 (Telegram) not done |
No mail/calendar wiring (.mcp.json absent and no equivalent the user names) | Step 4 (mail) not done |
No brief in state/briefs/ dated after your setup began (the repo ships a sample brief — only one newer than the first commit of your private copy counts) | Step 5 not done |
Print a one-line-per-step table — done / partial / not started — then say which step you're resuming at and why. If everything passes, say so and offer Step 5's habits as a refresher.
Step 1 — Privacy gate (BLOCKING)
Nothing personal enters this repo until it's private and guarded. Do not ask for a single personal fact — not even a name — before this step verifies. If the user tries to skip ahead ("just set my name first"), decline and explain: the nightly loop auto-pushes, so a public remote plus one personal commit is a leak, not a mistake you can undo.
- Confirm the remote is a fresh PRIVATE repo the user owns — not a fork (forks of public repos are public). Mechanics:
docs/setup.md§0. - Install the guard rails:
bash scripts/install-git-hooks.sh cp .env.example .env && chmod 600 .env - Verify:
bash scripts/security-audit.shexits clean ANDgit remote -vpoints at the user's private repo. Show both results. Only then proceed.
Step 2 — Identity
Interview, one question at a time:
- Name, and how the agent should address them.
- Pronouns.
- Household — partner, kids, pets, whoever the agent must name correctly and never guess about. (Alex has Sam and a dog named Biscuit; this is where those get replaced.)
- Timezone (IANA name, e.g.
America/Chicago). - What they want the agent persona called — Laila is a default, not a requirement. If they rename her, the agent-queue list name and
config/reminders-lists.jsonfollow.
Then edit the user-facing sections of the root AGENTS.md: the Overview persona line, the Family block, the Timezone section. Show the diff before writing.
Sample content is teaching material — replace deliberately, not wholesale. Do NOT bulk-delete Alex's data. For each sample surface (domains/, state/, knowledge/entities/), and later per domain in Step 3, offer three choices:
- Keep — leave the sample as a worked example to imitate (fine early on).
- Replace — overwrite with the user's real content now.
- Archive — move to
domains/_archive/per the retiring checklist, keeping the shape without the noise.
Verify: ask the agent in a fresh context "who am I?" and "what are my active domains?" — the answers must be the user's facts. Any Alex leakage means an edit was missed; find it (grep -ri alex AGENTS.md state/ config/) before moving on.
Step 3 — Domains
Ask: "What are the 3 life areas you actually work in weekly?" Start with 3 — a domain is added when a real workload demands one, not speculatively (README, "Adapting it").
For each real domain, run the full checklist in docs/adding-domains.md — skeleton (AGENTS.md + tracking/status.md), trigger entry in config/domain-triggers.json, router row, external-system registration if any. Every step, every time; partial domain creation is the documented failure mode. If a /new-domain skill is installed, invoke it per domain instead.
Then sweep the sample domains (Career, Health, Household, Content, Ideas, Acme) one at a time with the keep/replace/archive choice from Step 2.
Verify: say one of the user's new trigger phrases in a fresh session — the domain context loads and its Check workflow runs (docs/setup.md §1's verification, applied per domain).
Step 4 — Channels
In dependency order; each sub-step is skippable but a skip is recorded in the resume table, not silently forgotten.
- Telegram notify pipe (
docs/setup.md§2, items 1-2): bot token + chat ID into.env. Verify:bash scripts/telegram-notify.sh default "[TEST] wiring check"arrives on the user's phone. Wait for their confirmation. - Telegram command channel (optional; §2 items 3-4):
TELEGRAM_ALLOWED_USER_IDin.env, listener running. Verify: texting the bot "what are my active domains?" gets an answer; a second account gets silence. Wait for both confirmations — the silence half is the security test, not a formality. - Email + calendar read access (§3): one server or script per account; loops get read + draft, never send. Warn about the OAuth testing-mode trap before they mint tokens, not after. Verify: unread count per account + tomorrow's calendar events, read live.
- Reminders / agent task queue (§4) and dead-man switches (§5) if the user wants background loops soon.
Verify: per §4/§5 — queue item shows up in a processing pass;
bash scripts/heartbeat.shflips the healthchecks.io check to "up".
Step 5 — First run
- Daily brief, dry run: run the
daily-briefworkflow manually in this session. Expect thin output — the system has one day of state. The point is the pipeline works end to end before it's ever scheduled. - The habit that matters:
session-wrapat the end of every working session, starting with this one. Skipping it is how things get dropped. - What to schedule later, not today: background loops (
docs/setup.md§8) only after Steps 2-5 of that doc verify; the retrieval index (§7) once knowledge files carry real content; the CRM (§6) when markdown tracking starts to pinch. - Point them at
skills/laila-judgmentto read once, end to end. It's the discipline everything above assumes.
Close by running /session-wrap on this setup session — it's both the protocol and the demonstration.
Verification (MANDATORY)
Before declaring this skill done (and again after edits):
- Cold test: fresh clone in a scratch directory, say "/setup". It must open with the privacy gate, not identity questions.
- Gate test: answer the first prompt with a personal fact before Step 1 verifies — the skill must decline and hold the gate.
- Resume test: complete Steps 1-2, end the session, run "/setup" again. It must print the resume table and land on Step 3 without re-asking identity questions.
- Secret test: grep the session log for any
.envvalue — there must be none.
Self-improvement (MANDATORY)
- If a probe in Step 0 misfires (marks a done step as unfinished, or vice versa), the probe is wrong, not the user. Fix the detection row immediately, or log
{"skill": "setup", "correction": "...", "date": "YYYY-MM-DD"}tostate/skill-feedback.jsonl. - If the same correction happens twice, the fix is MANDATORY before the next run.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

