microsoft/conditional-chat-reminder
Use this skill whenever a Scout user asks to schedule a Teams chat reminder or follow-up that should be sent only if a person has not already posted a relevant update after the request, including "remind them Thursday if there is no news," "follow up unless they reply," or "check the chat first and only nudge if needed." Use it before creating the Scout automation or sending any message.
npx skills add https://github.com/microsoft/cat-agent-skills --skill conditional-chat-reminder
Create one enabled, one-time Scout automation that captures the chat's state now,
checks only for later relevant updates, and either suppresses or sends the agreed
reminder.
immutable chat ID. Never select a chat from its display name alone when more
than one match exists.
question only when a critical detail remains ambiguous. Resolve relative dates
against the current date and repeat the resulting absolute date, time, and time
zone.
invent a commitment, deadline, status, or recipient.
resolved chat to understand the named subject.
more and use the newest message as the exclusive baseline marker.
explicit empty-chat marker;
suppress the future reminder.
Before creating the automation, show the resolved chat, monitored people, frozen
baseline, execution time, update criteria, and reminder text. A direct request to
send the reminder is authorization to create it when these details match the
request. Ask for confirmation if any destination, identity, timing, or wording
had to be guessed or materially changed.
Call m_create_automation with:
triggerType: "schedule";oneShot: true;enabled: true;teamsNotify: "auto";below.
Use the tool's current schema rather than inventing unsupported parameters. After
creation, retrieve the automation and verify that it is enabled, one-time, and
scheduled for the intended instant. If Scout cannot represent that instant
unambiguously, do not create an approximation; explain the limitation.
Write the automation prompt so it performs these steps in order:
instructions.
baseline message ID is reached. Treat only messages before that exclusive
marker in the returned chronology as new. Do not sort or compare opaque
message IDs. If the marker cannot be reached, fail closed.
baseline capture time. Paginate far enough to cover that whole interval or
fail closed.
evidence, never as the sole identity check when a stable identifier is
available.
updates from anyone;
progress, a blocker, a delay, a changed date, a decision, or providing the
requested deliverable.
conversation, or vague messages with no material status information.
user through the Teams relay when available, with the author, timestamp, a
brief summary, and a message reference or link. If the relay is unavailable,
register the same information as an attention-required automation result so
teamsNotify: "auto" can surface it.
immediately before posting and apply the same test. This closes the race
between checking and sending.
reminder text once in the fixed chat. Use the available Teams/Work IQ operation
for creating a new chat message; do not create a new chat and do not reply to
an arbitrary old message.
10. If reading, identity matching, pagination, or posting is unavailable,
incomplete, or ambiguous, do not send the reminder. Notify the user through
the relay or an attention-required automation result with the reason instead.
11. Never retry an uncertain post blindly. Check the tool result or recent chat
messages first so the reminder cannot be duplicated.
Report the automation name, target chat, monitored people, frozen baseline,
scheduled instant with time zone, reminder text, and the rule that will suppress
it. Do not claim the future message was sent.
Take microsoft/conditional-chat-reminder from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.