Agents-for-net proactive-messaging.instructions.md

Instructions for proactive messaging in Microsoft Agents for .NET, where an agent sends a message outside the user's current request. They describe saved conversation references, HTTP triggers, in-code calls, and the different turn pipelines used to send or continue a conversation.

In plain words
What is it for?
Use them when implementing external triggers, scheduled or agent-initiated messages, conversation continuation, proactive HTTP endpoints, storage, or error handling.
Why use it?
They clarify which conversation data must be stored, which endpoint or method to call, and why a single message has less processing context than a continued conversation.

Instructions file for GitHub Copilot

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/microsoft/agents-for-net/proactive-messaging
Clone the repo
git clone --depth 1 https://github.com/microsoft/Agents-for-net

Made for: GitHub Copilot.

Per session 769 This file is loaded in full into every session.
When invoked 769 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00769 $0.00769
Opus 5 $0.00385 $0.00385
Sonnet 5 $0.00154 $0.00154
Haiku 4.5 $0.00077 $0.00077

Measured 2d ago against content hash 53fb1646fde7, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

Agents-for-net proactive-messaging.instructions.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.github/instructions/proactive-messaging.instructions.md · 47 lines

How it starts

The opening of the file, as written. The whole thing — 47 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Proactive Messaging Context

When working on proactive messaging, conversation continuation, or proactive HTTP endpoints, read docs/proactive-sequence-diagram.md for the full mermaid sequence diagrams covering all flows.

Key Design Points

  • Conversation storage is required for HTTP-triggered proactive flows. Proactive.StoreConversationAsync persists Conversation (Claims + ConversationReference) to IStorage under key proactive/conversations/{conversationId}.
  • Two invocation styles: HTTP endpoints (via MapAgentProactiveEndpoints) for external triggers, and in-code Proactive.ContinueConversationAsync / Proactive.SendActivityAsync for agent-initiated scenarios.
  • SendActivity is fire-and-send — it creates a minimal turn to deliver a single activity. ContinueConversation creates a full turn with TurnState, middleware, and optional token handling.
  • ProcessProactiveAsync on the adapter creates the full turn pipeline (state, middleware). This differs from the simpler ContinueConversationAsync on the adapter which only provides a raw TurnContext callback.
  • Exception handling — Exceptions inside proactive callbacks are captured via ExceptionDispatchInfo and re-thrown after the adapter call completes. Without this, exceptions in the background pipeline would be silently lost.
  • Token handling[ContinueConversation(autoSignInHandlers: "me")] attribute triggers automatic token acquisition during proactive turns. If ProactiveOptions.FailOnUnsignedInConnections is true (default), UserNotSignedIn is thrown when tokens cannot be acquired.
  • HTTP query parameters are passed through as Activity.Value (dictionary) with ValueType = "application/vnd.microsoft.activity.continueconversation+json" on the continuation Event activity.
  • CreateConversation creates a new conversation on the channel (e.g., 1:1 in Teams) and optionally stores it and/or continues into it.

Endpoint Mapping

MapAgentProactiveEndpoints<TAgent>() discovers [ContinueConversation] attributes on the agent and maps:

  • /proactive/sendactivity/{conversationId} — send to stored conversation
  • /proactive/sendactivity — send with full Conversation in body
  • /proactive/continue[/{key}]/{conversationId} — continue stored conversation
  • /proactive/continue[/{key}] — continue with Conversation in body
  • /proactive/create[/{key}] — create new conversation

Read the full file on GitHub · 47 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 47 lines · 769 tokens per session scan A 53fb1646fde7

Subscribe to this mod's changes

Agents-for-net proactive-messaging.instructions.md is an instructions file published in the GitHub repository microsoft/Agents-for-net (177 stars, last pushed 4d ago), licensed MIT. It adds 769 tokens to every session, about $0.0038 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other instructions, from other repositories

spec-kit AGENTS.md

AGENTS.md instructions for github/spec-kit, covering agents.md, about spec kit and specify, quickstart — add a new integration in 5 steps, integration architecture and integrationmanifest — file tracking.

github/spec-kit · 7,104 tokens

codex AGENTS.md

AGENTS.md instructions for openai/codex, covering rust/codex-rs, the codex-core crate, code review rules, crate api surface and model visible context.

openai/codex · 5,182 tokens

vscode buildNext.instructions.md

Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).

microsoft/vscode · 6,785 tokens

langchain AGENTS.md

AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.

langchain-ai/langchain · 4,345 tokens

vscode oss-third-party-notices.instructions.md

Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, applying the notice (cutover) and fallback chain (never fail the build).

microsoft/vscode · 5,001 tokens

next.js AGENTS.md

Instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.

vercel/next.js · 7,296 tokens