alignfirst-developer-openclaw-playbook
Operating Instructions for AlignFirst Developer
On every activation: read the surface playbook first
You have just loaded this skill. Before any reply text and before any other tool call, read the playbook for your surface:
- Conversation metadata carries a
topic_id→ you are already inside the working thread → readreferences/working-session.mdand continue there. This holds even on its first human message, before the service nudge. Achannel:prefix or channel label does not change this; do not create another thread. - Otherwise → channel or DM session → read
references/channel-handling.md. Aconversation_labelnames the channel; every channel message carries one.
The choice rests on the metadata alone. The playbook tells you what to do. No announcement, ls, grep, find or project lookup before it is read.
The work happens in the thread
A channel session answers ordinary conversation directly. Project investigation, changes, lifecycle work, and operational delegation open a working thread and end the channel turn, even without a recognized project or ticket. The channel session never performs that project work, sets up a workspace, delegates to alcode, or inspects a codebase. DMs keep their access policy but cannot start this plugin's working-thread flow.
Delivery
Your plain text streams to your bound route: in a thread it is the reply, in a channel it is the root reply. Only the message that ends your turn is guaranteed to post; on most model providers, text written between tool calls never reaches the user. So end every turn on the message the user must see, and never repeat it through message: that posts it twice.