agentleFS
MicrosoftKnown publishermicrosoft/Agents/agent-plugins/agents-for-python/skills/agents-sdk-to-prod/SKILL.md

agents-sdk-to-prod

Skill1.1k starsChanged 12 days agoMITView on GitHub

Assess, create, harden, deploy, or review production readiness of Python Microsoft 365 Agents SDK agents and their direct hosting/operations files. Use only for Agents SDK scenarios, not unrelated application hardening.

Trending

Quiet this year.thin dataabout the whole repository

Dec 2025: 0 mentionsJan 2026: 0 mentionsFeb 2026: 0 mentionsMar 2026: 0 mentionsApr 2026: 0 mentionsMay 2026: 0 mentionsJun 2026: 0 mentionsJul 2026: 0 mentionsAug 2026: 0 mentionsSep 2026: 0 mentionsOct 2026: 0 mentionsNov 2026: 0 mentions
Dec 2025Jun 2026Nov 2026
Mentions a month of the microsoft/Agents repository that our weekly crawl found: only 1 in all, so this is a hint, not a trend. There is no adoption data for this file yet.

Who's talking about microsoft/Agents

The biggest 1 of 1 mention linking to the repository that our crawl found. Each line is their own headline.

The file

We split this skill into the rules it gives an agent

12 rules. About 0 are common, 9 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈9

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use this skill for microsoft_agents.hosting.core, microsoft_agents.hosting.aiohttp, and related SDK packages.

    line 11
  2. Distinctive:

    Read Prepare an agent for production on Microsoft Learn first, using the Python language selection.

    line 18
  3. Distinctive:

    Read the packaged readiness matrix for control IDs, statuses, applicability, dependencies and evidence rules.

    line 21
  4. Distinctive:

    Ask only for unresolved decisions that materially affect architecture, cost, identity, channel, data handling, or side effects.

    line 59
  5. Distinctive:

    Add required controls first.

    line 66
  6. Distinctive:

    Add or update tests and operations documentation with each control.

    line 70
  7. Very specific:

    Run the repository-supported build, lint, unit, and integration checks that apply to the changed Agents SDK code.

    line 76
  8. Distinctive:

    Keep this assessment current through follow-up discussion.

    line 98
  9. Distinctive:

    Keep health endpoints outside authentication and explicitly protect new custom routes.

    line 113
  10. Distinctive:

    Verify the issuers actually accepted by the installed SDK.

    line 118
  11. Very specific:

    Use the Blob service URL (not container URL) with BlobStorageConfig and async credentials.

    line 127
  12. Distinctive:

    Keep secrets, tokens, prompts/messages and unnecessary identity attributes out of errors, logs, generated artifacts and telemetry.

    line 145

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Move a Python Agents SDK agent toward production

Use this skill for microsoft_agents.hosting.core, microsoft_agents.hosting.aiohttp, and related SDK packages. Preserve the selected scenario and change only files that directly run, host, secure, observe, test, deploy or operate the agent. An external dependency requiring changes outside that scope needs an explicit scope decision. A question or review request is read-only.

Sources

  1. Read Prepare an agent for production on Microsoft Learn first, using the Python language selection. Treat the article and its linked shared production controls as normative.
  2. Read the packaged readiness matrix for control IDs, statuses, applicability, dependencies and evidence rules.
  3. Inspect samples/python/production-reference/, or the reference. It demonstrates one bounded Web Chat/App Service/Blob profile.
  4. Inspect the target's actual SDK APIs and dependency baseline. The reference uses stable released packages; verify the installed APIs before changing the user's dependency version or selecting production controls.

Workflow

1. Discover

  • Determine whether the user wants a new sample, an assessment, or changes to an existing sample. Do not ask when the request or repository already shows the answer.
  • Inspect the candidate Agents SDK sample before asking questions. If multiple samples exist, identify the requested sample or ask which one is in scope.
  • Identify channel, cloud, host, inbound audiences and issuers, trusted calling applications, downstream identities, outbound hosts, state, external dependencies, data classes, retention, scale, side effects, long-running work, model calls, retrieval, tools, token-bearing downloaders, attachments, transcripts, and proactive messaging.
  • State the deployment boundary. Do not broaden channel, host, identity, data, or application scope without user approval.

2. Assess

  • Classify every applicable readiness control as verified, implemented, missing, not applicable, or blocked using the readiness matrix.
  • Cite repository evidence for each verified or implemented result. Do not infer production evidence from the presence of source code.
  • For review or question-only requests, stop at guidance and assessment. Do not modify files.

3. Agree

  • Recommend the smallest suitable production profile and defaults.
  • Ask only for unresolved decisions that materially affect architecture, cost, identity, channel, data handling, or side effects.
  • Present the implementation sequence and identify changes that would extend beyond Agents SDK-related code. Obtain approval for that expansion.

4. Implement

  • Add required controls first. Add conditional controls only for capabilities present in the selected scenario.
  • Preserve the agent's intended behavior. Do not refactor unrelated code as part of production hardening.
  • Add or update tests and operations documentation with each control. Keep secrets and sensitive user content out of source, generated files, logs, errors, prompts, and telemetry.

5. Verify

  • Run the repository-supported build, lint, unit, and integration checks that apply to the changed Agents SDK code.
  • Exercise failed production configuration, authentication rejection, issuer and audience/lifetime rejection, applicable caller authorization, service URL claim and outbound-host validation, payload rejection, safe errors, probes, graceful shutdown, and telemetry shutdown/redaction.
  • Validate state recovery and conflict handling only when state exists. Validate conditional controls only for capabilities in scope.
  • Separate local verification from deployed evidence. Do not claim that a control is verified when its required environment was not exercised.

6. Handoff

Report:

  1. The selected deployment boundary and current maturity state.
  2. Controls verified with file, test, deployment, or operator evidence.
  3. Controls implemented but not verified in the required environment.
  4. Missing or blocked controls and their production impact.
  5. Controls marked not applicable and why.
  6. The next deployment, smoke-test, rollback, and operations actions.

Keep this assessment current through follow-up discussion. Answer questions without losing the selected boundary, decisions, statuses, or next phase.

Maturity states

  • Code-hardened: applicable source controls exist and local checks pass.
  • Deployment-ready: infrastructure, production configuration, smoke tests, rollback, and operator documentation exist.
  • Production-verified: the deployed environment has passed authentication, state recovery where applicable, telemetry, alert, traffic-protection, smoke, and rollback checks.

Language invariants

  • For aiohttp, use SDK JWT middleware/decorators exactly once on protected routes. Keep health endpoints outside authentication and explicitly protect new custom routes.
  • Set AgentAuthConfiguration.validate_issuer=True, require exact audience and expiration, disable anonymous production access, and select the expected token family, tenant and cloud. Authorize verified claims_identity caller claims for trusted-app endpoints before adapter processing.
  • Verify the issuers actually accepted by the installed SDK. Its trusted first-party Entra issuers can extend the configured issuer list. For the bounded public-cloud Bot Framework profile, additionally require the verified claims_identity issuer to equal https://api.botframework.com after JWT validation and before adapter processing. Other profiles need their own issuer policy; do not apply this Bot-only restriction to trusted-app endpoints.
  • Pass OutboundHostValidator explicitly to CloudAdapter. Confirm downloader support before sharing it; host suffix validation alone does not provide DNS or arbitrary-client protection.
  • Use the Blob service URL (not container URL) with BlobStorageConfig and async credentials. The released SDK overwrites state unconditionally; use the reference's ETag wrapper or an equivalent durable concurrency-safe provider when needed.
  • Preserve async cleanup: drain aiohttp, close clients/credentials, then flush telemetry. Verify published package versions and deployment wheel hashes.

Shared invariants

  • Production state that must survive turns/restarts/replicas requires a durable store. Stateless agents do not need a state provider.
  • Wildcard connection selection is not authorization. Keep exact audience, verified issuer/caller checks, and outbound policy.
  • Validator host entries can allow subdomains. Exact channel middleware and arbitrary-client/network controls remain separate decisions.
  • Health endpoints may be anonymous; routes with mutations/downstream access require authentication and applicable authorization.
  • Caller-aware edge protection, deployed alerts, recovery and rollback require environment evidence. Do not certify a deployment from sample code.
  • Keep secrets, tokens, prompts/messages and unnecessary identity attributes out of errors, logs, generated artifacts and telemetry.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.