CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

m365-agents-ts

Microsoft 365 Agents SDK for TypeScript/Node.js.

Quality

63%

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 ./plugins/AI-Agents-Safe-Coding-Skills-claude/skills/m365-agents-ts/SKILL.md

The canonical home for this skill is m365-agents-ts in administrakt0r/AI-Agents-Safe-Coding-Skills

SKILL.md
Quality
Evals
Security

Quality

Content

72%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 body is a strong, code-first reference: installation, configuration, and all major patterns (Express hosting, streaming, invoke handling, Copilot Studio client, WebChat) are covered with executable examples and a pre-flight verification step. The main weaknesses are the missing post-implementation validation steps, the dangling bundle reference, and a small amount of filler.

Suggestions

Fix or remove the dangling 'references/acceptance-criteria.md' entry in the Reference Files table — no references/ directory ships with the skill, so the pointer currently misleads.

Replace the circular 'When to Use' sentence ('This skill is applicable to execute the workflow or actions described in the overview') with concrete applicability guidance, e.g. when to choose Express hosting vs. Copilot Studio client integration.

Add a post-implementation verification step, such as running the Express server on PORT=3978 and confirming the agent responds to a message before considering the setup complete.

DimensionReasoningScore

Conciseness

The body is lean and assumes Claude's competence — sections go straight to executable code ('npm install @microsoft/agents-hosting...', complete AgentApplication handlers) with no explanation of what the SDK is or how Express works. It is not a 5 because of minor trimmable spots: 'This skill is applicable to execute the workflow or actions described in the overview' is circular filler, and the time-sensitive default 'AZURE_OPENAI_DEPLOYMENT_NAME=gpt-4o-mini' embeds a model name that will age.

4 / 5

Actionability

Every section provides fully executable, copy-paste-ready guidance: install commands, a complete Express-hosted AgentApplication, a streaming handler with error handling and 'finally { await context.streamingResponse.endStream(); }', invoke handling that returns a proper InvokeResponse activity, and a CopilotStudioClient wired to enumerated environment variables. The common cases (hosting, routing, streaming, Copilot integration) are each covered by working code.

5 / 5

Workflow Clarity

Section order implies a sequence (Before implementation → Installation → Environment Variables → core patterns), and 'Before implementation' is an explicit pre-flight checkpoint ('Use the microsoft-docs MCP to verify the latest API signatures', 'Confirm package versions on npm'). It is not a 4 because the sequence is implicit rather than stated, and there are no post-implementation validation steps — no local test run, no verification the agent responds — leaving checkpoints missing after the pre-flight.

3 / 5

Progressive Disclosure

The body has clear section structure and well-organized tables for external links. However, the sole bundle reference — 'references/acceptance-criteria.md' in the Reference Files table — is dangling: no references/ directory exists in the skill bundle, so the pointer leads nowhere. It is not a 4 because the one progressive-disclosure pointer is broken, making the claimed detailed material inaccessible.

3 / 5

Total

15

/

20

Passed

Description

40%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 functions as a topic label rather than a capability statement: it identifies the SDK and platform but states no actions, no use-when triggers, and no synonyms. It would rarely fire for users who phrase their need as 'build a Teams bot' or 'connect to Copilot Studio'.

Suggestions

Add concrete actions to the description, e.g. 'Build and host Microsoft 365 agents with Express, route messages with AgentApplication, stream Azure OpenAI responses, and integrate with Copilot Studio agents.'

Add an explicit trigger clause: 'Use when building Teams bots, Copilot Studio integrations, or Microsoft 365 agents in TypeScript/Node.js.'

Include the natural synonyms users actually say — 'Teams bot', 'Copilot Studio', 'agent' — so the skill surfaces for phrasings that never mention the SDK by name.

DimensionReasoningScore

Specificity

The description is only 'Microsoft 365 Agents SDK for TypeScript/Node.js.' — it names a specific domain but contains no action verbs at all, reading as a title rather than a capability statement. It is not a 1 because the domain is concrete rather than vague abstract language ('Helps with documents'), and not a 3 because it lists zero concrete actions, unlike the anchor example 'Extract text and tables from PDF files, fill forms'.

2 / 5

Completeness

The 'what' is vague — a label naming the SDK with no statement of what the skill does (no 'build agents', 'create bots', or any verb) — and the 'when' is entirely absent, with no 'Use when...' clause or equivalent trigger guidance. This matches anchor 2 ('Has a vague what and no when'). It is not a 3 because anchor 3 requires a clear 'what' with concrete actions listed, and the judging guidelines only permit up to 3 when the 'when' is missing with a clear 'what'; here the 'what' itself is only implied.

2 / 5

Trigger Term Quality

Keywords present are 'Microsoft 365 Agents SDK', 'TypeScript', 'Node.js' — the product name a user would plausibly say — but common natural variations are missing: 'Teams', 'Copilot Studio', 'bot', 'agent'. It is not a 4 (anchor: 'Good keyword coverage; a few natural terms missing') because the phrases most users would actually use when reaching for this skill ('Teams bot', 'Copilot Studio agent') are entirely absent, matching anchor 3's 'missing common variations or synonyms'.

3 / 5

Distinctiveness Conflict Risk

'Microsoft 365 Agents SDK' names a distinct, specific product with a clear niche, so conflict risk with unrelated skills is low. It is not a 5 because closely related skills in the same ecosystem (Bot Framework SDK, Teams Toolkit, generic Copilot skills) could overlap since the description omits disambiguating trigger phrases, and the missing 'when' clause leaves firing behavior underspecified.

4 / 5

Total

11

/

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

plugins/AI-Agents-Safe-Coding-Skills-claude/skills/m365-agents-ts/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.