CtrlK
BlogDocsLog inGet started
Tessl Logo

m365-agents-ts

Microsoft 365 Agents SDK for TypeScript/Node.js.

43

Quality

44%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

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

Quality

Content

61%Scale 1-5

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

This is a solid SDK skill with good executable code examples covering multiple integration patterns. Its main weaknesses are the lack of validation/verification steps in the workflow (e.g., how to test the agent locally, verify credentials are correct) and some minor verbosity in areas like environment variables and best practices. The structure is well-organized with appropriate references.

Suggestions

Add explicit validation steps such as how to verify the agent is running correctly (e.g., a curl command to test the endpoint, expected log output on startup).

Trim the best practices section to only non-obvious guidance and remove advice Claude already knows like 'keep secrets out of source code'.

Clarify which environment variables are needed for which scenarios (e.g., Azure OpenAI vars only needed for streaming, Copilot vars only for Copilot Studio integration).

DimensionReasoningScore

Conciseness

The skill is mostly efficient with good code examples, but includes some unnecessary content like the 'When to Use' boilerplate, the verbose sensitivity label setup in the streaming example, and the environment variables section lists many variables without context on which are needed for which scenarios. The best practices section contains some advice Claude would already know (e.g., 'keep secrets out of source code').

3 / 5

Actionability

The skill provides multiple concrete, executable TypeScript code examples covering the core workflow, streaming, invoke handling, and Copilot Studio integration. The code is copy-paste ready with proper imports. Minor gap: the 'Before implementation' section tells Claude to verify API signatures via MCP but doesn't show how, and the WebChat example mixes browser-side code without clarifying the context switch.

4 / 5

Workflow Clarity

The skill presents individual code patterns clearly but lacks an explicit multi-step workflow with validation checkpoints. There's no guidance on how to verify the agent is working correctly after setup, no error handling workflow beyond the streaming try/finally, and no validation steps for environment configuration. For an SDK integration skill involving Azure credentials and external services, verification steps would be valuable.

3 / 5

Progressive Disclosure

The skill references a 'references/acceptance-criteria.md' file and provides a well-organized reference links table. The content is structured with clear section headers. However, the bundle has no files provided, so we can't verify the referenced file exists. The inline content length is reasonable but the streaming example is quite long and could potentially be referenced out.

4 / 5

Total

14

/

20

Passed

Description

27%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.

This description is essentially just a label — it names the technology but fails to describe any concrete capabilities or provide trigger guidance for when Claude should select it. It lacks both action verbs and a 'Use when...' clause, making it very difficult for Claude to distinguish this skill from other Microsoft 365 or TypeScript-related skills.

Suggestions

Add concrete actions describing what the skill does, e.g., 'Scaffolds, configures, and develops conversational agents using the Microsoft 365 Agents SDK for TypeScript/Node.js.'

Add an explicit 'Use when...' clause with trigger terms, e.g., 'Use when the user asks about building bots, agents, or conversational apps for Microsoft 365, Teams, or mentions the M365 Agents SDK.'

Include natural synonyms and related terms users might say, such as 'Teams bot', 'M365 agent', 'conversational AI', 'bot framework', '.ts', to improve trigger term coverage.

DimensionReasoningScore

Specificity

Names the domain (Microsoft 365 Agents SDK) and the technology stack (TypeScript/Node.js), but provides zero concrete actions — no verbs describing what the skill actually does.

2 / 5

Completeness

There is no 'what does this do' beyond naming the SDK, and there is no 'when should Claude use it' clause at all. Both dimensions are essentially missing.

1 / 5

Trigger Term Quality

Includes some relevant keywords like 'Microsoft 365', 'Agents SDK', 'TypeScript', and 'Node.js' that users might mention, but misses natural phrases like 'build agents', 'bot', 'Teams app', 'M365', or action-oriented terms users would say.

3 / 5

Distinctiveness Conflict Risk

The mention of 'Microsoft 365 Agents SDK' is fairly specific and narrows the domain, but without concrete actions it could overlap with other Microsoft 365 or TypeScript/Node.js skills.

3 / 5

Total

9

/

20

Passed

Validation

90%

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

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

10

/

11

Passed

Repository
administrakt0r/AI-Agents-Safe-Coding-Skills
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.