CtrlK
BlogDocsLog inGet started
Tessl Logo

ms-teams-apps

Microsoft Teams bots and AI agents - Claude/OpenAI, Adaptive Cards, Graph API

35

Quality

32%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/ms-teams-apps/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

22%

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 reads more like a tag list or topic header than a functional skill description. It lacks any concrete actions (verbs), has no 'Use when...' clause, and doesn't explain what the skill actually helps accomplish. While it does mention some domain-specific technologies that aid in identification, the absence of actionable detail severely limits its utility for skill selection.

Suggestions

Add concrete action verbs describing what the skill does, e.g., 'Build and deploy Microsoft Teams bots and AI agents using Adaptive Cards and Graph API integration.'

Add an explicit 'Use when...' clause, e.g., 'Use when the user wants to create a Teams bot, build a Teams AI agent, design Adaptive Cards, or integrate with Microsoft Graph API.'

Include common user-facing trigger variations such as 'Teams app', 'Teams chatbot', 'Teams integration', 'messaging extension', or 'Teams webhook'.

DimensionReasoningScore

Specificity

The description lists technologies and frameworks (Adaptive Cards, Graph API, Claude/OpenAI) but does not describe any concrete actions. There are no verbs indicating what the skill actually does — no 'build', 'deploy', 'configure', etc.

1 / 3

Completeness

The description only loosely addresses 'what' (Microsoft Teams bots/AI agents) without specifying concrete actions, and completely lacks any 'when' clause or explicit trigger guidance for when Claude should select this skill.

1 / 3

Trigger Term Quality

It includes some relevant keywords like 'Microsoft Teams', 'bots', 'AI agents', 'Adaptive Cards', and 'Graph API' that users might mention. However, it misses common variations like 'Teams app', 'chatbot', 'Teams integration', or 'messaging extension'.

2 / 3

Distinctiveness Conflict Risk

The combination of 'Microsoft Teams' with 'bots' and 'Adaptive Cards' narrows the domain somewhat, but the mention of 'Claude/OpenAI' and 'AI agents' is broad enough to potentially overlap with general AI integration or chatbot skills.

2 / 3

Total

6

/

12

Passed

Implementation

42%

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

The skill is highly actionable with excellent, executable code examples covering the full spectrum of Teams app development with AI integration. However, it is severely over-long and monolithic—cramming what should be a multi-file reference into a single document. It lacks validation checkpoints in workflows and explains many concepts Claude already understands (Teams app types, what webhooks are, etc.).

Suggestions

Split into multiple files: keep SKILL.md as a concise overview (~100 lines) with links to separate files like ADAPTIVE-CARDS.md, GRAPH-API.md, CLAUDE-INTEGRATION.md, DEPLOYMENT.md

Remove the architecture overview ASCII art and best practices ASCII boxes—Claude already knows Teams app types and basic UX principles

Consolidate the three overlapping bot examples (OpenAI, Claude, AI assistant template) into one canonical example with notes on swapping providers

Add explicit validation steps to the deployment workflow (e.g., 'Verify bot endpoint responds: curl https://your-bot/api/messages', 'Validate manifest: npx teamsfx validate')

DimensionReasoningScore

Conciseness

Extremely verbose at ~800+ lines. The architecture overview ASCII art, best practices boxes, and extensive boilerplate (manifest JSON, Docker configs, Azure CLI commands) are things Claude already knows. Multiple complete code examples cover overlapping patterns (OpenAI bot, Claude bot, Claude with tools, AI assistant template) with significant redundancy. The 'Purpose' statement and architecture overview explain basic Teams concepts unnecessarily.

1 / 3

Actionability

The skill provides fully executable, copy-paste ready code throughout: complete TypeScript bot implementations, working Adaptive Card definitions, Azure CLI deployment commands, Docker configurations, and unit test examples. Code is concrete with real imports, proper types, and realistic implementations.

3 / 3

Workflow Clarity

While individual sections are clear, there's no cohesive end-to-end workflow with validation checkpoints. The deployment section lists commands but lacks verification steps (e.g., confirming the bot is reachable after deployment, validating the manifest before uploading). Testing is mentioned but not integrated into a development workflow with feedback loops.

2 / 3

Progressive Disclosure

This is a monolithic wall of content with no bundle files or references to supporting documents. Everything from quick start to RAG to deployment to troubleshooting is inlined in a single massive file. Content like the full Graph operations class, multiple Adaptive Card examples, and the complete AI assistant template should be in separate referenced files.

1 / 3

Total

7

/

12

Passed

Validation

81%

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

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (1253 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

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

Warning

Total

9

/

11

Passed

Repository
alinaqi/claude-bootstrap
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.