Install any skill in seconds. Free to start, no credit card required.
Get Started Free →sonichi/observe
/observe — natural-language entry to the Policy Interaction Layer: compile an NL request into a structured observation/subscription policy, confirm via effect-card (or standing approval), then subscribe on the events plane.
Passed 15 of 18 test cases with the skill, and 3 of 18 without it.
and 16 more in the full report
15 fixed3 passed either way3 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 15 test cases the skill fixed. Same model, same prompt, with and without the skill.
/observe track message.created events in #general but set mode to custom_mode.
| Checked | Without skill | With skill |
|---|---|---|
| Returns the policy draft validation error directly to the user without attempting silent auto-correction. | Missed | Passed |
The instructions your model reads when the skill loads.
The owner (or a scoped user) says what they want watched, in natural language:
/observe watch doc changes in this room and ping me daily
The core agent COMPILES that into a structured draft; everything deterministic
around the compilation lives in observe_policy.py. Design + resolved
decisions: workspace notes/observe-mvp-slice-design.md.
/observe <text> owner task){room_id, event_types[], mode, cost_cap?, created_by, source_text}
room_id: the task's channel_id unless the text names another room.event_types: map the intent to plane types (message.created,
reaction.added, artifact.updated, member.joined, …). Unknown intent →
ask, don't guess.mode: observe (context only) | record (journal) | notify (ping the
owner) | taskify (promote batches to ambient tasks — never
standing-approved).observe_policy.validate_draft(draft) — errors go back to the
user verbatim; do not "fix" a draft silently.evaluate_standing_approval(rec, owner_mxid=…, owner_rooms=…). owner_rooms = rooms the owner OWNS — created by the owner or where the
owner holds PL≥50 (checked via the room state the core already has; when
ownership is unknown, the room is NOT in scope). Familiarity — "the owner
sent a task from here" — is NOT ownership: a shared room must never enter
standing-approval scope (001 review; the server's four-way authz still
gates the subscribe, but the standing-approval semantic is stricter by
design). True → save + transition(id, "active") + subscribe + post the AUTO-ACTIVATED card (visibility is
mandatory — never activate silently). False → save draft + post the CONFIRM
card and wait for the decision.policy <id> activate | edit <new text> | cancel — typed reply, reaction on
the card, or (when custom-event fan-out lands) an A2UI button. edit
recompiles with the new text into the SAME policy id.subscribe(room_id, event_types) —
the events plane's four-way authz is the permission evaluator; a subscribetest cases passed, vs 3 / 18 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.