CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

m365-agents-dotnet

Microsoft 365 Agents SDK for .NET. Build multichannel agents for Teams/M365/Copilot Studio with ASP.NET Core hosting, AgentApplication routing, and MSAL-based auth.

Quality

72%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/m365-agents-dotnet/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The content is highly actionable with complete, executable code for both the ASP.NET Core host and Copilot Studio client paths. Weaknesses are the missing referenced bundle file, the absence of explicit validation/testing checkpoints, and minor filler sections (Overview, When to Use).

Suggestions

Create the referenced references/acceptance-criteria.md (import paths, hosting pipeline, Copilot Studio patterns, anti-patterns) or remove the dangling Reference Files table entry.

Add explicit validation checkpoints to the workflow, e.g., a step to test the bot locally (Bot Framework Emulator / http://localhost:3978) and verify TokenValidation rejects unauthenticated requests before deploying.

Remove or merge the vacuous "When to Use" section and the redundant Overview (which restates the frontmatter description) to tighten token efficiency.

DimensionReasoningScore

Conciseness

The body is code-dominant with minimal explanatory padding, matching anchor 4 (efficient with minor instances that could be trimmed). It is not anchor 5 because the Overview restates the frontmatter description almost verbatim and the "When to Use" section ("This skill is applicable to execute the workflow or actions described in the overview") is vacuous filler.

4 / 5

Actionability

Provides copy-paste-ready dotnet add package commands, a complete appsettings.json, a full ASP.NET Core host, and complete agent/client classes, matching anchor 4. It falls short of anchor 5 due to minor gaps: SampleConnectionSettings is referenced but never defined, and the console host snippet uses ILoggerFactory without its using directive.

4 / 5

Workflow Clarity

The document implies a sequence (verify APIs -> install packages -> configure -> build host -> best practices) but never states it as a workflow, and there are no explicit validation checkpoints (e.g., testing the bot locally, verifying token validation), matching anchor 3. It is above anchor 2 because the sections do present a coherent rough order, and no destructive/batch operations apply the lower cap.

3 / 5

Progressive Disclosure

Sections are well-organized, but the sole bundle reference (references/acceptance-criteria.md) does not exist in the bundle, leaving navigation to it broken, and 200+ lines of detailed code are inlined in SKILL.md, matching anchor 3. It is not anchor 4 because a clearly signaled but missing reference undermines appropriate content splitting, and not anchor 2 because the inlined code reasonably belongs to the core workflow.

3 / 5

Total

14

/

20

Passed

Description

70%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is specific, technology-rich, and clearly distinct, but it omits any explicit "when to use" trigger guidance, capping completeness. Adding a Use-when clause and a few common synonyms (Bot Framework, Teams bot) would raise it further.

Suggestions

Add an explicit trigger clause, e.g., "Use when building Teams/M365 bots or Copilot Studio clients in .NET, or when the user mentions Bot Framework, Teams bot, or Microsoft 365 agents."

Include common synonym trigger terms such as "Bot Framework SDK", "Teams bot", and ".NET bot" to broaden natural keyword coverage.

Mention one or two additional concrete capabilities (e.g., state/storage management or Copilot Studio direct-connect) to close the coverage gap.

DimensionReasoningScore

Specificity

"Build multichannel agents for Teams/M365/Copilot Studio with ASP.NET Core hosting, AgentApplication routing, and MSAL-based auth" names the domain plus several concrete capabilities, matching anchor 4. It is not anchor 5 because coverage has minor gaps (e.g., storage, testing, and deployment are unmentioned).

4 / 5

Completeness

The "what" is clear (build multichannel agents with hosting, routing, and auth), but there is no "Use when..." clause or equivalent explicit trigger guidance, which caps completeness at 3 per the judging guidelines. This matches anchor 3 (clear what, when missing) rather than anchor 4.

3 / 5

Trigger Term Quality

Includes natural terms users would say such as "Teams", "M365", "Copilot Studio", ".NET", and "MSAL", giving good keyword coverage (anchor 4). It falls short of anchor 5 because common variations like "Bot Framework", "Teams bot", or "Microsoft 365 bot" are missing.

4 / 5

Distinctiveness Conflict Risk

"Microsoft 365 Agents SDK for .NET" with named technologies (AgentApplication, MSAL, ASP.NET Core) carves out a clear niche with distinct triggers and minimal conflict risk with other skills, matching anchor 5.

5 / 5

Total

16

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

14

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

skills/m365-agents-dotnet/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.