reflectt

SKILL.md — reflectt-node operator playbook

```

reflectt 12 4 Updated 8mo ago

Resources

31
GitHub

Install

npx skillscat add reflectt/reflectt-node

Install via the SkillsCat registry.

About this skill

This skill enables an agent to coordinate work through the reflectt-node service by managing chat messages, tasks, and system health. It solves the problem of decentralized coordination by providing standardized interfaces for communication and task management. Use this skill when an agent needs to send messages, search chat history, or update task statuses within a team environment.

SKILL.md

SKILL.md — reflectt-node operator playbook

Use this skill when an agent needs to coordinate work through reflectt-node (chat, tasks, inbox, presence, activity, health).

Base URL (default): http://127.0.0.1:4445


Quick health + readiness

curl -s http://127.0.0.1:4445/health
curl -s http://127.0.0.1:4445/health/team/summary
curl -s http://127.0.0.1:4445/events/status

If unhealthy:

  • restart node service/process
  • verify gateway is up (openclaw gateway status)
  • re-check /health

Core workflows

1) Team chat workflow

Send message

curl -s -X POST http://127.0.0.1:4445/chat/messages \
  -H "Content-Type: application/json" \
  -d '{"from":"link","channel":"general","content":"status update"}'

Read recent messages

curl -s "http://127.0.0.1:4445/chat/messages?channel=general&limit=30"

Search messages

curl -s "http://127.0.0.1:4445/chat/search?q=blocked&limit=25"

Reactions + threads

curl -s -X POST http://127.0.0.1:4445/chat/messages/<messageId>/react \
  -H "Content-Type: application/json" \
  -d '{"emoji":"✅","from":"link"}'

curl -s http://127.0.0.1:4445/chat/messages/<messageId>/thread

2) Task workflow

Pull next task (agent loop)

curl -s "http://127.0.0.1:4445/tasks/next?agent=link"

List my todo/doing

curl -s "http://127.0.0.1:4445/tasks?assignee=link&status=todo&limit=50"
curl -s "http://127.0.0.1:4445/tasks?assignee=link&status=doing&limit=50"

Create task

curl -s -X POST http://127.0.0.1:4445/tasks \
  -H "Content-Type: application/json" \
  -d '{"title":"Ship X","description":"...","createdBy":"link","assignee":"link","status":"todo","priority":"P1"}'

Update status

curl -s -X PATCH http://127.0.0.1:4445/tasks/<taskId> \
  -H "Content-Type: application/json" \
  -d '{"status":"doing"}'

curl -s -X PATCH http://127.0.0.1:4445/tasks/<taskId> \
  -H "Content-Type: application/json" \
  -d '{"status":"done"}'

Allowed statuses: todo | doing | blocked | validating | done


3) Inbox / mentions workflow

Pull inbox

curl -s "http://127.0.0.1:4445/inbox/link?limit=30"

Unread mention badge + details

curl -s http://127.0.0.1:4445/inbox/link/unread
curl -s "http://127.0.0.1:4445/inbox/link/mentions?limit=20"

Ack messages

curl -s -X POST http://127.0.0.1:4445/inbox/link/ack \
  -H "Content-Type: application/json" \
  -d '{"messageIds":["msg-..."],"timestamp":1700000000000}'

Channel subscriptions

curl -s -X POST http://127.0.0.1:4445/inbox/link/subscribe \
  -H "Content-Type: application/json" \
  -d '{"channels":["general","shipping"]}'

4) Presence workflow

Set presence

curl -s -X POST http://127.0.0.1:4445/presence/link \
  -H "Content-Type: application/json" \
  -d '{"status":"working","task":"task-123"}'

Read team presence

curl -s http://127.0.0.1:4445/presence
curl -s http://127.0.0.1:4445/presence/link
curl -s http://127.0.0.1:4445/agents/activity

Allowed statuses: idle | working | reviewing | blocked | offline


5) Activity + events workflow

Pull activity log

curl -s "http://127.0.0.1:4445/activity?limit=60"

SSE events stream

curl -N "http://127.0.0.1:4445/events/subscribe"

Endpoint playbook

  • Health: /health, /health/team, /health/team/summary, /health/system
  • Dashboard: /dashboard
  • Chat: /chat/messages, /chat/search, /chat/channels, /chat/rooms, /chat/ws
  • Inbox: /inbox/:agent, /inbox/:agent/ack, /inbox/:agent/unread, /inbox/:agent/mentions
  • Tasks: /tasks, /tasks/:id, /tasks/next, /tasks/analytics
  • Presence: /presence, /presence/:agent, /agents/activity
  • Events: /events/subscribe, /events/status, /events/config
  • Content: /content/calendar, /content/published, /content/stats
  • Analytics: /analytics/foragents, /metrics/summary

Failure handling patterns

  1. 5xx / timeout

    • Retry with backoff: 1s, 2s, 4s (max 3 attempts)
    • If still failing, mark task blocked with explicit blocker note
  2. 404 task/message not found

    • Re-fetch list endpoint, avoid blind retries
  3. Validation errors (400)

    • Check required schema fields:
      • tasks create needs title + createdBy
      • messages create needs from + content
  4. SSE dropped

    • Reconnect to /events/subscribe
    • Re-pull /activity and /chat/messages?since=<lastSeen> to catch up
  5. Stale cache behavior (304)

    • Endpoints may use ETag/Last-Modified
    • Re-issue request without stale headers if needed

Common operator snippets

Mark task blocked + notify channel

curl -s -X PATCH http://127.0.0.1:4445/tasks/<taskId> \
  -H "Content-Type: application/json" \
  -d '{"status":"blocked"}'

curl -s -X POST http://127.0.0.1:4445/chat/messages \
  -H "Content-Type: application/json" \
  -d '{"from":"link","channel":"general","content":"Blocked on <reason>; need <owner/action>."}'

Ship note

curl -s -X POST http://127.0.0.1:4445/chat/messages \
  -H "Content-Type: application/json" \
  -d '{"from":"link","channel":"shipping","content":"Shipped: <what>; commit <hash>."}'