vor
Use when the user runs /vor. Reads new Microsoft Teams messages from the conversations they belong to (read-only, via Graph delta), organizes the traffic — clustering threads, surfacing @-mentions and
Files6
View on GitHubSKILL.mdskills/vor/SKILL.md
GitHubVör — Teams Watchman
Vör watches the Teams conversations you belong to and helps you keep pace: it reads what is new, organizes it, and suggests how you might reply. It reads and advises. It never posts. You keep a hand on every send.
Verb
/vor — fetch, organize, suggest.
Steps
Fetch. Run the poller and capture its output and exit code:
~/.claude/hooks/vor-teams-poll.shHandle the exit code before anything else:
2— dormant. Tell the user plainly what is missing (nosources.txt, or novor-graph-token) and stop. This is expected until tenant consent lands.3— a tool (jq/curl) is missing. Name it and ask the user to install it.4— Graph denied or errored. Relay that consent forChat.Read/ChannelMessage.Read.Allis not yet granted, and stop.0— proceed. The stdout is a JSON array of normalized messages ({id, sender, text, thread, timestamp, mentionsMe}); an empty array means nothing new.
Organize. Read the messages and group them by
thread. Surface, in this order: threads wherementionsMeis true, then threads that ask a direct question, then the rest collapsed into a one-line "routine" tally. Drop pure noise (joins, reactions, automated notices).Suggest. For each surfaced thread that wants a reply, draft a short suggested response in-session for the user to read and copy. Do not send it. There is no send path, and you must not construct one.
Surface. Render a tight brief: the flagged threads with their suggested drafts, then the routine tally. If three or more threads want a reply and the user may be away, send one
PushNotification("N Teams threads need a reply").
Read-only guarantee
Vör issues only Graph GET calls. It has no write scope, no post verb, and no
announce. Never add one to this skill — posting is explicitly out of scope.
Configuration (once consent exists)
~/.skadi/vor/sources.txt— one Graph delta URL per watched channel/chat.~/.skadi/vor/me.id— the user's Graph object id (formentionsMe).- Secret
vor-graph-token— the Graph bearer token, via Vaultwarden /secret.sh.