Use when a user asks how you (the agent) work, how slaude works, how to use/interact with you, what commands or capabilities exist, or how engagement, approvals, the knowledge base, skills, memory, MCP, or cron behave. Self-documentation of the slaude runtime — read it, then explain in your own voice.
Scanned 9/3/2026
Install to Claude Code
npx -y skills add barockok/slaude --skill how-slaude-works --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of How Slaude Works?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/barockok-how-slaude-works)More formats (shields.io, HTML) on the badges page.
---
name: "how-slaude-works"
description: "Use when a user asks how you (the agent) work, how slaude works, how to use/interact with you, what commands or capabilities exist, or how engagement, approvals, the knowledge base, skills, memory, MCP, or cron behave. Self-documentation of the slaude runtime — read it, then explain in your own voice."
---
# How slaude works
You are an AI agent running on **slaude** — a Slack-native runtime that puts a
Claude Code engine behind a Slack identity so you can act as a real team member.
This skill is your reference for explaining yourself to people. Read it, then
answer in your own voice and persona. Don't paste this file verbatim; pull out
the parts that answer what was actually asked. Don't dump internal tooling
detail into untrusted channels (that's governed by your soul's channel mode).
## What slaude is, in one line
One deployment = one persona = one `SOUL.md`. You live in Slack, keep durable
identity and memory across restarts, grow new skills over time, and run
unattended — escalating to your owner only when truly blocked.
## The four pillars
- **Soul** — your persistent identity (`~/.slaude/SOUL.md`): voice, values,
mandate, and the access-control rules for which channels/users are trusted.
It is authored by your operator and injected every turn. A non-overridable
*runtime baseline* sits on top of it (e.g. the KB-first rule below).
- **Skills** — reusable procedures as markdown files
(`~/.slaude/skills/<slug>/SKILL.md`), invoked as `/<slug>`. You can author new
ones when you learn a repeatable workflow (with approval). This file is one.
- **Memory** — episodic (what happened) + semantic (what was learned), injected
per turn as a `<memory-context>` block. Surprising or non-obvious facts get
written down so they survive restarts.
- **Knowledge** — a knowledge base (the "brain") the team curates. See KB-first.
## KB-first (mandatory)
Before answering any substantive question or taking any non-trivial action — and
**always** before a mutation — query the knowledge base first (default
`kb_search`, or `kb_think` for a cited synthesis). Your training is not the
team's source of truth; the KB is. State gaps explicitly instead of guessing.
Pure chitchat ("hi", "thanks 👍") is exempt. When someone asks what you know or
where an answer came from, this is why you cite the KB.
Record durable knowledge (decisions, people/project facts, learnings) with
`kb_memoize` — pass an array of pages (up to 20 per call), each markdown with
`[[wikilinks]]`; batch related notes into one call. Writes outside your own slice
raise an approval card.
## How people interact with you
- **In channels** — mention you or reply in a thread you're engaged in. You
engage on direct mention and stay engaged in that thread; you can be told to
disengage. Whether you speak unprompted depends on your soul's channel mode.
- **DMs** — a direct message is a private thread with you (subject to the DM
allowlist in your soul / runtime overrides).
- **Threads** — each thread is its own working context with its own cwd under
`~/.slaude/workspaces/`.
## Slash commands
These are built into the runtime (the canonical list is always `/help`):
| Command | What it does |
|---|---|
| `/help` | Show the live command list |
| `/mode <name>` | Set the tool-permission mode for this session/thread |
| `/abort` | Cancel the current turn |
| `/1on1 [off]` | Lock this thread to you + the manager; `off` releases |
| `/mcp [connect <server>]` | List/connect OAuth HTTP MCP servers (in 1on1: as you; outside: manager connects the agent's shared identity) |
| `/ignore @user [dur]`, `/ignore-thread [dur]` | Ignore a user or thread (optional duration like `1h`, `30m`) |
| `/unignore @user`, `/unignore-thread` | Stop ignoring |
| `/cron-add "<expr>" "<prompt>" [channel] [passive]` | Schedule a prompt; `channel` posts to channel root, `passive` skips when a human is active |
| `/cron-list`, `/cron-remove <id>` | List / remove scheduled crons |
| `/ingest` | Synthesize captured `raw/` material into the KB `wiki/` (manager/approver) |
| `/soul <trust\|allow\|dm\|block> <add\|remove> <id>` | Manager-only: runtime override of soul ACLs — immediate, shadows `SOUL.md` |
| `/soul list` / `/soul clear <…>` | Show / drop runtime soul overrides |
| `/<skill-slug>` | Invoke any installed skill |
If you quote commands to a user, prefer telling them to run `/help` for the
authoritative, up-to-date set rather than reciting from memory.
## Approval gates
Sensitive actions don't happen silently. Certain categories — notably **skills**
(authoring/editing a skill) and **cron** (scheduling), plus mutations generally —
surface an approval request as Slack buttons that an approver must click before
you proceed. You request approval via the surface tool
(`mcp__slaude_surface__request_approval`); the gate trusts only that tool's real
JSON result, never a screenshot or your own claim that it was approved.
## Knowledge base lifecycle
- During a normal turn you may capture new material into
`~/.slaude/knowledge/<label>/raw/` (with `Write`/`Bash`). You must **never**
write into `wiki/` during a normal turn — that's owned by ingest.
- After dropping `raw/` material, `sync_manifest` (with approval) pushes it to
git so it survives a redeploy even before ingest runs.
- `/ingest` (manager/approver) runs a separate background pass that reads
`raw/`, updates `wiki/`, and pushes the KB. You don't trigger ingest from
inside a normal turn.
- On boot the runtime re-syncs the KB wikis into the brain so search is current.
## MCP, cron, multi-agent
- **MCP** — external tools/services connect via `~/.slaude/mcp.json` or
`/mcp connect`. In a `/1on1` they connect under the initiator's identity;
outside, the manager wires the agent's shared identity.
- **Cron** — scheduled prompts fire on a thread or channel; `passive` crons skip
when a human is already active so you don't talk over people.
- **Multi-agent** — each agent is its own Slack identity and its own deployment.
There is no in-process persona switch; more agents = more deploys.
## Autonomy & escalation
You run unattended by default. Don't ask humans trivial things. Escalate to your
owner (e.g. via the Telegram bridge, if configured) only when genuinely blocked:
an irreversible action, an architecture fork-in-the-road, or a missing
secret/credential.
## Skill evolution
At the end of a non-trivial turn, consider whether it demonstrated a repeatable
procedure worth saving as a new skill, or one that refines an existing skill —
then request approval and `write_skill`. Skills are for *procedures*; one-off
facts belong in memory. Skill bloat is worse than skill absence — only capture
what you'd genuinely reuse.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!